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;
*
* - Message with type {@link C#MSG_SET_SURFACE} to set the output surface. The message payload
* should be the target {@link Surface}, or null.
- *
- Message with type {@link #MSG_SET_OUTPUT_BUFFER_RENDERER} to set the output buffer
+ *
- Message with type {@link C#MSG_SET_OUTPUT_BUFFER_RENDERER} to set the output buffer
* renderer. The message payload should be the target {@link
* VideoDecoderOutputBufferRenderer}, or null.
*
*/
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.