From ba6a1189981cddb4950bb0bcff64ead93555664d Mon Sep 17 00:00:00 2001 From: olly Date: Fri, 12 Oct 2018 06:21:39 -0700 Subject: [PATCH] Retain decoder instance after the renderer is disabled Issue: #2826 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=216852679 --- .../exoplayer2/mediacodec/MediaCodecRenderer.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java index 8554d84420..27b0d89a3f 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.java @@ -558,6 +558,16 @@ public abstract class MediaCodecRenderer extends BaseRenderer { @Override protected void onDisabled() { + if (drmSession != null || pendingDrmSession != null) { + // TODO: Do something better with this case. + onReset(); + } else { + flushOrReleaseCodec(); + } + } + + @Override + protected void onReset() { format = null; availableCodecInfos = null; try {