diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioMixer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioMixer.java index 91aeb893d4..5968c96c46 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioMixer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioMixer.java @@ -106,6 +106,11 @@ public interface AudioMixer { */ int addSource(AudioFormat sourceFormat, long startTimeUs) throws UnhandledAudioFormatException; + /** + * Returns whether there is an {@link #addSource added source} with the given {@code sourceId}. + */ + boolean hasSource(int sourceId); + /** * Sets the volume applied to future samples queued from the given source. * diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioMixerImpl.java b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioMixerImpl.java index 683b7f2591..bd93db2a0b 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioMixerImpl.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioMixerImpl.java @@ -151,6 +151,7 @@ import java.nio.ByteOrder; return sourceId; } + @Override public boolean hasSource(int sourceId) { checkStateIsConfigured(); return containsKey(sources, sourceId);