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

Issue 23234003: Support stream textures with the synchronous compositor (Closed)

Created:
7 years, 4 months ago by no sievers
Modified:
7 years, 4 months ago
Reviewers:
boliu, piman
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, apatrick_chromium, feature-media-reviews_chromium.org, benm (inactive), joth, aelias_OOO_until_Jul13
Visibility:
Public.

Description

Support stream textures with the synchronous compositor This adds a thread-safe StreamTextureManager for GLInProcessContext. It further adds some plumbing for the webkit thread to be able to create a StreamTextureFactory from the main thread (see render_view_impl.cc) with the ability to extract the thread-safe SurfaceTexture(Bridge) for a given stream. This is nothing but a crazy amount of plumbing to achieve this: - StreamTexture::Update() i.e. SurfaceTexture::updateTexImage needs to happen on the GL thread with a current context - The StreamTextureFactory and Proxy are referenced from the WebmediaPlayer instance which lives on the main thread - The callback for invalidating the video is posted to the compositor thread directly (here: UI thread) bypassing the main thread BUG=239760 NOTRY=True Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=219057

Patch Set 1 #

Patch Set 2 : #

Total comments: 10

Patch Set 3 : address Bo's comments #

Patch Set 4 : this time for real #

Total comments: 2

Patch Set 5 : Bo's comments #

Patch Set 6 : rebase, build fixes #

Patch Set 7 : android clang #

Unified diffs Side-by-side diffs Delta from patch set Stats (+524 lines, -21 lines) Patch
M content/browser/android/in_process/synchronous_compositor_impl.cc View 1 2 3 4 5 6 5 chunks +89 lines, -3 lines 0 comments Download
M content/common/gpu/stream_texture_manager_android.h View 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/android/synchronous_compositor_factory.h View 2 chunks +3 lines, -0 lines 0 comments Download
M content/renderer/media/android/stream_texture_factory_android_synchronous_impl.h View 1 2 3 4 2 chunks +27 lines, -2 lines 0 comments Download
M content/renderer/media/android/stream_texture_factory_android_synchronous_impl.cc View 1 2 3 1 chunk +150 lines, -6 lines 0 comments Download
M content/renderer/render_view_impl.cc View 1 2 3 4 5 2 chunks +4 lines, -2 lines 0 comments Download
M gpu/command_buffer/client/gl_in_process_context.h View 1 2 3 4 5 2 chunks +11 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gl_in_process_context.cc View 1 2 3 4 5 3 chunks +16 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.h View 1 2 3 4 5 3 chunks +18 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/in_process_command_buffer.cc View 1 2 3 4 5 3 chunks +25 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/stream_texture_manager.h View 2 chunks +1 line, -3 lines 0 comments Download
A gpu/command_buffer/service/stream_texture_manager_in_process_android.h View 1 2 3 4 5 1 chunk +75 lines, -0 lines 0 comments Download
A gpu/command_buffer/service/stream_texture_manager_in_process_android.cc View 1 chunk +92 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/stream_texture_manager_mock.h View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M gpu/command_buffer_service.gypi View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M webkit/common/gpu/webgraphicscontext3d_in_process_command_buffer_impl.h View 1 1 chunk +3 lines, -0 lines 0 comments Download
M webkit/common/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc View 1 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (0 generated)
no sievers
Absolutely mindless and terrible.
7 years, 4 months ago (2013-08-16 02:27:14 UTC) #1
boliu
Only looked at content https://codereview.chromium.org/23234003/diff/4001/content/browser/android/in_process/synchronous_compositor_impl.cc File content/browser/android/in_process/synchronous_compositor_impl.cc (right): https://codereview.chromium.org/23234003/diff/4001/content/browser/android/in_process/synchronous_compositor_impl.cc#newcode106 content/browser/android/in_process/synchronous_compositor_impl.cc:106: const char* allowed_extensions = "*"; ...
7 years, 4 months ago (2013-08-20 21:33:49 UTC) #2
no sievers
https://codereview.chromium.org/23234003/diff/4001/content/browser/android/in_process/synchronous_compositor_impl.cc File content/browser/android/in_process/synchronous_compositor_impl.cc (right): https://codereview.chromium.org/23234003/diff/4001/content/browser/android/in_process/synchronous_compositor_impl.cc#newcode106 content/browser/android/in_process/synchronous_compositor_impl.cc:106: const char* allowed_extensions = "*"; On 2013/08/20 21:33:49, boliu ...
7 years, 4 months ago (2013-08-20 21:59:58 UTC) #3
boliu
content lgtm https://codereview.chromium.org/23234003/diff/21001/content/renderer/render_view_impl.cc File content/renderer/render_view_impl.cc (right): https://codereview.chromium.org/23234003/diff/21001/content/renderer/render_view_impl.cc#newcode3033 content/renderer/render_view_impl.cc:3033: stream_texture_factory = factory->CreateStreamTextureFactory(routing_id_); nit: indent
7 years, 4 months ago (2013-08-20 22:14:33 UTC) #4
no sievers
https://codereview.chromium.org/23234003/diff/21001/content/renderer/render_view_impl.cc File content/renderer/render_view_impl.cc (right): https://codereview.chromium.org/23234003/diff/21001/content/renderer/render_view_impl.cc#newcode3033 content/renderer/render_view_impl.cc:3033: stream_texture_factory = factory->CreateStreamTextureFactory(routing_id_); On 2013/08/20 22:14:33, boliu wrote: > ...
7 years, 4 months ago (2013-08-20 22:24:58 UTC) #5
no sievers
+piman This is all really in need of a complete overhaul, but this just fills ...
7 years, 4 months ago (2013-08-20 22:28:20 UTC) #6
piman
lgtm
7 years, 4 months ago (2013-08-22 01:23:56 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sievers@chromium.org/23234003/29001
7 years, 4 months ago (2013-08-22 01:28:25 UTC) #8
commit-bot: I haz the power
Sorry for I got bad news for ya. Compile failed with a clobber build on ...
7 years, 4 months ago (2013-08-22 01:55:33 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sievers@chromium.org/23234003/50001
7 years, 4 months ago (2013-08-22 17:18:17 UTC) #10
commit-bot: I haz the power
Sorry for I got bad news for ya. Compile failed with a clobber build on ...
7 years, 4 months ago (2013-08-22 17:44:34 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sievers@chromium.org/23234003/65001
7 years, 4 months ago (2013-08-22 18:43:49 UTC) #12
commit-bot: I haz the power
7 years, 4 months ago (2013-08-22 18:54:13 UTC) #13
Message was sent while issue was closed.
Change committed as 219057

Powered by Google App Engine
This is Rietveld 408576698