diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-27 01:10:56 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-27 01:10:56 +0000 |
commit | 5cce744c391924ef39aca8c2f9b27e377a69b464 (patch) | |
tree | 2991445ac6f723b4b66f055c7e323cbac9098ad8 /webkit/database | |
parent | ffe7c392b591041fe69d9c57e4c816865f6d8c86 (diff) | |
download | chromium_src-5cce744c391924ef39aca8c2f9b27e377a69b464.zip chromium_src-5cce744c391924ef39aca8c2f9b27e377a69b464.tar.gz chromium_src-5cce744c391924ef39aca8c2f9b27e377a69b464.tar.bz2 |
Fix 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
Review URL: http://codereview.chromium.org/660170
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40189 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/database')
0 files changed, 0 insertions, 0 deletions