Hi,
two days ago Apple has released the final iOS 10 version (the iOS 10 GM release) and unfortunately all bugs from the previous iOS 10 beta versions are still there...
These bugs are related to WebGL usage with video-textures - for krpano this means related to panoramic-video and video-hotspot usage. Some iOS devices will crash and some others will get internal WebGL errors and then show only a black screen...
After a lot of testing, trying and analyzing the Webkit browser sources, I was able to find the origin of the bug and crashes and workarounds to avoid them (btw as funny note - how far had it been come that it's necessary to review the browsers source code to be able to make stable webapps! ;-))
The reason for that iOS 10 bug is the new and 'faster' gpu-to-gpu video-texture code path in iOS 10.
Unfortunately it's not faster, it's only buggier!
For more about that iOS bug here a simple testcase/example (see the page-source for details):
https://krpano.com/ios/bugs/ios10-webgl-video-texture-crash/
Therefore here a new krpano version - krpano 1.19-pr7.
Beside other smaller fixes it contains workarounds for that iOS 10 bug and supports also the new iOS 10 features like native-supported inline-video for the iPhone and muted autoplay videos. That means no need for an additional audio file for the iPhone anymore and better video/audio synchronization.
Here a quick summary list of the changes in the krpano 1.19-pr7 release:
- krpano viewer
- iOS 10 support (or better: workarounds for iOS 10 webgl+videotexture bugs)
- Don't blacklist the CSS3D support for Chrome (Chrome 50 and higher) anymore. Older Chrome version had buggy CSS3D support, but the newer ones seems to be okay. So it's possible to fall back to CSS3D rendering when WebGL isn't available in Chrome (e.g. because of blacklisted GPU drivers).
- Workarounds for a JIT-compiler bug in Chrome 51/52.
- New: device.handheld setting (same as device.mobile or device.tablet check)
- Change: Report plugin/layer/hotspot loading errors also via the 'onloaderror' event.
- Fix: When wait(0) was called directly after blending to new pano, this caused an endless waiting (Flash-only).
- Fix: Unnamed array items, but when the array itself is existent, weren't set (Flash-only)
- videoplayer.js
- iOS 10 support - native inline-video support on the iPhone.
- New: muted setting - when set to true (=muted, no sound) autoplay is possible on iOS 10 (no touch required to start the video).
- Fix: hide the iOS video play-button also on the newer iOS 9 versions on the iPhone when using videos as layer elements.
- vtourskin.xml
- Fix: The skin_lookat action wasn't using the v and fov parameters.
- Fix: Show the gyro button also when using the little-planet-intro.
According to Apple the public iOS 10 release is planed to be on 13.9.2016, so if you're using panoramic-video or video-hotspots and care about iOS 10, I would recommend updating to the latest krpano version to avoid crashes. And please keep in mind that the bug was in iOS 10 and not in krpano!
Best regards,
Klaus