From b3b4c80641f140ef54b9732d1e054a60d613004e Mon Sep 17 00:00:00 2001 From: dancho Date: Mon, 2 Sep 2024 05:06:35 -0700 Subject: [PATCH] Release the analyzer mode placeholder surface PiperOrigin-RevId: 670179138 --- .../transformer/ExperimentalAnalyzerModeFactory.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ExperimentalAnalyzerModeFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ExperimentalAnalyzerModeFactory.java index f412754dc5..a043544185 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ExperimentalAnalyzerModeFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ExperimentalAnalyzerModeFactory.java @@ -106,16 +106,16 @@ public final class ExperimentalAnalyzerModeFactory { private static final String TAG = "DroppingEncoder"; private static final int INTERNAL_BUFFER_SIZE = 8196; - private final Context context; private final Format configurationFormat; private final ByteBuffer buffer; + private final Surface placeholderSurface; private boolean inputStreamEnded; public DroppingEncoder(Context context, Format format) { - this.context = context; this.configurationFormat = format; buffer = ByteBuffer.allocateDirect(INTERNAL_BUFFER_SIZE).order(ByteOrder.nativeOrder()); + placeholderSurface = PlaceholderSurface.newInstance(context, /* secure= */ false); } @Override @@ -130,7 +130,7 @@ public final class ExperimentalAnalyzerModeFactory { @Override public Surface getInputSurface() { - return PlaceholderSurface.newInstance(context, /* secure= */ false); + return placeholderSurface; } @Override @@ -189,6 +189,8 @@ public final class ExperimentalAnalyzerModeFactory { public void releaseOutputBuffer(long renderPresentationTimeUs) {} @Override - public void release() {} + public void release() { + placeholderSurface.release(); + } } }