diff options
author | Alexandre Moreno <alexmorenocano@gmail.com> | 2015-10-24 13:28:10 +0800 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2015-10-24 11:25:41 +0300 |
commit | f327c85d2520a97e52a19f9f3debe0ec78cdfd33 (patch) | |
tree | c23a329efead41441a4a663683a1a051f6ecf7b5 | |
parent | 4a344519bbbff190ae724b481e1f32245337e2aa (diff) |
qt: add position update interval property
-rw-r--r-- | qt/main.qml | 1 | ||||
-rw-r--r-- | qt/qgstplayer.cpp | 16 | ||||
-rw-r--r-- | qt/qgstplayer.h | 9 |
3 files changed, 23 insertions, 3 deletions
diff --git a/qt/main.qml b/qt/main.qml index 9825026..85014c3 100644 --- a/qt/main.qml +++ b/qt/main.qml @@ -42,6 +42,7 @@ ApplicationWindow { id: player objectName: "player" volume: 0.5 + positionUpdateInterval: 100 onStateChanged: { if (state === Player.STOPPED) { playbutton.state = "play" diff --git a/qt/qgstplayer.cpp b/qt/qgstplayer.cpp index 1dadfa8..ab140f3 100644 --- a/qt/qgstplayer.cpp +++ b/qt/qgstplayer.cpp @@ -307,6 +307,13 @@ bool Player::isSubtitleEnabled() const return subtitleEnabled_; } +quint32 Player::positionUpdateInterval() const +{ + Q_ASSERT(player_ != 0); + + return gst_player_get_position_update_interval(player_); +} + void Player::setSubtitleEnabled(bool enabled) { Q_ASSERT(player_ != 0); @@ -318,6 +325,13 @@ void Player::setSubtitleEnabled(bool enabled) emit subtitleEnabledChanged(enabled); } +void Player::setPositionUpdateInterval(quint32 interval) +{ + Q_ASSERT(player_ != 0); + + gst_player_set_position_update_interval(player_, interval); +} + Player::Player(QObject *parent, VideoRenderer *renderer) : QObject(parent) , player_() @@ -356,7 +370,7 @@ Player::onStateChanged(Player * player, GstPlayerState state) void Player::onPositionUpdated(Player * player, GstClockTime position) { - emit player->positionChanged(position); + emit player->positionUpdated(position); } void diff --git a/qt/qgstplayer.h b/qt/qgstplayer.h index 1f4dc6f..f5d4ab8 100644 --- a/qt/qgstplayer.h +++ b/qt/qgstplayer.h @@ -42,7 +42,9 @@ class Player : public QObject Q_OBJECT Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged) Q_PROPERTY(qint64 duration READ duration NOTIFY durationChanged) - Q_PROPERTY(qint64 position READ position NOTIFY positionChanged) + Q_PROPERTY(qint64 position READ position NOTIFY positionUpdated) + Q_PROPERTY(quint32 positionUpdateInterval READ positionUpdateInterval + WRITE setPositionUpdateInterval) Q_PROPERTY(qreal volume READ volume WRITE setVolume NOTIFY volumeChanged) Q_PROPERTY(bool muted READ isMuted WRITE setMuted NOTIFY mutedChanged) Q_PROPERTY(int buffering READ buffering NOTIFY bufferingChanged) @@ -85,12 +87,14 @@ public: QVariant currentAudio() const; QVariant currentSubtitle() const; bool isSubtitleEnabled() const; + quint32 positionUpdateInterval() const; + signals: void stateChanged(State new_state); void bufferingChanged(int percent); void enfOfStream(); - void positionChanged(qint64 new_position); + void positionUpdated(qint64 new_position); void durationChanged(qint64 duration); void resolutionChanged(QSize resolution); void volumeChanged(qreal volume); @@ -113,6 +117,7 @@ public slots: void setCurrentAudio(QVariant track); void setCurrentSubtitle(QVariant track); void setSubtitleEnabled(bool enabled); + void setPositionUpdateInterval(quint32 interval); private: Q_DISABLE_COPY(Player) |