When playing a HLS Stream on FireTV devices using FireOS 7 and then switch to a Prime video with Alexa a non recoverable exception occurs and the player is reset and therefore must be then reinitialised. This only happens if the app used is Prime Video, devices running FireOS 5 and 6 are behaving correctly.
Expected behaviour:
After clicking back from the Prime Video content the player should be able to resume without reinitialisation.
Observed behaviour:
The ExoPlayer throws a Runtime Exception and the player is reset. (In the case for the App it tries to show a dialog after onSavedInstanceState is called and crashes, fixed in upcoming version)
Reproduction steps
Open the App and go to a Video.
Play for some seconds
Open a Prime Video by using Alexa. For example Bosch
Waiting until the prime video is loaded
Click back, the exception happens and the player is reset (or previous page shown due to crash)
I was also able to reproduce this with other media apps like ZDF.
A full bug report captured from the device
2020-01-22 15:29:23.240 23847-24352/ E/ExoPlayerImplInternal: Internal runtime error.
android.media.MediaCodec$CodecException: Error 0xffffffe0
at android.media.MediaCodec.native_dequeueInputBuffer(Native Method)
at android.media.MediaCodec.dequeueInputBuffer(MediaCodec.java:2635)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:994)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:671)
at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:575)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:326)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:65)
MediaCodec: MediaCodec looper is gone, skip reclaim
2020-01-22 13:31:05.652 6158-6193 E/libc: Access denied finding property "media.metrics.enabled"
2020-01-22 13:31:05.654 6158-6574 E/ExoPlayerImplInternal: Reset failed.
java.lang.IllegalStateException
at android.media.MediaCodec.native_stop(Native Method)
at android.media.MediaCodec.stop(MediaCodec.java:2084)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.releaseCodec(MediaCodecRenderer.java:613)
at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.releaseCodec(MediaCodecVideoRenderer.java:596)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onReset(MediaCodecRenderer.java:591)
at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onReset(MediaCodecVideoRenderer.java:460)
at com.google.android.exoplayer2.BaseRenderer.reset(BaseRenderer.java:164)
at com.google.android.exoplayer2.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:860)
at com.google.android.exoplayer2.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:813)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:399)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:65)
Version of ExoPlayer being used
Using version 2.10.6
Device(s) and version(s) of Android being used
Fire Cube 2nd Generation, FireOS 7.2.0.6. Can be reproduced 100% of the time.
Issue description
When playing a HLS Stream on FireTV devices using FireOS 7 and then switch to a Prime video with Alexa a non recoverable exception occurs and the player is reset and therefore must be then reinitialised. This only happens if the app used is Prime Video, devices running FireOS 5 and 6 are behaving correctly.
Expected behaviour: After clicking back from the Prime Video content the player should be able to resume without reinitialisation.
Observed behaviour: The ExoPlayer throws a Runtime Exception and the player is reset. (In the case for the App it tries to show a dialog after onSavedInstanceState is called and crashes, fixed in upcoming version)
Reproduction steps
Link to test content
Install https://www.amazon.com/ARTE-G-E-I-E/dp/B00AML8D24/ref=sr_1_1?keywords=arte&qid=1579705046&s=mobile-apps&sr=1-1
I was also able to reproduce this with other media apps like ZDF.
A full bug report captured from the device
Version of ExoPlayer being used
Using version 2.10.6
Device(s) and version(s) of Android being used
Fire Cube 2nd Generation, FireOS 7.2.0.6. Can be reproduced 100% of the time.