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

Issue 418143005: media: Introduce Renderer interface and RendererImpl. (Closed)

Created:
6 years, 5 months ago by xhwang
Modified:
6 years, 3 months ago
CC:
chromium-reviews, feature-media-reviews_chromium.org
Project:
chromium
Visibility:
Public.

Description

media: Introduce Renderer interface and RendererImpl. Add a Renderer interface to manage all audio/video (and in the future text) rendering. With Renderer, Pipeline only needs to manage a Demuxer and a Renderer, which helps move a lot of complicated logic out of Pipeline. On Desktop Chrome, we use RendererImpl, which manages AudioRendererImpl and VideoRendererImpl. On other platforms, we could add different Renderer implementation. For example, we could support Browser side decoding/rendering. BUG=392259 Committed: https://crrev.com/be9da705e341863169faeff532c24c568fad2852 Cr-Commit-Position: refs/heads/master@{#291592}

Patch Set 1 : Copy pipeline.* to renderer_impl.* #

Patch Set 2 : Add real RendererImpl #

Total comments: 5

Patch Set 3 : Add RendererImplTest #

Patch Set 4 : Update Pipeline tests and FilterCollection. #

Patch Set 5 : rebase only #

Patch Set 6 : fix player_x11 #

Patch Set 7 : fix media/BUILD.gn #

Total comments: 50

Patch Set 8 : rebase only #

Total comments: 6

Patch Set 9 : comments addressed #

Patch Set 10 : minor cleanup #

Total comments: 18

Patch Set 11 : comments addressed #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+1744 lines, -848 lines) Patch
M content/renderer/media/webmediaplayer_impl.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/media/webmediaplayer_impl.cc View 1 2 3 4 5 6 7 8 3 chunks +52 lines, -40 lines 3 comments Download
M media/BUILD.gn View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -0 lines 0 comments Download
M media/base/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M media/base/filter_collection.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +8 lines, -13 lines 0 comments Download
M media/base/filter_collection.cc View 1 2 3 4 5 6 7 8 2 chunks +6 lines, -18 lines 0 comments Download
M media/base/media_log.cc View 1 1 chunk +2 lines, -4 lines 0 comments Download
M media/base/media_log_event.h View 1 2 3 4 1 chunk +4 lines, -3 lines 0 comments Download
M media/base/mock_filters.h View 1 2 3 2 chunks +26 lines, -0 lines 0 comments Download
M media/base/mock_filters.cc View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M media/base/pipeline.h View 1 2 3 4 5 6 7 8 9 12 chunks +10 lines, -84 lines 0 comments Download
M media/base/pipeline.cc View 1 2 3 4 5 6 7 8 20 chunks +52 lines, -306 lines 0 comments Download
M media/base/pipeline_unittest.cc View 1 2 3 4 5 6 7 30 chunks +110 lines, -343 lines 0 comments Download
A media/base/renderer.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +75 lines, -0 lines 0 comments Download
A + media/base/renderer.cc View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -5 lines 0 comments Download
M media/filters/audio_renderer_impl.cc View 1 2 3 4 5 6 7 2 chunks +4 lines, -2 lines 0 comments Download
M media/filters/pipeline_integration_test_base.cc View 1 2 3 4 5 6 7 8 7 chunks +21 lines, -14 lines 0 comments Download
A media/filters/renderer_impl.h View 1 2 3 4 5 6 7 8 1 chunk +201 lines, -0 lines 0 comments Download
A media/filters/renderer_impl.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +572 lines, -0 lines 0 comments Download
A media/filters/renderer_impl_unittest.cc View 1 2 3 4 1 chunk +554 lines, -0 lines 0 comments Download
M media/filters/video_renderer_impl.cc View 1 2 3 4 5 6 7 4 chunks +7 lines, -2 lines 0 comments Download
M media/filters/video_renderer_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -1 line 0 comments Download
M media/media.gyp View 1 2 3 4 5 6 7 3 chunks +5 lines, -0 lines 0 comments Download
M media/tools/player_x11/player_x11.cc View 1 2 3 4 5 3 chunks +18 lines, -13 lines 0 comments Download

Messages

Total messages: 29 (0 generated)
xhwang
This is still working in progress. It compiles and test videos play pretty well. But ...
6 years, 5 months ago (2014-07-25 00:39:29 UTC) #1
scherkus (not reviewing)
overall seems fine -- we should chat some more about the best way to land ...
6 years, 4 months ago (2014-07-31 20:22:09 UTC) #2
xhwang
https://codereview.chromium.org/418143005/diff/40001/media/base/pipeline.cc File media/base/pipeline.cc (right): https://codereview.chromium.org/418143005/diff/40001/media/base/pipeline.cc#newcode644 media/base/pipeline.cc:644: renderer_.reset(new RendererImpl( On 2014/07/31 20:22:09, scherkus wrote: > it ...
6 years, 4 months ago (2014-08-01 00:10:15 UTC) #3
xhwang
On 2014/08/01 00:10:15, xhwang wrote: > https://codereview.chromium.org/418143005/diff/40001/media/base/pipeline.cc > File media/base/pipeline.cc (right): > > https://codereview.chromium.org/418143005/diff/40001/media/base/pipeline.cc#newcode644 > ...
6 years, 4 months ago (2014-08-02 00:01:23 UTC) #4
xhwang
rebase only
6 years, 4 months ago (2014-08-02 00:39:55 UTC) #5
damienv1
https://codereview.chromium.org/418143005/diff/140001/media/filters/video_renderer_impl.cc File media/filters/video_renderer_impl.cc (right): https://codereview.chromium.org/418143005/diff/140001/media/filters/video_renderer_impl.cc#newcode130 media/filters/video_renderer_impl.cc:130: // failed. Could you please give me a callstack ...
6 years, 4 months ago (2014-08-06 16:10:03 UTC) #6
damienv1
https://codereview.chromium.org/418143005/diff/140001/content/renderer/media/webmediaplayer_impl.cc File content/renderer/media/webmediaplayer_impl.cc (right): https://codereview.chromium.org/418143005/diff/140001/content/renderer/media/webmediaplayer_impl.cc#newcode1155 content/renderer/media/webmediaplayer_impl.cc:1155: return renderer.Pass(); nit: |renderer| not really needed here: return ...
6 years, 4 months ago (2014-08-06 21:43:48 UTC) #7
xhwang
Comments only. I'll make do will-do-s after I get comments from scherkus. https://codereview.chromium.org/418143005/diff/140001/content/renderer/media/webmediaplayer_impl.cc File content/renderer/media/webmediaplayer_impl.cc ...
6 years, 4 months ago (2014-08-07 05:46:50 UTC) #8
scherkus (not reviewing)
looking good damienv: do you feel this new Renderer interface gives you the flexibility you ...
6 years, 4 months ago (2014-08-21 21:17:00 UTC) #9
xhwang
rebase only
6 years, 4 months ago (2014-08-22 00:09:50 UTC) #10
damienv1
Agree with Andrew, this is going into the right direction (Xiaohan, do you have a ...
6 years, 4 months ago (2014-08-22 16:39:48 UTC) #11
xhwang
comments addressed
6 years, 4 months ago (2014-08-22 17:03:21 UTC) #12
xhwang
On 2014/08/22 16:39:48, damienv1 wrote: > Agree with Andrew, this is going into the right ...
6 years, 4 months ago (2014-08-22 19:11:07 UTC) #13
xhwang
I think I addressed all comments. PTAL again. https://codereview.chromium.org/418143005/diff/140001/content/renderer/media/webmediaplayer_impl.cc File content/renderer/media/webmediaplayer_impl.cc (right): https://codereview.chromium.org/418143005/diff/140001/content/renderer/media/webmediaplayer_impl.cc#newcode1155 content/renderer/media/webmediaplayer_impl.cc:1155: return ...
6 years, 4 months ago (2014-08-22 19:11:32 UTC) #14
scherkus (not reviewing)
https://codereview.chromium.org/418143005/diff/200001/content/renderer/media/webmediaplayer_impl.h File content/renderer/media/webmediaplayer_impl.h (right): https://codereview.chromium.org/418143005/diff/200001/content/renderer/media/webmediaplayer_impl.h#newcode205 content/renderer/media/webmediaplayer_impl.h:205: // Creates a media::Renderer that will be used by ...
6 years, 4 months ago (2014-08-22 20:50:01 UTC) #15
tim (not reviewing)
https://codereview.chromium.org/418143005/diff/200001/media/base/renderer.h File media/base/renderer.h (right): https://codereview.chromium.org/418143005/diff/200001/media/base/renderer.h#newcode30 media/base/renderer.h:30: // TODO(xhwang): Replace |init_cb| and |flush_cb| with Closures. nit: ...
6 years, 4 months ago (2014-08-22 22:26:42 UTC) #16
xhwang
https://codereview.chromium.org/418143005/diff/200001/content/renderer/media/webmediaplayer_impl.h File content/renderer/media/webmediaplayer_impl.h (right): https://codereview.chromium.org/418143005/diff/200001/content/renderer/media/webmediaplayer_impl.h#newcode205 content/renderer/media/webmediaplayer_impl.h:205: // Creates a media::Renderer that will be used by ...
6 years, 4 months ago (2014-08-22 22:48:23 UTC) #17
gunsch
https://codereview.chromium.org/418143005/diff/220001/content/renderer/media/webmediaplayer_impl.cc File content/renderer/media/webmediaplayer_impl.cc (right): https://codereview.chromium.org/418143005/diff/220001/content/renderer/media/webmediaplayer_impl.cc#newcode1172 content/renderer/media/webmediaplayer_impl.cc:1172: // TODO(xhwang): Move this to a factory class so ...
6 years, 4 months ago (2014-08-22 22:55:27 UTC) #18
gunsch
https://codereview.chromium.org/418143005/diff/220001/content/renderer/media/webmediaplayer_impl.cc File content/renderer/media/webmediaplayer_impl.cc (right): https://codereview.chromium.org/418143005/diff/220001/content/renderer/media/webmediaplayer_impl.cc#newcode1172 content/renderer/media/webmediaplayer_impl.cc:1172: // TODO(xhwang): Move this to a factory class so ...
6 years, 4 months ago (2014-08-22 22:56:35 UTC) #19
xhwang
https://codereview.chromium.org/418143005/diff/220001/content/renderer/media/webmediaplayer_impl.cc File content/renderer/media/webmediaplayer_impl.cc (right): https://codereview.chromium.org/418143005/diff/220001/content/renderer/media/webmediaplayer_impl.cc#newcode1172 content/renderer/media/webmediaplayer_impl.cc:1172: // TODO(xhwang): Move this to a factory class so ...
6 years, 4 months ago (2014-08-22 23:00:55 UTC) #20
scherkus (not reviewing)
lgtm
6 years, 4 months ago (2014-08-22 23:29:44 UTC) #21
xhwang
The CQ bit was checked by xhwang@chromium.org
6 years, 4 months ago (2014-08-22 23:41:20 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/xhwang@chromium.org/418143005/220001
6 years, 4 months ago (2014-08-22 23:41:36 UTC) #23
damienv1
lgtm
6 years, 4 months ago (2014-08-22 23:45:04 UTC) #24
damienv1
lgtm
6 years, 4 months ago (2014-08-22 23:45:06 UTC) #25
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_chromium_rel_swarming on tryserver.chromium.linux ...
6 years, 4 months ago (2014-08-23 06:55:29 UTC) #26
commit-bot: I haz the power
Committed patchset #11 (220001) as 2e9a1db9628266155c228cc6003b51157fda60c2
6 years, 4 months ago (2014-08-23 21:45:03 UTC) #27
Jeffrey Yasskin
A revert of this CL (patchset #11) has been created in https://codereview.chromium.org/503053007/ by jyasskin@chromium.org. The ...
6 years, 4 months ago (2014-08-26 00:42:54 UTC) #28
commit-bot: I haz the power
6 years, 3 months ago (2014-09-10 02:31:26 UTC) #29
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/be9da705e341863169faeff532c24c568fad2852
Cr-Commit-Position: refs/heads/master@{#291592}

Powered by Google App Engine
This is Rietveld 408576698