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

Issue 141243003: Add AudioBufferStream. (Closed)

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

Description

Like the VideoFrameStream, AudioBufferStream wraps a DemuxerStream and an AudioDecoder, providing AudioBuffers to its client. This moves DemuxerStream reading logic out of all of the AudioDecoders. AudioBufferStream is really just a typedef of DecoderStream<DemuxerStream::AUDIO>, just as VideoFrameStream is for DemuxerStream::VIDEO. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=257500

Patch Set 1 #

Patch Set 2 : AudioRendererImpl tests pass, DecryptingAudioDecoder kinda sorta works #

Patch Set 3 : A few more tweaks. #

Patch Set 4 : Opus works! (not well tested, but it played some audio!) #

Patch Set 5 : rebase #

Patch Set 6 : Some cleanup #

Patch Set 7 : More cleanup #

Patch Set 8 : clean up DecoderSelector a bit #

Patch Set 9 : even more cleanup! #

Total comments: 3

Patch Set 10 : #

Patch Set 11 : #

Patch Set 12 : add TODOs #

Total comments: 30

Patch Set 13 : address comments #

Patch Set 14 : #

Total comments: 4

Patch Set 15 : Rebase #

Patch Set 16 : Rebase, some cleanup #

Patch Set 17 : FFmpegAudioDecoder unit tests #

Patch Set 18 : DecryptingAudioDecoder unit tests #

Patch Set 19 : Cleanup and polish. #

Patch Set 20 : fix a couple comments #

Total comments: 19

Patch Set 21 : address comments #

Total comments: 23

Patch Set 22 : address comments #

Patch Set 23 : rebase #

Patch Set 24 : Some unit test cleanup #

Patch Set 25 : Add unit test #

Total comments: 4

Patch Set 26 : VideoFrameStream/FakeVideoDecoder tests #

Patch Set 27 : rebase #

Patch Set 28 : fix ffmpeg_regression_tests failures #

Total comments: 2

Patch Set 29 : Post task instead of btcl #

Patch Set 30 : Rebase! #

Unified diffs Side-by-side diffs Delta from patch set Stats (+856 lines, -1198 lines) Patch
M media/base/audio_decoder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 3 chunks +23 lines, -13 lines 0 comments Download
M media/base/audio_decoder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +6 lines, -0 lines 0 comments Download
M media/base/mock_filters.h View 1 1 chunk +5 lines, -4 lines 0 comments Download
M media/base/video_decoder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +7 lines, -0 lines 0 comments Download
M media/base/video_decoder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +6 lines, -0 lines 0 comments Download
M media/filters/audio_decoder_selector_unittest.cc View 1 2 3 4 5 6 12 chunks +14 lines, -17 lines 0 comments Download
M media/filters/audio_renderer_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 6 chunks +7 lines, -23 lines 0 comments Download
M media/filters/audio_renderer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 9 chunks +38 lines, -75 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 13 14 15 16 17 18 19 20 21 22 23 12 chunks +34 lines, -29 lines 0 comments Download
M media/filters/decoder_selector.h View 1 2 3 4 5 6 7 4 chunks +0 lines, -8 lines 0 comments Download
M media/filters/decoder_selector.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 chunks +6 lines, -22 lines 0 comments Download
M media/filters/decoder_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 chunks +15 lines, -2 lines 0 comments Download
M media/filters/decoder_stream.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 26 27 28 8 chunks +25 lines, -5 lines 0 comments Download
M media/filters/decoder_stream_traits.h View 1 2 3 4 5 6 7 2 chunks +10 lines, -0 lines 0 comments Download
M media/filters/decoder_stream_traits.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +36 lines, -0 lines 0 comments Download
M media/filters/decrypting_audio_decoder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 4 chunks +9 lines, -19 lines 0 comments Download
M media/filters/decrypting_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 14 chunks +79 lines, -165 lines 0 comments Download
M media/filters/decrypting_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 14 chunks +74 lines, -209 lines 0 comments Download
M media/filters/fake_video_decoder.h 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 3 chunks +5 lines, -1 line 0 comments Download
M media/filters/fake_video_decoder.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 2 chunks +12 lines, -1 line 0 comments Download
M media/filters/fake_video_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 3 chunks +14 lines, -2 lines 0 comments Download
M media/filters/ffmpeg_audio_decoder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 chunks +31 lines, -28 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 20 21 22 23 24 25 26 27 10 chunks +269 lines, -320 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 10 chunks +52 lines, -94 lines 0 comments Download
M media/filters/opus_audio_decoder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 4 chunks +7 lines, -12 lines 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 11 chunks +49 lines, -142 lines 0 comments Download
M media/filters/video_decoder_selector_unittest.cc View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download
M media/filters/video_frame_stream_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 4 chunks +23 lines, -6 lines 0 comments Download

Messages

Total messages: 30 (0 generated)
rileya (GONE FROM CHROMIUM)
Still somewhat work-in-progress, (I'm still finding little fixes and things that need cleanup here and ...
6 years, 10 months ago (2014-02-19 22:37:51 UTC) #1
DaleCurtis
Overall looking really good! Nice work. https://codereview.chromium.org/141243003/diff/300001/media/base/audio_decoder.h File media/base/audio_decoder.h (right): https://codereview.chromium.org/141243003/diff/300001/media/base/audio_decoder.h#newcode24 media/base/audio_decoder.h:24: enum Status { ...
6 years, 10 months ago (2014-02-21 21:48:47 UTC) #2
rileya (GONE FROM CHROMIUM)
No actual changes to the code yet, just responses to comments. https://codereview.chromium.org/141243003/diff/300001/media/base/audio_decoder.h File media/base/audio_decoder.h (right): ...
6 years, 10 months ago (2014-02-21 23:04:02 UTC) #3
xhwang
Didn't review the whole CL. Mainly replying comments. https://codereview.chromium.org/141243003/diff/300001/media/base/audio_decoder.h File media/base/audio_decoder.h (right): https://codereview.chromium.org/141243003/diff/300001/media/base/audio_decoder.h#newcode70 media/base/audio_decoder.h:70: virtual ...
6 years, 10 months ago (2014-02-21 23:57:56 UTC) #4
rileya (GONE FROM CHROMIUM)
Addressed most of the comments. Various unit tests still need reworking. https://codereview.chromium.org/141243003/diff/300001/media/base/audio_decoder.h File media/base/audio_decoder.h (right): ...
6 years, 10 months ago (2014-02-24 21:04:11 UTC) #5
rileya (GONE FROM CHROMIUM)
https://codereview.chromium.org/141243003/diff/300001/media/filters/decoder_stream.cc File media/filters/decoder_stream.cc (right): https://codereview.chromium.org/141243003/diff/300001/media/filters/decoder_stream.cc#newcode354 media/filters/decoder_stream.cc:354: Decode(NULL); On 2014/02/24 21:04:11, rileya wrote: > On 2014/02/21 ...
6 years, 10 months ago (2014-02-24 21:07:50 UTC) #6
DaleCurtis
General idea looks sound to me. I'll reserve nitty feedback until your done polishing it. ...
6 years, 10 months ago (2014-02-26 23:00:49 UTC) #7
xhwang
Sorry for the delay. The CL looks good in general, just having some suggestions which ...
6 years, 9 months ago (2014-02-27 19:52:27 UTC) #8
rileya (GONE FROM CHROMIUM)
Alright, I did a bunch of cleanup, and fixed the FFmpegAudioDecoder and DecryptingAudioDecoder unit tests. ...
6 years, 9 months ago (2014-03-04 00:14:26 UTC) #9
DaleCurtis
Looking great! https://codereview.chromium.org/141243003/diff/940001/media/filters/decoder_stream.cc File media/filters/decoder_stream.cc (right): https://codereview.chromium.org/141243003/diff/940001/media/filters/decoder_stream.cc#newcode104 media/filters/decoder_stream.cc:104: if (scoped_refptr<Output> output = decoder_->GetDecodeOutput()) { On ...
6 years, 9 months ago (2014-03-04 01:01:32 UTC) #10
rileya (GONE FROM CHROMIUM)
https://codereview.chromium.org/141243003/diff/940001/media/filters/decoder_stream.cc File media/filters/decoder_stream.cc (right): https://codereview.chromium.org/141243003/diff/940001/media/filters/decoder_stream.cc#newcode104 media/filters/decoder_stream.cc:104: if (scoped_refptr<Output> output = decoder_->GetDecodeOutput()) { On 2014/03/04 01:01:33, ...
6 years, 9 months ago (2014-03-04 02:03:00 UTC) #11
DaleCurtis
lgtm. Great work! \o/ https://codereview.chromium.org/141243003/diff/940001/media/filters/decoder_stream.cc File media/filters/decoder_stream.cc (right): https://codereview.chromium.org/141243003/diff/940001/media/filters/decoder_stream.cc#newcode104 media/filters/decoder_stream.cc:104: if (scoped_refptr<Output> output = decoder_->GetDecodeOutput()) ...
6 years, 9 months ago (2014-03-04 22:22:16 UTC) #12
xhwang
It's looking really good. Thanks for the hard work and patience. Just a few more ...
6 years, 9 months ago (2014-03-05 00:40:46 UTC) #13
rileya (GONE FROM CHROMIUM)
Responses to comments and fixes to the simpler ones. Various unit test fixes/additions will come ...
6 years, 9 months ago (2014-03-05 08:08:27 UTC) #14
xhwang
We are almost there! I'll take another look after you update the tests then we'll ...
6 years, 9 months ago (2014-03-06 16:41:12 UTC) #15
rileya (GONE FROM CHROMIUM)
Alright, did the unit test cleanup, and added one new test. https://codereview.chromium.org/141243003/diff/960001/media/filters/decoder_stream.cc File media/filters/decoder_stream.cc (right): ...
6 years, 9 months ago (2014-03-06 22:11:55 UTC) #16
xhwang
https://codereview.chromium.org/141243003/diff/1010001/media/filters/fake_video_decoder.cc File media/filters/fake_video_decoder.cc (right): https://codereview.chromium.org/141243003/diff/1010001/media/filters/fake_video_decoder.cc#newcode111 media/filters/fake_video_decoder.cc:111: } nit: no need for braces. https://codereview.chromium.org/141243003/diff/1010001/media/filters/fake_video_decoder.cc#newcode113 media/filters/fake_video_decoder.cc:113: return ...
6 years, 9 months ago (2014-03-06 23:32:39 UTC) #17
rileya (GONE FROM CHROMIUM)
Okay, I added a switch for enabling GetDecodeOutput() in FakeVideoDecoder's ctor and added a new ...
6 years, 9 months ago (2014-03-07 18:40:20 UTC) #18
xhwang
Thanks for the great work! LGTM!
6 years, 9 months ago (2014-03-07 18:47:37 UTC) #19
rileya (GONE FROM CHROMIUM)
I just ran this against ffmpeg_regression_tests and fixed a couple issues, can I get a ...
6 years, 9 months ago (2014-03-10 18:22:24 UTC) #20
xhwang
https://codereview.chromium.org/141243003/diff/1070001/media/filters/decoder_stream.cc File media/filters/decoder_stream.cc (right): https://codereview.chromium.org/141243003/diff/1070001/media/filters/decoder_stream.cc#newcode96 media/filters/decoder_stream.cc:96: read_cb_ = BindToCurrentLoop(read_cb); On 2014/03/10 18:22:25, rileya wrote: > ...
6 years, 9 months ago (2014-03-10 18:36:30 UTC) #21
rileya (GONE FROM CHROMIUM)
Sounds good, PostTask-ing only in that case works.
6 years, 9 months ago (2014-03-10 18:52:38 UTC) #22
DaleCurtis
lgtm
6 years, 9 months ago (2014-03-10 19:04:25 UTC) #23
rileya (GONE FROM CHROMIUM)
The CQ bit was checked by rileya@chromium.org
6 years, 9 months ago (2014-03-17 17:30:43 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rileya@chromium.org/141243003/1110001
6 years, 9 months ago (2014-03-17 17:31:21 UTC) #25
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-17 19:10:11 UTC) #26
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on mac_chromium_rel
6 years, 9 months ago (2014-03-17 19:10:12 UTC) #27
rileya (GONE FROM CHROMIUM)
The CQ bit was checked by rileya@chromium.org
6 years, 9 months ago (2014-03-17 19:18:42 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rileya@chromium.org/141243003/1110001
6 years, 9 months ago (2014-03-17 19:19:26 UTC) #29
commit-bot: I haz the power
6 years, 9 months ago (2014-03-17 21:45:08 UTC) #30
Message was sent while issue was closed.
Change committed as 257500

Powered by Google App Engine
This is Rietveld 408576698