From f8d2e362a52eeeacef9f319f9546679cc1220d4b Mon Sep 17 00:00:00 2001 From: tonihei Date: Fri, 6 Oct 2023 01:47:40 -0700 Subject: [PATCH] Rename FfmpegVideoRenderer to ExperimentalFfmpegVideoRenderer This makes it clearer that this class can't be used yet. PiperOrigin-RevId: 571267898 --- ...derer.java => ExperimentalFfmpegVideoRenderer.java} | 10 +++++----- .../androidx/media3/decoder/ffmpeg/FfmpegLibrary.java | 3 ++- .../decoder/ffmpeg/DefaultRenderersFactoryTest.java | 4 ++-- libraries/exoplayer/proguard-rules.txt | 4 ++-- .../media3/exoplayer/DefaultRenderersFactory.java | 3 ++- 5 files changed, 13 insertions(+), 11 deletions(-) rename libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/{FfmpegVideoRenderer.java => ExperimentalFfmpegVideoRenderer.java} (93%) diff --git a/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegVideoRenderer.java b/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/ExperimentalFfmpegVideoRenderer.java similarity index 93% rename from libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegVideoRenderer.java rename to libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/ExperimentalFfmpegVideoRenderer.java index 395b21b33f..e9b765906b 100644 --- a/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegVideoRenderer.java +++ b/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/ExperimentalFfmpegVideoRenderer.java @@ -36,16 +36,16 @@ import androidx.media3.exoplayer.RendererCapabilities; import androidx.media3.exoplayer.video.DecoderVideoRenderer; import androidx.media3.exoplayer.video.VideoRendererEventListener; -// TODO: Remove the NOTE below. +// TODO: Merge actual implementation in https://github.com/google/ExoPlayer/pull/7132. /** * NOTE: This class if under development and is not yet functional. * *

Decodes and renders video using FFmpeg. */ @UnstableApi -public final class FfmpegVideoRenderer extends DecoderVideoRenderer { +public final class ExperimentalFfmpegVideoRenderer extends DecoderVideoRenderer { - private static final String TAG = "FfmpegVideoRenderer"; + private static final String TAG = "ExperimentalFfmpegVideoRenderer"; /** * Creates a new instance. @@ -58,7 +58,7 @@ public final class FfmpegVideoRenderer extends DecoderVideoRenderer { * @param maxDroppedFramesToNotify The maximum number of frames that can be dropped between * invocations of {@link VideoRendererEventListener#onDroppedFrames(int, long)}. */ - public FfmpegVideoRenderer( + public ExperimentalFfmpegVideoRenderer( long allowedJoiningTimeMs, @Nullable Handler eventHandler, @Nullable VideoRendererEventListener eventListener, @@ -75,7 +75,7 @@ public final class FfmpegVideoRenderer extends DecoderVideoRenderer { @Override public final @RendererCapabilities.Capabilities int supportsFormat(Format format) { // TODO: Remove this line and uncomment the implementation below. - return C.FORMAT_UNSUPPORTED_TYPE; + return RendererCapabilities.create(C.FORMAT_UNSUPPORTED_TYPE); /* String mimeType = Assertions.checkNotNull(format.sampleMimeType); if (!FfmpegLibrary.isAvailable() || !MimeTypes.isVideo(mimeType)) { diff --git a/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegLibrary.java b/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegLibrary.java index bc86776cac..e01b04f2ff 100644 --- a/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegLibrary.java +++ b/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegLibrary.java @@ -50,7 +50,8 @@ public final class FfmpegLibrary { /** * Override the names of the FFmpeg native libraries. If an application wishes to call this * method, it must do so before calling any other method defined by this class, and before - * instantiating a {@link FfmpegAudioRenderer} or {@link FfmpegVideoRenderer} instance. + * instantiating a {@link FfmpegAudioRenderer} or {@link ExperimentalFfmpegVideoRenderer} + * instance. * * @param libraries The names of the FFmpeg native libraries. */ diff --git a/libraries/decoder_ffmpeg/src/test/java/androidx/media3/decoder/ffmpeg/DefaultRenderersFactoryTest.java b/libraries/decoder_ffmpeg/src/test/java/androidx/media3/decoder/ffmpeg/DefaultRenderersFactoryTest.java index a393d7d826..48de9f6ea3 100644 --- a/libraries/decoder_ffmpeg/src/test/java/androidx/media3/decoder/ffmpeg/DefaultRenderersFactoryTest.java +++ b/libraries/decoder_ffmpeg/src/test/java/androidx/media3/decoder/ffmpeg/DefaultRenderersFactoryTest.java @@ -23,7 +23,7 @@ import org.junit.runner.RunWith; /** * Unit test for {@link DefaultRenderersFactoryTest} with {@link FfmpegAudioRenderer} and {@link - * FfmpegVideoRenderer}. + * ExperimentalFfmpegVideoRenderer}. */ @RunWith(AndroidJUnit4.class) public final class DefaultRenderersFactoryTest { @@ -37,6 +37,6 @@ public final class DefaultRenderersFactoryTest { @Test public void createRenderers_instantiatesFfmpegVideoRenderer() { DefaultRenderersFactoryAsserts.assertExtensionRendererCreated( - FfmpegVideoRenderer.class, C.TRACK_TYPE_VIDEO); + ExperimentalFfmpegVideoRenderer.class, C.TRACK_TYPE_VIDEO); } } diff --git a/libraries/exoplayer/proguard-rules.txt b/libraries/exoplayer/proguard-rules.txt index b531a3ef4e..7733da1f39 100644 --- a/libraries/exoplayer/proguard-rules.txt +++ b/libraries/exoplayer/proguard-rules.txt @@ -9,8 +9,8 @@ -keepclassmembers class androidx.media3.decoder.av1.Libgav1VideoRenderer { (long, android.os.Handler, androidx.media3.exoplayer.video.VideoRendererEventListener, int); } --dontnote androidx.media3.decoder.ffmpeg.FfmpegVideoRenderer --keepclassmembers class androidx.media3.decoder.ffmpeg.FfmpegVideoRenderer { +-dontnote androidx.media3.decoder.ffmpeg.ExperimentalFfmpegVideoRenderer +-keepclassmembers class androidx.media3.decoder.ffmpeg.ExperimentalFfmpegVideoRenderer { (long, android.os.Handler, androidx.media3.exoplayer.video.VideoRendererEventListener, int); } -dontnote androidx.media3.decoder.opus.LibopusAudioRenderer diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java index fd23bfd88e..ea7b0fd029 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java @@ -407,7 +407,8 @@ public class DefaultRenderersFactory implements RenderersFactory { try { // Full class names used for constructor args so the LINT rule triggers if any of them move. - Class clazz = Class.forName("androidx.media3.decoder.ffmpeg.FfmpegVideoRenderer"); + Class clazz = + Class.forName("androidx.media3.decoder.ffmpeg.ExperimentalFfmpegVideoRenderer"); Constructor constructor = clazz.getConstructor( long.class,