Skip to main content
Herado__
Inspiring
May 17, 2016
Answered

StageVideo Fails from AIR20 on Flexmobile / IOS

  • May 17, 2016
  • 1 reply
  • 452 views

Our IOS Flexmobile project has played StageVideo beautifully for many year and Air updates. That's until we created a new version with AIR 20, ( and 21, 22Beta )

No video code changes were made since the AIR 19 SDK version which plays stage video perfectly.

Here's the fault:

StageVideoAvailabilityEvent  returns "available".

So we try to attachNetStream but it fails to render.

However the StageVideoEvent.RENDER_STATE  returns StageVideo Render Status (software/hardware):unavailable

We use vimeo pro for the video and are compiling on Windows with FB 4.7.

The IPAD 2  is running IOS 9.2

We're using bog standard StageVideo code :

protected function onStageVideoAvailable(event:StageVideoAvailabilityEvent):void

  {

  if (event.availability == "available")

  {

  stage.removeEventListener(StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY, onStageVideoAvailable);

  sv = stage.stageVideos[0];

  sv.attachNetStream(ns);

  sv.addEventListener(StageVideoEvent.RENDER_STATE, onRenderState);

  sv.viewPort = new Rectangle(point.x, point.y, kvidFrame.videoWidth, kvidFrame.videoHeight);

  stageVideoSetup = true;

  if(ns){

        ns.play(getSourceDef(videoToPlayVid));

        this.setStyle('backgroundAlpha', '0.0')

  }

. . . .

This topic has been closed for replies.
Correct answer Herado__

This stage video issue was not a fault after all.

It was due to streaming the video over HTTP  versus HTTPS.  After AIR20 this appears to be blocked

1 reply

Herado__
Herado__AuthorCorrect answer
Inspiring
May 17, 2016

This stage video issue was not a fault after all.

It was due to streaming the video over HTTP  versus HTTPS.  After AIR20 this appears to be blocked

Anki_AG_
Adobe Employee
Adobe Employee
May 18, 2016

Hi,

With AIR 20, the AIR Runtime is now built with the iOS 9 SDK which enables AIR developers to use ANEs built with iOS 9 APIs without using the –platformSDK switch when packaging with ADT.  In iOS9, Apple has introduced App Transport Security (ATS) which blocks unsecure connections between App and Web services.  Due to this change, all connections made to unsecure web sites via Loader and URLLoader are now blocked by default and will not work due to App Transport Security.  Please specify exceptions to the default behavior by adding keys to the InfoAdditions tag of your app's application descriptor.

<iPhone>

<InfoAdditions>

<![CDATA[

<key>NSAppTransportSecurity</key>

<dict>

<key>NSExceptionDomains</key>

<dict>

<key>yourserver.com</key>

<dict>

<!--Include to allow subdomains-->

<key>NSIncludesSubdomains</key>

<true/>

<!--Include to allow HTTP requests-->

<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>

<true/>

<!--Include to specify minimum TLS version-->

<key>NSTemporaryExceptionMinimumTLSVersion</key>

<string>TLSv1.1</string>

</dict>

</dict>

</dict>

]]>

</InfoAdditions>

</iPhone>

The same information has been mentioned at https://helpx.adobe.com/flash-player/release-note/fp_20_air_20_release_notes.html

Please let us know if this fixes the issue.

Thanks,
Adobe Air Team