Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[media] Workaround to support video poster #1037

Merged
merged 1 commit into from
Jul 26, 2023
Merged

Conversation

xiaomings
Copy link
Contributor

@xiaomings xiaomings commented Jul 25, 2023

This CL allows the web app to set a poster image for video element by:

  1. Playing the video in decode-to-texture mode.
  2. Setting the poster image as the background image of the video element.

Previously the video background is painted to black when there are no frames to display. This isn't the expected behavior as it overwrites any background image or color settings on the video element.

Now by default Cobalt won't paint the video background to black.

H5vcc setting MediaElement.PaintingVideoBackgroundToBlack is also introduced so the web app can opt for the previous behavior, i.e. set the background to black.

b/261922568

@xiaomings xiaomings force-pushed the poster branch 5 times, most recently from 6ce5490 to 10f66ad Compare July 26, 2023 00:28
@xiaomings xiaomings changed the title [media] Don't paint video background to black [media] Workaround to support video poster Jul 26, 2023
@xiaomings xiaomings marked this pull request as ready for review July 26, 2023 00:29
@codecov
Copy link

codecov bot commented Jul 26, 2023

Codecov Report

Merging #1037 (0f8641a) into main (40b4225) will increase coverage by 0.01%.
Report is 2 commits behind head on main.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #1037      +/-   ##
==========================================
+ Coverage   56.88%   56.90%   +0.01%     
==========================================
  Files        1898     1898              
  Lines       94090    94107      +17     
==========================================
+ Hits        53525    53553      +28     
+ Misses      40565    40554      -11     
Files Changed Coverage Δ
cobalt/dom/html_video_element.h 100.00% <ø> (ø)
cobalt/dom/html_video_element.cc 38.70% <100.00%> (+11.78%) ⬆️
cobalt/dom/media_settings.cc 100.00% <100.00%> (ø)
cobalt/dom/media_settings.h 100.00% <100.00%> (ø)

... and 5 files with indirect coverage changes

This CL allows the web app to set a poster image for video element by:
1. Playing the video in decode-to-texture mode.
2. Setting the poster image as the background image of the video element.

Previously the video background is painted to black when there are no
frames to display.  This isn't the expected behavior as it overwrites
any background image or color settings on the video element.

Now by default Cobalt won't paint the video background to black.

H5vcc setting `MediaElement.PaintingVideoBackgroundToBlack` is also
introduced so the web app can opt for the previous behavior, i.e. set
the background to black.

b/261922568
@xiaomings xiaomings merged commit a816c49 into youtube:main Jul 26, 2023
349 checks passed
@xiaomings xiaomings deleted the poster branch July 26, 2023 22:08
@xiaomings xiaomings added the cp-24.lts.1+ Cherry Pick to the 24.lts.1+ branch label Jul 26, 2023
cobalt-github-releaser-bot pushed a commit that referenced this pull request Jul 26, 2023
This CL allows the web app to set a poster image for video element by:
1. Playing the video in decode-to-texture mode.
2. Setting the poster image as the background image of the video
element.

Previously the video background is painted to black when there are no
frames to display. This isn't the expected behavior as it overwrites any
background image or color settings on the video element.

Now by default Cobalt won't paint the video background to black.

H5vcc setting `MediaElement.PaintingVideoBackgroundToBlack` is also
introduced so the web app can opt for the previous behavior, i.e. set
the background to black.

b/261922568

(cherry picked from commit a816c49)
kaidokert pushed a commit that referenced this pull request Jul 26, 2023
Refer to the original PR: #1037

This CL allows the web app to set a poster image for video element by:
1. Playing the video in decode-to-texture mode.
2. Setting the poster image as the background image of the video
element.

Previously the video background is painted to black when there are no
frames to display. This isn't the expected behavior as it overwrites any
background image or color settings on the video element.

Now by default Cobalt won't paint the video background to black.

H5vcc setting `MediaElement.PaintingVideoBackgroundToBlack` is also
introduced so the web app can opt for the previous behavior, i.e. set
the background to black.

b/261922568

Co-authored-by: xiaomings <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cp-24.lts.1+ Cherry Pick to the 24.lts.1+ branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants