If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Make MediaDecoderStateMachine::DispatchDecodeTasksIfNeeded operate properly while doing first-frame decodes

RESOLVED FIXED in Firefox 36

Status

()

Core
Audio/Video
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: Bobby Holley (parental leave - send mail for anything urgent), Assigned: Bobby Holley (parental leave - send mail for anything urgent))

Tracking

(Blocks: 1 bug)

unspecified
mozilla37
x86
Mac OS X
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox36 fixed, firefox37 fixed)

Details

Attachments

(1 attachment)

Comment hidden (empty)
Created attachment 8546933 [details] [diff] [review]
Make the DispatchDecodeTasksIfNeeded path handle DECODER_STATE_DECODING_FIRSTFRAME. v1

Once we make MP4Reader reject with WAITING_FOR_DATA, we end up with the following scenario:

DecodeFirstFrame requests audio data, and then it gets rejected with WAITING_FOR_DATA.
So OnAudioNotDecided does WaitForData, which eventually causes us to be called back in
MediaDecoderStateMachine::WaitForDataResolved. That does DispatchDecodeTasksIfNeeded, which
currently bails out of our state is DECODER_STATE_DECODING_FIRSTFRAME.

The other way to do this would be to add a separate specialized path through all this
asynchronicity for DECODER_STATE_DECODING_FIRSTFRAME. But it's not clear to me what that
buys us.
Attachment #8546933 - Flags: review?(cpearce)
Attachment #8546933 - Flags: review?(cpearce) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/02ab5234c39e
Blocks: 778617, 1118945
https://hg.mozilla.org/mozilla-central/rev/02ab5234c39e
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37
Comment on attachment 8546933 [details] [diff] [review]
Make the DispatchDecodeTasksIfNeeded path handle DECODER_STATE_DECODING_FIRSTFRAME. v1

Approval Request Comment
[Feature/regressing bug #]: MSE
[User impact if declined]: Youtube video stalls and sync issues. Less consistent testing.
[Describe test coverage new/current, TBPL]: Landed on m-c.
[Risks and why]: This does affect non-MSE playback.
[String/UUID change made/needed]: None.
Attachment #8546933 - Flags: approval-mozilla-beta?
status-firefox36: --- → affected
status-firefox37: --- → fixed
Attachment #8546933 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
https://hg.mozilla.org/releases/mozilla-beta/rev/aa8cdb057186
status-firefox36: affected → fixed
You need to log in before you can comment on or make changes to this bug.