Closed Bug 1267637 Opened 4 years ago Closed 4 years ago

Vorbis: crash [@ mozilla::AudioConverter::AudioConverter]

Categories

(Core :: Audio/Video: Playback, defect, critical)

x86_64
macOS
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla49
Tracking Status
firefox49 --- fixed

People

(Reporter: posidron, Assigned: jya)

Details

(Keywords: crash, testcase)

Crash Data

Attachments

(10 files)

34.17 KB, application/octet-stream
Details
58 bytes, text/x-review-board-request
gerald
: review+
Details
58 bytes, text/x-review-board-request
gerald
: review+
Details
58 bytes, text/x-review-board-request
gerald
: review+
Details
58 bytes, text/x-review-board-request
gerald
: review+
Details
58 bytes, text/x-review-board-request
gerald
: review+
Details
58 bytes, text/x-review-board-request
gerald
: review+
Details
58 bytes, text/x-review-board-request
gerald
: review+
Details
58 bytes, text/x-review-board-request
gerald
: review+
Details
58 bytes, text/x-review-board-request
gerald
: review+
Details
The following testcase crashes on en-us.linux-x86_64-asan.tar.bz2 revision 18ff4b609573846d75245079f8e18e2a584ee89d

See attachment.

Backtrace:

==13376==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7f86e310f4f7 sp 0x7f865b3e4d60 bp 0x7f865b3e4e50 T5102)
    #0 0x7f86e310f4f6 in mozilla::AudioConverter::AudioConverter(mozilla::AudioConfig const&, mozilla::AudioConfig const&) /builds/slave/m-in-l64-asan-0000000000000000/build/src/dom/media/AudioConverter.cpp:26
    #1 0x7f86e350f659 in MakeUnique<mozilla::AudioConverter, mozilla::AudioConfig &, mozilla::AudioConfig &> /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/mozilla/UniquePtr.h:680
    #2 0x7f86e350f659 in mozilla::VorbisDataDecoder::DoDecode(mozilla::MediaRawData*) /builds/slave/m-in-l64-asan-0000000000000000/build/src/dom/media/platforms/agnostic/VorbisDecoder.cpp:226
    #3 0x7f86e350e81d in mozilla::VorbisDataDecoder::Decode(mozilla::MediaRawData*) /builds/slave/m-in-l64-asan-0000000000000000/build/src/dom/media/platforms/agnostic/VorbisDecoder.cpp:139
    #4 0x7f86e35247f7 in applyImpl<mozilla::VorbisDataDecoder, void (mozilla::VorbisDataDecoder::*)(mozilla::MediaRawData *), StorensRefPtrPassByPtr<mozilla::MediaRawData> , 0> /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/nsThreadUtils.h:671
    #5 0x7f86e35247f7 in apply<mozilla::VorbisDataDecoder, void (mozilla::VorbisDataDecoder::*)(mozilla::MediaRawData *)> /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/nsThreadUtils.h:677
    #6 0x7f86e35247f7 in nsRunnableMethodImpl<void (mozilla::VorbisDataDecoder::*)(mozilla::MediaRawData*), true, RefPtr<mozilla::MediaRawData> >::Run() /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/nsThreadUtils.h:705
    #7 0x7f86de0e5720 in mozilla::TaskQueue::Runner::Run() /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/TaskQueue.cpp:171
    #8 0x7f86de0fad03 in nsThreadPool::Run() /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/nsThreadPool.cpp:228
    #9 0x7f86de0fb33c in non-virtual thunk to nsThreadPool::Run() /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/xpcom/threads/Unified_cpp_xpcom_threads0.cpp:242
    #10 0x7f86de0f42c0 in nsThread::ProcessNextEvent(bool, bool*) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/nsThread.cpp:994
    #11 0x7f86de16e06a in NS_ProcessNextEvent(nsIThread*, bool) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/glue/nsThreadUtils.cpp:290
    #12 0x7f86dee69b51 in mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/slave/m-in-l64-asan-0000000000000000/build/src/ipc/glue/MessagePump.cpp:340
    #13 0x7f86dede0f7c in RunInternal /builds/slave/m-in-l64-asan-0000000000000000/build/src/ipc/chromium/src/base/message_loop.cc:230
    #14 0x7f86dede0f7c in RunHandler /builds/slave/m-in-l64-asan-0000000000000000/build/src/ipc/chromium/src/base/message_loop.cc:223
    #15 0x7f86dede0f7c in MessageLoop::Run() /builds/slave/m-in-l64-asan-0000000000000000/build/src/ipc/chromium/src/base/message_loop.cc:203
    #16 0x7f86de0efd0e in nsThread::ThreadFunc(void*) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/nsThread.cpp:396
    #17 0x7f86f452d3ef in _pt_root /builds/slave/m-in-l64-asan-0000000000000000/build/src/nsprpub/pr/src/pthreads/ptthread.c:216
    #18 0x7f86f7a4f181 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8181)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /builds/slave/m-in-l64-asan-0000000000000000/build/src/dom/media/AudioConverter.cpp:26 mozilla::AudioConverter::AudioConverter(mozilla::AudioConfig const&, mozilla::AudioConfig const&)
Thread T5102 (MediaPD~oder #1) created by T5101 (MediaPl~back #2) here:
    #0 0x45ea55 in __interceptor_pthread_create /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_interceptors.cc:175
    #1 0x7f86f4529b40 in _PR_CreateThread /builds/slave/m-in-l64-asan-0000000000000000/build/src/nsprpub/pr/src/pthreads/ptthread.c:457
    #2 0x7f86f45296aa in PR_CreateThread /builds/slave/m-in-l64-asan-0000000000000000/build/src/nsprpub/pr/src/pthreads/ptthread.c:548
    #3 0x7f86de0f149d in nsThread::Init() /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/nsThread.cpp:526
    #4 0x7f86de0f7d9e in nsThreadManager::NewThread(unsigned int, unsigned int, nsIThread**) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/nsThreadManager.cpp:253
    #5 0x7f86de0f97ae in nsThreadPool::PutEvent(already_AddRefed<nsIRunnable>&&, unsigned int) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/nsThreadPool.cpp:106
    #6 0x7f86de0fb846 in nsThreadPool::Dispatch(already_AddRefed<nsIRunnable>&&, unsigned int) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/nsThreadPool.cpp:277
    #7 0x7f86de0e40b0 in mozilla::TaskQueue::DispatchLocked(nsCOMPtr<nsIRunnable>&, mozilla::TaskQueue::DispatchMode, mozilla::AbstractThread::DispatchFailureHandling, mozilla::AbstractThread::DispatchReason) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/TaskQueue.cpp:67
    #8 0x7f86de0fd5b1 in mozilla::TaskQueue::Dispatch(already_AddRefed<nsIRunnable>, mozilla::AbstractThread::DispatchFailureHandling, mozilla::AbstractThread::DispatchReason) /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/mozilla/TaskQueue.h:49
    #9 0x7f86e350e754 in mozilla::VorbisDataDecoder::Input(mozilla::MediaRawData*) /builds/slave/m-in-l64-asan-0000000000000000/build/src/dom/media/platforms/agnostic/VorbisDecoder.cpp:131
    #10 0x7f86e32a5d4d in mozilla::MediaFormatReader::DecodeDemuxedSamples(mozilla::TrackInfo::TrackType, mozilla::MediaRawData*) /builds/slave/m-in-l64-asan-0000000000000000/build/src/dom/media/MediaFormatReader.cpp:857
    #11 0x7f86e32a6545 in mozilla::MediaFormatReader::HandleDemuxedSamples(mozilla::TrackInfo::TrackType, mozilla::AbstractMediaDecoder::AutoNotifyDecoded&) /builds/slave/m-in-l64-asan-0000000000000000/build/src/dom/media/MediaFormatReader.cpp:947
    #12 0x7f86e32a436f in mozilla::MediaFormatReader::Update(mozilla::TrackInfo::TrackType) /builds/slave/m-in-l64-asan-0000000000000000/build/src/dom/media/MediaFormatReader.cpp:1156
    #13 0x7f86e3357cfa in applyImpl<mozilla::MediaFormatReader, void (mozilla::MediaFormatReader::*)(mozilla::TrackInfo::TrackType), StoreCopyPassByValue<mozilla::TrackInfo::TrackType> , 0> /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/nsThreadUtils.h:671
    #14 0x7f86e3357cfa in apply<mozilla::MediaFormatReader, void (mozilla::MediaFormatReader::*)(mozilla::TrackInfo::TrackType)> /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/nsThreadUtils.h:677
    #15 0x7f86e3357cfa in nsRunnableMethodImpl<void (mozilla::MediaFormatReader::*)(mozilla::TrackInfo::TrackType), true, mozilla::TrackInfo::TrackType>::Run() /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/nsThreadUtils.h:705
    #16 0x7f86de1062ea in mozilla::AutoTaskDispatcher::TaskGroupRunnable::Run() /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/mozilla/TaskDispatcher.h:192
    #17 0x7f86de0e5720 in mozilla::TaskQueue::Runner::Run() /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/TaskQueue.cpp:171
    #18 0x7f86de0fad03 in nsThreadPool::Run() /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/nsThreadPool.cpp:228
    #19 0x7f86de0fb33c in non-virtual thunk to nsThreadPool::Run() /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/xpcom/threads/Unified_cpp_xpcom_threads0.cpp:242
    #20 0x7f86de0f42c0 in nsThread::ProcessNextEvent(bool, bool*) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/nsThread.cpp:994
    #21 0x7f86de16e06a in NS_ProcessNextEvent(nsIThread*, bool) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/glue/nsThreadUtils.cpp:290
    #22 0x7f86dee69b51 in mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/slave/m-in-l64-asan-0000000000000000/build/src/ipc/glue/MessagePump.cpp:340
    #23 0x7f86dede0f7c in RunInternal /builds/slave/m-in-l64-asan-0000000000000000/build/src/ipc/chromium/src/base/message_loop.cc:230
    #24 0x7f86dede0f7c in RunHandler /builds/slave/m-in-l64-asan-0000000000000000/build/src/ipc/chromium/src/base/message_loop.cc:223
    #25 0x7f86dede0f7c in MessageLoop::Run() /builds/slave/m-in-l64-asan-0000000000000000/build/src/ipc/chromium/src/base/message_loop.cc:203
    #26 0x7f86de0efd0e in nsThread::ThreadFunc(void*) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/nsThread.cpp:396
    #27 0x7f86f452d3ef in _pt_root /builds/slave/m-in-l64-asan-0000000000000000/build/src/nsprpub/pr/src/pthreads/ptthread.c:216
    #28 0x7f86f7a4f181 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8181)

Thread T5101 (MediaPl~back #2) created by T0 here:
    #0 0x45ea55 in __interceptor_pthread_create /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_interceptors.cc:175
    #1 0x7f86f4529b40 in _PR_CreateThread /builds/slave/m-in-l64-asan-0000000000000000/build/src/nsprpub/pr/src/pthreads/ptthread.c:457
    #2 0x7f86f45296aa in PR_CreateThread /builds/slave/m-in-l64-asan-0000000000000000/build/src/nsprpub/pr/src/pthreads/ptthread.c:548
    #3 0x7f86de0f149d in nsThread::Init() /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/nsThread.cpp:526
    #4 0x7f86de0f7d9e in nsThreadManager::NewThread(unsigned int, unsigned int, nsIThread**) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/nsThreadManager.cpp:253
    #5 0x7f86de0f97ae in nsThreadPool::PutEvent(already_AddRefed<nsIRunnable>&&, unsigned int) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/nsThreadPool.cpp:106
    #6 0x7f86de0fb846 in nsThreadPool::Dispatch(already_AddRefed<nsIRunnable>&&, unsigned int) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/nsThreadPool.cpp:277
    #7 0x7f86de0e40b0 in mozilla::TaskQueue::DispatchLocked(nsCOMPtr<nsIRunnable>&, mozilla::TaskQueue::DispatchMode, mozilla::AbstractThread::DispatchFailureHandling, mozilla::AbstractThread::DispatchReason) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/TaskQueue.cpp:67
    #8 0x7f86de0fd5b1 in mozilla::TaskQueue::Dispatch(already_AddRefed<nsIRunnable>, mozilla::AbstractThread::DispatchFailureHandling, mozilla::AbstractThread::DispatchReason) /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/mozilla/TaskQueue.h:49
    #9 0x7f86de105c4c in mozilla::AutoTaskDispatcher::DispatchTaskGroup(mozilla::UniquePtr<mozilla::AutoTaskDispatcher::PerThreadTaskGroup, mozilla::DefaultDelete<mozilla::AutoTaskDispatcher::PerThreadTaskGroup> >) /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/mozilla/TaskDispatcher.h:244
    #10 0x7f86de106b51 in mozilla::AutoTaskDispatcher::~AutoTaskDispatcher() /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/mozilla/TaskDispatcher.h:90
    #11 0x7f86de10aa11 in reset /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/mozilla/Maybe.h:373
    #12 0x7f86de10aa11 in mozilla::XPCOMThreadWrapper::FireTailDispatcher() /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/AbstractThread.cpp:81
    #13 0x7f86de10abb0 in applyImpl<mozilla::XPCOMThreadWrapper, void (mozilla::XPCOMThreadWrapper::*)()> /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/nsThreadUtils.h:671
    #14 0x7f86de10abb0 in apply<mozilla::XPCOMThreadWrapper, void (mozilla::XPCOMThreadWrapper::*)()> /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/nsThreadUtils.h:677
    #15 0x7f86de10abb0 in nsRunnableMethodImpl<void (mozilla::XPCOMThreadWrapper::*)(), true>::Run() /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/dist/include/nsThreadUtils.h:705
    #16 0x7f86ddfbddf9 in mozilla::CycleCollectedJSRuntime::ProcessStableStateQueue() /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/base/CycleCollectedJSRuntime.cpp:1327
    #17 0x7f86df9b05a1 in XPCJSRuntime::AfterProcessTask(unsigned int) /builds/slave/m-in-l64-asan-0000000000000000/build/src/js/xpconnect/src/XPCJSRuntime.cpp:3732
    #18 0x7f86de0f477f in nsThread::ProcessNextEvent(bool, bool*) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/threads/nsThread.cpp:1009
    #19 0x7f86de16e06a in NS_ProcessNextEvent(nsIThread*, bool) /builds/slave/m-in-l64-asan-0000000000000000/build/src/xpcom/glue/nsThreadUtils.cpp:290
    #20 0x7f86dee688de in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/slave/m-in-l64-asan-0000000000000000/build/src/ipc/glue/MessagePump.cpp:98
    #21 0x7f86dede0f7c in RunInternal /builds/slave/m-in-l64-asan-0000000000000000/build/src/ipc/chromium/src/base/message_loop.cc:230
    #22 0x7f86dede0f7c in RunHandler /builds/slave/m-in-l64-asan-0000000000000000/build/src/ipc/chromium/src/base/message_loop.cc:223
    #23 0x7f86dede0f7c in MessageLoop::Run() /builds/slave/m-in-l64-asan-0000000000000000/build/src/ipc/chromium/src/base/message_loop.cc:203
    #24 0x7f86e442f5d7 in nsBaseAppShell::Run() /builds/slave/m-in-l64-asan-0000000000000000/build/src/widget/nsBaseAppShell.cpp:156
    #25 0x7f86e62f1188 in nsAppStartup::Run() /builds/slave/m-in-l64-asan-0000000000000000/build/src/toolkit/components/startup/nsAppStartup.cpp:284
    #26 0x7f86e63f595c in XREMain::XRE_mainRun() /builds/slave/m-in-l64-asan-0000000000000000/build/src/toolkit/xre/nsAppRunner.cpp:4347
    #27 0x7f86e63f6c78 in XREMain::XRE_main(int, char**, nsXREAppData const*) /builds/slave/m-in-l64-asan-0000000000000000/build/src/toolkit/xre/nsAppRunner.cpp:4451
    #28 0x7f86e63f7b5e in XRE_main /builds/slave/m-in-l64-asan-0000000000000000/build/src/toolkit/xre/nsAppRunner.cpp:4559
    #29 0x48a793 in do_main /builds/slave/m-in-l64-asan-0000000000000000/build/src/browser/app/nsBrowserApp.cpp:220
    #30 0x48a793 in main /builds/slave/m-in-l64-asan-0000000000000000/build/src/browser/app/nsBrowserApp.cpp:360
    #31 0x7f86f6a77ec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
Attached file Testcase
Assignee: nobody → jyavenard
Component: Audio/Video → Audio/Video: Playback
Review commit: https://reviewboard.mozilla.org/r/49147/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/49147/
Attachment #8745902 - Flags: review?(gsquelart)
Attachment #8745903 - Flags: review?(gsquelart)
Attachment #8745904 - Flags: review?(gsquelart)
Attachment #8745905 - Flags: review?(gsquelart)
Attachment #8745906 - Flags: review?(gsquelart)
Attachment #8745907 - Flags: review?(gsquelart)
Attachment #8745908 - Flags: review?(gsquelart)
Attachment #8745909 - Flags: review?(gsquelart)
Add AudioConfig::IsValid() method

Review commit: https://reviewboard.mozilla.org/r/49163/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/49163/
Attachment #8745904 - Attachment description: MozReview Request: Bug 1267637: [vorbis] P3. Reject audio data with unsupported audio configuration. r?gerald → MozReview Request: Bug 1267637: [vorbis] P4. Reject audio data with unsupported audio configuration. r?gerald
Attachment #8745905 - Attachment description: MozReview Request: Bug 1267637: [android] P4. Reject audio data with unsupported audio configuration. r?gerald → MozReview Request: Bug 1267637: [android] P5. Reject audio data with unsupported audio configuration. r?gerald
Attachment #8745906 - Attachment description: MozReview Request: Bug 1267637: [AT] P5. Reject audio data with unsupported channel configuration. r?gerald → MozReview Request: Bug 1267637: [AT] P6. Reject audio data with unsupported channel configuration. r?gerald
Attachment #8745907 - Attachment description: MozReview Request: Bug 1267637: [ffmpeg] P6. Reject audio data with unsupported channel configuration. r?gerald → MozReview Request: Bug 1267637: [ffmpeg] P7. Reject audio data with unsupported channel configuration. r?gerald
Attachment #8745908 - Attachment description: MozReview Request: Bug 1267637: [gonk] P7. Reject audio data with unsupported channel configuration. r?gerald → MozReview Request: Bug 1267637: [gonk] P8. Reject audio data with unsupported channel configuration. r?gerald
Attachment #8745909 - Attachment description: MozReview Request: Bug 1267637: [wmf] P8. Reject audio data with unsupported channel configuration. r?gerald → MozReview Request: Bug 1267637: [wmf] P9. Reject audio data with unsupported channel configuration. r?gerald
Attachment #8745915 - Flags: review?(gsquelart)
Comment on attachment 8745904 [details]
MozReview Request: Bug 1267637: [vorbis] P4. Reject audio data with unsupported audio configuration. r?gerald

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/49151/diff/1-2/
Comment on attachment 8745905 [details]
MozReview Request: Bug 1267637: [android] P5. Reject audio data with unsupported audio configuration. r?gerald

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/49153/diff/1-2/
Comment on attachment 8745906 [details]
MozReview Request: Bug 1267637: [AT] P6. Reject audio data with unsupported channel configuration. r?gerald

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/49155/diff/1-2/
Comment on attachment 8745907 [details]
MozReview Request: Bug 1267637: [ffmpeg] P7. Reject audio data with unsupported channel configuration. r?gerald

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/49157/diff/1-2/
Comment on attachment 8745908 [details]
MozReview Request: Bug 1267637: [gonk] P8. Reject audio data with unsupported channel configuration. r?gerald

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/49159/diff/1-2/
Comment on attachment 8745909 [details]
MozReview Request: Bug 1267637: [wmf] P9. Reject audio data with unsupported channel configuration. r?gerald

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/49161/diff/1-2/
Comment on attachment 8745915 [details]
MozReview Request: Bug 1267637: P1. Consider invalid an AudioData with more than 8 audio channels. r?gerald

https://reviewboard.mozilla.org/r/49163/#review46019

r+ with nit & optional suggestion:

::: dom/media/MediaInfo.h:37
(Diff revision 1)
>    {}
>    nsCString mKey;
>    nsCString mValue;
>  };
>  
> +  // Maximum channel number we can currently handle (7.1)

Remove spaces at start of line.

::: dom/media/MediaInfo.h:38
(Diff revision 1)
>    nsCString mKey;
>    nsCString mValue;
>  };
>  
> +  // Maximum channel number we can currently handle (7.1)
> +#define MAX_AUDIO_CHANNELS 8

I know you only moved it in this patch, but since you're modifying this code...
How about making this a class-static constant? (With the same type as mChannels.)
Attachment #8745915 - Flags: review?(gsquelart) → review+
Comment on attachment 8745902 [details]
MozReview Request: Bug 1267637: P2. Ignore outright audio track considered invalid. r?gerald

https://reviewboard.mozilla.org/r/49147/#review46021
Attachment #8745902 - Flags: review?(gsquelart) → review+
Comment on attachment 8745903 [details]
MozReview Request: Bug 1267637: [opus] P3. Reject audio data with unsupported audio configuration. r?gerald

https://reviewboard.mozilla.org/r/49149/#review46023
Attachment #8745903 - Flags: review?(gsquelart) → review+
Attachment #8745904 - Flags: review?(gsquelart) → review+
Comment on attachment 8745904 [details]
MozReview Request: Bug 1267637: [vorbis] P4. Reject audio data with unsupported audio configuration. r?gerald

https://reviewboard.mozilla.org/r/49151/#review46025
Attachment #8745905 - Flags: review?(gsquelart) → review+
Comment on attachment 8745905 [details]
MozReview Request: Bug 1267637: [android] P5. Reject audio data with unsupported audio configuration. r?gerald

https://reviewboard.mozilla.org/r/49153/#review46027
Comment on attachment 8745906 [details]
MozReview Request: Bug 1267637: [AT] P6. Reject audio data with unsupported channel configuration. r?gerald

https://reviewboard.mozilla.org/r/49155/#review46029
Attachment #8745906 - Flags: review?(gsquelart) → review+
Comment on attachment 8745907 [details]
MozReview Request: Bug 1267637: [ffmpeg] P7. Reject audio data with unsupported channel configuration. r?gerald

https://reviewboard.mozilla.org/r/49157/#review46031
Attachment #8745907 - Flags: review?(gsquelart) → review+
Attachment #8745908 - Flags: review?(gsquelart) → review+
Comment on attachment 8745908 [details]
MozReview Request: Bug 1267637: [gonk] P8. Reject audio data with unsupported channel configuration. r?gerald

https://reviewboard.mozilla.org/r/49159/#review46033
Comment on attachment 8745909 [details]
MozReview Request: Bug 1267637: [wmf] P9. Reject audio data with unsupported channel configuration. r?gerald

https://reviewboard.mozilla.org/r/49161/#review46035
Attachment #8745909 - Flags: review?(gsquelart) → review+
You need to log in before you can comment on or make changes to this bug.