From 5e44af0ad9dd72c8d4d6c863ab69a6f26b795ecd Mon Sep 17 00:00:00 2001 From: samrobinson Date: Fri, 27 Jan 2023 12:32:58 +0000 Subject: [PATCH] Generalise UnhandledAudioFormatException for non-input use cases. PiperOrigin-RevId: 505084963 --- .../java/androidx/media3/common/audio/AudioProcessor.java | 8 ++++++-- .../androidx/media3/transformer/AudioMixingAlgorithm.java | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessor.java b/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessor.java index f44e3ce471..aed98c8a56 100644 --- a/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessor.java +++ b/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessor.java @@ -101,11 +101,15 @@ public interface AudioProcessor { } } - /** Exception thrown when a processor can't be configured for a given input audio format. */ + /** Exception thrown when the given {@link AudioFormat} can not be handled. */ final class UnhandledAudioFormatException extends Exception { public UnhandledAudioFormatException(AudioFormat inputAudioFormat) { - super("Unhandled format: " + inputAudioFormat); + this("Unhandled input format:", inputAudioFormat); + } + + public UnhandledAudioFormatException(String message, AudioFormat audioFormat) { + super(message + " " + audioFormat); } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioMixingAlgorithm.java b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioMixingAlgorithm.java index 57e234ccf1..e78719d5c7 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioMixingAlgorithm.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioMixingAlgorithm.java @@ -76,7 +76,8 @@ import java.nio.ByteBuffer; case C.ENCODING_PCM_FLOAT: return new FloatAudioMixingAlgorithm(mixingAudioFormat); default: - throw new UnhandledAudioFormatException(mixingAudioFormat); + throw new UnhandledAudioFormatException( + "No supported mixing algorithm available.", mixingAudioFormat); } } }