From dda17db261758f7211ffa793ee9cc6fea842addb Mon Sep 17 00:00:00 2001 From: samrobinson Date: Tue, 25 Oct 2022 16:40:38 +0000 Subject: [PATCH] Move AudioProcessor to common. PiperOrigin-RevId: 483699606 --- .../ext/ffmpeg/FfmpegAudioRenderer.java | 2 +- .../ext/flac/LibflacAudioRenderer.java | 2 +- .../ext/opus/LibopusAudioRenderer.java | 2 +- .../media3/common}/audio/AudioProcessor.java | 2 +- .../media3/common/audio/package-info.java | 19 +++++++++++++++++++ .../exoplayer2/audio/BaseAudioProcessor.java | 1 + .../audio/ChannelMappingAudioProcessor.java | 1 + .../audio/DecoderAudioRenderer.java | 1 + .../exoplayer2/audio/DefaultAudioSink.java | 3 ++- .../audio/FloatResamplingAudioProcessor.java | 1 + .../audio/MediaCodecAudioRenderer.java | 1 + .../audio/ResamplingAudioProcessor.java | 1 + .../audio/SilenceSkippingAudioProcessor.java | 1 + .../exoplayer2/audio/SonicAudioProcessor.java | 1 + .../SilenceSkippingAudioProcessorTest.java | 2 +- .../audio/SonicAudioProcessorTest.java | 4 ++-- .../audio/TeeAudioProcessorTest.java | 2 +- .../audio/TrimmingAudioProcessorTest.java | 2 +- .../AudioTranscodingSamplePipeline.java | 4 ++-- .../SpeedChangingAudioProcessor.java | 2 +- .../transformer/TransformationException.java | 4 ++-- .../SpeedChangingAudioProcessorTest.java | 2 +- 22 files changed, 44 insertions(+), 16 deletions(-) rename library/{core/src/main/java/com/google/android/exoplayer2 => common/src/main/java/androidx/media3/common}/audio/AudioProcessor.java (99%) create mode 100644 library/common/src/main/java/androidx/media3/common/audio/package-info.java diff --git a/extensions/ffmpeg/src/main/java/com/google/android/exoplayer2/ext/ffmpeg/FfmpegAudioRenderer.java b/extensions/ffmpeg/src/main/java/com/google/android/exoplayer2/ext/ffmpeg/FfmpegAudioRenderer.java index 4ff8ded2a7..c0056f4a00 100644 --- a/extensions/ffmpeg/src/main/java/com/google/android/exoplayer2/ext/ffmpeg/FfmpegAudioRenderer.java +++ b/extensions/ffmpeg/src/main/java/com/google/android/exoplayer2/ext/ffmpeg/FfmpegAudioRenderer.java @@ -21,9 +21,9 @@ import static com.google.android.exoplayer2.audio.AudioSink.SINK_FORMAT_UNSUPPOR import android.os.Handler; import androidx.annotation.Nullable; +import androidx.media3.common.audio.AudioProcessor; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Format; -import com.google.android.exoplayer2.audio.AudioProcessor; import com.google.android.exoplayer2.audio.AudioRendererEventListener; import com.google.android.exoplayer2.audio.AudioSink; import com.google.android.exoplayer2.audio.AudioSink.SinkFormatSupport; diff --git a/extensions/flac/src/main/java/com/google/android/exoplayer2/ext/flac/LibflacAudioRenderer.java b/extensions/flac/src/main/java/com/google/android/exoplayer2/ext/flac/LibflacAudioRenderer.java index a03c9a271b..598b380c9a 100644 --- a/extensions/flac/src/main/java/com/google/android/exoplayer2/ext/flac/LibflacAudioRenderer.java +++ b/extensions/flac/src/main/java/com/google/android/exoplayer2/ext/flac/LibflacAudioRenderer.java @@ -17,9 +17,9 @@ package com.google.android.exoplayer2.ext.flac; import android.os.Handler; import androidx.annotation.Nullable; +import androidx.media3.common.audio.AudioProcessor; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Format; -import com.google.android.exoplayer2.audio.AudioProcessor; import com.google.android.exoplayer2.audio.AudioRendererEventListener; import com.google.android.exoplayer2.audio.AudioSink; import com.google.android.exoplayer2.audio.DecoderAudioRenderer; diff --git a/extensions/opus/src/main/java/com/google/android/exoplayer2/ext/opus/LibopusAudioRenderer.java b/extensions/opus/src/main/java/com/google/android/exoplayer2/ext/opus/LibopusAudioRenderer.java index 4debad0b66..26e0af8ff2 100644 --- a/extensions/opus/src/main/java/com/google/android/exoplayer2/ext/opus/LibopusAudioRenderer.java +++ b/extensions/opus/src/main/java/com/google/android/exoplayer2/ext/opus/LibopusAudioRenderer.java @@ -17,9 +17,9 @@ package com.google.android.exoplayer2.ext.opus; import android.os.Handler; import androidx.annotation.Nullable; +import androidx.media3.common.audio.AudioProcessor; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Format; -import com.google.android.exoplayer2.audio.AudioProcessor; import com.google.android.exoplayer2.audio.AudioRendererEventListener; import com.google.android.exoplayer2.audio.AudioSink; import com.google.android.exoplayer2.audio.AudioSink.SinkFormatSupport; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/audio/AudioProcessor.java b/library/common/src/main/java/androidx/media3/common/audio/AudioProcessor.java similarity index 99% rename from library/core/src/main/java/com/google/android/exoplayer2/audio/AudioProcessor.java rename to library/common/src/main/java/androidx/media3/common/audio/AudioProcessor.java index b7cf2fb026..70e723f7c5 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/audio/AudioProcessor.java +++ b/library/common/src/main/java/androidx/media3/common/audio/AudioProcessor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.google.android.exoplayer2.audio; +package androidx.media3.common.audio; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Format; diff --git a/library/common/src/main/java/androidx/media3/common/audio/package-info.java b/library/common/src/main/java/androidx/media3/common/audio/package-info.java new file mode 100644 index 0000000000..14e0312027 --- /dev/null +++ b/library/common/src/main/java/androidx/media3/common/audio/package-info.java @@ -0,0 +1,19 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@NonNullApi +package androidx.media3.common.audio; + +import com.google.android.exoplayer2.util.NonNullApi; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/audio/BaseAudioProcessor.java b/library/core/src/main/java/com/google/android/exoplayer2/audio/BaseAudioProcessor.java index b42d5f0767..fca6b74163 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/audio/BaseAudioProcessor.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/audio/BaseAudioProcessor.java @@ -16,6 +16,7 @@ package com.google.android.exoplayer2.audio; import androidx.annotation.CallSuper; +import androidx.media3.common.audio.AudioProcessor; import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/audio/ChannelMappingAudioProcessor.java b/library/core/src/main/java/com/google/android/exoplayer2/audio/ChannelMappingAudioProcessor.java index 503f07a2c3..6e506c8f52 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/audio/ChannelMappingAudioProcessor.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/audio/ChannelMappingAudioProcessor.java @@ -16,6 +16,7 @@ package com.google.android.exoplayer2.audio; import androidx.annotation.Nullable; +import androidx.media3.common.audio.AudioProcessor; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.util.Assertions; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/audio/DecoderAudioRenderer.java b/library/core/src/main/java/com/google/android/exoplayer2/audio/DecoderAudioRenderer.java index 546ca63d96..dd65e393eb 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/audio/DecoderAudioRenderer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/audio/DecoderAudioRenderer.java @@ -31,6 +31,7 @@ import androidx.annotation.DoNotInline; import androidx.annotation.IntDef; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; +import androidx.media3.common.audio.AudioProcessor; import com.google.android.exoplayer2.BaseRenderer; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.ExoPlaybackException; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/audio/DefaultAudioSink.java b/library/core/src/main/java/com/google/android/exoplayer2/audio/DefaultAudioSink.java index d9ab7c0c33..602b987547 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/audio/DefaultAudioSink.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/audio/DefaultAudioSink.java @@ -38,12 +38,13 @@ import androidx.annotation.GuardedBy; import androidx.annotation.IntDef; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; +import androidx.media3.common.audio.AudioProcessor; +import androidx.media3.common.audio.AudioProcessor.UnhandledAudioFormatException; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.ExoPlayer.AudioOffloadListener; import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.PlaybackParameters; import com.google.android.exoplayer2.analytics.PlayerId; -import com.google.android.exoplayer2.audio.AudioProcessor.UnhandledAudioFormatException; import com.google.android.exoplayer2.util.Assertions; import com.google.android.exoplayer2.util.Clock; import com.google.android.exoplayer2.util.ConditionVariable; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/audio/FloatResamplingAudioProcessor.java b/library/core/src/main/java/com/google/android/exoplayer2/audio/FloatResamplingAudioProcessor.java index ca2a54d572..c94533b358 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/audio/FloatResamplingAudioProcessor.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/audio/FloatResamplingAudioProcessor.java @@ -15,6 +15,7 @@ */ package com.google.android.exoplayer2.audio; +import androidx.media3.common.audio.AudioProcessor; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.util.Util; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/audio/MediaCodecAudioRenderer.java b/library/core/src/main/java/com/google/android/exoplayer2/audio/MediaCodecAudioRenderer.java index d76edd8840..481ea074a8 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/audio/MediaCodecAudioRenderer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/audio/MediaCodecAudioRenderer.java @@ -33,6 +33,7 @@ import androidx.annotation.CallSuper; import androidx.annotation.DoNotInline; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; +import androidx.media3.common.audio.AudioProcessor; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.ExoPlaybackException; import com.google.android.exoplayer2.ExoPlayer; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/audio/ResamplingAudioProcessor.java b/library/core/src/main/java/com/google/android/exoplayer2/audio/ResamplingAudioProcessor.java index e75c7d9d8b..b4a2022399 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/audio/ResamplingAudioProcessor.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/audio/ResamplingAudioProcessor.java @@ -15,6 +15,7 @@ */ package com.google.android.exoplayer2.audio; +import androidx.media3.common.audio.AudioProcessor; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.util.Util; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessor.java b/library/core/src/main/java/com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessor.java index 2a6f4b5908..d651a63364 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessor.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessor.java @@ -19,6 +19,7 @@ import static java.lang.Math.min; import static java.lang.annotation.ElementType.TYPE_USE; import androidx.annotation.IntDef; +import androidx.media3.common.audio.AudioProcessor; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.util.Assertions; import com.google.android.exoplayer2.util.Util; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/audio/SonicAudioProcessor.java b/library/core/src/main/java/com/google/android/exoplayer2/audio/SonicAudioProcessor.java index ccb0091f21..66a87ccac9 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/audio/SonicAudioProcessor.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/audio/SonicAudioProcessor.java @@ -18,6 +18,7 @@ package com.google.android.exoplayer2.audio; import static com.google.android.exoplayer2.util.Assertions.checkNotNull; import androidx.annotation.Nullable; +import androidx.media3.common.audio.AudioProcessor; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.util.Util; diff --git a/library/core/src/test/java/com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessorTest.java b/library/core/src/test/java/com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessorTest.java index 8176894702..eacc26cbe1 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessorTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessorTest.java @@ -18,9 +18,9 @@ package com.google.android.exoplayer2.audio; import static com.google.common.truth.Truth.assertThat; import static java.lang.Math.min; +import androidx.media3.common.audio.AudioProcessor.AudioFormat; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.android.exoplayer2.C; -import com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat; import com.google.android.exoplayer2.util.Assertions; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/library/core/src/test/java/com/google/android/exoplayer2/audio/SonicAudioProcessorTest.java b/library/core/src/test/java/com/google/android/exoplayer2/audio/SonicAudioProcessorTest.java index 5a2af2de84..c3bda298ae 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/audio/SonicAudioProcessorTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/audio/SonicAudioProcessorTest.java @@ -18,10 +18,10 @@ package com.google.android.exoplayer2.audio; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.fail; +import androidx.media3.common.audio.AudioProcessor.AudioFormat; +import androidx.media3.common.audio.AudioProcessor.UnhandledAudioFormatException; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.android.exoplayer2.C; -import com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat; -import com.google.android.exoplayer2.audio.AudioProcessor.UnhandledAudioFormatException; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/library/core/src/test/java/com/google/android/exoplayer2/audio/TeeAudioProcessorTest.java b/library/core/src/test/java/com/google/android/exoplayer2/audio/TeeAudioProcessorTest.java index 6f0a87e97b..df70a83819 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/audio/TeeAudioProcessorTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/audio/TeeAudioProcessorTest.java @@ -17,9 +17,9 @@ package com.google.android.exoplayer2.audio; import static org.mockito.Mockito.verify; +import androidx.media3.common.audio.AudioProcessor.AudioFormat; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.android.exoplayer2.C; -import com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat; import com.google.android.exoplayer2.audio.TeeAudioProcessor.AudioBufferSink; import org.junit.Before; import org.junit.Rule; diff --git a/library/core/src/test/java/com/google/android/exoplayer2/audio/TrimmingAudioProcessorTest.java b/library/core/src/test/java/com/google/android/exoplayer2/audio/TrimmingAudioProcessorTest.java index 19a1ad19c3..1794830d98 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/audio/TrimmingAudioProcessorTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/audio/TrimmingAudioProcessorTest.java @@ -17,9 +17,9 @@ package com.google.android.exoplayer2.audio; import static com.google.common.truth.Truth.assertThat; +import androidx.media3.common.audio.AudioProcessor.AudioFormat; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.android.exoplayer2.C; -import com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat; import java.nio.ByteBuffer; import org.junit.After; import org.junit.Before; diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/AudioTranscodingSamplePipeline.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/AudioTranscodingSamplePipeline.java index 5f301196f8..64d02b4213 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/AudioTranscodingSamplePipeline.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/AudioTranscodingSamplePipeline.java @@ -21,10 +21,10 @@ import static com.google.android.exoplayer2.util.Assertions.checkState; import static java.lang.Math.min; import androidx.annotation.Nullable; +import androidx.media3.common.audio.AudioProcessor; +import androidx.media3.common.audio.AudioProcessor.AudioFormat; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Format; -import com.google.android.exoplayer2.audio.AudioProcessor; -import com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat; import com.google.android.exoplayer2.decoder.DecoderInputBuffer; import com.google.android.exoplayer2.util.Util; import java.nio.ByteBuffer; diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/SpeedChangingAudioProcessor.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/SpeedChangingAudioProcessor.java index 62bdc36636..db812b119e 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/SpeedChangingAudioProcessor.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/SpeedChangingAudioProcessor.java @@ -18,8 +18,8 @@ package com.google.android.exoplayer2.transformer; import static java.lang.Math.min; +import androidx.media3.common.audio.AudioProcessor; import com.google.android.exoplayer2.C; -import com.google.android.exoplayer2.audio.AudioProcessor; import com.google.android.exoplayer2.audio.BaseAudioProcessor; import com.google.android.exoplayer2.audio.SonicAudioProcessor; import com.google.android.exoplayer2.util.Util; 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 43e84c9967..284eb4f9cd 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 @@ -22,10 +22,10 @@ import android.media.MediaFormat; import android.os.SystemClock; import androidx.annotation.IntDef; import androidx.annotation.Nullable; +import androidx.media3.common.audio.AudioProcessor; +import androidx.media3.common.audio.AudioProcessor.AudioFormat; import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.PlaybackException; -import com.google.android.exoplayer2.audio.AudioProcessor; -import com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat; import com.google.android.exoplayer2.util.Clock; import com.google.android.exoplayer2.util.FrameProcessingException; import com.google.android.exoplayer2.util.FrameProcessor; diff --git a/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/SpeedChangingAudioProcessorTest.java b/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/SpeedChangingAudioProcessorTest.java index 4039906692..3303f484a2 100644 --- a/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/SpeedChangingAudioProcessorTest.java +++ b/library/transformer/src/test/java/com/google/android/exoplayer2/transformer/SpeedChangingAudioProcessorTest.java @@ -18,9 +18,9 @@ package com.google.android.exoplayer2.transformer; import static com.google.android.exoplayer2.util.Assertions.checkArgument; import static com.google.common.truth.Truth.assertThat; +import androidx.media3.common.audio.AudioProcessor; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.android.exoplayer2.C; -import com.google.android.exoplayer2.audio.AudioProcessor; import com.google.android.exoplayer2.util.Util; import java.nio.ByteBuffer; import java.nio.ByteOrder;