diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FrameCacheGlShaderProgram.java b/libraries/effect/src/main/java/androidx/media3/effect/FrameCacheGlShaderProgram.java index 78d5d9a0a4..f559cc9fa1 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FrameCacheGlShaderProgram.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FrameCacheGlShaderProgram.java @@ -17,6 +17,7 @@ package androidx.media3.effect; import android.content.Context; import android.opengl.GLES20; +import androidx.annotation.CallSuper; import androidx.media3.common.GlTextureInfo; import androidx.media3.common.VideoFrameProcessingException; import androidx.media3.common.util.GlProgram; @@ -82,4 +83,15 @@ import java.io.IOException; throw VideoFrameProcessingException.from(e); } } + + @Override + @CallSuper + public void release() throws VideoFrameProcessingException { + super.release(); + try { + copyProgram.delete(); + } catch (GlUtil.GlException e) { + throw new VideoFrameProcessingException(e); + } + } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/HslShaderProgram.java b/libraries/effect/src/main/java/androidx/media3/effect/HslShaderProgram.java index 7694d3fbf6..c15f7e8de1 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/HslShaderProgram.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/HslShaderProgram.java @@ -91,4 +91,14 @@ import java.io.IOException; throw new VideoFrameProcessingException(e, presentationTimeUs); } } + + @Override + public void release() throws VideoFrameProcessingException { + super.release(); + try { + glProgram.delete(); + } catch (GlUtil.GlException e) { + throw new VideoFrameProcessingException(e); + } + } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ThumbnailStripShaderProgram.java b/libraries/effect/src/main/java/androidx/media3/effect/ThumbnailStripShaderProgram.java index 624669ea69..ef9ec38126 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ThumbnailStripShaderProgram.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ThumbnailStripShaderProgram.java @@ -86,4 +86,14 @@ import java.io.IOException; throw new VideoFrameProcessingException(e, presentationTimeUs); } } + + @Override + public void release() throws VideoFrameProcessingException { + super.release(); + try { + glProgram.delete(); + } catch (GlUtil.GlException e) { + throw new VideoFrameProcessingException(e); + } + } }