Bug 1267637: [AT] P6. Reject audio data with unsupported channel configuration. r?gerald draft
authorJean-Yves Avenard <jyavenard@mozilla.com>
Wed, 27 Apr 2016 17:51:40 +1000
changeset 356836 3c3915ab9afbcf41a3bf90fa76b86dffe55bc4b4
parent 356835 052dd4999446095d90b66ce65079a1384809e7ef
child 356837 3d3b9d9fff2837a82a9fcb3098ff64560b627085
push id16612
push userbmo:jyavenard@mozilla.com
push dateWed, 27 Apr 2016 08:16:14 +0000
reviewersgerald
bugs1267637
milestone49.0a1
Bug 1267637: [AT] P6. Reject audio data with unsupported channel configuration. r?gerald MozReview-Commit-ID: IrjTi5gWp7F
dom/media/platforms/apple/AppleATDecoder.cpp
--- a/dom/media/platforms/apple/AppleATDecoder.cpp
+++ b/dom/media/platforms/apple/AppleATDecoder.cpp
@@ -278,16 +278,19 @@ AppleATDecoder::DecodeSample(MediaRawDat
 
   AudioSampleBuffer data(outputData.Elements(), outputData.Length());
   if (!data.Data()) {
     return NS_ERROR_OUT_OF_MEMORY;
   }
   if (mChannelLayout && !mAudioConverter) {
     AudioConfig in(*mChannelLayout.get(), rate);
     AudioConfig out(channels, rate);
+    if (!in.IsValid() || !out.IsValid()) {
+      return NS_ERROR_FAILURE;
+    }
     mAudioConverter = MakeUnique<AudioConverter>(in, out);
   }
   if (mAudioConverter) {
     MOZ_ASSERT(mAudioConverter->CanWorkInPlace());
     data = mAudioConverter->Process(Move(data));
   }
 
   RefPtr<AudioData> audio = new AudioData(aSample->mOffset,