Bug 197527
Summary: | HLS videos not rendered when used as WebGL textures until canvas is resized | ||
---|---|---|---|
Product: | WebKit | Reporter: | Pavel Pomerantsev <pomerantsevp> |
Component: | WebGL | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED INVALID | ||
Severity: | Major | CC: | dino, jer.noble, jonlee, kkinnunen, pomerantsevp, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | Safari 12 | ||
Hardware: | iPhone / iPad | ||
OS: | iOS 12 |
Pavel Pomerantsev
If an HLS video is used as a WebGL texture, it's not displayed initially.
In order to display it, the WebGL canvas needs to be resized (`canvas.width` or `canvas.height` needs to change after the video has started playing).
HLS videos as textures are working correctly in iOS 12.0.1 (16A404), but not in iOS 12.2 (16E227). It doesn't seem to be OS-version-dependent rather than hardware-dependent (I tested it on a few different iPhone models).
Here's a minimal reproduction of the issue: http://ios-bug-demo.s3-website-us-east-1.amazonaws.com/ — in desktop Safari and in older iOS Safari versions the video is displayed inside the canvas as soon as video starts playing, but in iOS 12.2 you have to additionally click on the canvas to see the video.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/50589167>
Radar WebKit Bug Importer
<rdar://problem/50589169>
Kimmo Kinnunen
Thanks for the report.
I think the test-case outputs some errors related to video element not having the video content.
In ThreeJS I think there's a VideoTexture that could be used.
If there's further problems with current iOS, please reopen and maybe revise the test case a bit.