Here: http://mxr.mozilla.org/mozilla-central/source/content/media/MediaDecoderStateMachine.cpp#1271 This happens with this stack: http://pastebin.mozilla.org/2200840 I think we can just remove the assert (the sister method StartPlayback does not assert). I checked what it does below, it should be fine.
Created attachment 827109 [details] [diff] [review] bug848812_v0.patch Ran into this while debugging another test issue. Analysis below: Called on the main thread: (gdb) bt #0 mozilla::MediaDecoderStateMachine::StopPlayback #1 mozilla::MediaDecoderStateMachine::StartBuffering #2 mozilla::MediaDecoder::Resume #3 mozilla::dom::HTMLMediaElement::Play #4 mozilla::dom::HTMLMediaElementBinding::play MediaDecoder::Resume acquires monitor. MediaDecoderStateMachine::StartBuffering asserts monitor is held. MediaDecoderStateMachine::StopPlayback also asserts monitor is held. This looks safe to me with the monitor held, so I agree with Paul.
Attachment #827109 - Flags: review?(cpearce)
Attachment #827109 - Flags: review?(cpearce) → review+
Assignee: nobody → kinetik
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla28
You need to log in before you can comment on or make changes to this bug.