diff --git a/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java b/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java index 926a4ab0..0d2b0f89 100644 --- a/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java +++ b/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java @@ -783,12 +783,14 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer implements C e.printStackTrace(); handleDecoderException(e); } - } finally { - doCodecRecoveryIfRequired(CR_FLAG_CHOREOGRAPHER); } } } + // Attempt codec recovery even if we have nothing to render right now. Recovery can still + // be required even if the codec died before giving any output. + doCodecRecoveryIfRequired(CR_FLAG_CHOREOGRAPHER); + // Request another callback for next frame Choreographer.getInstance().postFrameCallback(this); }