diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/FrameworkMuxer.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/FrameworkMuxer.java index e92c42281e..0f80a1f0ec 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/FrameworkMuxer.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/FrameworkMuxer.java @@ -26,7 +26,6 @@ import android.media.MediaFormat; import android.media.MediaMuxer; import android.os.ParcelFileDescriptor; import android.util.SparseLongArray; -import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Format; @@ -97,13 +96,6 @@ import java.nio.ByteBuffer; return true; } - @Override - public boolean supportsSampleMimeType( - @Nullable String sampleMimeType, String containerMimeType) { - return getSupportedSampleMimeTypes(MimeTypes.getTrackType(sampleMimeType), containerMimeType) - .contains(sampleMimeType); - } - @Override public ImmutableList getSupportedSampleMimeTypes( @C.TrackType int trackType, String containerMimeType) { diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Muxer.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Muxer.java index 44ad95fe06..8c94bdd5a1 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Muxer.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Muxer.java @@ -16,7 +16,6 @@ package com.google.android.exoplayer2.transformer; import android.os.ParcelFileDescriptor; -import androidx.annotation.Nullable; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.util.MimeTypes; @@ -28,11 +27,12 @@ import java.nio.ByteBuffer; * Abstracts media muxing operations. * *

Query whether {@linkplain Factory#supportsOutputMimeType(String) container MIME type} and - * {@linkplain Factory#supportsSampleMimeType(String, String) sample MIME types} are supported and - * {@linkplain #addTrack(Format) add all tracks}, then {@linkplain #writeSampleData(int, ByteBuffer, - * boolean, long) write sample data} to mux samples. Once any sample data has been written, it is - * not possible to add tracks. After writing all sample data, {@linkplain #release(boolean) release} - * the instance to finish writing to the output and return any resources to the system. + * {@linkplain Factory#getSupportedSampleMimeTypes(int, String)} sample MIME types} are supported + * and {@linkplain #addTrack(Format) add all tracks}, then {@linkplain #writeSampleData(int, + * ByteBuffer, boolean, long) write sample data} to mux samples. Once any sample data has been + * written, it is not possible to add tracks. After writing all sample data, {@linkplain + * #release(boolean) release} the instance to finish writing to the output and return any resources + * to the system. */ /* package */ interface Muxer { @@ -81,12 +81,6 @@ import java.nio.ByteBuffer; */ boolean supportsOutputMimeType(String mimeType); - /** - * Returns whether the sample {@linkplain MimeTypes MIME type} is supported with the given - * container {@linkplain MimeTypes MIME type}. - */ - boolean supportsSampleMimeType(@Nullable String sampleMimeType, String containerMimeType); - /** * Returns the supported sample {@linkplain MimeTypes MIME types} for the given {@link * C.TrackType} and container {@linkplain MimeTypes MIME type}. diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/MuxerWrapper.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/MuxerWrapper.java index d7f63f1a41..1b53fe04ba 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/MuxerWrapper.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/MuxerWrapper.java @@ -88,7 +88,8 @@ import java.nio.ByteBuffer; /** Returns whether the sample {@linkplain MimeTypes MIME type} is supported. */ public boolean supportsSampleMimeType(@Nullable String mimeType) { - return muxerFactory.supportsSampleMimeType(mimeType, containerMimeType); + @C.TrackType int trackType = MimeTypes.getTrackType(mimeType); + return getSupportedSampleMimeTypes(trackType).contains(mimeType); } /** diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Transformer.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Transformer.java index f2827f338a..d6fe2bc3b3 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Transformer.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/Transformer.java @@ -483,7 +483,10 @@ public final class Transformer { private void checkSampleMimeType(String sampleMimeType) { checkState( - muxerFactory.supportsSampleMimeType(sampleMimeType, containerMimeType), + muxerFactory + .getSupportedSampleMimeTypes( + MimeTypes.getTrackType(sampleMimeType), containerMimeType) + .contains(sampleMimeType), "Unsupported sample MIME type " + sampleMimeType + " for container MIME type " diff --git a/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/TransformerEndToEndTest.java b/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/TransformerEndToEndTest.java index 2b97341257..7142d8c7dd 100644 --- a/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/TransformerEndToEndTest.java +++ b/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/TransformerEndToEndTest.java @@ -882,11 +882,6 @@ public final class TransformerEndToEndTest { return true; } - @Override - public boolean supportsSampleMimeType(String sampleMimeType, String outputMimeType) { - return frameworkMuxerFactory.supportsSampleMimeType(sampleMimeType, outputMimeType); - } - @Override public ImmutableList getSupportedSampleMimeTypes( @C.TrackType int trackType, String containerMimeType) {