diff options
author | Artem Dyomin <artem.dyomin@qt.io> | 2023-03-02 14:09:15 +0100 |
---|---|---|
committer | Artem Dyomin <artem.dyomin@qt.io> | 2023-03-05 10:50:43 +0100 |
commit | 46394944487b189962c1ceef8a236b328e8e7736 (patch) | |
tree | 6842c2c62e3bb4727c69b2cc8d652b2b523782d5 /src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h | |
parent | 65465baf906cbb7ad4492e363e643ad7724ff178 (diff) |
Implement looping for ffmpeg mediaplayer backend
- Looping of ffmpeg mediaplayer has been added with auto tests
- Minor code cleanup (that left from previous implmntations)
Pick-to: 6.5
Task-number: QTBUG-111209
Change-Id: I3839ee866bc2dc571919e41a18b093fb15165293
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Diffstat (limited to 'src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h')
-rw-r--r-- | src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h index dc9f4c907..e1b6873a8 100644 --- a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h +++ b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h @@ -52,10 +52,16 @@ public: static QPlatformMediaPlayer::TrackType trackTypeFromMediaType(int mediaType); - bool setActiveTrack(QPlatformMediaPlayer::TrackType type, int streamNumber); - int activeTrack(QPlatformMediaPlayer::TrackType type) const; + const QList<StreamInfo> &streamInfo(QPlatformMediaPlayer::TrackType trackType) const; + + qint64 duration() const { return m_duration; } + + const QMediaMetaData &metaData() const { return m_metaData; } + + bool isSeekable() const { return m_isSeekable; } + protected: std::optional<ContextError> recreateAVFormatContext(const QUrl &media, QIODevice *stream); @@ -63,6 +69,8 @@ protected: void updateMetaData(); + bool setActiveTrack(QPlatformMediaPlayer::TrackType type, int streamNumber); + protected: std::unique_ptr<AVFormatContext, AVFormatContextDeleter> m_context; bool m_isSeekable = false; |