From 8723e74b1f48377ea8962247e10ee54252dd2de3 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Mon, 24 Oct 2022 16:27:18 +0000 Subject: [PATCH] Add CanIgnoreReturnValue to AudioProcessor#configure + implementations Although it can be useful to check the output format, it's not required or needed. For some AudioProcessor implementations, it is stated/obvious that the output format will match the input, in which case there is no a need to check the return value. #cleanup PiperOrigin-RevId: 483403679 --- .../java/androidx/media3/exoplayer/audio/AudioProcessor.java | 2 ++ .../androidx/media3/exoplayer/audio/BaseAudioProcessor.java | 3 +++ .../media3/exoplayer/audio/ChannelMappingAudioProcessor.java | 2 ++ .../media3/exoplayer/audio/FloatResamplingAudioProcessor.java | 2 ++ .../media3/exoplayer/audio/ResamplingAudioProcessor.java | 2 ++ .../media3/exoplayer/audio/SilenceSkippingAudioProcessor.java | 2 ++ .../androidx/media3/exoplayer/audio/SonicAudioProcessor.java | 2 ++ .../media3/transformer/SpeedChangingAudioProcessor.java | 2 ++ 8 files changed, 17 insertions(+) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioProcessor.java index f091e28726..5bba6cee8f 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioProcessor.java @@ -19,6 +19,7 @@ import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; import java.nio.ByteOrder; @@ -98,6 +99,7 @@ public interface AudioProcessor { * @return The configured output audio format if this instance is {@link #isActive() active}. * @throws UnhandledAudioFormatException Thrown if the specified format can't be handled as input. */ + @CanIgnoreReturnValue AudioFormat configure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException; /** Returns whether the processor is configured and will process input buffers. */ diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java index acb7ba116c..faa561e484 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java @@ -17,6 +17,7 @@ package androidx.media3.exoplayer.audio; import androidx.annotation.CallSuper; import androidx.media3.common.util.UnstableApi; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; import java.nio.ByteOrder; @@ -49,6 +50,7 @@ public abstract class BaseAudioProcessor implements AudioProcessor { } @Override + @CanIgnoreReturnValue public final AudioFormat configure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { pendingInputAudioFormat = inputAudioFormat; @@ -123,6 +125,7 @@ public abstract class BaseAudioProcessor implements AudioProcessor { } /** Called when the processor is configured for a new input format. */ + @CanIgnoreReturnValue protected AudioFormat onConfigure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { return AudioFormat.NOT_SET; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ChannelMappingAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ChannelMappingAudioProcessor.java index 4057f36ad8..ce7f51bba0 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ChannelMappingAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ChannelMappingAudioProcessor.java @@ -19,6 +19,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.util.Assertions; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; /** @@ -44,6 +45,7 @@ import java.nio.ByteBuffer; } @Override + @CanIgnoreReturnValue public AudioFormat onConfigure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { @Nullable int[] outputChannels = pendingOutputChannels; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/FloatResamplingAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/FloatResamplingAudioProcessor.java index be55b848ee..5bbebd30f2 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/FloatResamplingAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/FloatResamplingAudioProcessor.java @@ -18,6 +18,7 @@ package androidx.media3.exoplayer.audio; import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; /** @@ -36,6 +37,7 @@ import java.nio.ByteBuffer; private static final double PCM_32_BIT_INT_TO_PCM_32_BIT_FLOAT_FACTOR = 1.0 / 0x7FFFFFFF; @Override + @CanIgnoreReturnValue public AudioFormat onConfigure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { @C.PcmEncoding int encoding = inputAudioFormat.encoding; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ResamplingAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ResamplingAudioProcessor.java index 551802826a..50f3abcdfa 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ResamplingAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ResamplingAudioProcessor.java @@ -18,6 +18,7 @@ package androidx.media3.exoplayer.audio; import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; /** @@ -36,6 +37,7 @@ import java.nio.ByteBuffer; /* package */ final class ResamplingAudioProcessor extends BaseAudioProcessor { @Override + @CanIgnoreReturnValue public AudioFormat onConfigure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { @C.PcmEncoding int encoding = inputAudioFormat.encoding; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java index 2a0ef051ab..8bc15c4e70 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java @@ -23,6 +23,7 @@ import androidx.media3.common.C; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -145,6 +146,7 @@ public final class SilenceSkippingAudioProcessor extends BaseAudioProcessor { // AudioProcessor implementation. @Override + @CanIgnoreReturnValue public AudioFormat onConfigure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { if (inputAudioFormat.encoding != C.ENCODING_PCM_16BIT) { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SonicAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SonicAudioProcessor.java index ebaa246a9d..e928735db8 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SonicAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SonicAudioProcessor.java @@ -22,6 +22,7 @@ import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.ShortBuffer; @@ -142,6 +143,7 @@ public final class SonicAudioProcessor implements AudioProcessor { } @Override + @CanIgnoreReturnValue public AudioFormat configure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { if (inputAudioFormat.encoding != C.ENCODING_PCM_16BIT) { throw new UnhandledAudioFormatException(inputAudioFormat); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java index 99ef799bc7..4a567767c8 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java @@ -23,6 +23,7 @@ import androidx.media3.common.util.Util; import androidx.media3.exoplayer.audio.AudioProcessor; import androidx.media3.exoplayer.audio.BaseAudioProcessor; import androidx.media3.exoplayer.audio.SonicAudioProcessor; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; /** @@ -52,6 +53,7 @@ import java.nio.ByteBuffer; } @Override + @CanIgnoreReturnValue public AudioFormat onConfigure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { return sonicAudioProcessor.configure(inputAudioFormat);