diff options
author | Artem Dyomin <artem.dyomin@qt.io> | 2024-03-25 11:03:22 +0100 |
---|---|---|
committer | Artem Dyomin <artem.dyomin@qt.io> | 2024-03-25 11:20:10 +0000 |
commit | 5d2bdf00927771b74c407f7ffa958eb37b1f5e89 (patch) | |
tree | e1c3fe40b103516a9f3e6bf7238f43d34724ac62 | |
parent | b988940afc7cbd33167801e744624b1d7714eb90 (diff) |
Fixes: QTBUG-123597
Pick-to: 6.7 6.6 6.5
Change-Id: Ic4dbed477beaa46b280a5d7ff1dc8f9ecd39b576
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
-rw-r--r-- | src/plugins/multimedia/ffmpeg/qffmpegaudiodecoder.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegaudiodecoder.cpp b/src/plugins/multimedia/ffmpeg/qffmpegaudiodecoder.cpp index 7482a3390..69820cc79 100644 --- a/src/plugins/multimedia/ffmpeg/qffmpegaudiodecoder.cpp +++ b/src/plugins/multimedia/ffmpeg/qffmpegaudiodecoder.cpp @@ -139,9 +139,14 @@ void QFFmpegAudioDecoder::start() QFFmpeg::MediaDataHolder::Maybe media = QFFmpeg::MediaDataHolder::create(m_url, m_sourceDevice, nullptr); - if (media) - m_decoder->setMedia(std::move(*media.value())); - else { + if (media) { + Q_ASSERT(media.value()); + if (media.value()->streamInfo(QPlatformMediaPlayer::AudioStream).isEmpty()) + error(QAudioDecoder::FormatError, + QLatin1String("The media doesn't contain an audio stream")); + else + m_decoder->setMedia(std::move(*media.value())); + } else { auto [code, description] = media.error(); errorSignal(code, description); } |