WMPI should always send the routing token to AVDA, and the surface chooser should use the fullscreen hint to decide when to use AO. this lets us use AO for L1 embedded.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7756848d834f78ca69b684ad369c98755496db46 commit 7756848d834f78ca69b684ad369c98755496db46 Author: liberato@chromium.org <liberato@chromium.org> Date: Thu Jun 22 00:11:26 2017 Use fullscreen hint from WMPI in AVDA. Previously, WMPI would send / revoke the overlay factory during fullscreen transitions. AVDA simply chose an overlay based on whether it had a CVV surface id (or AndroidOverlay routing token). That doesn't allow AVDA to make smarter decisions based on local information, such as whether the overlay is currently supported by the browser compositor. This CL retains that behavior for ContentVideoView. For AO, it provides the routing token immediately, and sends signals about the current fullscreen state to AVDA. AndroidVideoSurfaceChooser now uses these signals to choose between SurfaceTexture and overlay. This CL also adds is_secure to the chooser, and makes AVDA set it. Bug: 732866 Test: AndroidVideoSurfaceChooser Change-Id: I307679865ce8e6623a2f7a3e6709c808f5faf806 Reviewed-on: https://chromium-review.googlesource.com/540182 Commit-Queue: Frank Liberato <liberato@chromium.org> Reviewed-by: Chris Watkins <watk@chromium.org> Cr-Commit-Position: refs/heads/master@{#481367} [modify] https://crrev.com/7756848d834f78ca69b684ad369c98755496db46/media/blink/webmediaplayer_impl.cc [modify] https://crrev.com/7756848d834f78ca69b684ad369c98755496db46/media/gpu/android/media_codec_video_decoder.cc [modify] https://crrev.com/7756848d834f78ca69b684ad369c98755496db46/media/gpu/android/media_codec_video_decoder.h [modify] https://crrev.com/7756848d834f78ca69b684ad369c98755496db46/media/gpu/android/media_codec_video_decoder_unittest.cc [modify] https://crrev.com/7756848d834f78ca69b684ad369c98755496db46/media/gpu/android_video_decode_accelerator.cc [modify] https://crrev.com/7756848d834f78ca69b684ad369c98755496db46/media/gpu/android_video_decode_accelerator.h [modify] https://crrev.com/7756848d834f78ca69b684ad369c98755496db46/media/gpu/android_video_decode_accelerator_unittest.cc [modify] https://crrev.com/7756848d834f78ca69b684ad369c98755496db46/media/gpu/android_video_surface_chooser.h [modify] https://crrev.com/7756848d834f78ca69b684ad369c98755496db46/media/gpu/android_video_surface_chooser_impl.cc [modify] https://crrev.com/7756848d834f78ca69b684ad369c98755496db46/media/gpu/android_video_surface_chooser_impl.h [modify] https://crrev.com/7756848d834f78ca69b684ad369c98755496db46/media/gpu/android_video_surface_chooser_impl_unittest.cc [modify] https://crrev.com/7756848d834f78ca69b684ad369c98755496db46/media/gpu/fake_android_video_surface_chooser.cc [modify] https://crrev.com/7756848d834f78ca69b684ad369c98755496db46/media/gpu/fake_android_video_surface_chooser.h [modify] https://crrev.com/7756848d834f78ca69b684ad369c98755496db46/media/gpu/gpu_video_decode_accelerator_factory.cc
Comment 1 by liber...@chromium.org
, Jun 13 2017