From ed4820cb616418a91833aed682281fced50437bb Mon Sep 17 00:00:00 2001 From: ibaker Date: Wed, 15 May 2024 02:23:38 -0700 Subject: [PATCH] Remove `@UnstableApi` from package-private files This annotation is only needed on public classes. This change also removes the `/* package */` comment from some `public` classes. PiperOrigin-RevId: 633864544 --- .../media3/datasource/cache/ReusableBufferedOutputStream.java | 2 -- .../java/androidx/media3/decoder/midi/SonivoxSynthVoice.java | 2 -- .../androidx/media3/decoder/midi/SonivoxVoiceDescription.java | 2 -- .../java/androidx/media3/decoder/midi/SonivoxWaveData.java | 2 -- .../src/main/java/androidx/media3/decoder/midi/TrackChunk.java | 2 -- .../src/main/java/androidx/media3/decoder/midi/TrackEvent.java | 2 -- .../java/androidx/media3/effect/EffectsTestUtil.java | 2 -- .../main/java/androidx/media3/effect/BitmapTextureManager.java | 2 -- .../main/java/androidx/media3/effect/DefaultShaderProgram.java | 2 -- .../media3/effect/SharpSeparableConvolutionShaderProgram.java | 2 -- .../java/androidx/media3/effect/SpeedChangeShaderProgram.java | 2 -- .../main/java/androidx/media3/effect/ThumbnailStripEffect.java | 2 -- .../androidx/media3/effect/TimestampWrapperShaderProgram.java | 2 -- .../media3/effect/VideoFrameProcessingTaskExecutor.java | 2 -- .../mediacodec/MediaCodecPerformancePointCoverageProvider.java | 2 -- .../mediacodec/SynchronousMediaCodecBufferEnqueuer.java | 2 -- .../java/androidx/media3/exoplayer/rtsp/MediaDescription.java | 2 -- .../java/androidx/media3/exoplayer/rtsp/RtpDataChannel.java | 2 -- .../java/androidx/media3/exoplayer/rtsp/RtpDataLoadable.java | 2 -- .../androidx/media3/exoplayer/rtsp/RtspAuthenticationInfo.java | 2 -- .../androidx/media3/exoplayer/rtsp/RtspDescribeResponse.java | 3 --- .../main/java/androidx/media3/exoplayer/rtsp/RtspHeaders.java | 2 -- .../java/androidx/media3/exoplayer/rtsp/RtspMediaPeriod.java | 2 -- .../java/androidx/media3/exoplayer/rtsp/RtspMediaTrack.java | 2 -- .../androidx/media3/exoplayer/rtsp/RtspMessageChannel.java | 2 -- .../java/androidx/media3/exoplayer/rtsp/RtspMessageUtil.java | 2 -- .../androidx/media3/exoplayer/rtsp/RtspOptionsResponse.java | 2 -- .../java/androidx/media3/exoplayer/rtsp/RtspPlayResponse.java | 2 -- .../main/java/androidx/media3/exoplayer/rtsp/RtspRequest.java | 2 -- .../main/java/androidx/media3/exoplayer/rtsp/RtspResponse.java | 3 --- .../java/androidx/media3/exoplayer/rtsp/RtspSessionTiming.java | 2 -- .../java/androidx/media3/exoplayer/rtsp/RtspSetupResponse.java | 3 --- .../java/androidx/media3/exoplayer/rtsp/RtspTrackTiming.java | 2 -- .../androidx/media3/exoplayer/rtsp/SessionDescription.java | 2 -- .../media3/exoplayer/rtsp/SessionDescriptionParser.java | 2 -- .../androidx/media3/exoplayer/rtsp/TransferRtpDataChannel.java | 2 -- .../media3/exoplayer/rtsp/TransferRtpDataChannelFactory.java | 3 --- .../media3/exoplayer/rtsp/UdpDataSourceRtpDataChannel.java | 2 -- .../exoplayer/rtsp/UdpDataSourceRtpDataChannelFactory.java | 2 -- .../androidx/media3/exoplayer/rtsp/reader/RtpMp4aReader.java | 2 -- .../androidx/media3/exoplayer/rtsp/reader/RtpMpeg4Reader.java | 2 -- .../androidx/media3/exoplayer/rtsp/RtpPacketStreamDump.java | 2 -- .../androidx/media3/exoplayer/rtsp/RtpPacketTransmitter.java | 2 -- .../java/androidx/media3/exoplayer/rtsp/RtspTestUtils.java | 2 -- .../media3/extractor/jpeg/JpegMotionPhotoExtractor.java | 2 -- .../src/main/java/androidx/media3/extractor/ts/MpeghUtil.java | 2 -- .../java/androidx/media3/session/DefaultActionFactory.java | 2 -- .../media3/transformer/DeviceMappedEncoderBitrateProvider.java | 2 -- .../androidx/media3/transformer/EncoderBitrateProvider.java | 2 -- 49 files changed, 102 deletions(-) diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/cache/ReusableBufferedOutputStream.java b/libraries/datasource/src/main/java/androidx/media3/datasource/cache/ReusableBufferedOutputStream.java index 3c19f74378..b947f1a448 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/cache/ReusableBufferedOutputStream.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/cache/ReusableBufferedOutputStream.java @@ -16,7 +16,6 @@ package androidx.media3.datasource.cache; import androidx.media3.common.util.Assertions; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import java.io.BufferedOutputStream; import java.io.IOException; @@ -26,7 +25,6 @@ import java.io.OutputStream; * This is a subclass of {@link BufferedOutputStream} with a {@link #reset(OutputStream)} method * that allows an instance to be re-used with another underlying output stream. */ -@UnstableApi /* package */ final class ReusableBufferedOutputStream extends BufferedOutputStream { private boolean closed; diff --git a/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/SonivoxSynthVoice.java b/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/SonivoxSynthVoice.java index 0c83d3d3a1..b81a8dbf81 100644 --- a/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/SonivoxSynthVoice.java +++ b/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/SonivoxSynthVoice.java @@ -19,7 +19,6 @@ package androidx.media3.decoder.midi; import static androidx.media3.common.util.Assertions.checkNotNull; import androidx.annotation.Nullable; -import androidx.media3.common.util.UnstableApi; import androidx.media3.decoder.midi.SonivoxWaveData.Envelope; import androidx.media3.decoder.midi.SonivoxWaveData.WavetableRegion; import com.jsyn.data.ShortSample; @@ -42,7 +41,6 @@ import com.softsynth.shared.time.TimeStamp; * envelopes. This synth uses the {@linkplain SonivoxWaveData Sonivox wave and instrument data} to * implement General MIDI. */ -@UnstableApi /* package */ final class SonivoxSynthVoice extends Circuit implements UnitVoice { // TODO(b/228838584): Replace with automatic gain control. diff --git a/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/SonivoxVoiceDescription.java b/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/SonivoxVoiceDescription.java index 1cb9ea829b..38fd54c614 100644 --- a/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/SonivoxVoiceDescription.java +++ b/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/SonivoxVoiceDescription.java @@ -16,13 +16,11 @@ package androidx.media3.decoder.midi; import android.content.Context; -import androidx.media3.common.util.UnstableApi; import com.jsyn.unitgen.UnitVoice; import com.jsyn.util.VoiceDescription; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** Synthesizer voice description, used for obtaining {@link SonivoxSynthVoice} instances. */ -@UnstableApi /* package */ final class SonivoxVoiceDescription extends VoiceDescription { private static final String VOICE_CLASS_NAME = "SonivoxVoiceDescription"; private static final String[] tags = {"wavetable", "GM2", "ringtone"}; diff --git a/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/SonivoxWaveData.java b/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/SonivoxWaveData.java index e684445ad2..cd0d95a40d 100644 --- a/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/SonivoxWaveData.java +++ b/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/SonivoxWaveData.java @@ -21,7 +21,6 @@ import static androidx.media3.common.util.Assertions.checkStateNotNull; import static java.lang.Math.max; import android.content.Context; -import androidx.media3.common.util.UnstableApi; import com.google.common.io.BaseEncoding; import java.io.BufferedReader; import java.io.IOException; @@ -29,7 +28,6 @@ import java.io.InputStream; import java.io.InputStreamReader; /** General MIDI Instrument library extracted from Sonivox library in Android file "wt_22khz.c". */ -@UnstableApi /* package */ final class SonivoxWaveData { public static class WavetableRegion { diff --git a/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/TrackChunk.java b/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/TrackChunk.java index 4a36100cee..af81cbbcb9 100644 --- a/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/TrackChunk.java +++ b/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/TrackChunk.java @@ -22,13 +22,11 @@ import android.util.Pair; import androidx.media3.common.C; import androidx.media3.common.ParserException; import androidx.media3.common.util.ParsableByteArray; -import androidx.media3.common.util.UnstableApi; import androidx.media3.extractor.TrackOutput; import com.google.common.collect.Iterables; import java.util.ArrayList; /** Parses track chunk bytes from standard MIDI files. */ -@UnstableApi /* package */ final class TrackChunk implements Comparable { /** A listener for changes to track tempo. */ diff --git a/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/TrackEvent.java b/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/TrackEvent.java index b74557c0b9..90a8d97c7f 100644 --- a/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/TrackEvent.java +++ b/libraries/decoder_midi/src/main/java/androidx/media3/decoder/midi/TrackEvent.java @@ -18,7 +18,6 @@ package androidx.media3.decoder.midi; import androidx.media3.common.C; import androidx.media3.common.ParserException; import androidx.media3.common.util.ParsableByteArray; -import androidx.media3.common.util.UnstableApi; /** * Represents a standard MIDI file track event. @@ -27,7 +26,6 @@ import androidx.media3.common.util.UnstableApi; * and Midi, Meta, or SysEx command bytes. A track event is followed by either another track event, * or end of chunk marker bytes. */ -@UnstableApi /* package */ final class TrackEvent { /** The length of a MIDI event message in bytes. */ diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/EffectsTestUtil.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/EffectsTestUtil.java index 8ce51566d0..4acf111f22 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/EffectsTestUtil.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/EffectsTestUtil.java @@ -36,7 +36,6 @@ import androidx.media3.common.VideoFrameProcessingException; import androidx.media3.common.VideoFrameProcessor; import androidx.media3.common.util.Consumer; import androidx.media3.common.util.NullableType; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.test.utils.TextureBitmapReader; import com.google.common.collect.ImmutableList; @@ -47,7 +46,6 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicReference; /** Utilities for effects tests. */ -@UnstableApi /* package */ class EffectsTestUtil { /** diff --git a/libraries/effect/src/main/java/androidx/media3/effect/BitmapTextureManager.java b/libraries/effect/src/main/java/androidx/media3/effect/BitmapTextureManager.java index efe603c8b9..aa03fb442e 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/BitmapTextureManager.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/BitmapTextureManager.java @@ -31,7 +31,6 @@ import androidx.media3.common.GlTextureInfo; import androidx.media3.common.VideoFrameProcessingException; import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.TimestampIterator; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import java.util.Queue; import java.util.concurrent.LinkedBlockingQueue; @@ -41,7 +40,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * Forwards a video frame produced from a {@link Bitmap} to a {@link GlShaderProgram} for * consumption. */ -@UnstableApi /* package */ final class BitmapTextureManager extends TextureManager { // The queue holds all bitmaps with one or more frames pending to be sent downstream. diff --git a/libraries/effect/src/main/java/androidx/media3/effect/DefaultShaderProgram.java b/libraries/effect/src/main/java/androidx/media3/effect/DefaultShaderProgram.java index a4ef632cec..a8adb60257 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/DefaultShaderProgram.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/DefaultShaderProgram.java @@ -36,7 +36,6 @@ import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.GlUtil.GlException; import androidx.media3.common.util.Size; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.effect.DefaultVideoFrameProcessor.WorkingColorSpace; import com.google.common.collect.ImmutableList; @@ -62,7 +61,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * *

Can copy frames from an external texture and apply color transformations for HDR if needed. */ -@UnstableApi @SuppressWarnings("FunctionalInterfaceClash") // b/228192298 /* package */ final class DefaultShaderProgram extends BaseGlShaderProgram implements ExternalShaderProgram, GainmapShaderProgram { diff --git a/libraries/effect/src/main/java/androidx/media3/effect/SharpSeparableConvolutionShaderProgram.java b/libraries/effect/src/main/java/androidx/media3/effect/SharpSeparableConvolutionShaderProgram.java index 3f17cd5a38..f883ecf7ef 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/SharpSeparableConvolutionShaderProgram.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/SharpSeparableConvolutionShaderProgram.java @@ -24,14 +24,12 @@ import androidx.media3.common.GlTextureInfo; import androidx.media3.common.VideoFrameProcessingException; import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; -import androidx.media3.common.util.UnstableApi; import java.io.IOException; /** * An extension of {@link SeparableConvolutionShaderProgram} that draws the sharp version of the * input frame on top of the output convolution. */ -@UnstableApi @RequiresApi(26) // See SeparableConvolutionShaderProgram. /* package */ final class SharpSeparableConvolutionShaderProgram extends SeparableConvolutionShaderProgram { diff --git a/libraries/effect/src/main/java/androidx/media3/effect/SpeedChangeShaderProgram.java b/libraries/effect/src/main/java/androidx/media3/effect/SpeedChangeShaderProgram.java index c3988e282a..bf13849bd6 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/SpeedChangeShaderProgram.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/SpeedChangeShaderProgram.java @@ -19,7 +19,6 @@ import androidx.media3.common.C; import androidx.media3.common.GlObjectsProvider; import androidx.media3.common.GlTextureInfo; import androidx.media3.common.audio.SpeedProvider; -import androidx.media3.common.util.UnstableApi; /** * Applies the speed changes specified in a {@link SpeedProvider} change by updating the frame @@ -27,7 +26,6 @@ import androidx.media3.common.util.UnstableApi; * *

Does not support seeking in effects previewing. */ -@UnstableApi /* package */ final class SpeedChangeShaderProgram extends PassthroughShaderProgram { private final OffsetSpeedProvider speedProvider; diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ThumbnailStripEffect.java b/libraries/effect/src/main/java/androidx/media3/effect/ThumbnailStripEffect.java index 476f5388b8..5d7057c947 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ThumbnailStripEffect.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ThumbnailStripEffect.java @@ -18,7 +18,6 @@ package androidx.media3.effect; import android.content.Context; import androidx.media3.common.C; import androidx.media3.common.VideoFrameProcessingException; -import androidx.media3.common.util.UnstableApi; import java.util.ArrayList; import java.util.List; @@ -26,7 +25,6 @@ import java.util.List; * Generate a thumbnail strip (i.e. tile frames horizontally) containing frames at given {@link * #setTimestampsMs timestamps}. */ -@UnstableApi /* package */ final class ThumbnailStripEffect implements GlEffect { /* package */ final int stripWidth; diff --git a/libraries/effect/src/main/java/androidx/media3/effect/TimestampWrapperShaderProgram.java b/libraries/effect/src/main/java/androidx/media3/effect/TimestampWrapperShaderProgram.java index 327a4d7060..c63a6e6f8f 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/TimestampWrapperShaderProgram.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/TimestampWrapperShaderProgram.java @@ -22,12 +22,10 @@ import android.content.Context; import androidx.media3.common.GlObjectsProvider; import androidx.media3.common.GlTextureInfo; import androidx.media3.common.VideoFrameProcessingException; -import androidx.media3.common.util.UnstableApi; import java.util.concurrent.Executor; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** Applies a {@link TimestampWrapper} to apply a wrapped {@link GlEffect} on certain timestamps. */ -@UnstableApi /* package */ final class TimestampWrapperShaderProgram implements GlShaderProgram, GlShaderProgram.InputListener { diff --git a/libraries/effect/src/main/java/androidx/media3/effect/VideoFrameProcessingTaskExecutor.java b/libraries/effect/src/main/java/androidx/media3/effect/VideoFrameProcessingTaskExecutor.java index 5e71a72312..db675ad772 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/VideoFrameProcessingTaskExecutor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/VideoFrameProcessingTaskExecutor.java @@ -21,7 +21,6 @@ import androidx.annotation.GuardedBy; import androidx.annotation.Nullable; import androidx.media3.common.VideoFrameProcessingException; import androidx.media3.common.util.GlUtil; -import androidx.media3.common.util.UnstableApi; import java.util.ArrayDeque; import java.util.Queue; import java.util.concurrent.CountDownLatch; @@ -41,7 +40,6 @@ import java.util.concurrent.RejectedExecutionException; * {@linkplain #submit(Task) default priority tasks}. Tasks with equal priority are executed in FIFO * order. */ -@UnstableApi /* package */ final class VideoFrameProcessingTaskExecutor { /** * Interface for tasks that may throw a {@link GlUtil.GlException} or {@link diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecPerformancePointCoverageProvider.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecPerformancePointCoverageProvider.java index 9ea923fc1e..4d79061e7d 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecPerformancePointCoverageProvider.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecPerformancePointCoverageProvider.java @@ -24,7 +24,6 @@ import androidx.annotation.IntDef; import androidx.annotation.RequiresApi; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import java.lang.annotation.Documented; import java.lang.annotation.Retention; @@ -34,7 +33,6 @@ import java.util.List; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** Utility class checking media codec support through PerformancePoints. */ -@UnstableApi /* package */ final class MediaCodecPerformancePointCoverageProvider { /** diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/SynchronousMediaCodecBufferEnqueuer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/SynchronousMediaCodecBufferEnqueuer.java index 7584403080..d10f6905a7 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/SynchronousMediaCodecBufferEnqueuer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/SynchronousMediaCodecBufferEnqueuer.java @@ -18,11 +18,9 @@ package androidx.media3.exoplayer.mediacodec; import android.media.MediaCodec; import android.os.Bundle; import androidx.annotation.RequiresApi; -import androidx.media3.common.util.UnstableApi; import androidx.media3.decoder.CryptoInfo; @RequiresApi(23) -@UnstableApi /* package */ class SynchronousMediaCodecBufferEnqueuer implements MediaCodecBufferEnqueuer { private final MediaCodec codec; diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/MediaDescription.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/MediaDescription.java index 66ac29c998..b92f6b2c21 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/MediaDescription.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/MediaDescription.java @@ -27,7 +27,6 @@ import androidx.annotation.StringDef; import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.ParserException; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableMap; import com.google.errorprone.annotations.CanIgnoreReturnValue; @@ -37,7 +36,6 @@ import java.lang.annotation.RetentionPolicy; import java.util.HashMap; /** Represents one media description section in a SDP message. */ -@UnstableApi /* package */ final class MediaDescription { /** Represents the mandatory RTPMAP attribute in MediaDescription. Reference RFC 2327 Page 22. */ diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpDataChannel.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpDataChannel.java index 012f7bfebd..e14e486f2a 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpDataChannel.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpDataChannel.java @@ -17,13 +17,11 @@ package androidx.media3.exoplayer.rtsp; import androidx.annotation.Nullable; import androidx.media3.common.C; -import androidx.media3.common.util.UnstableApi; import androidx.media3.datasource.DataSource; import androidx.media3.exoplayer.rtsp.RtspMessageChannel.InterleavedBinaryDataListener; import java.io.IOException; /** An RTP {@link DataSource}. */ -@UnstableApi /* package */ interface RtpDataChannel extends DataSource { /** Creates {@link RtpDataChannel} for RTSP streams. */ diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpDataLoadable.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpDataLoadable.java index 7f2f959994..907e81ade6 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpDataLoadable.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpDataLoadable.java @@ -21,7 +21,6 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import android.os.Handler; import androidx.annotation.Nullable; import androidx.media3.common.C; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.datasource.DataSourceUtil; import androidx.media3.exoplayer.upstream.Loader; @@ -51,7 +50,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; *

Received RTP packets' payloads will be extracted by an {@link RtpExtractor}, and will be * written to the {@link ExtractorOutput} instance provided at construction. */ -@UnstableApi /* package */ final class RtpDataLoadable implements Loader.Loadable { /** Called on loadable events. */ diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspAuthenticationInfo.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspAuthenticationInfo.java index d269586dfa..e9924a1122 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspAuthenticationInfo.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspAuthenticationInfo.java @@ -21,7 +21,6 @@ import android.net.Uri; import android.util.Base64; import androidx.annotation.IntDef; import androidx.media3.common.ParserException; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.exoplayer.rtsp.RtspMessageUtil.RtspAuthUserInfo; import java.lang.annotation.Documented; @@ -32,7 +31,6 @@ import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** Wraps RTSP authentication information. */ -@UnstableApi /* package */ final class RtspAuthenticationInfo { /** The supported authentication methods. */ diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspDescribeResponse.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspDescribeResponse.java index 20c711b8ad..515f1f1c67 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspDescribeResponse.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspDescribeResponse.java @@ -15,10 +15,7 @@ */ package androidx.media3.exoplayer.rtsp; -import androidx.media3.common.util.UnstableApi; - /** Represents an RTSP DESCRIBE response. */ -@UnstableApi /* package */ final class RtspDescribeResponse { /** The response's headers. */ public final RtspHeaders headers; diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspHeaders.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspHeaders.java index 0a6d7b9d68..3060cf7a29 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspHeaders.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspHeaders.java @@ -17,7 +17,6 @@ package androidx.media3.exoplayer.rtsp; import androidx.annotation.Nullable; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.base.Ascii; import com.google.common.collect.ImmutableList; @@ -34,7 +33,6 @@ import java.util.Map; * with case-insensitive header names. The extra spaces around header names and values are trimmed. * Contrary to HTTP, RTSP does not allow ambiguous/arbitrary header names (RFC 2326 Section 12). */ -@UnstableApi /* package */ final class RtspHeaders { public static final String ACCEPT = "Accept"; diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaPeriod.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaPeriod.java index 211a6defa9..eacb26f6ca 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaPeriod.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaPeriod.java @@ -30,7 +30,6 @@ import androidx.media3.common.Format; import androidx.media3.common.StreamKey; import androidx.media3.common.TrackGroup; import androidx.media3.common.util.NullableType; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.decoder.DecoderInputBuffer; import androidx.media3.exoplayer.FormatHolder; @@ -63,7 +62,6 @@ import javax.net.SocketFactory; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** A {@link MediaPeriod} that loads an RTSP stream. */ -@UnstableApi /* package */ final class RtspMediaPeriod implements MediaPeriod { /** Listener for information about the period. */ diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaTrack.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaTrack.java index 468c635a4b..1b0ff80021 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaTrack.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaTrack.java @@ -38,7 +38,6 @@ import androidx.media3.common.MimeTypes; import androidx.media3.common.ParserException; import androidx.media3.common.util.CodecSpecificDataUtil; import androidx.media3.common.util.ParsableBitArray; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.container.NalUnitUtil; import androidx.media3.extractor.AacUtil; @@ -46,7 +45,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; /** Represents a media track in an RTSP playback. */ -@UnstableApi /* package */ final class RtspMediaTrack { // Format specific parameter names. private static final String PARAMETER_PROFILE_LEVEL_ID = "profile-level-id"; diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageChannel.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageChannel.java index a2d5970431..f9c0cbdd78 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageChannel.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageChannel.java @@ -27,7 +27,6 @@ import androidx.annotation.IntDef; import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.ParserException; -import androidx.media3.common.util.UnstableApi; import androidx.media3.exoplayer.upstream.Loader; import androidx.media3.exoplayer.upstream.Loader.LoadErrorAction; import androidx.media3.exoplayer.upstream.Loader.Loadable; @@ -55,7 +54,6 @@ import java.util.Map; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** Sends and receives RTSP messages. */ -@UnstableApi /* package */ final class RtspMessageChannel implements Closeable { /** RTSP uses UTF-8 (RFC2326 Section 1.1). */ diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageUtil.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageUtil.java index 5942c824f7..bdd6d4cd96 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageUtil.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageUtil.java @@ -37,7 +37,6 @@ import android.net.Uri; import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.ParserException; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.base.Ascii; import com.google.common.base.Joiner; @@ -48,7 +47,6 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; /** Utility methods for RTSP messages. */ -@UnstableApi /* package */ final class RtspMessageUtil { /** Represents a RTSP Session header (RFC2326 Section 12.37). */ public static final class RtspSessionHeader { diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspOptionsResponse.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspOptionsResponse.java index 9b3f564976..822cd72404 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspOptionsResponse.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspOptionsResponse.java @@ -15,12 +15,10 @@ */ package androidx.media3.exoplayer.rtsp; -import androidx.media3.common.util.UnstableApi; import com.google.common.collect.ImmutableList; import java.util.List; /** Represents an RTSP OPTIONS response. */ -@UnstableApi /* package */ final class RtspOptionsResponse { /** The response's status code. */ public final int status; diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspPlayResponse.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspPlayResponse.java index a7117c22b2..f74f9d834e 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspPlayResponse.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspPlayResponse.java @@ -15,12 +15,10 @@ */ package androidx.media3.exoplayer.rtsp; -import androidx.media3.common.util.UnstableApi; import com.google.common.collect.ImmutableList; import java.util.List; /** Represents an RTSP PLAY response. */ -@UnstableApi /* package */ final class RtspPlayResponse { /** The response's status code. */ public final int status; diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspRequest.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspRequest.java index f3661348e8..ad5f0fa47b 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspRequest.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspRequest.java @@ -20,14 +20,12 @@ import static java.lang.annotation.ElementType.TYPE_USE; import android.net.Uri; import androidx.annotation.IntDef; -import androidx.media3.common.util.UnstableApi; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** Represents an RTSP request. */ -@UnstableApi /* package */ final class RtspRequest { /** * RTSP request methods, as defined in RFC2326 Section 10. diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspResponse.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspResponse.java index efa99cba72..ab437e5330 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspResponse.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspResponse.java @@ -16,10 +16,7 @@ package androidx.media3.exoplayer.rtsp; -import androidx.media3.common.util.UnstableApi; - /** Represents an RTSP Response. */ -@UnstableApi /* package */ final class RtspResponse { /** The status code of this response, as defined in RFC 2326 section 11. */ diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspSessionTiming.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspSessionTiming.java index 987caed782..24e96da658 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspSessionTiming.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspSessionTiming.java @@ -21,7 +21,6 @@ import static androidx.media3.exoplayer.rtsp.RtspMessageUtil.checkManifestExpres import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.ParserException; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -31,7 +30,6 @@ import java.util.regex.Pattern; * *

Currently only NPT is supported. See RFC2326 Section 3.6 for detail of NPT. */ -@UnstableApi /* package */ final class RtspSessionTiming { /** The default session timing starting from 0.000 and indefinite length, effectively live. */ public static final RtspSessionTiming DEFAULT = diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspSetupResponse.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspSetupResponse.java index a62664ec1b..45cc68837c 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspSetupResponse.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspSetupResponse.java @@ -15,10 +15,7 @@ */ package androidx.media3.exoplayer.rtsp; -import androidx.media3.common.util.UnstableApi; - /** Represents an RTSP SETUP response. */ -@UnstableApi /* package */ final class RtspSetupResponse { /** The response's status code. */ diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspTrackTiming.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspTrackTiming.java index 4484ead99c..3b4a028d67 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspTrackTiming.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspTrackTiming.java @@ -23,7 +23,6 @@ import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.media3.common.C; import androidx.media3.common.ParserException; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.UriUtil; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; @@ -32,7 +31,6 @@ import com.google.common.collect.ImmutableList; * Represents an RTSP track's timing info, included as {@link RtspHeaders#RTP_INFO} in an RTSP PLAY * response (RFC2326 Section 12.33). */ -@UnstableApi /* package */ final class RtspTrackTiming { /** diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/SessionDescription.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/SessionDescription.java index 49184ecebe..a3d2a2fe9f 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/SessionDescription.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/SessionDescription.java @@ -21,7 +21,6 @@ import static androidx.media3.common.util.Util.castNonNull; import android.net.Uri; import androidx.annotation.Nullable; import androidx.media3.common.Format; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -34,7 +33,6 @@ import java.util.HashMap; *

SDP messages encapsulate information on the media play back session, including session * configuration information, formats of each playable track, etc. SDP is defined in RFC4566. */ -@UnstableApi /* package */ final class SessionDescription { /** Builder class for {@link SessionDescription}. */ diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/SessionDescriptionParser.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/SessionDescriptionParser.java index 0e28d66e69..8d536047af 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/SessionDescriptionParser.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/SessionDescriptionParser.java @@ -24,14 +24,12 @@ import static com.google.common.base.Strings.nullToEmpty; import android.net.Uri; import androidx.annotation.Nullable; import androidx.media3.common.ParserException; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import java.util.Objects; import java.util.regex.Matcher; import java.util.regex.Pattern; /** Parses a String based SDP message into {@link SessionDescription}. */ -@UnstableApi /* package */ final class SessionDescriptionParser { // SDP line always starts with an one letter tag, followed by an equal sign. The information // under the given tag follows an optional space. diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/TransferRtpDataChannel.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/TransferRtpDataChannel.java index 11de686944..23f28ce3d9 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/TransferRtpDataChannel.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/TransferRtpDataChannel.java @@ -22,7 +22,6 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS; import android.net.Uri; import androidx.annotation.Nullable; import androidx.media3.common.C; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.datasource.BaseDataSource; import androidx.media3.datasource.DataSpec; @@ -31,7 +30,6 @@ import java.util.Arrays; import java.util.concurrent.LinkedBlockingQueue; /** An {@link RtpDataChannel} that transfers received data in-memory. */ -@UnstableApi /* package */ final class TransferRtpDataChannel extends BaseDataSource implements RtpDataChannel, RtspMessageChannel.InterleavedBinaryDataListener { diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/TransferRtpDataChannelFactory.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/TransferRtpDataChannelFactory.java index 659684851d..b9a11b289c 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/TransferRtpDataChannelFactory.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/TransferRtpDataChannelFactory.java @@ -15,10 +15,7 @@ */ package androidx.media3.exoplayer.rtsp; -import androidx.media3.common.util.UnstableApi; - /** Factory for {@link TransferRtpDataChannel}. */ -@UnstableApi /* package */ final class TransferRtpDataChannelFactory implements RtpDataChannel.Factory { private static final int INTERLEAVED_CHANNELS_PER_TRACK = 2; diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/UdpDataSourceRtpDataChannel.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/UdpDataSourceRtpDataChannel.java index 23e0159cac..911fd6c16d 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/UdpDataSourceRtpDataChannel.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/UdpDataSourceRtpDataChannel.java @@ -22,7 +22,6 @@ import android.net.Uri; import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.PlaybackException; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.datasource.DataSpec; import androidx.media3.datasource.TransferListener; @@ -31,7 +30,6 @@ import com.google.common.primitives.Ints; import java.io.IOException; /** An {@link RtpDataChannel} for UDP transport. */ -@UnstableApi /* package */ final class UdpDataSourceRtpDataChannel implements RtpDataChannel { private static final String DEFAULT_UDP_TRANSPORT_FORMAT = "RTP/AVP;unicast;client_port=%d-%d"; diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/UdpDataSourceRtpDataChannelFactory.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/UdpDataSourceRtpDataChannelFactory.java index b179f1dbff..ac5203460a 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/UdpDataSourceRtpDataChannelFactory.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/UdpDataSourceRtpDataChannelFactory.java @@ -15,12 +15,10 @@ */ package androidx.media3.exoplayer.rtsp; -import androidx.media3.common.util.UnstableApi; import androidx.media3.datasource.DataSourceUtil; import java.io.IOException; /** Factory for {@link UdpDataSourceRtpDataChannel}. */ -@UnstableApi /* package */ final class UdpDataSourceRtpDataChannelFactory implements RtpDataChannel.Factory { private final long socketTimeoutMs; diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMp4aReader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMp4aReader.java index f294d8f6dd..8323c63be9 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMp4aReader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMp4aReader.java @@ -27,7 +27,6 @@ import androidx.media3.common.C; import androidx.media3.common.ParserException; import androidx.media3.common.util.ParsableBitArray; import androidx.media3.common.util.ParsableByteArray; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.exoplayer.rtsp.RtpPacket; import androidx.media3.exoplayer.rtsp.RtpPayloadFormat; @@ -41,7 +40,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * *

Refer to RFC3016 for more details. The LATM byte stream format is defined in ISO/IEC14496-3. */ -@UnstableApi /* package */ final class RtpMp4aReader implements RtpPayloadReader { private static final String TAG = "RtpMp4aReader"; diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMpeg4Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMpeg4Reader.java index bd5d415386..5cc06f283a 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMpeg4Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMpeg4Reader.java @@ -22,7 +22,6 @@ import static androidx.media3.exoplayer.rtsp.reader.RtpReaderUtils.toSampleTimeU import androidx.media3.common.C; import androidx.media3.common.util.Log; import androidx.media3.common.util.ParsableByteArray; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.exoplayer.rtsp.RtpPacket; import androidx.media3.exoplayer.rtsp.RtpPayloadFormat; @@ -35,7 +34,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * Parses an MPEG4 byte stream carried on RTP packets, and extracts MPEG4 Access Units. Refer to * RFC6416 for more details. */ -@UnstableApi /* package */ final class RtpMpeg4Reader implements RtpPayloadReader { private static final String TAG = "RtpMpeg4Reader"; diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtpPacketStreamDump.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtpPacketStreamDump.java index 44ebde3f47..2079c5a62c 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtpPacketStreamDump.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtpPacketStreamDump.java @@ -16,14 +16,12 @@ package androidx.media3.exoplayer.rtsp; import androidx.media3.common.ParserException; -import androidx.media3.common.util.UnstableApi; import com.google.common.collect.ImmutableList; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; /** A value wrapper for a dumped RTP packet stream. */ -@UnstableApi /* package */ class RtpPacketStreamDump { /** The name of the RTP track. */ public final String trackName; diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtpPacketTransmitter.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtpPacketTransmitter.java index 2dbe38d4be..3e41e8ea2a 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtpPacketTransmitter.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtpPacketTransmitter.java @@ -17,13 +17,11 @@ package androidx.media3.exoplayer.rtsp; import androidx.media3.common.util.Clock; import androidx.media3.common.util.HandlerWrapper; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.exoplayer.rtsp.RtspMessageChannel.InterleavedBinaryDataListener; import com.google.common.collect.ImmutableList; /** Transmits media RTP packets periodically. */ -@UnstableApi /* package */ final class RtpPacketTransmitter { private static final byte[] END_OF_STREAM = new byte[0]; diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspTestUtils.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspTestUtils.java index 5fdab98739..b3afff0a2a 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspTestUtils.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspTestUtils.java @@ -16,7 +16,6 @@ package androidx.media3.exoplayer.rtsp; import android.net.Uri; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.test.utils.TestUtil; import androidx.test.core.app.ApplicationProvider; @@ -26,7 +25,6 @@ import java.util.ArrayList; import java.util.List; /** Utility methods for RTSP tests. */ -@UnstableApi /* package */ final class RtspTestUtils { private static final String TEST_BASE_URI = "rtsp://localhost:%d/test"; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/jpeg/JpegMotionPhotoExtractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/jpeg/JpegMotionPhotoExtractor.java index 2795f4128b..541f6af5d9 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/jpeg/JpegMotionPhotoExtractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/jpeg/JpegMotionPhotoExtractor.java @@ -27,7 +27,6 @@ import androidx.media3.common.Format; import androidx.media3.common.Metadata; import androidx.media3.common.MimeTypes; import androidx.media3.common.util.ParsableByteArray; -import androidx.media3.common.util.UnstableApi; import androidx.media3.extractor.Extractor; import androidx.media3.extractor.ExtractorInput; import androidx.media3.extractor.ExtractorOutput; @@ -45,7 +44,6 @@ import java.lang.annotation.Target; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** Extracts JPEG metadata and motion photo using the Exif format. */ -@UnstableApi /* package */ final class JpegMotionPhotoExtractor implements Extractor { /** Parser states. */ diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/MpeghUtil.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/MpeghUtil.java index 7a8b80d0d8..da395f26d2 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/MpeghUtil.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/MpeghUtil.java @@ -23,7 +23,6 @@ import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.ParserException; import androidx.media3.common.util.ParsableBitArray; -import androidx.media3.common.util.UnstableApi; import com.google.common.math.IntMath; import com.google.common.math.LongMath; import java.lang.annotation.Documented; @@ -32,7 +31,6 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** Utility methods for parsing MPEG-H frames, which are access units in MPEG-H bitstreams. */ -@UnstableApi /* package */ final class MpeghUtil { /** See ISO_IEC_23003-8;2022, 14.4.4. */ diff --git a/libraries/session/src/main/java/androidx/media3/session/DefaultActionFactory.java b/libraries/session/src/main/java/androidx/media3/session/DefaultActionFactory.java index 646571cfd0..0762fb4c19 100644 --- a/libraries/session/src/main/java/androidx/media3/session/DefaultActionFactory.java +++ b/libraries/session/src/main/java/androidx/media3/session/DefaultActionFactory.java @@ -43,11 +43,9 @@ import androidx.annotation.RequiresApi; import androidx.core.app.NotificationCompat; import androidx.core.graphics.drawable.IconCompat; import androidx.media3.common.Player; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; /** The default {@link MediaNotification.ActionFactory}. */ -@UnstableApi /* package */ final class DefaultActionFactory implements MediaNotification.ActionFactory { private static final String ACTION_CUSTOM = "androidx.media3.session.CUSTOM_NOTIFICATION_ACTION"; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java index 8e16f84fa2..8c349eb9c4 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java @@ -17,11 +17,9 @@ package androidx.media3.transformer; import android.os.Build; -import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; /** Provides encoder bitrates that should target 0.95 SSIM or higher, accounting for device used. */ -@UnstableApi /* package */ class DeviceMappedEncoderBitrateProvider implements EncoderBitrateProvider { @Override diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderBitrateProvider.java b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderBitrateProvider.java index 851424965c..7b1d764d69 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderBitrateProvider.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderBitrateProvider.java @@ -17,10 +17,8 @@ package androidx.media3.transformer; import android.media.MediaCodecInfo; -import androidx.media3.common.util.UnstableApi; /** Provides bitrates for encoders to use as a target. */ -@UnstableApi /* package */ interface EncoderBitrateProvider { /**