+
+quint32 VideoPlayer::volume() {
+ double vol = 1.0;
+ g_object_get (m_bin, "volume", &vol, NULL);
+
+ qint32 res = (int)round(vol * 100.0);
+
+ return res;
+}
+
+void VideoPlayer::setVolume(quint32 volume) {
+ if (VideoPlayer::volume() != volume) {
+ double vol = volume / 100.0;
+ g_object_set (m_bin, "volume", vol, NULL);
+ emit volumeChanged();
+ }
+}
+
+void VideoPlayer::on_volume_changed(GObject *object, GParamSpec *pspec, gpointer user_data) {
+ Q_UNUSED(object);
+ Q_UNUSED(pspec);
+
+ VideoPlayer *player = (VideoPlayer *) user_data;
+
+ QMetaObject::invokeMethod(player, "volumeChanged", Qt::QueuedConnection);
+}