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

Issue 297553002: Add callback in VideoDecoder and AudioDecoder to return decoded frames. (Closed)

Created:
6 years, 7 months ago by Sergey Ulanov
Modified:
6 years, 6 months ago
CC:
chromium-reviews, feature-media-reviews_chromium.org
Visibility:
Public.

Description

Add callback in VideoDecoder and AudioDecoder to return decoded frames. Previously decoded frames were returned using the DecodeCB callback, which is called in response to Decode(). This didn't work very well, particularly for GPU decoder, because decode buffers do not always map to decoded frames 1 to 1. BUG=338529 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=276344

Patch Set 1 : #

Total comments: 2

Patch Set 2 : #

Patch Set 3 : flush ffmpeg video decoder #

Patch Set 4 : #

Total comments: 59

Patch Set 5 : #

Total comments: 74

Patch Set 6 : #

Patch Set 7 : #

Total comments: 4

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : #

Patch Set 12 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+747 lines, -960 lines) Patch
M media/base/audio_decoder.h View 1 2 3 4 5 1 chunk +24 lines, -18 lines 0 comments Download
M media/base/audio_decoder.cc View 1 chunk +0 lines, -4 lines 0 comments Download
M media/base/mock_filters.h View 2 chunks +7 lines, -4 lines 0 comments Download
M media/base/video_decoder.h View 1 2 3 4 5 3 chunks +21 lines, -19 lines 0 comments Download
M media/base/video_decoder.cc View 1 chunk +0 lines, -4 lines 0 comments Download
M media/filters/audio_decoder_selector_unittest.cc View 12 chunks +20 lines, -15 lines 0 comments Download
M media/filters/audio_renderer_impl_unittest.cc View 1 2 3 4 5 15 chunks +39 lines, -69 lines 0 comments Download
M media/filters/decoder_selector.h View 2 chunks +3 lines, -1 line 0 comments Download
M media/filters/decoder_selector.cc View 4 chunks +7 lines, -3 lines 0 comments Download
M media/filters/decoder_stream.h View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +8 lines, -4 lines 0 comments Download
M media/filters/decoder_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 11 chunks +73 lines, -71 lines 0 comments Download
M media/filters/decoder_stream_traits.h View 2 chunks +6 lines, -2 lines 0 comments Download
M media/filters/decoder_stream_traits.cc View 2 chunks +6 lines, -4 lines 0 comments Download
M media/filters/decrypting_audio_decoder.h View 1 2 3 4 3 chunks +5 lines, -7 lines 0 comments Download
M media/filters/decrypting_audio_decoder.cc View 1 2 3 4 12 chunks +20 lines, -34 lines 0 comments Download
M media/filters/decrypting_audio_decoder_unittest.cc View 1 2 3 4 5 15 chunks +48 lines, -52 lines 0 comments Download
M media/filters/decrypting_video_decoder.h View 2 chunks +3 lines, -1 line 0 comments Download
M media/filters/decrypting_video_decoder.cc View 9 chunks +16 lines, -14 lines 0 comments Download
M media/filters/decrypting_video_decoder_unittest.cc View 14 chunks +31 lines, -22 lines 0 comments Download
M media/filters/fake_video_decoder.h View 4 chunks +5 lines, -6 lines 0 comments Download
M media/filters/fake_video_decoder.cc View 1 2 3 4 5 8 chunks +33 lines, -39 lines 0 comments Download
M media/filters/fake_video_decoder_unittest.cc View 1 2 3 4 5 14 chunks +57 lines, -46 lines 0 comments Download
M media/filters/ffmpeg_audio_decoder.h View 1 2 3 4 5 4 chunks +4 lines, -7 lines 0 comments Download
M media/filters/ffmpeg_audio_decoder.cc View 1 2 3 4 5 7 chunks +14 lines, -42 lines 0 comments Download
M media/filters/ffmpeg_audio_decoder_unittest.cc View 1 2 3 4 5 7 chunks +16 lines, -31 lines 0 comments Download
M media/filters/ffmpeg_video_decoder.h View 1 2 3 4 5 6 7 8 9 3 chunks +4 lines, -6 lines 0 comments Download
M media/filters/ffmpeg_video_decoder.cc View 1 2 3 4 5 6 7 8 9 7 chunks +55 lines, -80 lines 0 comments Download
M media/filters/ffmpeg_video_decoder_unittest.cc View 1 2 3 4 5 12 chunks +60 lines, -92 lines 0 comments Download
M media/filters/gpu_video_decoder.h View 1 2 3 4 5 chunks +16 lines, -19 lines 0 comments Download
M media/filters/gpu_video_decoder.cc View 1 2 3 4 5 15 chunks +41 lines, -87 lines 0 comments Download
M media/filters/opus_audio_decoder.h View 2 chunks +3 lines, -1 line 0 comments Download
M media/filters/opus_audio_decoder.cc View 1 2 3 4 5 5 chunks +12 lines, -11 lines 0 comments Download
M media/filters/opus_audio_decoder_unittest.cc View 1 2 3 4 5 2 chunks +11 lines, -14 lines 0 comments Download
M media/filters/video_decoder_selector_unittest.cc View 12 chunks +20 lines, -14 lines 0 comments Download
M media/filters/video_frame_stream_unittest.cc View 3 chunks +6 lines, -22 lines 0 comments Download
M media/filters/video_renderer_impl_unittest.cc View 1 2 3 4 5 12 chunks +38 lines, -83 lines 0 comments Download
M media/filters/vpx_video_decoder.h View 2 chunks +4 lines, -1 line 0 comments Download
M media/filters/vpx_video_decoder.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +11 lines, -11 lines 0 comments Download

Messages

Total messages: 28 (0 generated)
Sergey Ulanov
6 years, 7 months ago (2014-05-19 23:03:52 UTC) #1
Ami GONE FROM CHROMIUM
LGTM from a high-level survey; defer detailed review to xhwang@. Would be nice to have ...
6 years, 7 months ago (2014-05-19 23:34:50 UTC) #2
Sergey Ulanov
https://codereview.chromium.org/297553002/diff/20001/media/filters/opus_audio_decoder_unittest.cc File media/filters/opus_audio_decoder_unittest.cc (right): https://codereview.chromium.org/297553002/diff/20001/media/filters/opus_audio_decoder_unittest.cc#newcode99 media/filters/opus_audio_decoder_unittest.cc:99: // FIXME On 2014/05/19 23:34:51, Ami Fischman wrote: > ...
6 years, 7 months ago (2014-05-20 00:08:48 UTC) #3
xhwang
On 2014/05/20 00:08:48, Sergey Ulanov wrote: > https://codereview.chromium.org/297553002/diff/20001/media/filters/opus_audio_decoder_unittest.cc > File media/filters/opus_audio_decoder_unittest.cc (right): > > https://codereview.chromium.org/297553002/diff/20001/media/filters/opus_audio_decoder_unittest.cc#newcode99 ...
6 years, 7 months ago (2014-05-21 17:02:22 UTC) #4
Sergey Ulanov
On 2014/05/21 17:02:22, xhwang wrote: > I am just back from vacation and have some ...
6 years, 7 months ago (2014-05-21 17:49:42 UTC) #5
Sergey Ulanov
xhwang: ping :)
6 years, 6 months ago (2014-05-28 17:23:51 UTC) #6
xhwang
On 2014/05/28 17:23:51, Sergey Ulanov wrote: > xhwang: ping :) Sorry for the delay. I'll ...
6 years, 6 months ago (2014-05-28 17:31:43 UTC) #7
xhwang
Thanks for the CL! I like the idea of having a permanent OutputCB which makes ...
6 years, 6 months ago (2014-05-29 22:15:14 UTC) #8
Ami GONE FROM CHROMIUM
FTR this also fixes crbug.com/332185 (googler-only, sorry). Yay!
6 years, 6 months ago (2014-06-02 22:15:43 UTC) #9
Sergey Ulanov
https://codereview.chromium.org/297553002/diff/70001/media/base/audio_decoder.h File media/base/audio_decoder.h (right): https://codereview.chromium.org/297553002/diff/70001/media/base/audio_decoder.h#newcode37 media/base/audio_decoder.h:37: typedef base::Callback<void(Status)> DecodeCB; On 2014/05/29 22:15:14, xhwang wrote: > ...
6 years, 6 months ago (2014-06-03 00:08:10 UTC) #10
xhwang
Some of my comments are in PS4. Most of them are in PS5. Sorry for ...
6 years, 6 months ago (2014-06-05 21:53:51 UTC) #11
Sergey Ulanov
https://codereview.chromium.org/297553002/diff/70001/media/base/audio_decoder.h File media/base/audio_decoder.h (right): https://codereview.chromium.org/297553002/diff/70001/media/base/audio_decoder.h#newcode62 media/base/audio_decoder.h:62: virtual void Reset(const base::Closure& closure) = 0; On 2014/06/05 ...
6 years, 6 months ago (2014-06-06 22:49:41 UTC) #12
Sergey Ulanov
https://codereview.chromium.org/297553002/diff/90001/media/filters/ffmpeg_video_decoder.cc File media/filters/ffmpeg_video_decoder.cc (right): https://codereview.chromium.org/297553002/diff/90001/media/filters/ffmpeg_video_decoder.cc#newcode176 media/filters/ffmpeg_video_decoder.cc:176: if (state_ == kDecodeFinished) { On 2014/06/06 22:49:41, Sergey ...
6 years, 6 months ago (2014-06-06 23:12:34 UTC) #13
xhwang
lgtm % some trivial comments. Thank you so much for taking this! https://codereview.chromium.org/297553002/diff/90001/media/filters/decoder_stream.cc File media/filters/decoder_stream.cc ...
6 years, 6 months ago (2014-06-07 00:35:15 UTC) #14
Sergey Ulanov
https://codereview.chromium.org/297553002/diff/130001/media/filters/decoder_stream.cc File media/filters/decoder_stream.cc (right): https://codereview.chromium.org/297553002/diff/130001/media/filters/decoder_stream.cc#newcode458 media/filters/decoder_stream.cc:458: DCHECK(read_cb_.is_null()); On 2014/06/07 00:35:15, xhwang wrote: > Why DCHECK(read_cb_.is_null())? ...
6 years, 6 months ago (2014-06-07 01:12:09 UTC) #15
Sergey Ulanov
The CQ bit was checked by sergeyu@chromium.org
6 years, 6 months ago (2014-06-09 18:29:08 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sergeyu@chromium.org/297553002/210001
6 years, 6 months ago (2014-06-09 18:29:49 UTC) #17
Sergey Ulanov
The CQ bit was checked by sergeyu@chromium.org
6 years, 6 months ago (2014-06-09 19:46:06 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sergeyu@chromium.org/297553002/230001
6 years, 6 months ago (2014-06-09 19:47:50 UTC) #19
Sergey Ulanov
The CQ bit was unchecked by sergeyu@chromium.org
6 years, 6 months ago (2014-06-09 20:24:47 UTC) #20
Sergey Ulanov
The CQ bit was checked by sergeyu@chromium.org
6 years, 6 months ago (2014-06-09 20:25:50 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sergeyu@chromium.org/297553002/250001
6 years, 6 months ago (2014-06-09 20:29:19 UTC) #22
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_chromium_rel on tryserver.chromium ...
6 years, 6 months ago (2014-06-10 09:57:52 UTC) #23
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 6 months ago (2014-06-10 11:41:32 UTC) #24
commit-bot: I haz the power
Try jobs failed on following builders: android_dbg_triggered_tests on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/android_dbg_triggered_tests/builds/160982)
6 years, 6 months ago (2014-06-10 11:41:33 UTC) #25
Sergey Ulanov
The CQ bit was checked by sergeyu@chromium.org
6 years, 6 months ago (2014-06-11 00:16:06 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sergeyu@chromium.org/297553002/270001
6 years, 6 months ago (2014-06-11 00:17:49 UTC) #27
commit-bot: I haz the power
6 years, 6 months ago (2014-06-11 11:11:54 UTC) #28
Message was sent while issue was closed.
Change committed as 276344

Powered by Google App Engine
This is Rietveld 408576698