diff options
author | Jøger Hansegård <joger.hansegard@qt.io> | 2023-10-05 19:24:31 +0200 |
---|---|---|
committer | Jøger Hansegård <joger.hansegard@qt.io> | 2023-10-10 00:07:13 +0200 |
commit | 33f58f6a93d1d782fde973c57437d6a0b4a09327 (patch) | |
tree | 1b1ee54b75032492bd247c676551a4e76c7f204e /src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h | |
parent | b9a8642ad223c37041f15cb43268ebd814323ebd (diff) |
Ensure that FFmpeg media data holder is completely recreated
The FFmpeg media data holder was reset using a member function that was
recreating its state. Although this works, it is better to use a factory
function for this, to get a design guarantee that the media data holder
is fully recreated also after future refactoring.
Pick-to: 6.5 6.6
Change-Id: If9fc75ef20788f433f9e3bd8c4ba5c3a8081e28b
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Diffstat (limited to 'src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h')
-rw-r--r-- | src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h index 67c1b8760..046c377a4 100644 --- a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h +++ b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h @@ -19,6 +19,7 @@ #include "private/qplatformmediaplayer_p.h" #include "qffmpeg_p.h" #include "qvideoframe.h" +#include <private/qmultimediautils_p.h> #include <array> #include <optional> @@ -69,7 +70,7 @@ public: int currentStreamIndex(QPlatformMediaPlayer::TrackType trackType) const; - std::optional<ContextError> recreateAVFormatContext(const QUrl &media, QIODevice *stream); + static QMaybe<MediaDataHolder, ContextError> create(const QUrl &mediaUrl, QIODevice *stream); bool setActiveTrack(QPlatformMediaPlayer::TrackType type, int streamNumber); |