diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/DefaultCodecFactory.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/DefaultCodecFactory.java
index c7ce23cf9e..503b7af725 100644
--- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/DefaultCodecFactory.java
+++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/DefaultCodecFactory.java
@@ -294,7 +294,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
mediaCodecName,
isDecoder
? TransformationException.ERROR_CODE_DECODING_FORMAT_UNSUPPORTED
- : TransformationException.ERROR_CODE_ENCODING_FORMAT_UNSUPPORTED);
+ : TransformationException.ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED);
}
return TransformationException.createForUnexpected(cause);
}
diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformationException.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformationException.java
index c74901730a..0c4fcef310 100644
--- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformationException.java
+++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformationException.java
@@ -69,10 +69,9 @@ public final class TransformationException extends Exception {
ERROR_CODE_DECODING_FORMAT_UNSUPPORTED,
ERROR_CODE_ENCODER_INIT_FAILED,
ERROR_CODE_ENCODING_FAILED,
- ERROR_CODE_ENCODING_FORMAT_UNSUPPORTED,
+ ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED,
ERROR_CODE_GL_INIT_FAILED,
ERROR_CODE_GL_PROCESSING_FAILED,
- ERROR_CODE_MUXER_SAMPLE_MIME_TYPE_UNSUPPORTED,
ERROR_CODE_MUXING_FAILED,
})
public @interface ErrorCode {}
@@ -146,8 +145,13 @@ public final class TransformationException extends Exception {
public static final int ERROR_CODE_ENCODER_INIT_FAILED = 4001;
/** Caused by a failure while trying to encode media samples. */
public static final int ERROR_CODE_ENCODING_FAILED = 4002;
- /** Caused by requesting to encode content in a format that is not supported by the device. */
- public static final int ERROR_CODE_ENCODING_FORMAT_UNSUPPORTED = 4003;
+ /**
+ * Caused by the output format for a track not being supported.
+ *
+ *
Supported output formats are limited by the muxer's capabilities and the {@link
+ * Codec.DecoderFactory encoders} available.
+ */
+ public static final int ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED = 4003;
// Video editing errors (5xxx).
@@ -157,16 +161,8 @@ public final class TransformationException extends Exception {
public static final int ERROR_CODE_GL_PROCESSING_FAILED = 5002;
// Muxing errors (6xxx).
-
- /**
- * Caused by an output sample MIME type inferred from the input not being supported by the muxer.
- *
- *
Use {@link TransformationRequest.Builder#setAudioMimeType(String)} or {@link
- * TransformationRequest.Builder#setVideoMimeType(String)} to transcode to a supported MIME type.
- */
- public static final int ERROR_CODE_MUXER_SAMPLE_MIME_TYPE_UNSUPPORTED = 6001;
/** Caused by a failure while muxing media samples. */
- public static final int ERROR_CODE_MUXING_FAILED = 6002;
+ public static final int ERROR_CODE_MUXING_FAILED = 6001;
private static final ImmutableBiMap NAME_TO_ERROR_CODE =
new ImmutableBiMap.Builder()
@@ -185,12 +181,9 @@ public final class TransformationException extends Exception {
.put("ERROR_CODE_DECODING_FORMAT_UNSUPPORTED", ERROR_CODE_DECODING_FORMAT_UNSUPPORTED)
.put("ERROR_CODE_ENCODER_INIT_FAILED", ERROR_CODE_ENCODER_INIT_FAILED)
.put("ERROR_CODE_ENCODING_FAILED", ERROR_CODE_ENCODING_FAILED)
- .put("ERROR_CODE_ENCODING_FORMAT_UNSUPPORTED", ERROR_CODE_ENCODING_FORMAT_UNSUPPORTED)
+ .put("ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED", ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED)
.put("ERROR_CODE_GL_INIT_FAILED", ERROR_CODE_GL_INIT_FAILED)
.put("ERROR_CODE_GL_PROCESSING_FAILED", ERROR_CODE_GL_PROCESSING_FAILED)
- .put(
- "ERROR_CODE_MUXER_SAMPLE_MIME_TYPE_UNSUPPORTED",
- ERROR_CODE_MUXER_SAMPLE_MIME_TYPE_UNSUPPORTED)
.put("ERROR_CODE_MUXING_FAILED", ERROR_CODE_MUXING_FAILED)
.buildOrThrow();
diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerAudioRenderer.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerAudioRenderer.java
index 5eac1382ee..7925a0ec45 100644
--- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerAudioRenderer.java
+++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerAudioRenderer.java
@@ -75,7 +75,7 @@ import com.google.android.exoplayer2.source.SampleStream.ReadDataResult;
"The output sample MIME inferred from the input format is not supported by the muxer."
+ " Sample MIME type: "
+ sampleMimeType),
- TransformationException.ERROR_CODE_MUXER_SAMPLE_MIME_TYPE_UNSUPPORTED);
+ TransformationException.ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED);
}
if (shouldPassthrough(inputFormat)) {
samplePipeline = new PassthroughSamplePipeline(inputFormat);
diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerVideoRenderer.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerVideoRenderer.java
index 82968f888f..18d3cb996f 100644
--- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerVideoRenderer.java
+++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/TransformerVideoRenderer.java
@@ -84,7 +84,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
"The output sample MIME inferred from the input format is not supported by the muxer."
+ " Sample MIME type: "
+ sampleMimeType),
- TransformationException.ERROR_CODE_MUXER_SAMPLE_MIME_TYPE_UNSUPPORTED);
+ TransformationException.ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED);
}
if (shouldPassthrough(inputFormat)) {
samplePipeline = new PassthroughSamplePipeline(inputFormat);
diff --git a/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/TransformerTest.java b/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/TransformerTest.java
index 376a0e08b4..3dc75ca189 100644
--- a/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/TransformerTest.java
+++ b/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/TransformerTest.java
@@ -359,7 +359,7 @@ public final class TransformerTest {
assertThat(exception).hasCauseThat().isInstanceOf(IllegalArgumentException.class);
assertThat(exception.errorCode)
- .isEqualTo(TransformationException.ERROR_CODE_ENCODING_FORMAT_UNSUPPORTED);
+ .isEqualTo(TransformationException.ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED);
}
@Test
@@ -403,7 +403,7 @@ public final class TransformerTest {
assertThat(exception).hasCauseThat().isInstanceOf(IllegalArgumentException.class);
assertThat(exception.errorCode)
- .isEqualTo(TransformationException.ERROR_CODE_ENCODING_FORMAT_UNSUPPORTED);
+ .isEqualTo(TransformationException.ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED);
}
@Test
@@ -434,7 +434,7 @@ public final class TransformerTest {
assertThat(exception).hasCauseThat().isInstanceOf(IllegalArgumentException.class);
assertThat(exception).hasCauseThat().hasMessageThat().contains("audio");
assertThat(exception.errorCode)
- .isEqualTo(TransformationException.ERROR_CODE_MUXER_SAMPLE_MIME_TYPE_UNSUPPORTED);
+ .isEqualTo(TransformationException.ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED);
}
@Test
@@ -453,7 +453,7 @@ public final class TransformerTest {
assertThat(exception).hasCauseThat().isInstanceOf(IllegalArgumentException.class);
assertThat(exception).hasCauseThat().hasMessageThat().contains("video");
assertThat(exception.errorCode)
- .isEqualTo(TransformationException.ERROR_CODE_MUXER_SAMPLE_MIME_TYPE_UNSUPPORTED);
+ .isEqualTo(TransformationException.ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED);
}
@Test