From 7c199eb1ad86302e4ecd0adec3257ba44b5ef3bb Mon Sep 17 00:00:00 2001 From: sofijajvc Date: Mon, 30 Sep 2019 11:49:40 +0100 Subject: [PATCH] Move vpx constant for setting output renderer to common constants file This will be used by both av1 and vp9 extensions. PiperOrigin-RevId: 271949754 --- RELEASENOTES.md | 5 +++++ .../android/exoplayer2/ext/vp9/VpxPlaybackTest.java | 3 ++- .../exoplayer2/ext/vp9/LibvpxVideoRenderer.java | 11 ++--------- .../main/java/com/google/android/exoplayer2/C.java | 9 +++++++++ 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 0fef76f737..349b904589 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -75,6 +75,11 @@ * Add `Player.onPlaybackSuppressionReasonChanged` to allow listeners to detect playbacks suppressions (e.g. audio focus loss) directly ([#6203](https://github.com/google/ExoPlayer/issues/6203)). +* VP9 extension: + * Rename `VpxVideoSurfaceView` to `VideoDecoderSurfaceView` + and move it to the core library. + * Move `LibvpxVideoRenderer.MSG_SET_OUTPUT_BUFFER_RENDERER` to + `C.MSG_SET_OUTPUT_BUFFER_RENDERER`. ### 2.10.5 (2019-09-20) ### diff --git a/extensions/vp9/src/androidTest/java/com/google/android/exoplayer2/ext/vp9/VpxPlaybackTest.java b/extensions/vp9/src/androidTest/java/com/google/android/exoplayer2/ext/vp9/VpxPlaybackTest.java index ff5d60a74a..3dd039118c 100644 --- a/extensions/vp9/src/androidTest/java/com/google/android/exoplayer2/ext/vp9/VpxPlaybackTest.java +++ b/extensions/vp9/src/androidTest/java/com/google/android/exoplayer2/ext/vp9/VpxPlaybackTest.java @@ -23,6 +23,7 @@ import android.net.Uri; import android.os.Looper; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.ExoPlaybackException; import com.google.android.exoplayer2.ExoPlayer; import com.google.android.exoplayer2.Player; @@ -122,7 +123,7 @@ public class VpxPlaybackTest { .createMediaSource(uri); player .createMessage(videoRenderer) - .setType(LibvpxVideoRenderer.MSG_SET_OUTPUT_BUFFER_RENDERER) + .setType(C.MSG_SET_OUTPUT_BUFFER_RENDERER) .setPayload(new VideoDecoderSurfaceView(context)) .send(); player.prepare(mediaSource); diff --git a/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/LibvpxVideoRenderer.java b/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/LibvpxVideoRenderer.java index 79d1d2e66f..fe59031429 100644 --- a/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/LibvpxVideoRenderer.java +++ b/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/LibvpxVideoRenderer.java @@ -48,20 +48,13 @@ import com.google.android.exoplayer2.video.VideoRendererEventListener; * */ public class LibvpxVideoRenderer extends SimpleDecoderVideoRenderer { - /** - * The type of a message that can be passed to an instance of this class via {@link - * ExoPlayer#createMessage(Target)}. The message payload should be the target {@link - * VideoDecoderOutputBufferRenderer}, or null. - */ - public static final int MSG_SET_OUTPUT_BUFFER_RENDERER = C.MSG_CUSTOM_BASE; - /** The number of input buffers. */ private final int numInputBuffers; /** @@ -298,7 +291,7 @@ public class LibvpxVideoRenderer extends SimpleDecoderVideoRenderer { public void handleMessage(int messageType, @Nullable Object message) throws ExoPlaybackException { if (messageType == C.MSG_SET_SURFACE) { setOutput((Surface) message, null); - } else if (messageType == MSG_SET_OUTPUT_BUFFER_RENDERER) { + } else if (messageType == C.MSG_SET_OUTPUT_BUFFER_RENDERER) { setOutput(null, (VideoDecoderOutputBufferRenderer) message); } else if (messageType == C.MSG_SET_VIDEO_FRAME_METADATA_LISTENER) { frameMetadataListener = (VideoFrameMetadataListener) message; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/C.java b/library/core/src/main/java/com/google/android/exoplayer2/C.java index c8a73fbe9a..b235715f46 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/C.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/C.java @@ -27,6 +27,8 @@ import androidx.annotation.IntDef; import com.google.android.exoplayer2.PlayerMessage.Target; import com.google.android.exoplayer2.audio.AuxEffectInfo; import com.google.android.exoplayer2.util.Util; +import com.google.android.exoplayer2.video.SimpleDecoderVideoRenderer; +import com.google.android.exoplayer2.video.VideoDecoderOutputBufferRenderer; import com.google.android.exoplayer2.video.VideoFrameMetadataListener; import com.google.android.exoplayer2.video.spherical.CameraMotionListener; import java.lang.annotation.Documented; @@ -823,6 +825,13 @@ public final class C { */ public static final int MSG_SET_CAMERA_MOTION_LISTENER = 7; + /** + * The type of a message that can be passed to a {@link SimpleDecoderVideoRenderer} via {@link + * ExoPlayer#createMessage(Target)}. The message payload should be the target {@link + * VideoDecoderOutputBufferRenderer}, or null. + */ + public static final int MSG_SET_OUTPUT_BUFFER_RENDERER = 8; + /** * Applications or extensions may define custom {@code MSG_*} constants that can be passed to * {@link Renderer}s. These custom constants must be greater than or equal to this value.