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

Issue 1939993002: Ignore calls to Reset() when in error state (Closed)

Created:
4 years, 7 months ago by tguilbert
Modified:
4 years, 7 months ago
CC:
xhwang
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Ignore calls to Reset() when in error state No checks are made for STATE_ERROR in DecoderStream::Reset(). This leads to some problems when: - The Decoder is succesfully initialized, but falls back to a new decoder on first decode error, and the fallback decoder initialization fails, right before a call to Reset() is executed. - The Decoder sends a DECODE_ERROR when there is a pending demuxer read, right before a call to Reset() is executed. This CL shortcircuits calls to Reset() when the DecoderStream is in STATE_ERROR. This changes the behavior of Reset(): calling it will no longer change the STATE_ERROR to STATE_NORMAL upon successful reset. This is acceptable, since no one is calling Reset() to recover from errors. It is only being called by AudioRendererImpl and VideoRendererImpl when flushing. BUG=597605, 607454 TEST=media unit passed, extensive runs of fuzzed faulty media passed for 607454 Committed: https://crrev.com/1a359d181818d87fbef52d5b003972877aa4bc1d Cr-Commit-Position: refs/heads/master@{#391650}

Patch Set 1 #

Total comments: 4

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+54 lines, -18 lines) Patch
M media/filters/decoder_stream.h View 1 3 chunks +10 lines, -3 lines 0 comments Download
M media/filters/decoder_stream.cc View 1 2 3 4 10 chunks +44 lines, -15 lines 0 comments Download

Messages

Total messages: 19 (5 generated)
tguilbert
I have not run into any DCHECK failures since removing STATE_ERROR as a valid state ...
4 years, 7 months ago (2016-05-02 22:10:17 UTC) #3
DaleCurtis
So this can occur if the decoder encounters an error, but the renderer hasn't responded ...
4 years, 7 months ago (2016-05-02 22:28:45 UTC) #4
sandersd (OOO until July 31)
https://codereview.chromium.org/1939993002/diff/1/media/filters/decoder_stream.cc File media/filters/decoder_stream.cc (right): https://codereview.chromium.org/1939993002/diff/1/media/filters/decoder_stream.cc#newcode168 media/filters/decoder_stream.cc:168: // before a Reset() is executed. See crbug.com/597605 or ...
4 years, 7 months ago (2016-05-02 22:57:03 UTC) #5
tguilbert
> So this can occur if the decoder encounters an error, but the renderer hasn't ...
4 years, 7 months ago (2016-05-03 00:06:41 UTC) #6
DaleCurtis
On 2016/05/03 at 00:06:41, tguilbert wrote: > > So this can occur if the decoder ...
4 years, 7 months ago (2016-05-03 00:14:11 UTC) #7
tguilbert
On 2016/05/03 00:14:11, DaleCurtis wrote: > On 2016/05/03 at 00:06:41, tguilbert wrote: > > > ...
4 years, 7 months ago (2016-05-03 00:38:48 UTC) #8
DaleCurtis
On 2016/05/03 at 00:38:48, tguilbert wrote: > On 2016/05/03 00:14:11, DaleCurtis wrote: > > On ...
4 years, 7 months ago (2016-05-03 00:42:14 UTC) #9
tguilbert
I stopped the clusterfuzz minimized test after 90 mins of not running into a DCHECK. ...
4 years, 7 months ago (2016-05-03 21:35:33 UTC) #10
sandersd (OOO until July 31)
On 2016/05/03 21:35:33, ThomasGuilbert wrote: > I stopped the clusterfuzz minimized test after 90 mins ...
4 years, 7 months ago (2016-05-03 21:54:01 UTC) #11
sandersd (OOO until July 31)
lgtm
4 years, 7 months ago (2016-05-03 22:32:41 UTC) #12
DaleCurtis
lgtm, though it feels like we should delete the pending read state now. I remember ...
4 years, 7 months ago (2016-05-04 01:50:54 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1939993002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1939993002/80001
4 years, 7 months ago (2016-05-04 20:00:06 UTC) #15
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 7 months ago (2016-05-04 22:00:41 UTC) #17
commit-bot: I haz the power
4 years, 7 months ago (2016-05-04 22:01:59 UTC) #19
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/1a359d181818d87fbef52d5b003972877aa4bc1d
Cr-Commit-Position: refs/heads/master@{#391650}

Powered by Google App Engine
This is Rietveld 408576698