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

Issue 1785153004: Made full screen video with DevTools not flash black on Android. (Closed)

Created:
4 years, 9 months ago by liberato (no reviews please)
Modified:
4 years, 8 months ago
Reviewers:
watk, DaleCurtis, no sievers
CC:
chromium-reviews, darin-cc_chromium.org, feature-media-reviews_chromium.org, jam, mcasas+watch_chromium.org, piman+watch_chromium.org, posciak+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Made full screen video with DevTools not flash black on Android. When DevTools draws to capture the screen output for the remote side, the video draw quad isn't processed as an overlay since it's not in the root render pass. However, on android, overlays aren't optional since Chrome doesn't have the pixels. So, it uses the PictureBuffer texture to draw, which obscures the surface view by removing the transparent box that the overlay put there. Plus, drawing also happens normally, with overlays (no idea why), and both results end up on the device display. The result is that the user sees a visible flicker as the transparent overlay box shows up and goes away. This normal draw has the side-effect of updating the SurfaceView's contents. It's unclear to me why this draw happens if we're also going to display the one for DevTools. The frame rate is ~halved. This CL attaches changes the PictureBuffer textures to be 2D, and attaches a 1x1 transparent textures to them, in the case we're using SurfaceView. When DevTools draw uses this texture to draw the video quad, it draws the transparent box instead of obscuring it. In the long run, we should probably transition away from SurfaceView if we ever detect that we're drawing the video quads rather than processing them for overlays. This would have the benefit that one could see the video in DevTools, too. BUG=592798 Committed: https://crrev.com/2d8fd4af4de3a87aeabe6d3bc86e9b15962b36da Cr-Commit-Position: refs/heads/master@{#383828}

Patch Set 1 #

Total comments: 4

Patch Set 2 : comments and member fn ptr to base::Callback #

Total comments: 2

Patch Set 3 : switched to 2d textures #

Total comments: 8

Patch Set 4 : cl feedback #

Patch Set 5 : request 1x1 2D textures for SV #

Total comments: 5

Patch Set 6 : LOG_IF and rebased (sorry) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+54 lines, -7 lines) Patch
M content/common/gpu/media/android_copying_backing_strategy.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M content/common/gpu/media/android_copying_backing_strategy.cc View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M content/common/gpu/media/android_deferred_rendering_backing_strategy.h View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M content/common/gpu/media/android_deferred_rendering_backing_strategy.cc View 1 2 3 4 2 chunks +34 lines, -2 lines 0 comments Download
M content/common/gpu/media/android_video_decode_accelerator.h View 1 2 3 4 2 chunks +5 lines, -1 line 0 comments Download
M content/common/gpu/media/android_video_decode_accelerator.cc View 1 2 3 4 5 3 chunks +8 lines, -3 lines 0 comments Download

Messages

Total messages: 39 (9 generated)
liberato (no reviews please)
4 years, 9 months ago (2016-03-11 19:05:36 UTC) #2
DaleCurtis
I'm not strongly familiar with all the ins and outs of EGL images, so +sievers@ ...
4 years, 9 months ago (2016-03-11 19:23:36 UTC) #4
liberato (no reviews please)
https://codereview.chromium.org/1785153004/diff/1/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc File content/common/gpu/media/android_deferred_rendering_backing_strategy.cc (right): https://codereview.chromium.org/1785153004/diff/1/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc#newcode102 content/common/gpu/media/android_deferred_rendering_backing_strategy.cc:102: DLOG(ERROR) << "Error destroying transparent EGLImage: " On 2016/03/11 ...
4 years, 9 months ago (2016-03-11 19:53:57 UTC) #5
liberato (no reviews please)
@sievers: do you see any problems with how this CL uses EGLImage? thanks -fl
4 years, 9 months ago (2016-03-15 17:38:07 UTC) #6
liberato (no reviews please)
sievers, PTAL - are we using eglimages in an okay way? do you see any ...
4 years, 9 months ago (2016-03-25 20:45:30 UTC) #7
no sievers
DevTools uses CopyFromCompositingSurface() right? That works through putting a copy request on the (Surface)Layer which ...
4 years, 9 months ago (2016-03-25 21:57:13 UTC) #8
no sievers
On 2016/03/25 21:57:13, sievers wrote: > DevTools uses CopyFromCompositingSurface() right? > > That works through ...
4 years, 9 months ago (2016-03-25 21:58:42 UTC) #9
liberato (no reviews please)
On 2016/03/25 21:58:42, sievers wrote: > On 2016/03/25 21:57:13, sievers wrote: > > DevTools uses ...
4 years, 9 months ago (2016-03-25 22:04:27 UTC) #10
no sievers
On 2016/03/25 22:04:27, liberato wrote: > On 2016/03/25 21:58:42, sievers wrote: > > On 2016/03/25 ...
4 years, 9 months ago (2016-03-25 22:24:43 UTC) #11
liberato (no reviews please)
On 2016/03/25 22:24:43, sievers wrote: > On 2016/03/25 22:04:27, liberato wrote: > > On 2016/03/25 ...
4 years, 9 months ago (2016-03-25 23:00:25 UTC) #12
no sievers
On 2016/03/25 23:00:25, liberato wrote: > On 2016/03/25 22:24:43, sievers wrote: > > On 2016/03/25 ...
4 years, 9 months ago (2016-03-25 23:16:23 UTC) #13
no sievers
lgtm https://codereview.chromium.org/1785153004/diff/20001/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc File content/common/gpu/media/android_deferred_rendering_backing_strategy.cc (right): https://codereview.chromium.org/1785153004/diff/20001/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc#newcode99 content/common/gpu/media/android_deferred_rendering_backing_strategy.cc:99: if (have_context && transparent_image_ != EGL_NO_IMAGE_KHR) { does ...
4 years, 9 months ago (2016-03-25 23:23:00 UTC) #14
liberato (no reviews please)
> And that maybe doesn't make sense the way you are transitioning in and out ...
4 years, 9 months ago (2016-03-26 17:59:09 UTC) #15
liberato (no reviews please)
yay -- seems to work with 2d textures. i'm going to double-check the power numbers ...
4 years, 8 months ago (2016-03-28 15:12:44 UTC) #18
liberato (no reviews please)
On 2016/03/28 15:12:44, liberato wrote: > yay -- seems to work with 2d textures. i'm ...
4 years, 8 months ago (2016-03-28 15:21:30 UTC) #19
DaleCurtis
This isn't allocating 2D textures the size of the video is it?
4 years, 8 months ago (2016-03-28 17:51:28 UTC) #20
liberato (no reviews please)
On 2016/03/28 17:51:28, DaleCurtis wrote: > This isn't allocating 2D textures the size of the ...
4 years, 8 months ago (2016-03-28 17:58:51 UTC) #21
DaleCurtis
Hmm, how is it not doing that? You changed the return type for GetTextureTarget() which ...
4 years, 8 months ago (2016-03-28 18:02:02 UTC) #22
watk
lgtm
4 years, 8 months ago (2016-03-28 19:19:42 UTC) #23
liberato (no reviews please)
https://codereview.chromium.org/1785153004/diff/60001/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc File content/common/gpu/media/android_deferred_rendering_backing_strategy.cc (right): https://codereview.chromium.org/1785153004/diff/60001/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc#newcode108 content/common/gpu/media/android_deferred_rendering_backing_strategy.cc:108: return (surface_texture_ ? GL_TEXTURE_EXTERNAL_OES : GL_TEXTURE_2D); On 2016/03/28 18:02:02, ...
4 years, 8 months ago (2016-03-28 20:58:18 UTC) #25
DaleCurtis
Can you elaborate on the correctness given my previous statement "Hmm, how is it not ...
4 years, 8 months ago (2016-03-28 22:04:06 UTC) #26
liberato (no reviews please)
On 2016/03/28 22:04:06, DaleCurtis wrote: > Can you elaborate on the correctness given my previous ...
4 years, 8 months ago (2016-03-28 22:21:30 UTC) #27
DaleCurtis
Video frames are pretty large, so a spike of say 4x 720p textures seems problematic. ...
4 years, 8 months ago (2016-03-28 22:33:39 UTC) #28
liberato (no reviews please)
On 2016/03/28 22:33:39, DaleCurtis wrote: > Video frames are pretty large, so a spike of ...
4 years, 8 months ago (2016-03-28 22:40:02 UTC) #29
liberato (no reviews please)
https://codereview.chromium.org/1785153004/diff/140001/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc File content/common/gpu/media/android_deferred_rendering_backing_strategy.cc (right): https://codereview.chromium.org/1785153004/diff/140001/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc#newcode118 content/common/gpu/media/android_deferred_rendering_backing_strategy.cc:118: // texture when building the quad for it. as ...
4 years, 8 months ago (2016-03-29 17:22:53 UTC) #31
DaleCurtis
lgtm % question https://codereview.chromium.org/1785153004/diff/140001/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc File content/common/gpu/media/android_deferred_rendering_backing_strategy.cc (right): https://codereview.chromium.org/1785153004/diff/140001/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc#newcode206 content/common/gpu/media/android_deferred_rendering_backing_strategy.cc:206: if (!surface_texture_ && have_context) { Is ...
4 years, 8 months ago (2016-03-29 17:38:41 UTC) #32
liberato (no reviews please)
https://codereview.chromium.org/1785153004/diff/140001/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc File content/common/gpu/media/android_deferred_rendering_backing_strategy.cc (right): https://codereview.chromium.org/1785153004/diff/140001/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc#newcode206 content/common/gpu/media/android_deferred_rendering_backing_strategy.cc:206: if (!surface_texture_ && have_context) { On 2016/03/29 17:38:41, DaleCurtis ...
4 years, 8 months ago (2016-03-29 20:23:31 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1785153004/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1785153004/160001
4 years, 8 months ago (2016-03-29 20:23:46 UTC) #36
commit-bot: I haz the power
Committed patchset #6 (id:160001)
4 years, 8 months ago (2016-03-29 21:21:53 UTC) #37
commit-bot: I haz the power
4 years, 8 months ago (2016-03-29 21:23:42 UTC) #39
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/2d8fd4af4de3a87aeabe6d3bc86e9b15962b36da
Cr-Commit-Position: refs/heads/master@{#383828}

Powered by Google App Engine
This is Rietveld 408576698