summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Moreno <alexmorenocano@gmail.com>2015-10-24 13:28:10 +0800
committerSebastian Dröge <sebastian@centricular.com>2015-10-24 11:25:41 +0300
commitf327c85d2520a97e52a19f9f3debe0ec78cdfd33 (patch)
treec23a329efead41441a4a663683a1a051f6ecf7b5
parent4a344519bbbff190ae724b481e1f32245337e2aa (diff)
qt: add position update interval property
-rw-r--r--qt/main.qml1
-rw-r--r--qt/qgstplayer.cpp16
-rw-r--r--qt/qgstplayer.h9
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)