-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HLS crash on Samsung GT-I8552 #593
Comments
I'm confused about the stack trace you've posted. It doesn't align properly with the version you claim to be using. Specifically, the stack trace shows a crash at L224 of PlayerActivity in onAudioCapabilitiesChanged, but L224 in the code is in a different method: ExoPlayer/demo/src/main/java/com/google/android/exoplayer/demo/PlayerActivity.java Line 224 in acee566
|
I'm really very sorry that the stack trace I have posted is not the corresponding error info. I will repost the stack trace tomorrow as right now I don't have the device which can reproduces the crash. |
No worries, thanks. Please try with the dev branch too when you have the device. We changed some stuff around this area of code, so it's quite likely to have been fixed. |
Thanks. I will try tomorrow and give a feedback. |
I ran the demo of the master branch(commit acee566) on the device as mentioned in the previous comment, it crashed while playing the HLS Apple master playlist video around 10 seconds. The stack trace is as follows: 07-03 19:38:22.621 168-168/? W/omx_vdec﹕ ====================================================================== |
I also tried the demo of the dev brach (commit ead8abf) and met a similar error. I list the full stack trace information below. 07-03 19:33:13.161 14776-14776/? I/OMXClient﹕ Using client-side OMX mux. |
Both the demo of the master branch and the latest dev branch work fine on most test devices except the Samsung GT-I8552 (Android 4.1.2, kernel version 3.4.0-1554735). I need some suggestions to solve this problem. If it is hard to solve this error, how can I throw an exception to avoid the crash? Thanks in advance. |
Ah. This is the same as #555 (device not powerful enough to play the stream). The crash occurs when the player attempts to switch up to a higher quality stream. If Apple were to include RESOLUTION tags in their HLS master playlist, which is optional but recommended in the RFC, then this wouldn't happen, because we'd be able to filter out the variants that the device is unable to cope with. If you need to fix this for your own service, the fix is to include such tags. I think DASH and SmoothStreaming both require that resolution is specified in the equivalent manifest files. |
Thanks you for your patient reply. I'm not quite familiar with the HLS protocol, so I don't get exactly what you mean by "If you need to fix this for your own service, the fix is to include such tags". Do you mean that the HLS video source should include the RESOLUTION tags? If so, then I don't know how to fix this because the test HLS video url I used (the crash also occurred when playing this url) is provided by third party Camera manufacturer. |
Any idea on which codes should be surrounded by try/catch to avoid such crash? |
|
I used the ExoPlayer demo of the latest version of master branch (commit acee566) to play HLS and met an error. It crashed when I played HLS video. The device I used is Samsung GT-I8552, Android 4.1.2, kernel version 3.4.0-1554735.
The error is as below:
07-02 18:05:20.409 8083-8083/? E/dalvikvm﹕ Could not find class 'android.view.accessibility.CaptioningManager', referenced from method com.google.android.exoplayer.demo.PlayerActivity.getUserCaptionFontScaleV19
07-02 18:05:20.409 8083-8083/? E/dalvikvm﹕ Could not find class 'android.view.accessibility.CaptioningManager', referenced from method com.google.android.exoplayer.demo.PlayerActivity.getUserCaptionStyleV19
07-02 18:05:20.509 8083-8083/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to resume activity {com.google.android.exoplayer.demo/com.google.android.exoplayer.demo.PlayerActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2643)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2671)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2144)
at android.app.ActivityThread.access$700(ActivityThread.java:143)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4960)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.google.android.exoplayer.demo.PlayerActivity.onAudioCapabilitiesChanged(PlayerActivity.java:224)
at com.google.android.exoplayer.audio.AudioCapabilitiesReceiver.register(AudioCapabilitiesReceiver.java:84)
at com.google.android.exoplayer.demo.PlayerActivity.onResume(PlayerActivity.java:180)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1199)
at android.app.Activity.performResume(Activity.java:5277)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2633)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2671)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2144)
at android.app.ActivityThread.access$700(ActivityThread.java:143)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4960)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
at dalvik.system.NativeStart.main(Native Method)
07-02 18:05:20.529 474-516/? E/android.os.Debug﹕ !@dumpstate > dumpstate -k -t -z -d -o /data/log/dumpstate_app_error
07-02 18:05:21.099 159-159/? E/SMD﹕ DCD ON
07-02 18:05:22.169 1056-1068/? E/ThermalDaemon﹕ CPU[1] offline
Any suggestion to solve this problem?
The text was updated successfully, but these errors were encountered: