three.js: Safari/Firefox DOM Exception 18 for Streaming Video Texture

screen shot 2016-02-11 at 5 46 00 pm

https://dl.dropboxusercontent.com/u/1595444/shaka-player/stream-texture.html (on Chrome clicking play on the video element shows an upside down render of the video on the canvas element. In Safari/Firefox texImage2D is real upset)

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 95 (20 by maintainers)

Commits related to this issue

Most upvoted comments

Everyone, do your part and convince the people you know to stop using Apple devices. Let them know that Apple is the new IE5.

Well sad to say CORS on IOS is a framework restriction I believe which they didn’t bother to fix in IOS 10. Apart from that anything that uses Webkit is a problem.

New update. IOS 11 beta on devices reported to have CORS fixed. Now require a brand new device that supports IOS 11.

Don’t even bother with the simulator it’s broken and doesn’t have the CORS fix.

https://bugs.webkit.org/show_bug.cgi?id=135379#c108

@timothyallan I have had too many other projects to concentrate on as I develop many different video player features. As far as I can tell they have fixed it in macOS Safari every other Safari is vapourware as far as they are concerned. I saw no updates for older OS even security updates.

IOS 10 is the deal breaker here and still the problem. I’ve had to explain to people all the time why it is not working and how to avoid it.

Apple expect people to update to new operating systems and that is final I believe.

The webgl issue with Dash in Safari I see dribs and drabs of status updates on that ticket but in my test I think that was also working in macOS.

I think so there is nothing you can do. Just like the “older Idevice intended throttling to make it obsolete” as we just found out with the fps issue.

Confirming CORS is fixed in IOS 11.1. I just finally got the budget to get a hardware device for testing. It has taken this long.

There is no need for CORS proxy with 11.1. I don’t think CORS attribute support can be properly tested with Safari. Have to do client version checks.

There is major HLS/webgl regression issues to go through now though.

Same issues here… Works everywhere except iOS. So upsetting. What a big hole in my deliverable. It ONLY works (terrible frame rate may I add) when the source path is relative… Not ideal for scaling system. Ugh… Well… At least I can stop banging my head… It’s impossible… For now… Now to build around it… And ux fallbacks and messaging.

Yes! 🤘

For apache

 ProxyPass /video/ //videos.electroteque.org/
    ProxyPassReverse /video/ //videos.electroteque.org/

For nginx

location /video/ {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass //videos.electroteque.org/;
    proxy_redirect off;
    }

So I believe the pressure is mounting on Apple. They closed my ticket claiming there was a duplicate which you can’t see or comment on and it looks like a very early ticket. But that still doesn’t explain Iphone inline video playback for WebGL. It requires heaps of complaining for them to provide that it could take years.

I’ve gone back to check up with Chrome people and it seems Chrome Dev Android is still broken rendering WebGL. There is some flag that can be turned on to get it displaying but it will cause severe dropped frames.

The stock Android browser has CORS issues like Safari so useless. Firefox IOS lacks CORS support also and going to add a ticket to get them to implement it. This CORS stuff crippling everything is just shocking.

So if you guys need a support vector for mobile with all features working. Android Firefox nightly as they fixed orientation bugs there and that is it. Very sad.

OK after doing some research for inline video hacks for Iphone which I’ve already added to the Apple ticket it does seem drawing to the 2D canvas is ok without CORS. Its when trying to get a data uri from it it has the problem so my mistake. So it seems when using WebGL it is also a problem because Safari lack of CORS support and have to resort to the canvas renderer instead.

It won’t or does not perform well on IOS as it drops frames and I believe it needs an audio tag running to play the audio through so that won’t work out well for mpeg dash.

see http://stanko.github.io/html-canvas-video-player/