Closed
Bug 1159974
Opened 10 years ago
Closed 10 years ago
Use mirroring for StateMachineParams
Categories
(Core :: Audio/Video, defect)
Core
Audio/Video
Tracking
()
RESOLVED
FIXED
mozilla40
Tracking | Status | |
---|---|---|
firefox40 | --- | fixed |
People
(Reporter: bholley, Assigned: bholley)
References
Details
Attachments
(6 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 |
(deleted),
patch
|
jwwang
:
review+
|
Details | Diff | Splinter Review |
The stuff in MediaDecoderStateMachine::SetStateMachineParameters accounts for a lot of remaining cross-thread access, and is ripe for mirroring.
Assignee | ||
Comment 1•10 years ago
|
||
Assignee | ||
Comment 2•10 years ago
|
||
Assignee | ||
Comment 3•10 years ago
|
||
There are a handful of methods where we can't yet assert this. This bug will
tackle several of them.
Attachment #8600625 -
Flags: review?(jwwang)
Assignee | ||
Comment 4•10 years ago
|
||
Attachment #8600626 -
Flags: review?(jwwang)
Assignee | ||
Comment 5•10 years ago
|
||
Attachment #8600627 -
Flags: review?(jwwang)
Assignee | ||
Comment 6•10 years ago
|
||
Attachment #8600628 -
Flags: review?(jwwang)
Assignee | ||
Comment 7•10 years ago
|
||
While we're at it, I figured it was time to experiment with lambdas. :-)
Attachment #8600629 -
Flags: review?(jwwang)
Assignee | ||
Comment 8•10 years ago
|
||
Attachment #8600630 -
Flags: review?(jwwang)
Updated•10 years ago
|
Attachment #8600625 -
Flags: review?(jwwang) → review+
Updated•10 years ago
|
Attachment #8600626 -
Flags: review?(jwwang) → review+
Updated•10 years ago
|
Attachment #8600627 -
Flags: review?(jwwang) → review+
Updated•10 years ago
|
Attachment #8600628 -
Flags: review?(jwwang) → review+
Comment 9•10 years ago
|
||
Comment on attachment 8600630 [details] [diff] [review]
Part 6 - Dispatch SetMinimizePrerollUntilPlabackStarts. v1
Review of attachment 8600630 [details] [diff] [review]:
-----------------------------------------------------------------
::: dom/media/MediaDecoderStateMachine.h
@@ +409,5 @@
> + self->mMinimizePreroll = true;
> +
> + // Make sure that this arrives before playback starts, otherwise this won't
> + // have the intended effect.
> + MOZ_DIAGNOSTIC_ASSERT(self->mPlayState != MediaDecoder::PLAY_STATE_PLAYING);
Shouldn't we assert |mPlayState == MediaDecoder::PLAY_STATE_LOADING| which is the initial state? However, we must be wary of the ordering issue where this lambdas must be run before self->mPlayState is updated from the canonical value. Can we also mirror mMinimizePreroll to free from the worries?
Attachment #8600630 -
Flags: review?(jwwang) → review+
Updated•10 years ago
|
Attachment #8600629 -
Flags: review?(jwwang) → review+
Assignee | ||
Comment 10•10 years ago
|
||
(In reply to JW Wang [:jwwang] from comment #9)
> Shouldn't we assert |mPlayState == MediaDecoder::PLAY_STATE_LOADING| which
> is the initial state?
Sure.
> However, we must be wary of the ordering issue where
> this lambdas must be run before self->mPlayState is updated from the
> canonical value. Can we also mirror mMinimizePreroll to free from the
> worries?
I considered doing that, but mirroring seems like overkill given the current code. Moreover, I don't think it would actually help, because we don't have logic to handle preroll-minimization-after-play. The assert should tell us if it's ever a problem.
Comment 11•10 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/3188222d0682
https://hg.mozilla.org/integration/mozilla-inbound/rev/41b7be6965cd
https://hg.mozilla.org/integration/mozilla-inbound/rev/9b076e62f534
https://hg.mozilla.org/integration/mozilla-inbound/rev/007ffa56b3da
https://hg.mozilla.org/integration/mozilla-inbound/rev/14a22fe5a081
https://hg.mozilla.org/integration/mozilla-inbound/rev/bc2c1323e336
Comment 12•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/3188222d0682
https://hg.mozilla.org/mozilla-central/rev/41b7be6965cd
https://hg.mozilla.org/mozilla-central/rev/9b076e62f534
https://hg.mozilla.org/mozilla-central/rev/007ffa56b3da
https://hg.mozilla.org/mozilla-central/rev/14a22fe5a081
https://hg.mozilla.org/mozilla-central/rev/bc2c1323e336
Status: NEW → RESOLVED
Closed: 10 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
•