DescriptionFix flow control in media::DecoderBase
The flow control in media::DecoderBase was incorrect because it reads too
aggressively to the demuxer stream and failed some DCHECKs when asynchronous
decoding like OpenMAX is used.
An example of a failing case is:
Action Pending Read Pending Decode Read Request
Read 1 0 1
Read 2 0 2
ReadComplete 1 1 2
ReadComplete 0 2 2
DecodeComplete 1 1 1
DecodeComplete 1 0 0
Because of the aggressive read in OnDecodeComplete in DecoderBase. Even
if all the read requests are fulfiled there is still on pending read issued
to the demuxer stream. This mismatch is fixed in this patch.
BUG=32947
TEST=media_unittests
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=40189
Patch Set 1 #
Total comments: 6
Patch Set 2 : fix #Patch Set 3 : fix #Patch Set 4 : andrew's comments #
Total comments: 1
Messages
Total messages: 5 (0 generated)
|