Closed Bug 848812 Opened 12 years ago Closed 12 years ago

###!!! ASSERTION: Should be on state machine thread or the decoder thread.: 'OnStateMachineThread() || OnDecodeThread()',

Categories

(Core :: Audio/Video, defect)

x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla28

People

(Reporter: padenot, Assigned: kinetik)

Details

Attachments

(1 file)

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.
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
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla28
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: