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