Bug 1267637: [ffmpeg] P7. Reject audio data with unsupported channel configuration. r?gerald
MozReview-Commit-ID: AoEjMjYfUzn
--- a/dom/media/platforms/ffmpeg/FFmpegAudioDecoder.cpp
+++ b/dom/media/platforms/ffmpeg/FFmpegAudioDecoder.cpp
@@ -123,16 +123,22 @@ FFmpegAudioDecoder<LIBAV_VER>::DecodePac
if (bytesConsumed < 0) {
NS_WARNING("FFmpeg audio decoder error.");
mCallback->Error();
return;
}
if (decoded) {
uint32_t numChannels = mCodecContext->channels;
+ AudioConfig::ChannelLayout layout(numChannels);
+ if (!layout.IsValid()) {
+ mCallback->Error();
+ return;
+ }
+
uint32_t samplingRate = mCodecContext->sample_rate;
AlignedAudioBuffer audio =
CopyAndPackAudio(mFrame, numChannels, mFrame->nb_samples);
media::TimeUnit duration =
FramesToTimeUnit(mFrame->nb_samples, samplingRate);
if (!audio || !duration.IsValid()) {