playback/player: qt: add position update interval property

This commit is contained in:
Alexandre Moreno 2015-10-24 13:28:10 +08:00 committed by Sebastian Dröge
parent 13156a713d
commit 3542cae138
3 changed files with 23 additions and 3 deletions

View file

@ -42,6 +42,7 @@ ApplicationWindow {
id: player
objectName: "player"
volume: 0.5
positionUpdateInterval: 100
onStateChanged: {
if (state === Player.STOPPED) {
playbutton.state = "play"

View file

@ -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

View file

@ -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)