-
Notifications
You must be signed in to change notification settings - Fork 6k
Closed
Labels
Description
Issue Description
On Xiaomi devices getting IllegalStateException for XiaomiTv devices. Here is the stacktrace
E/ExoPlayerImplInternal: Internal runtime error.
java.lang.IllegalArgumentException
at android.media.MediaCodec.native_setSurface(Native Method)
at android.media.MediaCodec.setOutputSurface(MediaCodec.java:1962)
at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.setOutputSurfaceV23(MediaCodecVideoRenderer.java:1023)
at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.setSurface(MediaCodecVideoRenderer.java:435)
at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.handleMessage(MediaCodecVideoRenderer.java:401)
at com.google.android.exoplayer2.ExoPlayerImplInternal.deliverMessage(ExoPlayerImplInternal.java:958)
at com.google.android.exoplayer2.ExoPlayerImplInternal.sendMessageToTarget(ExoPlayerImplInternal.java:929)
at com.google.android.exoplayer2.ExoPlayerImplInternal.sendMessageInternal(ExoPlayerImplInternal.java:911)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:366)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:164)
at android.os.HandlerThread.run(HandlerThread.java:65)
Steps to reproduce
- Play any video(in Exoplayer demo as well) and do backpress, you will get the exception.
Device Info
Decoder Name Manufacturer Model Api Level
OMX.amlogic.avc.decoder.awesome Xiaomi MiTV-AXSO0 27
Exoplayer Version
2.8.2 and above.
Worked when set the following in codecNeedsSetOutputSurfaceWorkaround
protected boolean codecNeedsSetOutputSurfaceWorkaround(String name) {
//Xiaomi devices needs workaround
if(name.equalsIgnoreCase("OMX.amlogic.avc.decoder.awesome")){
return true;
}
}
As I can see for API 27 false is returned but this is happening on API 27.
Reactions are currently unavailable