Closed
Bug 1199193
Opened 9 years ago
Closed 9 years ago
DrainComplete() is called before all frames are output
Categories
(Core :: Audio/Video: Playback, defect, P2)
Tracking
()
RESOLVED
FIXED
mozilla43
People
(Reporter: jya, Assigned: jya)
References
Details
(Keywords: regression)
Attachments
(1 file)
(deleted),
patch
|
rillian
:
review+
|
Details | Diff | Splinter Review |
This is a regression introduced by bug 1192675 and what caused bug 1198094 to be backed out.
When we drain the mac decoder; either the VDA or VT one ask the framework to drain its pending frames (VDA) or wait for async decoding to complete (VT).
This will cause the callback to be called with the drained frames.
Once we're done waiting for the drain in ProcessDrain() will immediately issue DrainComplete().
However, following bug 1192675, the decoder's callback queue a task for each drained frames . This task will only get to run once ProcessDrain() completes.
We should issue the DrainComplete() callback only once all the drained frames have been process in AppleVDADecoder::OutputFrame.
Assignee | ||
Comment 1•9 years ago
|
||
We ensure thread-safety by making OutputFrame thread-safe and extend the use of the monitor to protect mReorderQueue.
Ensuring that following a drain, no pending tasks were pending and doing the right thing was just too complicated, especially with a flushable taskqueue where none can guarantee a dispatched task will actually run.
Attachment #8653476 -
Flags: review?(giles)
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → jyavenard
Assignee | ||
Updated•9 years ago
|
Keywords: regression
Updated•9 years ago
|
Attachment #8653476 -
Flags: review?(giles) → review+
Updated•9 years ago
|
Priority: -- → P2
Comment 3•9 years ago
|
||
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla43
Comment 4•9 years ago
|
||
status-firefox42:
--- → fixed
Comment 5•9 years ago
|
||
Backed out for a youtube playback regression. See Bug 1199573.
https://hg.mozilla.org/releases/mozilla-aurora/rev/5bb661db5c6c
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Updated•9 years ago
|
Status: REOPENED → RESOLVED
Closed: 9 years ago → 9 years ago
Resolution: --- → FIXED
Comment 6•9 years ago
|
||
You need to log in
before you can comment on or make changes to this bug.
Description
•