Chromium Code Reviews
DescriptionMake the video layer contents visible in OverlayFullscreenVideo mode
Previously, in OverlayFullscreenVideo mode, the video GraphicsLayer contents
was set to invisible because the video frames were rendered directly to an
underlay without involving the cc::VideoLayer.
With this change the video layer contents is changed to visible to give
WebMediaPlayer implementations more control. Previously only
WebMediaPlayerAndroid needed to use OverlayFullscreenVideo mode, but a
future CL will enable it for WebMediaPlayerImpl too. WMPA and WMPI have
different requirements for OverlayFullscreenVideo, but they both use the
fact that the LayerTreeView background is made transparent.
WMPA will continue to make the whole LayerTreeView transparent, but it now
does so by setting the layer's current VideoFrame to a transparent frame.
WMPI will not make the video frame transparent, but will let it be
composited as usual. With WMPI we need to composite the frames because:
a) In hardware underlay mode the ui compositor is responsible for timing
the release of video frames to the underlay surface by scheduling them
as overlay planes. So we need the ui compositor to see every new video
frame.
b) With WMPI we can have software decoded frames for which we currently
have no way of rendering to the underlay surface. As a result,
they will be rendered by the compositor to the main surface.
BUG=603521
Committed: https://crrev.com/e779e5a0f7e8bab98dab472cdbb29a850294a34b
Cr-Commit-Position: refs/heads/master@{#391728}
Patch Set 1 #
Total comments: 3
Patch Set 2 : Rebase #Patch Set 3 : Update pixel expectations; now include the video frame. #
Total comments: 1
Patch Set 4 : Rebase #Patch Set 5 : Clarified comment #Messages
Total messages: 24 (8 generated)
|