New issue
Advanced search Search tips

Issue 671354 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Blocking:
issue 662995



Sign in to add a comment

Add support for overlay hints to ResourceProvider

Project Member Reported by liber...@chromium.org, Dec 5 2016

Issue description

Let AVDA request hints about whether a resource (video frame) would be promoted if it were backed by a SurfaceView / DialogSurface or not.

This work covers the AVDA => ResourceProvider path, and the decision about what is promotable.  The actual notification about promotability will be sent to GLStreamTextureImage via follow-up work.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 9 2016

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

commit 304dc19797fefea519996ef33919b61513716af8
Author: liberato <liberato@chromium.org>
Date: Fri Dec 09 20:55:26 2016

Overlay promotion on android is tricky, in that one must know in
advance whether to use a SurfaceView for the overlay or not.  If the
overlay turns out to be skipped for promotion by chrome's overlay
processor, then it simply won't be visible.

This CL adds functionality for a resource to request a hint about
whether it would be promoted or not, even though it's not backed by
a SurfaceView.  This allows the producer of the resource to decide
whether SurfaceView is appropriate or not.

Initial use case will be AndroidVideoDecodeAccelerator, which likes
to promote to SV as much as possible for power savings.

BUG= 671354 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

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

[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/base/resource_id.h
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/ipc/cc_param_traits_macros.h
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/ipc/cc_param_traits_unittest.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/ipc/transferable_resource.mojom
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/ipc/transferable_resource_struct_traits.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/ipc/transferable_resource_struct_traits.h
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/output/overlay_candidate.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/output/overlay_candidate.h
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/output/overlay_processor.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/output/overlay_strategy_underlay.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/resources/resource_provider.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/resources/resource_provider.h
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/resources/resource_provider_unittest.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/resources/texture_mailbox.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/resources/texture_mailbox.h
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/resources/transferable_resource.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/resources/transferable_resource.h
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/cc/surfaces/surface_aggregator.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/components/display_compositor/DEPS
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/components/display_compositor/compositor_overlay_candidate_validator_android.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/media/base/video_frame_metadata.h
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/media/filters/gpu_video_decoder.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/media/gpu/android_video_decode_accelerator.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/media/gpu/ipc/client/gpu_video_decode_accelerator_host.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/media/gpu/ipc/common/media_messages.h
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/media/gpu/ipc/service/gpu_video_decode_accelerator.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/media/video/picture.cc
[modify] https://crrev.com/304dc19797fefea519996ef33919b61513716af8/media/video/picture.h

Status: Fixed (was: Started)

Sign in to add a comment