Skip to main content
Participant
July 5, 2016
Question

Air 22 video issues on Android

  • July 5, 2016
  • 6 replies
  • 2324 views

Has anybody had any success in getting Air 22 to play video at all?  At this point every single video project of ours is broken in Air 22 or the video plays back stuttering, no matter what Android device or OS version.  The problem happens when I use the netstream.play() command, and when it starts logging "We didn't have  tls entry for the JNIEnv, but the thread was attached", the video performance stutters or just plays black.

Below is what I see in LogCat on every video play.

07-05 17:27:31.106: W/System.err(30922): java.lang.NoSuchMethodError: no method with name='setNativeInstance' signature='(J)V' in class Lcom/adobe/flashruntime/air/VideoViewAIR;

07-05 17:27:31.106: W/System.err(30922):     at com.adobe.air.customHandler.callTimeoutFunction(Native Method)

07-05 17:27:31.106: W/System.err(30922):     at com.adobe.air.customHandler.handleMessage(customHandler.java:22)

07-05 17:27:31.106: W/System.err(30922):     at android.os.Handler.dispatchMessage(Handler.java:99)

07-05 17:27:31.106: W/System.err(30922):     at android.os.Looper.loop(Looper.java:137)

07-05 17:27:31.106: W/System.err(30922):     at android.app.ActivityThread.main(ActivityThread.java:5103)

07-05 17:27:31.106: W/System.err(30922):     at java.lang.reflect.Method.invokeNative(Native Method)

07-05 17:27:31.106: W/System.err(30922):     at java.lang.reflect.Method.invoke(Method.java:525)

07-05 17:27:31.106: W/System.err(30922):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)

07-05 17:27:31.106: W/System.err(30922):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)

07-05 17:27:31.106: W/System.err(30922):     at dalvik.system.NativeStart.main(Native Method)

07-05 17:27:31.106: D/dalvikvm(30922): GREF has increased to 201

07-05 17:27:31.106: D/runtime(30922): /30922: AndroidMediaCodec::Initialized

07-05 17:27:31.116: I/OMXClient(30922): Using client-side OMX mux.

07-05 17:27:31.126: W/audio_hw_primary(2316): card 1, port 0 device 0x400

07-05 17:27:31.126: W/audio_hw_primary(2316): rate 44100, channel 2 period_size 0x300

07-05 17:27:31.136: D/runtime(30922): /30998: We didn't have  tls entry for the JNIEnv, but the thread was attached

07-05 17:27:31.136: I/OMXClient(30922): Using client-side OMX mux.

07-05 17:27:31.156: D/runtime(30922): /30997: AndroidMediaCodec:: about to call configure

07-05 17:27:31.156: D/runtime(30922): /30997: AndroidMediaCodec:: configure returned successfully

07-05 17:27:31.176: E/OMXMaster(30922): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.

07-05 17:27:31.176: E/OMXMaster(30922): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.

07-05 17:27:31.176: E/OMXMaster(30922): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.

07-05 17:27:31.176: E/OMXMaster(30922): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.

07-05 17:27:31.176: E/OMXMaster(30922): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.

07-05 17:27:31.176: E/OMXMaster(30922): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.

07-05 17:27:31.176: E/OMXMaster(30922): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.

07-05 17:27:31.176: E/OMXMaster(30922): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.

07-05 17:27:31.176: E/OMXMaster(30922): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.

07-05 17:27:31.176: E/OMXMaster(30922): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.

07-05 17:27:31.176: E/OMXMaster(30922): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.

07-05 17:27:31.176: E/OMXMaster(30922): A component of name 'OMX.Freescale.std.parser.streaming.sw-based' already exists, ignoring this one.

07-05 17:27:31.176: E/OMXMaster(30922): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.

07-05 17:27:31.196: D/runtime(30922): /30998: ndroidMediaFormat::InitClass initialized

07-05 17:27:31.196: D/runtime(30922): /30998: We didn't have  tls entry for the JNIEnv, but the thread was attached

07-05 17:27:31.196: D/runtime(30922): /30998: We didn't have  tls entry for the JNIEnv, but the thread was attached

07-05 17:27:31.196: D/runtime(30922): /30998: We didn't have  tls entry for the JNIEnv, but the thread was attached

07-05 17:27:31.196: D/runtime(30922): /30998: We didn't have  tls entry for the JNIEnv, but the thread was attached

07-05 17:27:31.196: D/runtime(30922): /30998: We didn't have  tls entry for the JNIEnv, but the thread was attached

07-05 17:27:31.196: D/runtime(30922): /30998: We didn't have  tls entry for the JNIEnv, but the thread was attached

07-05 17:27:31.196: D/runtime(30922): /30998: We didn't have  tls entry for the JNIEnv, but the thread was attached

07-05 17:27:31.196: D/runtime(30922): /30998: We didn't have  tls entry for the JNIEnv, but the thread was attached

This topic has been closed for replies.

6 replies

3BOpticInstruments
Participating Frequently
September 22, 2016

I'm also having problems with video on AIR 23.0.0.257 for Android. I'm having problems with MediaPromise, too. It won't load media from Camera Roll.

Legend
August 28, 2016

There are still problems with AIR 23 beta and Android video
I've created a small Flash Builder project which plays HLS video using a VideoTexture.

https://github.com/tuarua/AIR-BUG-4167492

My device is a Samsung S5 (SM-G900F) with Android 6.0.1 running on it.

The main symptom is sound playing but no video
The same video on AIR 22 plays for 10 seconds on then stalls

A different HLS stream plays ok on AIR 22 but plays sound and displays no video in AIR 23 beta.

These streams are played using the FlasHLS plugin which demuxes the HLS and plays out via appendBytes

Simulator plays is OK.

Mayank_Gupta
Adobe Employee
Adobe Employee
September 16, 2016

Hello,

Thanks for reporting the issue.

This issue is reproducible at our end and we have logged an internal bug for the same and working on it to fix.

We will let you know once we fix.

Regards,

Adobe AIR Team

Participant
September 30, 2016

According to my test in the Android platform is only able to play the normal SDK23.0.0.221, look forward to the new version to fix the problem

Inspiring
August 17, 2016

Further to my last post about the video play speed on Android vs iOS, I just cam across another strange video playback issue. Using Air 22 on iOS and stagevideo, when I start the app and play a video, all seems fine. During the day, if I use other apps, calls, etc., then come back to the app, video still plays ok. But when I leave the phone over night (say 12 hours), and turn on the phone, bring up the app from background (it was still running), and then try to play a video, it plays it at twice speed - even the counter counts at 2 second intervals. Not sure what could be causing this, but the only fix I can find is to restart the phone, then start the app again - which is not really an acceptable fix.

Inspiring
August 12, 2016

Thanks Colin, been trying out various configurations and found some interesting issues.

1) On Android, StageVideo does not play flv (at least in my testing). On iOS, StageVideo plays flv.

2) playing a video on Android and playing the same video on iOS does not play at the same speed - sounds a bit odd, let me explain. If I have a video that is actually 10 seconds long, it takes the iOS about 10 seconds to play it. On Android, using either a video object or a stagevideo object, it takes about 11 seconds. I suspected it may be due to the rendering, so tried with cpu, gpu and direct, same results. I have timers counting the current position/total length, and they seem to count fractionally slower on the Android - in other words it is playing slower than "real time". Just wondering if anyone has seen this, and if this is an issue with hardware or air and how can I fix this?

Inspiring
July 21, 2016

HI,

Tried out StageVideo on iOS using Air 22 playing flv and works fine - takes a bit of getting used to it showing up on the stage below everything else, but works nonetheless. Also figured out how to do a full screen landscape mode using stage orientation and stage scalemode since stagevideo doesn't  rotate. Thanks. 

Colin Holgate
Inspiring
July 21, 2016

I'm surprised it plays FLV, but that's good. F4V would be a different thing, it's H.264.

If it is really playing FLV (meaning, On2-VP6 video), you should give an H.264 video a chance. The quality and performance would be better, and you can be more sure that the audio will sound good and work well.

As for the video being behind everything, take advantage of that. You can place regular display objects on top of the video without affecting performance.

gauravs2727
Adobe Employee
Adobe Employee
July 7, 2016

Hi,

Thanks for reporting this issue. We are already aware of this issue and investigating the same further for proper resolution. We are tacking the same with bug # Bug#4167492 - MP4 Video rendering completely broken in Air 22 on all version of Android.

Kindly, let us know if in case this issue reported is different from Bug#4167492.

Regards,

Adobe AIR Team

Inspiring
July 21, 2016

HI, I am also working with trying to get video to play in Air 22. On iOS I can't seem to get it to play mp4 at all, and flv plays stuttering (it is visible, and it has audio, but it stutters). The same flv file plays on win/mac/android without stutter. I am using a video object, netstream, and render mode of gpu or cpu same results.

Thanks.

Colin Holgate
Inspiring
July 21, 2016

You should try StageVideo. It works with net stream, almost exactly like usual, but it can play H.264 with hardware decoding.

StageVideo works in Direct or GPU, haven't tried in CPU.