From a19e07c4d284c4d14e61849fa921dfc544406324 Mon Sep 17 00:00:00 2001 From: tofunmi Date: Thu, 25 May 2023 10:12:00 +0000 Subject: [PATCH] Move OnInputFrameProcessedListener into it's own file PiperOrigin-RevId: 535183521 --- .../common/OnInputFrameProcessedListener.java | 26 +++++++++++++++++++ .../media3/common/VideoFrameProcessor.java | 8 ------ .../effect/DefaultVideoFrameProcessor.java | 1 + .../media3/effect/TexIdTextureManager.java | 2 +- .../media3/effect/TextureManager.java | 2 +- .../transformer/TransformerEndToEndTest.java | 2 +- .../media3/transformer/SampleConsumer.java | 2 +- .../transformer/SequenceAssetLoader.java | 2 +- .../transformer/TextureAssetLoader.java | 2 +- .../transformer/VideoSamplePipeline.java | 2 +- .../transformer/TextureAssetLoaderTest.java | 2 +- 11 files changed, 35 insertions(+), 16 deletions(-) create mode 100644 libraries/common/src/main/java/androidx/media3/common/OnInputFrameProcessedListener.java diff --git a/libraries/common/src/main/java/androidx/media3/common/OnInputFrameProcessedListener.java b/libraries/common/src/main/java/androidx/media3/common/OnInputFrameProcessedListener.java new file mode 100644 index 0000000000..1092fd862f --- /dev/null +++ b/libraries/common/src/main/java/androidx/media3/common/OnInputFrameProcessedListener.java @@ -0,0 +1,26 @@ +/* + * Copyright 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.common; + +import androidx.media3.common.util.UnstableApi; + +/** A listener for processing input frames. */ +@UnstableApi +public interface OnInputFrameProcessedListener { + + /** Called when the given input frame has been processed. */ + void onInputFrameProcessed(int textureId) throws VideoFrameProcessingException; +} diff --git a/libraries/common/src/main/java/androidx/media3/common/VideoFrameProcessor.java b/libraries/common/src/main/java/androidx/media3/common/VideoFrameProcessor.java index 53adf76baf..10bf77c127 100644 --- a/libraries/common/src/main/java/androidx/media3/common/VideoFrameProcessor.java +++ b/libraries/common/src/main/java/androidx/media3/common/VideoFrameProcessor.java @@ -47,14 +47,6 @@ import java.util.concurrent.Executor; public interface VideoFrameProcessor { // TODO(b/243036513): Allow effects to be replaced. - /** A listener for frame processing events. */ - @UnstableApi - interface OnInputFrameProcessedListener { - - /** Called when the given input frame has been processed. */ - void onInputFrameProcessed(int textureId) throws VideoFrameProcessingException; - } - /** * Specifies how the input frames are made available to the {@link VideoFrameProcessor}. One of * {@link #INPUT_TYPE_SURFACE}, {@link #INPUT_TYPE_BITMAP} or {@link #INPUT_TYPE_TEXTURE_ID}. diff --git a/libraries/effect/src/main/java/androidx/media3/effect/DefaultVideoFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/DefaultVideoFrameProcessor.java index d03e25ee7e..1bb02939f3 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/DefaultVideoFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/DefaultVideoFrameProcessor.java @@ -41,6 +41,7 @@ import androidx.media3.common.Effect; import androidx.media3.common.FrameInfo; import androidx.media3.common.GlObjectsProvider; import androidx.media3.common.GlTextureInfo; +import androidx.media3.common.OnInputFrameProcessedListener; import androidx.media3.common.SurfaceInfo; import androidx.media3.common.VideoFrameProcessingException; import androidx.media3.common.VideoFrameProcessor; diff --git a/libraries/effect/src/main/java/androidx/media3/effect/TexIdTextureManager.java b/libraries/effect/src/main/java/androidx/media3/effect/TexIdTextureManager.java index 41474dc7c6..a9e7e729a6 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/TexIdTextureManager.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/TexIdTextureManager.java @@ -22,7 +22,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.FrameInfo; import androidx.media3.common.GlTextureInfo; -import androidx.media3.common.VideoFrameProcessor.OnInputFrameProcessedListener; +import androidx.media3.common.OnInputFrameProcessedListener; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** diff --git a/libraries/effect/src/main/java/androidx/media3/effect/TextureManager.java b/libraries/effect/src/main/java/androidx/media3/effect/TextureManager.java index 751d5e6081..78e1f42898 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/TextureManager.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/TextureManager.java @@ -22,8 +22,8 @@ import android.graphics.SurfaceTexture; import android.view.Surface; import androidx.annotation.Nullable; import androidx.media3.common.FrameInfo; +import androidx.media3.common.OnInputFrameProcessedListener; import androidx.media3.common.VideoFrameProcessor; -import androidx.media3.common.VideoFrameProcessor.OnInputFrameProcessedListener; /** Handles {@code DefaultVideoFrameProcessor}'s input. */ /* package */ interface TextureManager extends GlShaderProgram.InputListener { diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java index a8cc65e6e8..88f70555ca 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -38,8 +38,8 @@ import androidx.media3.common.C; import androidx.media3.common.Effect; import androidx.media3.common.Format; import androidx.media3.common.MediaItem; +import androidx.media3.common.OnInputFrameProcessedListener; import androidx.media3.common.VideoFrameProcessingException; -import androidx.media3.common.VideoFrameProcessor.OnInputFrameProcessedListener; import androidx.media3.common.audio.AudioProcessor; import androidx.media3.common.audio.SonicAudioProcessor; import androidx.media3.common.util.GlUtil; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SampleConsumer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SampleConsumer.java index 9322f43f7c..05511fc03c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SampleConsumer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SampleConsumer.java @@ -19,7 +19,7 @@ import android.graphics.Bitmap; import android.view.Surface; import androidx.annotation.Nullable; import androidx.media3.common.ColorInfo; -import androidx.media3.common.VideoFrameProcessor.OnInputFrameProcessedListener; +import androidx.media3.common.OnInputFrameProcessedListener; import androidx.media3.common.util.UnstableApi; import androidx.media3.decoder.DecoderInputBuffer; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SequenceAssetLoader.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SequenceAssetLoader.java index 73bad80e7a..3fd118e2f0 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SequenceAssetLoader.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SequenceAssetLoader.java @@ -32,7 +32,7 @@ import androidx.media3.common.ColorInfo; import androidx.media3.common.Format; import androidx.media3.common.MediaItem; import androidx.media3.common.MimeTypes; -import androidx.media3.common.VideoFrameProcessor.OnInputFrameProcessedListener; +import androidx.media3.common.OnInputFrameProcessedListener; import androidx.media3.common.util.Clock; import androidx.media3.common.util.HandlerWrapper; import androidx.media3.decoder.DecoderInputBuffer; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TextureAssetLoader.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TextureAssetLoader.java index 1e86a2ab9c..d97caba878 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TextureAssetLoader.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TextureAssetLoader.java @@ -26,7 +26,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; -import androidx.media3.common.VideoFrameProcessor.OnInputFrameProcessedListener; +import androidx.media3.common.OnInputFrameProcessedListener; import androidx.media3.common.util.UnstableApi; import com.google.common.collect.ImmutableMap; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSamplePipeline.java index 3166aa5a61..f07cae11f9 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoSamplePipeline.java @@ -44,10 +44,10 @@ import androidx.media3.common.Effect; import androidx.media3.common.Format; import androidx.media3.common.FrameInfo; import androidx.media3.common.MimeTypes; +import androidx.media3.common.OnInputFrameProcessedListener; import androidx.media3.common.SurfaceInfo; import androidx.media3.common.VideoFrameProcessingException; import androidx.media3.common.VideoFrameProcessor; -import androidx.media3.common.VideoFrameProcessor.OnInputFrameProcessedListener; import androidx.media3.common.util.Consumer; import androidx.media3.common.util.Log; import androidx.media3.common.util.Size; diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TextureAssetLoaderTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TextureAssetLoaderTest.java index 6dfb2644ff..ae4d93913d 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TextureAssetLoaderTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TextureAssetLoaderTest.java @@ -24,7 +24,7 @@ import android.os.Looper; import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.MediaItem; -import androidx.media3.common.VideoFrameProcessor.OnInputFrameProcessedListener; +import androidx.media3.common.OnInputFrameProcessedListener; import androidx.test.ext.junit.runners.AndroidJUnit4; import java.time.Duration; import java.util.concurrent.atomic.AtomicBoolean;