mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-11 20:01:35 +00:00
playback/player: qt: add autoPlay property
When set to true will play current media set immediately, and if set to false will show first frame (i.e. go to pause state)
This commit is contained in:
parent
736ba93518
commit
16a9b70155
2 changed files with 21 additions and 2 deletions
|
@ -340,6 +340,7 @@ Player::Player(QObject *parent, VideoRenderer *renderer)
|
||||||
, mediaInfo_()
|
, mediaInfo_()
|
||||||
, videoAvailable_(false)
|
, videoAvailable_(false)
|
||||||
, subtitleEnabled_(false)
|
, subtitleEnabled_(false)
|
||||||
|
, autoPlay_(false)
|
||||||
{
|
{
|
||||||
|
|
||||||
player_ = gst_player_new_full(renderer ? renderer->renderer() : 0,
|
player_ = gst_player_new_full(renderer ? renderer->renderer() : 0,
|
||||||
|
@ -443,9 +444,25 @@ Player::onMediaInfoUpdated(Player *player, GstPlayerMediaInfo *media_info)
|
||||||
emit player->mediaInfoChanged();
|
emit player->mediaInfoChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool Player::autoPlay() const
|
||||||
|
{
|
||||||
|
return autoPlay_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Player::setAutoPlay(bool auto_play)
|
||||||
|
{
|
||||||
|
autoPlay_ = auto_play;
|
||||||
|
|
||||||
|
if (autoPlay_) {
|
||||||
|
connect(this, SIGNAL(endOfStream()), SLOT(next()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
QUrl Player::source() const
|
QUrl Player::source() const
|
||||||
{
|
{
|
||||||
Q_ASSERT(player_ != 0);
|
Q_ASSERT(player_ != 0);
|
||||||
|
|
||||||
QString url = QString::fromLocal8Bit(gst_player_get_uri(player_));
|
QString url = QString::fromLocal8Bit(gst_player_get_uri(player_));
|
||||||
|
|
||||||
return QUrl(url);
|
return QUrl(url);
|
||||||
|
|
|
@ -57,6 +57,7 @@ class Player : public QObject
|
||||||
Q_PROPERTY(QVariant currentSubtitle READ currentSubtitle WRITE setCurrentSubtitle)
|
Q_PROPERTY(QVariant currentSubtitle READ currentSubtitle WRITE setCurrentSubtitle)
|
||||||
Q_PROPERTY(bool subtitleEnabled READ isSubtitleEnabled WRITE setSubtitleEnabled
|
Q_PROPERTY(bool subtitleEnabled READ isSubtitleEnabled WRITE setSubtitleEnabled
|
||||||
NOTIFY subtitleEnabledChanged)
|
NOTIFY subtitleEnabledChanged)
|
||||||
|
Q_PROPERTY(bool autoPlay READ autoPlay WRITE setAutoPlay)
|
||||||
|
|
||||||
Q_ENUMS(State)
|
Q_ENUMS(State)
|
||||||
|
|
||||||
|
@ -89,12 +90,11 @@ public:
|
||||||
QVariant currentSubtitle() const;
|
QVariant currentSubtitle() const;
|
||||||
bool isSubtitleEnabled() const;
|
bool isSubtitleEnabled() const;
|
||||||
quint32 positionUpdateInterval() const;
|
quint32 positionUpdateInterval() const;
|
||||||
|
bool autoPlay() const;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void stateChanged(State new_state);
|
void stateChanged(State new_state);
|
||||||
void bufferingChanged(int percent);
|
void bufferingChanged(int percent);
|
||||||
void enfOfStream();
|
|
||||||
void positionUpdated(qint64 new_position);
|
void positionUpdated(qint64 new_position);
|
||||||
void durationChanged(qint64 duration);
|
void durationChanged(qint64 duration);
|
||||||
void resolutionChanged(QSize resolution);
|
void resolutionChanged(QSize resolution);
|
||||||
|
@ -119,6 +119,7 @@ public slots:
|
||||||
void setCurrentSubtitle(QVariant track);
|
void setCurrentSubtitle(QVariant track);
|
||||||
void setSubtitleEnabled(bool enabled);
|
void setSubtitleEnabled(bool enabled);
|
||||||
void setPositionUpdateInterval(quint32 interval);
|
void setPositionUpdateInterval(quint32 interval);
|
||||||
|
void setAutoPlay(bool auto_play);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Q_DISABLE_COPY(Player)
|
Q_DISABLE_COPY(Player)
|
||||||
|
@ -137,6 +138,7 @@ private:
|
||||||
MediaInfo *mediaInfo_;
|
MediaInfo *mediaInfo_;
|
||||||
bool videoAvailable_;
|
bool videoAvailable_;
|
||||||
bool subtitleEnabled_;
|
bool subtitleEnabled_;
|
||||||
|
bool autoPlay_;
|
||||||
};
|
};
|
||||||
|
|
||||||
class VideoRenderer
|
class VideoRenderer
|
||||||
|
|
Loading…
Reference in a new issue