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

Issue 19534002: Make RendererGpuVideoDecoderFactories live on arbitrary threads. (Closed)

Created:
7 years, 5 months ago by wuchengli
Modified:
7 years, 5 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, feature-media-reviews_chromium.org, Pawel Osciak, yuli, kcwu
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Make RendererGpuVideoDecoderFactories live on arbitrary threads. Mailbox support for video frames has landed. So context3d can live on on arbitrary threads. GVDAH and its context are moved to media thread in GpuVideoDecoder case and new vda thread in RtcVideoDecoder case. The benefits include avoiding spurious thread hopping and not relying on compositor/render thread always being spinning. BUG=249594 TEST=Try http://apprtc.appspot.com/?debug=loopback on Chromebook Daisy. Play videos that are hardware accelerated. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=213412

Patch Set 1 : #

Total comments: 10

Patch Set 2 : address review comments #

Total comments: 22

Patch Set 3 : address review comments #

Total comments: 23

Patch Set 4 : rebase #

Patch Set 5 : address review comments #

Total comments: 4

Patch Set 6 : add explicit to GpuVideoDecoder ctor #

Patch Set 7 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+197 lines, -346 lines) Patch
M content/renderer/media/media_stream_dependency_factory.cc View 1 2 3 4 5 6 1 chunk +4 lines, -2 lines 0 comments Download
M content/renderer/media/renderer_gpu_video_decoder_factories.h View 1 2 3 4 5 6 6 chunks +16 lines, -12 lines 0 comments Download
M content/renderer/media/renderer_gpu_video_decoder_factories.cc View 1 2 3 4 5 6 12 chunks +57 lines, -39 lines 0 comments Download
M content/renderer/media/rtc_video_decoder.h View 1 2 3 4 5 6 4 chunks +8 lines, -16 lines 0 comments Download
M content/renderer/media/rtc_video_decoder.cc View 1 2 3 4 5 6 8 chunks +53 lines, -49 lines 0 comments Download
M content/renderer/media/rtc_video_decoder_factory.h View 1 2 3 4 5 6 2 chunks +5 lines, -4 lines 0 comments Download
M content/renderer/media/rtc_video_decoder_factory.cc View 1 2 3 4 5 6 1 chunk +11 lines, -22 lines 0 comments Download
M content/renderer/media/rtc_video_decoder_unittest.cc View 1 2 3 4 5 6 3 chunks +14 lines, -4 lines 0 comments Download
M content/renderer/media/webmediaplayer_impl.cc View 1 2 3 4 5 6 1 chunk +2 lines, -4 lines 0 comments Download
M content/renderer/render_thread_impl.h View 1 2 3 4 5 6 2 chunks +5 lines, -3 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 3 4 5 6 2 chunks +4 lines, -8 lines 0 comments Download
M content/renderer/render_view_impl.cc View 1 2 3 4 5 6 1 chunk +2 lines, -1 line 0 comments Download
M media/filters/gpu_video_decoder.h View 1 2 3 4 5 6 3 chunks +6 lines, -26 lines 0 comments Download
M media/filters/gpu_video_decoder.cc View 1 2 3 4 5 6 10 chunks +10 lines, -156 lines 0 comments Download

Messages

Total messages: 18 (0 generated)
wuchengli
CL is ready for review. I'm not sure if GVDAH needs any change . I ...
7 years, 5 months ago (2013-07-17 15:16:04 UTC) #1
Ami GONE FROM CHROMIUM
Added scherkus@ to R line per his request.
7 years, 5 months ago (2013-07-17 18:06:33 UTC) #2
danakj
On 2013/07/17 15:16:04, wuchengli wrote: > CL is ready for review. I'm not sure if ...
7 years, 5 months ago (2013-07-17 22:19:24 UTC) #3
scherkus (not reviewing)
https://codereview.chromium.org/19534002/diff/2002/content/renderer/media/media_stream_dependency_factory.cc File content/renderer/media/media_stream_dependency_factory.cc (right): https://codereview.chromium.org/19534002/diff/2002/content/renderer/media/media_stream_dependency_factory.cc#newcode500 content/renderer/media/media_stream_dependency_factory.cc:500: scoped_ptr<base::Thread> vda_thread(new base::Thread("vda_thread")); OOC what warrants using a separate ...
7 years, 5 months ago (2013-07-18 00:54:43 UTC) #4
wuchengli
All done. Please take another look. https://codereview.chromium.org/19534002/diff/2002/content/renderer/media/media_stream_dependency_factory.cc File content/renderer/media/media_stream_dependency_factory.cc (right): https://codereview.chromium.org/19534002/diff/2002/content/renderer/media/media_stream_dependency_factory.cc#newcode500 content/renderer/media/media_stream_dependency_factory.cc:500: scoped_ptr<base::Thread> vda_thread(new base::Thread("vda_thread")); ...
7 years, 5 months ago (2013-07-18 09:42:00 UTC) #5
wuchengli
https://codereview.chromium.org/19534002/diff/2002/content/renderer/media/rtc_video_decoder.cc File content/renderer/media/rtc_video_decoder.cc (right): https://codereview.chromium.org/19534002/diff/2002/content/renderer/media/rtc_video_decoder.cc#newcode71 content/renderer/media/rtc_video_decoder.cc:71: const scoped_refptr<media::GpuVideoDecoder::Factories>& factories) On 2013/07/18 09:42:00, wuchengli wrote: > ...
7 years, 5 months ago (2013-07-18 15:40:05 UTC) #6
wuchengli
https://codereview.chromium.org/19534002/diff/2002/content/renderer/media/rtc_video_decoder.cc File content/renderer/media/rtc_video_decoder.cc (right): https://codereview.chromium.org/19534002/diff/2002/content/renderer/media/rtc_video_decoder.cc#newcode71 content/renderer/media/rtc_video_decoder.cc:71: const scoped_refptr<media::GpuVideoDecoder::Factories>& factories) On 2013/07/18 15:40:05, wuchengli wrote: > ...
7 years, 5 months ago (2013-07-19 07:47:13 UTC) #7
scherkus (not reviewing)
https://codereview.chromium.org/19534002/diff/36001/content/renderer/media/media_stream_dependency_factory.cc File content/renderer/media/media_stream_dependency_factory.cc (right): https://codereview.chromium.org/19534002/diff/36001/content/renderer/media/media_stream_dependency_factory.cc#newcode503 content/renderer/media/media_stream_dependency_factory.cc:503: RenderThreadImpl::current()->GetGpuFactories(media_loop_proxy_); how about replacing media_loop_proxy_ with a call to ...
7 years, 5 months ago (2013-07-19 18:13:58 UTC) #8
wuchengli
All done. PTAL. https://codereview.chromium.org/19534002/diff/36001/content/renderer/media/media_stream_dependency_factory.cc File content/renderer/media/media_stream_dependency_factory.cc (right): https://codereview.chromium.org/19534002/diff/36001/content/renderer/media/media_stream_dependency_factory.cc#newcode503 content/renderer/media/media_stream_dependency_factory.cc:503: RenderThreadImpl::current()->GetGpuFactories(media_loop_proxy_); On 2013/07/19 18:13:58, scherkus wrote: ...
7 years, 5 months ago (2013-07-20 06:04:13 UTC) #9
scherkus (not reviewing)
lgtm w/ one nit https://codereview.chromium.org/19534002/diff/60001/content/renderer/media/rtc_video_decoder_factory.cc File content/renderer/media/rtc_video_decoder_factory.cc (right): https://codereview.chromium.org/19534002/diff/60001/content/renderer/media/rtc_video_decoder_factory.cc#newcode32 content/renderer/media/rtc_video_decoder_factory.cc:32: RTCVideoDecoder::Create(type, vda_loop_proxy_, gpu_factories_->Clone()); Considering this ...
7 years, 5 months ago (2013-07-22 17:56:39 UTC) #10
piman
lgtm
7 years, 5 months ago (2013-07-22 19:05:03 UTC) #11
Ami GONE FROM CHROMIUM
I love this CL! https://codereview.chromium.org/19534002/diff/60001/content/renderer/media/renderer_gpu_video_decoder_factories.cc File content/renderer/media/renderer_gpu_video_decoder_factories.cc (right): https://codereview.chromium.org/19534002/diff/60001/content/renderer/media/renderer_gpu_video_decoder_factories.cc#newcode200 content/renderer/media/renderer_gpu_video_decoder_factories.cc:200: return; message_loop_async_waiter_.Reset(); https://codereview.chromium.org/19534002/diff/60001/content/renderer/media/renderer_gpu_video_decoder_factories.cc#newcode242 content/renderer/media/renderer_gpu_video_decoder_factories.cc:242: AsyncReadPixels(texture_id, ...
7 years, 5 months ago (2013-07-22 19:46:21 UTC) #12
wuchengli
All done. PTAL. https://codereview.chromium.org/19534002/diff/60001/content/renderer/media/renderer_gpu_video_decoder_factories.cc File content/renderer/media/renderer_gpu_video_decoder_factories.cc (right): https://codereview.chromium.org/19534002/diff/60001/content/renderer/media/renderer_gpu_video_decoder_factories.cc#newcode200 content/renderer/media/renderer_gpu_video_decoder_factories.cc:200: return; On 2013/07/22 19:46:21, Ami Fischman ...
7 years, 5 months ago (2013-07-23 16:29:28 UTC) #13
wuchengli
7 years, 5 months ago (2013-07-23 16:30:25 UTC) #14
Ami GONE FROM CHROMIUM
LGTM https://codereview.chromium.org/19534002/diff/94001/content/renderer/media/media_stream_dependency_factory.cc File content/renderer/media/media_stream_dependency_factory.cc (right): https://codereview.chromium.org/19534002/diff/94001/content/renderer/media/media_stream_dependency_factory.cc#newcode1 content/renderer/media/media_stream_dependency_factory.cc:1: // Copyright (c) 2012 The Chromium Authors. All ...
7 years, 5 months ago (2013-07-23 18:13:27 UTC) #15
wuchengli
Done. Committing. https://codereview.chromium.org/19534002/diff/94001/content/renderer/media/media_stream_dependency_factory.cc File content/renderer/media/media_stream_dependency_factory.cc (right): https://codereview.chromium.org/19534002/diff/94001/content/renderer/media/media_stream_dependency_factory.cc#newcode1 content/renderer/media/media_stream_dependency_factory.cc:1: // Copyright (c) 2012 The Chromium Authors. ...
7 years, 5 months ago (2013-07-24 08:54:14 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wuchengli@chromium.org/19534002/109001
7 years, 5 months ago (2013-07-24 09:02:45 UTC) #17
commit-bot: I haz the power
7 years, 5 months ago (2013-07-24 12:22:56 UTC) #18
Message was sent while issue was closed.
Change committed as 213412

Powered by Google App Engine
This is Rietveld 408576698