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

Issue 126793002: Add Stop() to AudioDecoder. (Closed)

Created:
6 years, 11 months ago by rileya (GONE FROM CHROMIUM)
Modified:
6 years, 11 months ago
CC:
chromium-reviews, feature-media-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Patch Set 1 #

Patch Set 2 : remove blank lines #

Total comments: 21

Patch Set 3 : Address comments\ #

Patch Set 4 : Add TODO to opus decoder. #

Patch Set 5 : Call reset and stop callbacks after releasing |lock_| #

Total comments: 2

Patch Set 6 : Handle stop with pending demuxer read #

Total comments: 2

Patch Set 7 : handle Stop/Reset with pending reads for ffmpeg and opus decoders #

Patch Set 8 : #

Total comments: 6

Patch Set 9 : #

Patch Set 10 : Add comments to AudioDecoder.h and add a couple more BelongsToCurrentLoop's #

Total comments: 1

Patch Set 11 : Use BTCL in decoders and not ARI #

Total comments: 12

Patch Set 12 : Fix nits #

Patch Set 13 : #

Patch Set 14 : #

Patch Set 15 : Add comments #

Patch Set 16 : #

Total comments: 5

Patch Set 17 : Cleanup + add unit tests to FFmpegAudioDecoder #

Patch Set 18 : Some opus audio decoder cleanup #

Total comments: 20

Patch Set 19 : Add opus unit tests. #

Total comments: 2

Patch Set 20 : Address comments. #

Patch Set 21 : remove last MessageLoop::RunUntilIdle instance #

Patch Set 22 : remove opus tests (to be made into a new CL) #

Total comments: 11

Patch Set 23 : Address comments. #

Total comments: 6

Patch Set 24 : cleanup #

Patch Set 25 : Move expectations up in Reset/StopFinished #

Patch Set 26 : Remove extraneous #include #

Unified diffs Side-by-side diffs Delta from patch set Stats (+454 lines, -77 lines) Patch
M media/base/audio_decoder.h View 1 2 10 2 chunks +10 lines, -3 lines 0 comments Download
M media/base/mock_filters.h View 1 chunk +1 line, -0 lines 0 comments Download
M media/filters/audio_decoder_selector.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M media/filters/audio_decoder_selector_unittest.cc View 5 chunks +19 lines, -2 lines 0 comments Download
M media/filters/audio_renderer_impl.h View 1 2 2 chunks +4 lines, -0 lines 0 comments Download
M media/filters/audio_renderer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +46 lines, -27 lines 0 comments Download
M media/filters/audio_renderer_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 8 chunks +48 lines, -10 lines 0 comments Download
M media/filters/decrypting_audio_decoder.h View 3 chunks +3 lines, -0 lines 0 comments Download
M media/filters/decrypting_audio_decoder.cc View 1 2 3 4 5 6 7 8 9 10 11 7 chunks +38 lines, -3 lines 0 comments Download
M media/filters/decrypting_audio_decoder_unittest.cc View 1 3 chunks +26 lines, -0 lines 0 comments Download
M media/filters/ffmpeg_audio_decoder.h View 1 2 3 4 5 6 3 chunks +6 lines, -0 lines 0 comments Download
M media/filters/ffmpeg_audio_decoder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 4 chunks +68 lines, -9 lines 0 comments Download
M media/filters/ffmpeg_audio_decoder_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 10 chunks +119 lines, -13 lines 0 comments Download
M media/filters/opus_audio_decoder.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +6 lines, -1 line 0 comments Download
M media/filters/opus_audio_decoder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +56 lines, -5 lines 0 comments Download

Messages

Total messages: 44 (0 generated)
rileya (GONE FROM CHROMIUM)
Another step towards making the interfaces of the Audio and Video Decoders match up better. ...
6 years, 11 months ago (2014-01-07 23:25:11 UTC) #1
DaleCurtis
Looks pretty good. https://codereview.chromium.org/126793002/diff/30001/media/filters/audio_renderer_impl.cc File media/filters/audio_renderer_impl.cc (right): https://codereview.chromium.org/126793002/diff/30001/media/filters/audio_renderer_impl.cc#newcode192 media/filters/audio_renderer_impl.cc:192: base::AutoLock auto_lock(lock_); Previous method doesn't run ...
6 years, 11 months ago (2014-01-08 00:30:53 UTC) #2
xhwang
Thanks! Just a few comments. https://codereview.chromium.org/126793002/diff/30001/media/base/audio_decoder.h File media/base/audio_decoder.h (right): https://codereview.chromium.org/126793002/diff/30001/media/base/audio_decoder.h#newcode52 media/base/audio_decoder.h:52: // Reset decoder state, ...
6 years, 11 months ago (2014-01-08 01:33:37 UTC) #3
rileya (GONE FROM CHROMIUM)
https://codereview.chromium.org/126793002/diff/30001/media/filters/audio_renderer_impl.cc File media/filters/audio_renderer_impl.cc (right): https://codereview.chromium.org/126793002/diff/30001/media/filters/audio_renderer_impl.cc#newcode192 media/filters/audio_renderer_impl.cc:192: base::AutoLock auto_lock(lock_); On 2014/01/08 00:30:54, DaleCurtis wrote: > Previous ...
6 years, 11 months ago (2014-01-08 21:05:49 UTC) #4
DaleCurtis
https://codereview.chromium.org/126793002/diff/30001/media/filters/audio_renderer_impl.cc File media/filters/audio_renderer_impl.cc (right): https://codereview.chromium.org/126793002/diff/30001/media/filters/audio_renderer_impl.cc#newcode192 media/filters/audio_renderer_impl.cc:192: base::AutoLock auto_lock(lock_); On 2014/01/08 21:05:50, rileya wrote: > On ...
6 years, 11 months ago (2014-01-08 21:51:45 UTC) #5
rileya (GONE FROM CHROMIUM)
https://codereview.chromium.org/126793002/diff/30001/media/filters/audio_renderer_impl.cc File media/filters/audio_renderer_impl.cc (right): https://codereview.chromium.org/126793002/diff/30001/media/filters/audio_renderer_impl.cc#newcode192 media/filters/audio_renderer_impl.cc:192: base::AutoLock auto_lock(lock_); On 2014/01/08 21:51:45, DaleCurtis wrote: > On ...
6 years, 11 months ago (2014-01-08 22:02:54 UTC) #6
DaleCurtis
https://codereview.chromium.org/126793002/diff/30001/media/filters/audio_renderer_impl.cc File media/filters/audio_renderer_impl.cc (right): https://codereview.chromium.org/126793002/diff/30001/media/filters/audio_renderer_impl.cc#newcode192 media/filters/audio_renderer_impl.cc:192: base::AutoLock auto_lock(lock_); On 2014/01/08 22:02:55, rileya wrote: > On ...
6 years, 11 months ago (2014-01-08 23:56:14 UTC) #7
rileya (GONE FROM CHROMIUM)
On 2014/01/08 23:56:14, DaleCurtis wrote: > sgtm Done.
6 years, 11 months ago (2014-01-09 00:15:55 UTC) #8
DaleCurtis
https://codereview.chromium.org/126793002/diff/290001/media/filters/audio_renderer_impl.cc File media/filters/audio_renderer_impl.cc (right): https://codereview.chromium.org/126793002/diff/290001/media/filters/audio_renderer_impl.cc#newcode165 media/filters/audio_renderer_impl.cc:165: if (state_ == kStopped) State must be checked under ...
6 years, 11 months ago (2014-01-09 01:24:49 UTC) #9
rileya (GONE FROM CHROMIUM)
On 2014/01/09 01:24:49, DaleCurtis wrote: > https://codereview.chromium.org/126793002/diff/290001/media/filters/audio_renderer_impl.cc > File media/filters/audio_renderer_impl.cc (right): > > https://codereview.chromium.org/126793002/diff/290001/media/filters/audio_renderer_impl.cc#newcode165 > ...
6 years, 11 months ago (2014-01-09 21:01:22 UTC) #10
DaleCurtis
Looks okay w/ a DCHECK() change. I'm a little surprised a test didn't fail the ...
6 years, 11 months ago (2014-01-09 21:10:42 UTC) #11
rileya (GONE FROM CHROMIUM)
On 2014/01/09 21:10:42, DaleCurtis wrote: > Looks okay w/ a DCHECK() change. I'm a little ...
6 years, 11 months ago (2014-01-09 22:48:46 UTC) #12
DaleCurtis
https://codereview.chromium.org/126793002/diff/630001/media/filters/audio_renderer_impl.cc File media/filters/audio_renderer_impl.cc (right): https://codereview.chromium.org/126793002/diff/630001/media/filters/audio_renderer_impl.cc#newcode187 media/filters/audio_renderer_impl.cc:187: { Both ***Done() methods should have DCHECK(task_runner_->BelongsToCurrentThread()); https://codereview.chromium.org/126793002/diff/630001/media/filters/decrypting_audio_decoder.cc File ...
6 years, 11 months ago (2014-01-09 23:04:20 UTC) #13
rileya (GONE FROM CHROMIUM)
https://codereview.chromium.org/126793002/diff/630001/media/filters/ffmpeg_audio_decoder.cc File media/filters/ffmpeg_audio_decoder.cc (right): https://codereview.chromium.org/126793002/diff/630001/media/filters/ffmpeg_audio_decoder.cc#newcode274 media/filters/ffmpeg_audio_decoder.cc:274: // Reset() is pending, we'll ignore the buffer we ...
6 years, 11 months ago (2014-01-10 00:04:04 UTC) #14
rileya (GONE FROM CHROMIUM)
On 2014/01/10 00:04:04, rileya wrote: > https://codereview.chromium.org/126793002/diff/630001/media/filters/ffmpeg_audio_decoder.cc > File media/filters/ffmpeg_audio_decoder.cc (right): > > https://codereview.chromium.org/126793002/diff/630001/media/filters/ffmpeg_audio_decoder.cc#newcode274 > ...
6 years, 11 months ago (2014-01-10 01:14:34 UTC) #15
DaleCurtis
Sorry for the confusion, otherwise el-gee-tee-em. https://codereview.chromium.org/126793002/diff/700001/media/filters/audio_renderer_impl.cc File media/filters/audio_renderer_impl.cc (right): https://codereview.chromium.org/126793002/diff/700001/media/filters/audio_renderer_impl.cc#newcode223 media/filters/audio_renderer_impl.cc:223: decoder_->Stop(BindToCurrentLoop( This works, ...
6 years, 11 months ago (2014-01-10 01:36:42 UTC) #16
rileya (GONE FROM CHROMIUM)
On 2014/01/10 01:36:42, DaleCurtis wrote: > Sorry for the confusion, otherwise el-gee-tee-em. > > https://codereview.chromium.org/126793002/diff/700001/media/filters/audio_renderer_impl.cc ...
6 years, 11 months ago (2014-01-10 01:58:45 UTC) #17
DaleCurtis
lgtm % nits. Wait for xhwang@ to approve for the decrypting_demuxer_stream changes. https://codereview.chromium.org/126793002/diff/740001/media/filters/audio_renderer_impl.cc File media/filters/audio_renderer_impl.cc ...
6 years, 11 months ago (2014-01-10 02:03:00 UTC) #18
rileya (GONE FROM CHROMIUM)
Nits fixed.
6 years, 11 months ago (2014-01-10 18:33:37 UTC) #19
xhwang
We are pretty strict about callback firing in media code: 1) Callbacks must be fired. ...
6 years, 11 months ago (2014-01-10 18:58:51 UTC) #20
rileya (GONE FROM CHROMIUM)
Okay, I think I've tweaked the logic to address the comments. Now if we Stop() ...
6 years, 11 months ago (2014-01-10 21:35:05 UTC) #21
xhwang
The implementation looks good. Thanks! Please add tests for "Stop" for FFAD and OAD. https://codereview.chromium.org/126793002/diff/1050001/media/filters/ffmpeg_audio_decoder.cc ...
6 years, 11 months ago (2014-01-10 22:14:14 UTC) #22
rileya (GONE FROM CHROMIUM)
I addressed everything I think. I added tests for various pending read/reset/stop cases in FFmpegAudioDecoderTest. ...
6 years, 11 months ago (2014-01-14 20:26:06 UTC) #23
rileya (GONE FROM CHROMIUM)
I added unit tests for the Opus decoder (basically copy-paste of ffmpeg decoder tests with ...
6 years, 11 months ago (2014-01-14 22:06:44 UTC) #24
xhwang
Since the test for Opus decoder will be kind of big (but similar to the ...
6 years, 11 months ago (2014-01-14 22:25:01 UTC) #25
xhwang
On 2014/01/14 22:25:01, xhwang wrote: > Since the test for Opus decoder will be kind ...
6 years, 11 months ago (2014-01-14 22:26:44 UTC) #26
DaleCurtis
https://codereview.chromium.org/126793002/diff/910002/media/filters/ffmpeg_audio_decoder_unittest.cc File media/filters/ffmpeg_audio_decoder_unittest.cc (right): https://codereview.chromium.org/126793002/diff/910002/media/filters/ffmpeg_audio_decoder_unittest.cc#newcode111 media/filters/ffmpeg_audio_decoder_unittest.cc:111: base::RunLoop run_loop; I'm wary of having mixed local global ...
6 years, 11 months ago (2014-01-14 22:31:44 UTC) #27
rileya (GONE FROM CHROMIUM)
https://codereview.chromium.org/126793002/diff/910002/media/filters/ffmpeg_audio_decoder.cc File media/filters/ffmpeg_audio_decoder.cc (right): https://codereview.chromium.org/126793002/diff/910002/media/filters/ffmpeg_audio_decoder.cc#newcode170 media/filters/ffmpeg_audio_decoder.cc:170: DoReset(); On 2014/01/14 22:25:02, xhwang wrote: > nit: > ...
6 years, 11 months ago (2014-01-14 23:02:40 UTC) #28
rileya (GONE FROM CHROMIUM)
I also removed the opus tests (they can be added in another CL). It also ...
6 years, 11 months ago (2014-01-14 23:14:15 UTC) #29
xhwang
Looks much cleaner! Just a few more comments I believe. https://codereview.chromium.org/126793002/diff/1420001/media/filters/ffmpeg_audio_decoder_unittest.cc File media/filters/ffmpeg_audio_decoder_unittest.cc (right): https://codereview.chromium.org/126793002/diff/1420001/media/filters/ffmpeg_audio_decoder_unittest.cc#newcode87 ...
6 years, 11 months ago (2014-01-14 23:23:11 UTC) #30
rileya (GONE FROM CHROMIUM)
https://codereview.chromium.org/126793002/diff/1420001/media/filters/ffmpeg_audio_decoder_unittest.cc File media/filters/ffmpeg_audio_decoder_unittest.cc (right): https://codereview.chromium.org/126793002/diff/1420001/media/filters/ffmpeg_audio_decoder_unittest.cc#newcode87 media/filters/ffmpeg_audio_decoder_unittest.cc:87: run_loop.RunUntilIdle(); On 2014/01/14 23:23:12, xhwang wrote: > You can ...
6 years, 11 months ago (2014-01-15 00:08:11 UTC) #31
xhwang
LGTM! with one last comment. Thanks! https://codereview.chromium.org/126793002/diff/1470001/media/filters/ffmpeg_audio_decoder_unittest.cc File media/filters/ffmpeg_audio_decoder_unittest.cc (right): https://codereview.chromium.org/126793002/diff/1470001/media/filters/ffmpeg_audio_decoder_unittest.cc#newcode157 media/filters/ffmpeg_audio_decoder_unittest.cc:157: EXPECT_TRUE(pending_stop_); Expect that ...
6 years, 11 months ago (2014-01-15 00:15:14 UTC) #32
DaleCurtis
lgtm % cleanup nit. https://codereview.chromium.org/126793002/diff/1470001/media/filters/ffmpeg_audio_decoder_unittest.cc File media/filters/ffmpeg_audio_decoder_unittest.cc (right): https://codereview.chromium.org/126793002/diff/1470001/media/filters/ffmpeg_audio_decoder_unittest.cc#newcode238 media/filters/ffmpeg_audio_decoder_unittest.cc:238: Initialize(); Every test calls initialize, ...
6 years, 11 months ago (2014-01-15 00:19:34 UTC) #33
rileya (GONE FROM CHROMIUM)
https://codereview.chromium.org/126793002/diff/1470001/media/filters/ffmpeg_audio_decoder_unittest.cc File media/filters/ffmpeg_audio_decoder_unittest.cc (right): https://codereview.chromium.org/126793002/diff/1470001/media/filters/ffmpeg_audio_decoder_unittest.cc#newcode157 media/filters/ffmpeg_audio_decoder_unittest.cc:157: EXPECT_TRUE(pending_stop_); On 2014/01/15 00:15:14, xhwang wrote: > Expect that ...
6 years, 11 months ago (2014-01-15 00:31:50 UTC) #34
xhwang
https://codereview.chromium.org/126793002/diff/1470001/media/filters/ffmpeg_audio_decoder_unittest.cc File media/filters/ffmpeg_audio_decoder_unittest.cc (right): https://codereview.chromium.org/126793002/diff/1470001/media/filters/ffmpeg_audio_decoder_unittest.cc#newcode157 media/filters/ffmpeg_audio_decoder_unittest.cc:157: EXPECT_TRUE(pending_stop_); On 2014/01/15 00:31:50, rileya wrote: > On 2014/01/15 ...
6 years, 11 months ago (2014-01-15 00:41:56 UTC) #35
rileya (GONE FROM CHROMIUM)
On 2014/01/15 00:19:34, DaleCurtis wrote: > lgtm % cleanup nit. > > https://codereview.chromium.org/126793002/diff/1470001/media/filters/ffmpeg_audio_decoder_unittest.cc > File ...
6 years, 11 months ago (2014-01-15 00:42:07 UTC) #36
rileya (GONE FROM CHROMIUM)
On 2014/01/15 00:41:56, xhwang wrote: > https://codereview.chromium.org/126793002/diff/1470001/media/filters/ffmpeg_audio_decoder_unittest.cc > File media/filters/ffmpeg_audio_decoder_unittest.cc (right): > > https://codereview.chromium.org/126793002/diff/1470001/media/filters/ffmpeg_audio_decoder_unittest.cc#newcode157 > ...
6 years, 11 months ago (2014-01-15 00:45:29 UTC) #37
rileya (GONE FROM CHROMIUM)
Unless anyone has any final thoughts, I'm gonna check 'commit' in the next hour or ...
6 years, 11 months ago (2014-01-15 00:53:15 UTC) #38
xhwang
On 2014/01/15 00:53:15, rileya wrote: > Unless anyone has any final thoughts, I'm gonna check ...
6 years, 11 months ago (2014-01-15 00:56:07 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rileya@chromium.org/126793002/1560001
6 years, 11 months ago (2014-01-15 05:50:29 UTC) #40
commit-bot: I haz the power
Retried try job too often on mac_rel for step(s) app_list_unittests, base_unittests, browser_tests, cacheinvalidation_unittests, cc_unittests, check_deps, ...
6 years, 11 months ago (2014-01-15 17:35:58 UTC) #41
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rileya@chromium.org/126793002/1390003
6 years, 11 months ago (2014-01-15 18:48:26 UTC) #42
commit-bot: I haz the power
Change committed as 244994
6 years, 11 months ago (2014-01-15 22:23:20 UTC) #43
dstockwell
6 years, 11 months ago (2014-01-16 02:14:56 UTC) #44
Message was sent while issue was closed.
A revert of this CL has been created in
https://codereview.chromium.org/139513007/ by dstockwell@chromium.org.

The reason for reverting is: Causes blink layout test
(media/encrypted-media/encrypted-media-needkey.html) to crash:

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40....

Powered by Google App Engine
This is Rietveld 408576698