Closed
Bug 1271517
Opened 8 years ago
Closed 8 years ago
Remove use of FlushableTaskQueue::Flush() from FFmpegDataDecoder::Flush()
Categories
(Core :: Audio/Video: Playback, defect)
Core
Audio/Video: Playback
Tracking
()
RESOLVED
FIXED
mozilla49
Tracking | Status | |
---|---|---|
firefox49 | --- | fixed |
People
(Reporter: jwwang, Assigned: jwwang)
References
Details
Attachments
(2 files)
As step forward to get rid of FlushableTaskQueue.
We will borrow the code pattern from WMFMediaDataDecoder::mIsFlushing so FFmpegDataDecoder::Decode can bail out early when seeing mIsFlushing is true. Then we won't need FlushableTaskQueue::Flush() to clean decoding jobs.
Assignee | ||
Updated•8 years ago
|
Assignee | ||
Comment 1•8 years ago
|
||
Comment 2•8 years ago
|
||
(In reply to JW Wang [:jwwang] from comment #0)
> As step forward to get rid of FlushableTaskQueue.
>
> We will borrow the code pattern from WMFMediaDataDecoder::mIsFlushing so
> FFmpegDataDecoder::Decode can bail out early when seeing mIsFlushing is
> true. Then we won't need FlushableTaskQueue::Flush() to clean decoding jobs.
I don't think this will be sufficient.
After a Flush() we don't expect any callback at all from the MediaDataDecoder, that includes calls to InputExhausted or DrainComplete()..
The MediaFormatReader will have to be adjusted accordingly.
Assignee | ||
Comment 3•8 years ago
|
||
(In reply to Jean-Yves Avenard [:jya] from comment #2)
> After a Flush() we don't expect any callback at all from the
> MediaDataDecoder, that includes calls to InputExhausted or DrainComplete()..
This behavior is preserved without this bug. And early bail out from FFmpegDataDecoder::Decode() will not change this behavior. So this bug will not break the behavior, right?
Comment 4•8 years ago
|
||
(In reply to JW Wang [:jwwang] from comment #3)
> (In reply to Jean-Yves Avenard [:jya] from comment #2)
> > After a Flush() we don't expect any callback at all from the
> > MediaDataDecoder, that includes calls to InputExhausted or DrainComplete()..
>
> This behavior is preserved without this bug. And early bail out from
> FFmpegDataDecoder::Decode() will not change this behavior. So this bug will
> not break the behavior, right?
What about: mDecoder->Drain(); immediately followed by mDecoder->Flush();
Comment 5•8 years ago
|
||
Actually never mind, the MFR already checks that flush() wasn't called and ignore any following calls to DrainComplete().
Assignee | ||
Comment 6•8 years ago
|
||
Assignee | ||
Comment 7•8 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/51787/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/51787/
Attachment #8751057 -
Flags: review?(jyavenard)
Attachment #8751058 -
Flags: review?(jyavenard)
Assignee | ||
Comment 8•8 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/51789/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/51789/
Comment 9•8 years ago
|
||
Comment on attachment 8751057 [details]
MozReview Request: Bug 1271517. Part 1 - remove use of FlushableTaskQueue::Flush() from FFmpegDataDecoder::Flush(). r=jya.
https://reviewboard.mozilla.org/r/51787/#review48697
Attachment #8751057 -
Flags: review?(jyavenard) → review+
Comment 10•8 years ago
|
||
Comment on attachment 8751058 [details]
MozReview Request: Bug 1271517. Part 2 - remove use of FlushableTaskQueue. r=jya.
https://reviewboard.mozilla.org/r/51789/#review48699
Attachment #8751058 -
Flags: review?(jyavenard) → review+
Assignee | ||
Comment 11•8 years ago
|
||
Thanks!
Comment 12•8 years ago
|
||
Comment 13•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/fef82e636b41
https://hg.mozilla.org/mozilla-central/rev/1db715403fbe
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox49:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla49
You need to log in
before you can comment on or make changes to this bug.
Description
•