New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 618368 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug


Sign in to add a comment

Add support for Surfaces via Android Dialog

Project Member Reported by liber...@chromium.org, Jun 8 2016

Issue description

Power and perf improvements specifically for custom control video players. 

# Impact
1. Improves power by up to 30% for custom control video players by enabling SurfaceView
2. Improves audio cut off and resume for full screen transition of hardware decoded video playback
 
Cc: renganat...@chromium.org
Description: Show this description
Labels: M-57
Labels: -Pri-3 Pri-1
Blockedon: 667950
Labels: Proj-DialogSurface
Blockedon: 691283
Blockedon: 694763
Project Member

Comment 9 by bugdroid1@chromium.org, Mar 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2744a14dfbc08a2e286aa9d7faab5c465b1910b8

commit 2744a14dfbc08a2e286aa9d7faab5c465b1910b8
Author: liberato <liberato@chromium.org>
Date: Tue Mar 07 19:50:19 2017

Added SurfaceTextureGLOwner to create / own GL objects.

To simplify lifetime issues with surface textures, this L introduces
SurfaceTextureGLOwner.  It is a SurfaceTexture which creates and
destroys the underlying GL objects.

This CL also switches AVDAPictureBufferManager / SharedState to use
SurfaceTextureGLOwner rather than maintaining them separately.

BUG= 618368 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2706653002
Cr-Commit-Position: refs/heads/master@{#455180}

[modify] https://crrev.com/2744a14dfbc08a2e286aa9d7faab5c465b1910b8/media/gpu/BUILD.gn
[modify] https://crrev.com/2744a14dfbc08a2e286aa9d7faab5c465b1910b8/media/gpu/avda_picture_buffer_manager.cc
[modify] https://crrev.com/2744a14dfbc08a2e286aa9d7faab5c465b1910b8/media/gpu/avda_picture_buffer_manager.h
[modify] https://crrev.com/2744a14dfbc08a2e286aa9d7faab5c465b1910b8/media/gpu/avda_shared_state.cc
[modify] https://crrev.com/2744a14dfbc08a2e286aa9d7faab5c465b1910b8/media/gpu/avda_shared_state.h
[add] https://crrev.com/2744a14dfbc08a2e286aa9d7faab5c465b1910b8/media/gpu/surface_texture_gl_owner.cc
[add] https://crrev.com/2744a14dfbc08a2e286aa9d7faab5c465b1910b8/media/gpu/surface_texture_gl_owner.h
[add] https://crrev.com/2744a14dfbc08a2e286aa9d7faab5c465b1910b8/media/gpu/surface_texture_gl_owner_unittest.cc
[modify] https://crrev.com/2744a14dfbc08a2e286aa9d7faab5c465b1910b8/ui/gl/android/surface_texture.cc
[modify] https://crrev.com/2744a14dfbc08a2e286aa9d7faab5c465b1910b8/ui/gl/android/surface_texture.h

Blockedon: 701385
Blocking: 701385
Blockedon: -701385
Cc: mlamouri@chromium.org
Blockedon: 710186
Blockedon: 710201
Blockedon: 710204
Blockedon: 710230
Project Member

Comment 18 by bugdroid1@chromium.org, May 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a8da3b572593e1a166bc2e3a22821a17feb0af27

commit a8da3b572593e1a166bc2e3a22821a17feb0af27
Author: liberato <liberato@chromium.org>
Date: Tue May 02 20:23:51 2017

AndroidOverlay implementation using Dialog.

This CL adds DialogOverlayImpl, which uses AndroidDialogs to provide an
overlay.  The intended use looks something like this:

RenderFrame(Impl) requests a routing token from RenderFrameHostImpl
RFHI returns token to RF
RF sends this token to WebMediaPlayerImpl
WMPI sends this (via chrome IPC) to AVDA (gpu process)
AVDA requests an overlay from AndroidOverlayProviderImpl using this
  token (via mojo to the browser).
AndroidOverlayProviderImpl creates a DialogOverlayImpl in the browser
AOPI returns the DialogOverlayImpl to AVDA.

BUG= 618368 
TEST=DialogOverlayImplTest, DialogOverlayCoreTest
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_site_isolation;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2765443004
Cr-Commit-Position: refs/heads/master@{#468760}

[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/base/android/java/src/org/chromium/base/UnguessableToken.java
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/browser/BUILD.gn
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/browser/android/browser_jni_registrar.cc
[add] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/browser/android/dialog_overlay_impl.cc
[add] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/browser/android/dialog_overlay_impl.h
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/browser/frame_host/render_frame_host_android.cc
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/browser/frame_host/render_frame_host_android.h
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/common/frame_messages.h
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/public/android/BUILD.gn
[delete] https://crrev.com/8e6eb4e3f0954589213463fb852ebc6f14d77eea/content/public/android/java/src/org/chromium/content/browser/androidoverlay/AndroidOverlayImpl.java
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/public/android/java/src/org/chromium/content/browser/androidoverlay/AndroidOverlayProviderImpl.java
[add] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/public/android/java/src/org/chromium/content/browser/androidoverlay/DialogOverlayCore.java
[add] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/public/android/java/src/org/chromium/content/browser/androidoverlay/DialogOverlayImpl.java
[add] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/public/android/java/src/org/chromium/content/browser/androidoverlay/ThreadHoppingHost.java
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/public/android/java/src/org/chromium/content/browser/framehost/RenderFrameHostImpl.java
[add] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/public/android/javatests/src/org/chromium/content/browser/androidoverlay/DialogOverlayImplTest.java
[add] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/public/android/junit/src/org/chromium/content/browser/androidoverlay/DialogOverlayCoreTest.java
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/renderer/render_frame_impl.h
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/renderer/render_frame_impl_browsertest.cc
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/content/test/BUILD.gn
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/media/base/android/BUILD.gn
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/media/base/android/android_overlay.h
[add] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/media/base/routing_token_callback.h
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/media/mojo/clients/BUILD.gn
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/media/mojo/clients/mojo_android_overlay.cc
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/media/mojo/clients/mojo_android_overlay_unittest.cc
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/media/mojo/interfaces/android_overlay.mojom
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/ui/android/java/src/org/chromium/ui/base/WindowAndroid.java
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/ui/android/window_android.cc
[modify] https://crrev.com/a8da3b572593e1a166bc2e3a22821a17feb0af27/ui/android/window_android.h

Blockedon: 718577
Blockedon: 719181
Blockedon: 719591
Blockedon: 719693
Blocking: 721201
Blockedon: 662995
Blockedon: 722933
Project Member

Comment 26 by bugdroid1@chromium.org, May 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8995704088c6ab7946e9c363cf8875d96978da8c

commit 8995704088c6ab7946e9c363cf8875d96978da8c
Author: liberato <liberato@chromium.org>
Date: Wed May 17 20:15:08 2017

Use AndroidOverlay in AVDA.

If AVDA is provided with a routing token and factory, then it will
use them to create an AndroidOverlay rather than CVV.

BUG= 618368 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2890033002
Cr-Commit-Position: refs/heads/master@{#472544}

[modify] https://crrev.com/8995704088c6ab7946e9c363cf8875d96978da8c/media/gpu/android_video_decode_accelerator.cc

Blockedon: 726403
Blockedon: 729707
Blocking: 732866
Blockedon: 737155
Blockedon: 737573
Blockedon: 744706
Blockedon: 751746
Blockedon: 752504
Blockedon: 752651
Blockedon: 753567
Project Member

Comment 37 by bugdroid1@chromium.org, Aug 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a2d345d5b1fdd4c871344c58d928774e5bfa4be1

commit a2d345d5b1fdd4c871344c58d928774e5bfa4be1
Author: liberato@chromium.org <liberato@chromium.org>
Date: Thu Aug 10 14:31:06 2017

Enable AndroidOverlay by default.

Bug:  618368 
Change-Id: If80d2ecbf549daaebe5a73cf87681114ad80c168
Reviewed-on: https://chromium-review.googlesource.com/604168
Reviewed-by: Thomas Guilbert <tguilbert@chromium.org>
Commit-Queue: Frank Liberato <liberato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493383}
[modify] https://crrev.com/a2d345d5b1fdd4c871344c58d928774e5bfa4be1/media/base/media_switches.cc

Blockedon: 754346
Blockedon: 754461
Blockedon: 758263
Blockedon: 760506
Blockedon: 761108
Blockedon: 763929
Blockedon: 763930
Project Member

Comment 45 by bugdroid1@chromium.org, Sep 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/06ac8305a0f6cf8eb288e6bb600922550c989044

commit 06ac8305a0f6cf8eb288e6bb600922550c989044
Author: liberato@chromium.org <liberato@chromium.org>
Date: Thu Sep 21 20:42:05 2017

Enable overlays for fullscreen-div cases on Android.

Bug:  618368 
Change-Id: Ida7033ce771a2a7b29e0a49eb425ff67ace4791f
Reviewed-on: https://chromium-review.googlesource.com/677408
Reviewed-by: Thomas Guilbert <tguilbert@chromium.org>
Commit-Queue: Frank Liberato <liberato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503551}
[modify] https://crrev.com/06ac8305a0f6cf8eb288e6bb600922550c989044/media/base/media_switches.cc

Comment 46 by w...@chromium.org, Oct 3 2017

Blocking: 660942
Status: Fixed (was: Assigned)

Sign in to add a comment