Closed
Bug 1161901
Opened 9 years ago
Closed 9 years ago
Move more stuff to the state machine task queue
Categories
(Core :: Audio/Video, defect)
Core
Audio/Video
Tracking
()
RESOLVED
FIXED
mozilla40
Tracking | Status | |
---|---|---|
firefox40 | --- | fixed |
People
(Reporter: bholley, Assigned: bholley)
References
Details
Attachments
(5 files)
(deleted),
patch
|
jwwang
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
jwwang
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
jwwang
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
jwwang
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
jwwang
:
review+
|
Details | Diff | Splinter Review |
Continuing the long march.
Assignee | ||
Comment 1•9 years ago
|
||
Attachment #8601905 -
Flags: review?(jwwang)
Assignee | ||
Comment 2•9 years ago
|
||
Attachment #8601906 -
Flags: review?(jwwang)
Assignee | ||
Comment 3•9 years ago
|
||
Attachment #8601907 -
Flags: review?(jwwang)
Assignee | ||
Comment 4•9 years ago
|
||
Attachment #8601908 -
Flags: review?(jwwang)
Assignee | ||
Comment 5•9 years ago
|
||
Attachment #8601909 -
Flags: review?(jwwang)
Assignee | ||
Comment 6•9 years ago
|
||
Updated•9 years ago
|
Attachment #8601905 -
Flags: review?(jwwang) → review+
Updated•9 years ago
|
Attachment #8601906 -
Flags: review?(jwwang) → review+
Updated•9 years ago
|
Attachment #8601907 -
Flags: review?(jwwang) → review+
Updated•9 years ago
|
Attachment #8601908 -
Flags: review?(jwwang) → review+
Updated•9 years ago
|
Attachment #8601909 -
Flags: review?(jwwang) → review+
Assignee | ||
Comment 7•9 years ago
|
||
(In reply to Bobby Holley (:bholley) from comment #6)
> https://treeherder.mozilla.org/#/jobs?repo=try&revision=c4ec57886635
Hm, so Part 4 is hitting the this assertion in GetClock:
https://hg.mozilla.org/mozilla-central/annotate/60349cbc3d4e/dom/media/MediaDecoderStateMachine.cpp#l2912
mAudioCaptured is true, but the state is DECODER_STATE_DECODING.
jww, it looks like you were involved in this assertion as it is. The opt-out for DECODER_STATE_SEEKING seems suspicious to me - is there a clear reason why this only happens in SEEKING state? What is the broken invariant that I should be looking for in this case? I'm not super familiar with MDSM::SendStreamData, and I'm hoping to avoid diving into it too much. ;-)
Assignee | ||
Updated•9 years ago
|
Flags: needinfo?(jwwang)
Comment 8•9 years ago
|
||
https://hg.mozilla.org/mozilla-central/annotate/1c6b15488543/dom/media/MediaDecoderStateMachine.cpp
Once upon a time...
1. MediaDecoderStateMachine::Seek() calls mDecoder->RecreateDecodedStream() synchorously.
2. mDecoder->RecreateDecodedStream() changes the return value of GetClock() immediately.
3. InitiateSeek() => StopPlayback() => GetClock() returns a time smaller than GetMediaTime() if step 1 seeks to an earlier time.
Therefore I opt out |mAudioCaptured && mState == DECODER_STATE_SEEKING|.
However, after the introduction of tail dispatch, InitiateSeek() => StopPlayback() should always happen before MediaDecoder::RecreateDecodedStream(), we should be able to remove |mAudioCaptured && mState == DECODER_STATE_SEEKING| from the assertion in GetClock().
Btw, test_peerConnection_capturedVideo.html doesn't seek at all. I wonder if it is some other bug.
Flags: needinfo?(jwwang)
Comment 9•9 years ago
|
||
Btw, we already have bug 1161816.
Assignee | ||
Comment 10•9 years ago
|
||
(In reply to JW Wang [:jwwang] from comment #9)
> Btw, we already have bug 1161816.
Ok, so this is already happening, and this bug just makes it happen more reliably. Would you be ok with loosening that assertion in the mAudioCaptured case and filing a followup bug to sort it out? I'd like to get this stuff landed.
Flags: needinfo?(jwwang)
Comment 11•9 years ago
|
||
https://hg.mozilla.org/try/file/a04e8995ee20/dom/media/MediaDecoderStateMachine.h#l155
I wonder this is the cause.
Sure we can loose the restriction and fix it later.
Flags: needinfo?(jwwang)
Comment 12•9 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/70ac70374cf7
https://hg.mozilla.org/integration/mozilla-inbound/rev/5baf534b8355
https://hg.mozilla.org/integration/mozilla-inbound/rev/f31c310ad85a
https://hg.mozilla.org/integration/mozilla-inbound/rev/6f05b1eb33ab
https://hg.mozilla.org/integration/mozilla-inbound/rev/6777dea98c1f
https://hg.mozilla.org/integration/mozilla-inbound/rev/fa9d94918e12
https://hg.mozilla.org/mozilla-central/rev/70ac70374cf7
https://hg.mozilla.org/mozilla-central/rev/5baf534b8355
https://hg.mozilla.org/mozilla-central/rev/f31c310ad85a
https://hg.mozilla.org/mozilla-central/rev/6f05b1eb33ab
https://hg.mozilla.org/mozilla-central/rev/6777dea98c1f
https://hg.mozilla.org/mozilla-central/rev/fa9d94918e12
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox40:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla40
You need to log in
before you can comment on or make changes to this bug.
Description
•