Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(468)

Issue 660170: Fix flow control in media::DecoderBase (Closed)

Created:
10 years, 10 months ago by Alpha Left Google
Modified:
9 years, 6 months ago
CC:
chromium-reviews_googlegroups.com, Paweł Hajdan Jr., scherkus (not reviewing), fbarchard, awong, Alpha Left Google
Visibility:
Public.

Description

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 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
Unified diffs Side-by-side diffs Delta from patch set Stats (+146 lines, -13 lines) Patch
M media/filters/decoder_base.h View 4 chunks +15 lines, -13 lines 0 comments Download
A media/filters/decoder_base_unittest.cc View 1 2 3 1 chunk +130 lines, -0 lines 1 comment Download
M media/media.gyp View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Alpha Left Google
10 years, 10 months ago (2010-02-26 19:22:39 UTC) #1
scherkus (not reviewing)
looking good! few comments http://codereview.chromium.org/660170/diff/1/3 File media/filters/decoder_base_unittest.cc (right): http://codereview.chromium.org/660170/diff/1/3#newcode12 media/filters/decoder_base_unittest.cc:12: //using ::testing::_; comment out? http://codereview.chromium.org/660170/diff/1/3#newcode53 ...
10 years, 10 months ago (2010-02-26 19:39:39 UTC) #2
Alpha Left Google
http://codereview.chromium.org/660170/diff/1/3 File media/filters/decoder_base_unittest.cc (right): http://codereview.chromium.org/660170/diff/1/3#newcode12 media/filters/decoder_base_unittest.cc:12: //using ::testing::_; On 2010/02/26 19:39:39, scherkus wrote: > comment ...
10 years, 10 months ago (2010-02-26 20:18:52 UTC) #3
Alpha Left Google
changed the callback code for review
10 years, 10 months ago (2010-02-26 21:42:11 UTC) #4
scherkus (not reviewing)
10 years, 10 months ago (2010-02-26 22:03:17 UTC) #5
LGTM w/ warning :)

http://codereview.chromium.org/660170/diff/14/16
File media/filters/decoder_base_unittest.cc (right):

http://codereview.chromium.org/660170/diff/14/16#newcode110
media/filters/decoder_base_unittest.cc:110: &MockReadCallback::ReadCallback));
make sure this passes on try servesr.. I had to use some strange
reinterpret_cast syntax

Powered by Google App Engine
This is Rietveld 408576698