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 aed98c8a56..46178edb28 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 @@ -59,6 +59,14 @@ public interface AudioProcessor { /** The number of bytes used to represent one audio frame. */ public final int bytesPerFrame; + /** + * Creates an instance using the {@link Format#sampleRate}, {@link Format#channelCount} and + * {@link Format#pcmEncoding}. + */ + public AudioFormat(Format format) { + this(format.sampleRate, format.channelCount, format.pcmEncoding); + } + public AudioFormat(int sampleRate, int channelCount, @C.PcmEncoding int encoding) { this.sampleRate = sampleRate; this.channelCount = channelCount; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java index e2ea743a70..82cb742ec1 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java @@ -674,9 +674,7 @@ public final class DefaultAudioSink implements AudioSink { } channelMappingAudioProcessor.setChannelMap(outputChannels); - AudioProcessor.AudioFormat outputFormat = - new AudioProcessor.AudioFormat( - inputFormat.sampleRate, inputFormat.channelCount, inputFormat.pcmEncoding); + AudioProcessor.AudioFormat outputFormat = new AudioProcessor.AudioFormat(inputFormat); try { outputFormat = audioProcessingPipeline.configure(outputFormat); } catch (UnhandledAudioFormatException e) { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioSamplePipeline.java index 8a692b32a0..c70fda5b3a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioSamplePipeline.java @@ -83,11 +83,7 @@ import org.checkerframework.dataflow.qual.Pure; encoderOutputBuffer = new DecoderInputBuffer(BUFFER_REPLACEMENT_MODE_DISABLED); checkArgument(firstPipelineInputFormat.pcmEncoding != Format.NO_VALUE); - AudioFormat inputAudioFormat = - new AudioFormat( - firstPipelineInputFormat.sampleRate, - firstPipelineInputFormat.channelCount, - firstPipelineInputFormat.pcmEncoding); + AudioFormat inputAudioFormat = new AudioFormat(firstPipelineInputFormat); silentAudioGenerator = new SilentAudioGenerator(inputAudioFormat);