MOZ_ASSERT(mDecoder) [@ mozilla::DecoderAgent::Shutdown] | /webcodecs/audioDecoder-codec-specific.https.any.worker.html?adts_aac
Categories
(Core :: Audio/Video: Web Codecs, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox131 | --- | fixed |
People
(Reporter: chunmin, Assigned: chunmin)
References
(Blocks 1 open bug)
Details
Attachments
(3 files)
The MOZ_ASSERT(mDecoder)
crash was found in https://treeherder.mozilla.org/logviewer?job_id=470390514&repo=try&lineNumber=1391 on the Windows platform. I suspect this happens on all kinds of platforms. Below is the crash stack.
[task 2024-08-14T15:44:45.170Z] 15:44:45 INFO - Found by: call frame info
[task 2024-08-14T15:44:45.170Z] 15:44:45 INFO - 16 xul.dll!nsThread::ThreadFunc(void*) [nsThread.cpp:2aa70dfdf82c75386a02320758a8203ff51c02e3 : 370 + 0x6]
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - eip = 0x64c49da0 esp = 0x150ffd00 ebp = 0x150ffdfc ebx = 0x0000000a
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - esi = 0x150ffd18 edi = 0x1269c1b4
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - Found by: call frame info
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - 17 nss3.dll!_PR_NativeRunThread(void*) [pruthr.c:2aa70dfdf82c75386a02320758a8203ff51c02e3 : 399 + 0xe]
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - eip = 0x714db0c4 esp = 0x150ffe04 ebp = 0x150ffe20 ebx = 0x1269c1b0
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - esi = 0x0d757190 edi = 0x0d757240
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - Found by: call frame info
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - 18 nss3.dll!pr_root(void*) [w95thred.c:2aa70dfdf82c75386a02320758a8203ff51c02e3 : 139 + 0xe]
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - eip = 0x714ccfe6 esp = 0x150ffe28 ebp = 0x150ffe30 ebx = 0x74ec59a0
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - esi = 0x0d757190 edi = 0x04b9b548
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - Found by: call frame info
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - 19 ucrtbase.dll!thread_start<unsigned int (__stdcall*)(void *),1> + 0x42
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - eip = 0x74ec59e3 esp = 0x150ffe38 ebp = 0x150ffe68 ebx = 0x74ec59a0
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - esi = 0x714ccfd0 edi = 0x04b9b548
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - Found by: call frame info
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - 20 kernel32.dll!BaseThreadInitThunk + 0x18
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - eip = 0x75a57ba9 esp = 0x150ffe70 ebp = 0x150ffe78 ebx = 0x74ec59a0
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - esi = 0x714ccfd0 edi = 0x04b9b548
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - Found by: call frame info
[task 2024-08-14T15:44:45.171Z] 15:44:45 INFO - 21 mozglue.dll!mozilla::interceptor::FuncHook<mozilla::interceptor::WindowsDllInterceptor<mozilla::interceptor::VMSharingPolicyShared>,void (*)(int, void *, void *) __attribute__((fastcall))>::operator()(int&, void*&, void*&) const [nsWindowsDllInterceptor.h:2aa70dfdf82c75386a02320758a8203ff51c02e3 : 150]
[task 2024-08-14T15:44:45.172Z] 15:44:45 INFO - Found by: inlining
[task 2024-08-14T15:44:45.172Z] 15:44:45 INFO - 22 mozglue.dll!patched_BaseThreadInitThunk(int, void*, void*) [WindowsDllBlocklist.cpp:2aa70dfdf82c75386a02320758a8203ff51c02e3 : 562 + 0x13]
[task 2024-08-14T15:44:45.172Z] 15:44:45 INFO - eip = 0x718fe520 esp = 0x150ffe80 ebp = 0x150ffeac ebx = 0x74ec59a0
[task 2024-08-14T15:44:45.172Z] 15:44:45 INFO - esi = 0x714ccfd0 edi = 0x04b9b548
[task 2024-08-14T15:44:45.172Z] 15:44:45 INFO - Found by: call frame info
[task 2024-08-14T15:44:45.172Z] 15:44:45 INFO - 23 ntdll.dll!__RtlUserThreadStart + 0x2a
[task 2024-08-14T15:44:45.172Z] 15:44:45 INFO - eip = 0x7728c10b esp = 0x150ffeb4 ebp = 0x150fff04 ebx = 0x04b9b548
[task 2024-08-14T15:44:45.172Z] 15:44:45 INFO - esi = 0x75a57b90 edi = 0x74ec59a0
[task 2024-08-14T15:44:45.172Z] 15:44:45 INFO - Found by: call frame info
[task 2024-08-14T15:44:45.172Z] 15:44:45 INFO - 24 ntdll.dll!_RtlUserThreadStart + 0x1a
[task 2024-08-14T15:44:45.172Z] 15:44:45 INFO - eip = 0x7728c08f esp = 0x150fff0c ebp = 0x150fff14 ebx = 0x04b9b548
[task 2024-08-14T15:44:45.172Z] 15:44:45 INFO - esi = 0x75a57b90 edi = 0x74ec59a0
[task 2024-08-14T15:44:45.172Z] 15:44:45 INFO - Found by: call frame info
Assignee | ||
Comment 1•1 month ago
•
|
||
The logs below from https://treeherder.mozilla.org/logviewer?job_id=470912629&repo=try&lineNumber=5603 indicates that DecoderAgent::Shutdown()
called after mPDMFactory->CreateDecoder
fails leads to the failure of the assertion since mDecoder
is not set after decoder creation has been completed.
[task 2024-08-19T16:35:27.751Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs Create a AudioInfo from mp4a.40.2 config
[task 2024-08-19T16:35:27.752Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs The given config has 2 bytes of description data
[task 2024-08-19T16:35:27.753Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs Created AudioInfo mp4a.40.2 (1ch 48000Hz - with extra-data: yes)
[task 2024-08-19T16:35:27.754Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs IsSupportedAudioCodec: mp4a.40.2
[task 2024-08-19T16:35:27.755Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs DecoderAgent #43 (21fe44d7ea0) ctor
[task 2024-08-19T16:35:27.755Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe1d06700 creates DecoderAgent #43 @ 21fe44d7ea0 and its shutdown-blocker
[task 2024-08-19T16:35:27.756Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe1d06700 now blocks message-queue-processing
[task 2024-08-19T16:35:27.757Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs DecoderAgent #43 (21fe44d7ea0) state change: Unconfigured -> Configuring
[task 2024-08-19T16:35:27.757Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs DecoderAgent #43 (21fe44d7ea0) is creating a decoder - PreferSW: no, low-latency: no
[task 2024-08-19T16:35:27.758Z] 16:35:27 INFO - PID 7600 | [Utility AudioDecoder 1760, MediaSupervisor #1] WARNING: NS_ENSURE_TRUE(SUCCEEDED(hr)) failed: file /builds/worker/checkouts/gecko/dom/media/platforms/wmf/MFTDecoder.cpp:113
[task 2024-08-19T16:35:27.759Z] 16:35:27 INFO - PID 7600 | [Utility AudioDecoder 1760, MediaSupervisor #1] WARNING: NS_ENSURE_TRUE(SUCCEEDED(hr)) failed: file /builds/worker/checkouts/gecko/dom/media/platforms/wmf/WMFAudioMFTManager.cpp:133
[task 2024-08-19T16:35:27.760Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe1d46d00 ctor
[task 2024-08-19T16:35:27.761Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe1d46d00, Close
[task 2024-08-19T16:35:27.762Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe1d46d00 has no DecoderAgent to destroy
[task 2024-08-19T16:35:27.763Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe1d46d00 now has its message queue unblocked
[task 2024-08-19T16:35:27.763Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe1d46d00, Configure: codec mp4a.40.2
[task 2024-08-19T16:35:27.764Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs Validating AudioDecoderConfig: codec: mp4a.40.2 1ch 48000Hz no extradata
[task 2024-08-19T16:35:27.765Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs Configure: CodecState::Closed, rejecting with InvalidState
[task 2024-08-19T16:35:27.766Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe1d46d00, Reset
[task 2024-08-19T16:35:27.767Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe1d46d00, Close
[task 2024-08-19T16:35:27.767Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe1d46d00, Decode
[task 2024-08-19T16:35:27.768Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe1d46d00, Flush
[task 2024-08-19T16:35:27.769Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe1d46d00, wrong state!
[task 2024-08-19T16:35:27.770Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00 ctor
[task 2024-08-19T16:35:27.771Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00, Configure: codec mp4a.40.2
[task 2024-08-19T16:35:27.771Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs Validating AudioDecoderConfig: codec: mp4a.40.2 1ch 48000Hz no extradata
[task 2024-08-19T16:35:27.773Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs Validating AudioDecoderConfig: codec: mp4a.40.2 1ch 48000Hz no extradata
[task 2024-08-19T16:35:27.773Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: W/WebCodecs Need to generate a specific config for mp4a.40.2: 1 channel, 48000 hz, default object type: 1
[task 2024-08-19T16:35:27.774Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs Created default AAC specific config: 2 bytes
[task 2024-08-19T16:35:27.775Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00 enqueues configure #44 (mp4a.40.2)
[task 2024-08-19T16:35:27.775Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00 starts processing configure #44 (mp4a.40.2)
[task 2024-08-19T16:35:27.776Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00 has no DecoderAgent to destroy
[task 2024-08-19T16:35:27.777Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs Create a AudioInfo from mp4a.40.2 config
[task 2024-08-19T16:35:27.778Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs The given config has 2 bytes of description data
[task 2024-08-19T16:35:27.778Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs Created AudioInfo mp4a.40.2 (1ch 48000Hz - with extra-data: yes)
[task 2024-08-19T16:35:27.779Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs IsSupportedAudioCodec: mp4a.40.2
[task 2024-08-19T16:35:27.780Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs DecoderAgent #44 (21fe44d7f50) ctor
[task 2024-08-19T16:35:27.780Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00 creates DecoderAgent #44 @ 21fe44d7f50 and its shutdown-blocker
[task 2024-08-19T16:35:27.781Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00 now blocks message-queue-processing
[task 2024-08-19T16:35:27.782Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs DecoderAgent #44 (21fe44d7f50) state change: Unconfigured -> Configuring
[task 2024-08-19T16:35:27.783Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs DecoderAgent #44 (21fe44d7f50) is creating a decoder - PreferSW: no, low-latency: no
[task 2024-08-19T16:35:27.784Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00, Decode
[task 2024-08-19T16:35:27.784Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: V/WebCodecs AudioDecoder 21fe44c1a00 enqueues decode #1 (config #44)
[task 2024-08-19T16:35:27.786Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00, Decode
[task 2024-08-19T16:35:27.786Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: V/WebCodecs AudioDecoder 21fe44c1a00 enqueues decode #2 (config #44)
[task 2024-08-19T16:35:27.787Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00, Decode
[task 2024-08-19T16:35:27.788Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: V/WebCodecs AudioDecoder 21fe44c1a00 enqueues decode #3 (config #44)
[task 2024-08-19T16:35:27.789Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00, Decode
[task 2024-08-19T16:35:27.789Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: V/WebCodecs AudioDecoder 21fe44c1a00 enqueues decode #4 (config #44)
[task 2024-08-19T16:35:27.790Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00, Decode
[task 2024-08-19T16:35:27.791Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: V/WebCodecs AudioDecoder 21fe44c1a00 enqueues decode #5 (config #44)
[task 2024-08-19T16:35:27.791Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00, Decode
[task 2024-08-19T16:35:27.792Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: V/WebCodecs AudioDecoder 21fe44c1a00 enqueues decode #6 (config #44)
[task 2024-08-19T16:35:27.793Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00, Decode
[task 2024-08-19T16:35:27.794Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: V/WebCodecs AudioDecoder 21fe44c1a00 enqueues decode #7 (config #44)
[task 2024-08-19T16:35:27.794Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00, Decode
[task 2024-08-19T16:35:27.795Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: V/WebCodecs AudioDecoder 21fe44c1a00 enqueues decode #8 (config #44)
[task 2024-08-19T16:35:27.796Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00, Decode
[task 2024-08-19T16:35:27.796Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: V/WebCodecs AudioDecoder 21fe44c1a00 enqueues decode #9 (config #44)
[task 2024-08-19T16:35:27.797Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00, Decode
[task 2024-08-19T16:35:27.798Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: V/WebCodecs AudioDecoder 21fe44c1a00 enqueues decode #10 (config #44)
[task 2024-08-19T16:35:27.798Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00, Flush
[task 2024-08-19T16:35:27.799Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00 enqueues flush #1 (config #44), with unique id 43
[task 2024-08-19T16:35:27.800Z] 16:35:27 INFO - PID 7600 | [Utility AudioDecoder 1760, MediaSupervisor #1] WARNING: NS_ENSURE_TRUE(SUCCEEDED(hr)) failed: file /builds/worker/checkouts/gecko/dom/media/platforms/wmf/MFTDecoder.cpp:113
[task 2024-08-19T16:35:27.801Z] 16:35:27 INFO - PID 7600 | [Utility AudioDecoder 1760, MediaSupervisor #1] WARNING: NS_ENSURE_TRUE(SUCCEEDED(hr)) failed: file /builds/worker/checkouts/gecko/dom/media/platforms/wmf/WMFAudioMFTManager.cpp:133
[task 2024-08-19T16:35:27.802Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: E/WebCodecs DecoderAgent #43 (21fe44d7ea0) failed to create a decoder
[task 2024-08-19T16:35:27.803Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs DecoderAgent #43 (21fe44d7ea0) state change: Configuring -> Error
[task 2024-08-19T16:35:27.803Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: E/WebCodecs DecoderAgent #44 (21fe44d7f50) failed to create a decoder
[task 2024-08-19T16:35:27.804Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs DecoderAgent #44 (21fe44d7f50) state change: Configuring -> Error
[task 2024-08-19T16:35:27.805Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe1d06700, DecoderAgent #43 configure #43 (mp4a.40.2) has been rejected. now unblocks message-queue-processing
[task 2024-08-19T16:35:27.806Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: E/WebCodecs AudioDecoder 21fe1d06700, DecoderAgent #43 failed to configure: NS_ERROR_DOM_MEDIA_NOT_SUPPORTED_ERR (0x806e0003) - Utility MF Media Engine CDM only support for media engine playback
[task 2024-08-19T16:35:27.807Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe44c1a00, DecoderAgent #44 configure #44 (mp4a.40.2) has been rejected. now unblocks message-queue-processing
[task 2024-08-19T16:35:27.807Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: E/WebCodecs AudioDecoder 21fe44c1a00, DecoderAgent #44 failed to configure: NS_ERROR_DOM_MEDIA_NOT_SUPPORTED_ERR (0x806e0003) - Utility MF Media Engine CDM only support for media engine playback
[task 2024-08-19T16:35:27.809Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs AudioDecoder 21fe1d06700 destroys DecoderAgent #43 @ 21fe44d7ea0
[task 2024-08-19T16:35:27.809Z] 16:35:27 INFO - PID 7600 | [Child 9296: Main Thread]: D/WebCodecs DecoderAgent #43 (21fe44d7ea0) shutdown, state Error
[task 2024-08-19T16:35:27.809Z] 16:35:27 INFO - PID 7600 | [9296] Assertion failure: mDecoder, at /builds/worker/checkouts/gecko/dom/media/webcodecs/DecoderAgent.cpp:247
Assignee | ||
Comment 2•1 month ago
|
||
Assignee | ||
Comment 3•1 month ago
|
||
This patch introduces a test that demonstrates a crash occurring when
DecoderAgent::Shutdown
is called without an active MediaDataDecoder
.
The issue arises when PDMFactory::CreateDecoder
in
DecoderAgent::Configure
, rejects decoder creation, leaving
DecoderAgent::mDecoder
as null
. Subsequently, when
DecoderAgent::Shutdown
is invoked, the assertion that checks for the
existence of mDecoder
fails, leading to a crash.
To replicate this scenario, the test includes a pref that forces the use
of a NullDecoderModule
, and ensures that this module rejects decoder
creation.
Depends on D219708
Assignee | ||
Comment 4•1 month ago
|
||
This patch addresses the crash issue by ensuring that
DecoderAgent::Shutdown
can be safely called even when a
MediaDataDecoder
is not present, resolving the crash mentioned in the
previous patch.
Additionally, this patch ensures that DecoderAgent::State
is set to
State::Unconfigured
before returning a resolved ShutdownPromise
in
this case. This setting ensures Shutdown()
has been executed properly
if Configure()
was previously called, helping ~DecoderAgent to
maintain the check for the correct state.
Depends on D219709
Assignee | ||
Updated•1 month ago
|
Updated•1 month ago
|
Updated•1 month ago
|
Updated•1 month ago
|
Comment 6•29 days ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/4ccb959d961f
https://hg.mozilla.org/mozilla-central/rev/6a1aef346365
https://hg.mozilla.org/mozilla-central/rev/1a4a6fac8bba
Assignee | ||
Updated•29 days ago
|
Description
•