Summary: | Adaptive Stream Video Throws DOM Exception 18 When Uploaded to a Texture | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | jonobr1 <jonobrandel> | ||||
Component: | Canvas | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED DUPLICATE | ||||||
Severity: | Critical | CC: | dino, electroteque, jer.noble, jonlee, webkit-bug-importer | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | Safari 9 | ||||||
Hardware: | Mac | ||||||
OS: | OS X 10.11 | ||||||
Attachments: |
|
Description
jonobr1
2016-02-12 13:04:45 PST
This looks to be the same bug as #135379. Because loading is done by AVFoundation and not WebKit, we don't have an opportunity to verify CORS headers, and thus all cross-domain resources will taint canvas and WebGL contents when painting. *** This bug has been marked as a duplicate of bug 135379 *** Thanks for the quick reply! I'm still trying to understand the issue in the other bug, but from a preliminary look I think that bug is different. In the case of this issue the error is being thrown despite the contents being on the same domain. In addition, the <canvas /> element demo (https://dl.dropboxusercontent.com/u/1595444/shaka-player/shaka-canvas.html) throws no errors but does not transfer content. I'm not an engineer and just a simple web developer so my understanding of how DOM -> rendering is very naive, but to me the issue seems to be in the irregularity of the <video /> elements behavior. Also, I believe this was previously working before I updated to Safari 9. I need to confirm this though. Are there archived versions of Safari available? Aha, this is a slightly different, but related, issue than the one in #135379. The CORS check fails because the scheme used for the <video> element ("blob://") does not match the one used for the page ("http://"). Additionally, nothing is painted to canvas because our MSE back-end does not currently support painting. We'll have to re-write the way decoding works to get access to the decoded frames before they're added to a AVSampleBufferDisplayLayer, in order to be able to paint efficiently. I raised this issue with Richard in the linked bug. And no, I suspect that this never worked in any Safari. Looks like the correct dup for this bug is #125157. *** This bug has been marked as a duplicate of bug 125157 *** Ahh, this is awesome. Thanks so much for the fast reply and information! This is a matter of leaving things to the last minute. An accident waiting to happen. It is related to the CORS flaw. Once CORS support is enabled , MediaSource WebGL textures will still be a problem. A very basic usage. See this for reference https://bugs.webkit.org/show_bug.cgi?id=135379 My proxy hack work around does not work on Dash only mp4 files. |