Closed Bug 1088481 Opened 11 years ago Closed 11 years ago

ASSERTION: Progress timer should've been stopped (mse/webaudio)

Categories

(Core :: Audio/Video, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla36

People

(Reporter: ajones, Assigned: jwwang)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 1 obsolete file)

Steps to reproduce: * Run Firefox (with MSE enabled) * Watch a video (check stats for nerds Dash: Yes) * Exit Expected results: Nothing special Actual results: [Child 23404] ###!!! ASSERTION: Progress timer should've been stopped.: '!mProgressTimer', file /home/ajones/src/mozilla-central/content/media/MediaDecoder.cpp, line 503
Assignee: nobody → jwwang
Since MediaShutdownManager will call MediaDecoder::Shutdown() without checking network status as the media element does, I will remove the assertion and stop the progress timer if necessary.
Attachment #8510832 - Flags: review?(cpearce)
Attachment #8510832 - Flags: review?(cpearce)
Since MediaShutdownManager will call MediaDecoder::Shutdown() without checking network status as the media element does, I will remove the assertion and stop the progress timer if necessary. Since HTMLMediaElement::~HTMLMediaElement() could come after MediaShutdownManager::Shutdown, HTMLMediaElement::ShutdownDecoder() should not call mDecoder->StopProgress either.
Attachment #8510832 - Attachment is obsolete: true
Comment on attachment 8511881 [details] [diff] [review] 1088481_fix_MediaDecoder_Progress_time-v2.patch Review of attachment 8511881 [details] [diff] [review]: ----------------------------------------------------------------- ::: dom/html/HTMLMediaElement.cpp @@ -609,5 @@ > - // TODO: This should be handled by ChangeNetworkState() so we have only one > - // place to call StopProgress(). > - if (mNetworkState == nsIDOMHTMLMediaElement::NETWORK_LOADING) { > - mDecoder->StopProgress(); > - } HTMLMediaElement::ShutdownDecoder could happen after MediaDecoder::Shutdown which has stopped the progress timer. So we remove the code and let MediaDecoder::Shutdown handle it. ::: dom/media/MediaDecoder.cpp @@ +498,5 @@ > } > > ChangeState(PLAY_STATE_SHUTDOWN); > > + if (mProgressTimer) { The progress timer should be associated with the network state. However, MediaDecoder::Shutdown could be called by MediaShutdownManager without checking network status as the media element. So we stop it anyway if necessary.
Attachment #8511881 - Flags: review?(cpearce)
Attachment #8511881 - Flags: review?(cpearce) → review+
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla36
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: