diff options
-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); } |