You are not logged in.

Dear visitor, welcome to krpano.com Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Friday, September 9th 2016, 4:55pm

krpano 1.19-pr7 with iOS 10 support

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! *g* ;-))

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):
http://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

2

Friday, September 9th 2016, 5:14pm

*thumbup*

ParallaxVT

Beginner

Posts: 21

Occupation: Photographer

  • Send private message

3

Friday, September 9th 2016, 5:54pm

Thank you very much Klaus! *thumbsup*

benji33

Intermediate

Posts: 244

Location: France

Occupation: Senior Software engineer

  • Send private message

4

Monday, September 12th 2016, 10:14am

Simple question but the additionnal sound for iOS 9 and less videos integration will be ignored on iOS10 ? Or a check must be done manually to change url ?

5

Monday, September 12th 2016, 11:46pm

Can the dropplet/skin/etc... in 1.19pr7 be modified to exclude all Flash references so it will open in Chrome when hosted locally on a desktop?

Thanks,
Travis

ParallaxVT

Beginner

Posts: 21

Occupation: Photographer

  • Send private message

6

Tuesday, September 13th 2016, 9:27am

Hello Klaus,

Could you elaborate more on this point? What is an "Unnamed array item" exactly?

Quoted

Fix: Unnamed array items, but when the array itself is existent, weren't set (Flash-only)


Many thanks.

7

Tuesday, September 13th 2016, 9:55am

Hi,

Simple question but the additionnal sound for iOS 9 and less videos integration will be ignored on iOS10 ? Or a check must be done manually to change url ?
Yes, the additional sound and basically the whole iphone-workaround-case (that's a big internal code part) will be ignored/not used on iOS 10 or higher, because that's not necessary there. That's all automatic.

If you want to support iOS versions before iOS 10, include an additional sound file, otherwise not.



Can the dropplet/skin/etc... in 1.19pr7 be modified to exclude all Flash references so it will open in Chrome when hosted locally on a desktop?
What or how do you mean that???
Excluding all Flash references is possible of course (just edit the html and xml files and remove all swf references), but that's basically not necessary or wouldn't have any effect.
And that wouldn't be related in any way to Chome local usage of HTML5 (that means the possibility to load of the local xml files in HTML5 in Chrome).



Could you elaborate more on this point? What is an "Unnamed array item" exactly?
E.g. when defining a hotspots without 'name' attribute (=unnamed):

Source code

1
2
<hotspot url="..." ath="1" atv="1" />
<hotspot url="..." ath="20" atv="20" />

The 'hotspot' array itself is already predefined and when trying to set a new element (the 'hotspot') but where the name (the name 'hotspot') is an already an existing array, then krpano generates automatically a name and adds that element as item to that array.
In the recent Flash versions this wasn't work by a small mistake.

Best regards,
Klaus

8

Tuesday, September 13th 2016, 5:40pm

What or how do you mean that???
Excluding all Flash references is possible of course (just edit the html and xml files and remove all swf references), but that's basically not necessary or wouldn't have any effect.
And that wouldn't be related in any way to Chome local usage of HTML5 (that means the possibility to load of the local xml files in HTML5 in Chrome).


We often use locally stored KRPano's for meetings and such. It is safer as we don'y have to worry about having internet access. If we created the pano using 1.18 it will open fine in Chrome. If we create the pano using 1.19 we get a security error and a message saying we should use a localhost testing server. Only Chrome creates the message, we can switch to Firefox and the version created in 1.19 will open as expected without the need for a localhost testing server. I was assuming that this error was created by Flash being included even though I have specified HTML5 version only.

While this is not the end of the world it has prevented us from fully transitioning to 1.19 even though we much prefer the enhanced interface of 1.19.

9

Tuesday, September 13th 2016, 9:02pm

While this is not the end of the world it has prevented us from fully transitioning to 1.19 even though we much prefer the enhanced interface of 1.19.
Just set the 'localfallback' setting to Flash:
http://krpano.com/docu/html/#localfallback

e.g.

Source code

1
embedpano({..., localfallback:"flash"});

10

Wednesday, September 14th 2016, 7:24am

Video Panorama cannot play in Chrome with iOS10

Hi! Klaus

In iOS10, Chrome can not play video panorama.
It plays as equirectangular fullscreen video.

Is there anything I can do for that?

tsukada

Beginner

Posts: 27

Location: Tokyo, Japan

Occupation: Programmer

  • Send private message

11

Thursday, September 15th 2016, 3:09am

Hi Klaus,

The pr6 problem I reported at
krpano 1.19-pr4 / 1.19-pr5 / 1.19-pr6

still occurrs with pr7.

12

Thursday, September 15th 2016, 8:21am

Hi Klause,
I´m having a problem with pr7 (i just tested with pr3 and the problem wasn´t there).
I have 3 hotspot-styles in my krpano.xml and a hotspot looking like this:

Source code

1
<hotspot name="spot-aqua3000" onclick="loadscene(aqua3000, null, MERGE, blend(1));" style="aqua3000" ath="-87.38" atv="-11.17" />


Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
	<style name="hotspotstyle"
        url="../../data/img/icons/hotspots.svg"
        zoom="false"
        alpha="1"
        onover="rotateofftemp()"
	    onout="rotateaction();"
	    scale="0.35"
	/>
	
	<style name="hotspotstyle-pano"
        url="../../data/img/icons/hotspot-pano.svg"
        zoom="false"
        alpha="1"
        onover="rotateofftemp()"
	    onout="rotateaction();"
	    scale="0.5"
	/> 
	
	<style name="aqua3000"
        url="../../data/img/icons/aqua3000.svg"
        zoom="false"
        alpha="1"
        onover="rotateofftemp()"
	    onout="rotateaction();"
	    scale="0.7"
	/> 


In Safari the hotpot hasn´t just style "aqua3000" but it has all 3 styles. That means all the 3 images are overlapping each other - but not so in Chrome!

Is there a possibility to download pr6/pr5 to test it there?

Best regards,
Marc

13

Thursday, September 15th 2016, 1:56pm

Hi,
In iOS10, Chrome can not play video panorama.
It plays as equirectangular fullscreen video.

Is there anything I can do for that?
The problem is the iOS webview - that inline-video-support isn't enabled there by default. As it seems the browser developers need to enable it manually.

According to the information from the Chrome iOS developement here:
https://bugs.chromium.org/p/chromium/issues/detail?id=395206
https://chromium.googlesource.com/chromi…a83150c712bcfb2
this should be already fixed and probably available soon in one of the next Chrome updates...

Technically it would be possible to detect iOS browsers without inline-video-support to re-enable the old iOS-iPhone-workaround for them, but unfortunately the workaround itself doesn't work well in iOS 10 WebViews for some reason (I'm still researching here).

Best regards,
Klaus

14

Thursday, September 15th 2016, 1:58pm

In Safari the hotpot hasn´t just style "aqua3000" but it has all 3 styles. That means all the 3 images are overlapping each other - but not so in Chrome!
That would very very strange (I would say impossible).
Please post a link to an example (in a separate thread!).

15

Friday, September 16th 2016, 7:14am

Thank you for reply.
According to the information from the Chrome iOS developement here:
https://bugs.chromium.org/p/chromium/issues/detail?id=395206
https://chromium.googlesource.com/chromi…a83150c712bcfb2
this should be already fixed and probably available soon in one of the next Chrome updates...


OK. I'll wait for future Chrome updates...
( Inline video support is big feature of iOS10 so this update may release soon ... I hope.)

Technically it would be possible to detect iOS browsers without inline-video-support to re-enable the old iOS-iPhone-workaround for them, but unfortunately the workaround itself doesn't work well in iOS 10 WebViews for some reason (I'm still researching here).


Some of existing iOS UIWebView based app don't implement allowsInlineMediaPlayback as true.
So these app can't play video panorama in iOS10.


Could you please fix this problem from contents side.
( Some of our customers use app based web viewer...)


Thank you!

16

Friday, September 16th 2016, 10:19am

Could you please fix this problem from contents side.
I'm already trying - but iOS 10 is buggy in webviews - the old iOS 9 workaround doesn't always work in iOS 10 webviews, sometimes the videos just don't load... I'm still looking for workarounds... (see above 'I'm still researching here').

17

Friday, September 16th 2016, 4:20pm

ip5 play panovideo is black screen

I have update to krpano 1.19-pr7, in ip6/ip6plus play panoramic-video is good , but in ip5/ip5s play panoramic-video only can play the sound and the video image is black screen, like not play video. can you help to check what cause this bug?

18

Saturday, September 17th 2016, 11:28am

Videopano on iOS 10. Severe problems

Hello to all!
A week ago I built a demo for Pompeii, with stereoscopic 3D videopano. On IPhone 6s iOS 9 everything worked perfectly. Yesterday I upgraded to iOS 10.
Result: the app does not work and gives me the error: "A Problem Occurred with this Webpage so it was Reloaded". I changed the video formats (from .mp4, to m4v, mov, mpeg, ...) but I can not fix it.
On PC all works fine ...
Someone knows a solution?


Tis is the link:
www.itlab.ibam.cnr.it/stereo_pompei/index.html


Regards
Francesco

19

Saturday, September 17th 2016, 11:54am

Someone knows a solution?
Sorry, but please read the first post of the thread!
It's about a new krpano version that works around the iOS10 bugs!
That means the solution would be upgrading to that new krpano version! ;-)

Beside of this - you have broken your videopano.xml - look at that part:

Source code

1
2
3
4
5
6
7
8
if(device.ios,
<!-- iOS Safari has a very slow 'video-to-webgl-texture' transfer, therefore use a low-res video by default -->
    videointerface_play('1024x512');
  ,
    videointerface_play('1920x960');
  ,
    videointerface_play('2560x1440');
  );
That's an invalid if() syntax - see here:
http://krpano.com/docu/actions/#if

20

Saturday, September 17th 2016, 5:58pm

I have seen now! I try and let you know.
regards