Closed
Bug 1055907
Opened 10 years ago
Closed 10 years ago
MP4Reader can stick output into MediaQueues after flush but before next Decode() call
Categories
(Core :: Audio/Video, defect)
Tracking
()
RESOLVED
FIXED
mozilla34
People
(Reporter: cpearce, Assigned: cpearce)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
1004 bytes,
patch
|
ajones
:
review+
|
Details | Diff | Splinter Review |
1.92 KB,
patch
|
ajones
:
review+
|
Details | Diff | Splinter Review |
Two small problems in MP4Reader: 1. If output is sitting in a runnable on a task queue waiting to be delivered to the MP4Reader's Output function, it can end be being stuck into the MediaQueue in MP4Reader::Output. This can disrupt seeking or shutdown. 2. In MP4Reader::ReadMetadata() the path that creates the CDMWrapper PDM relies on HasAudio() working, but HasAudio() won't work until after the "if (mDemuxer->HasValidAudio()) {" block further down, as that initializes mInfo.mAudio.mHasAudio and mAudio.mActive. We should initialize these earlier, otherwise the HasAudio() return value we pass to PlatformDecoderModule::CreateCDMWrapper() will be wrong, and we won't create a PDM when we need one.
Assignee | ||
Comment 1•10 years ago
|
||
(In reply to Chris Pearce (:cpearce) from comment #0) > Two small problems in MP4Reader: > > 1. If output is sitting in a runnable on a task queue waiting to be > delivered to the MP4Reader's Output function, it can end be being stuck into > the MediaQueue in MP4Reader::Output. This can disrupt seeking or shutdown. This doesn't disrupt seeking, at least not for the WMF PDM, there seems to be a bug in the demuxer that was causing my problems. We can still call MP4Reader::Output while flushing, and we need to delete the MediaData object passed to us if so, otherwise we'll leak.
Assignee | ||
Comment 2•10 years ago
|
||
Ensure we don't leak if output arrives while we're flushing.
Attachment #8475675 -
Flags: review?(ajones)
Assignee | ||
Comment 3•10 years ago
|
||
Make MP4Reader::HasAudio() work earlier in ReadMetadata(), as we need it to tell whether we should create a PDM and audio decoder which we wrap with a EME Decryptor.
Attachment #8475676 -
Flags: review?(ajones)
Updated•10 years ago
|
Attachment #8475675 -
Flags: review?(ajones) → review+
Updated•10 years ago
|
Attachment #8475676 -
Flags: review?(ajones) → review+
Assignee | ||
Comment 4•10 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/8c5f7a39a59a https://hg.mozilla.org/integration/mozilla-inbound/rev/a4200559a648
Comment 5•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/8c5f7a39a59a https://hg.mozilla.org/mozilla-central/rev/a4200559a648
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
You need to log in
before you can comment on or make changes to this bug.
Description
•