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
This commit is contained in:
parent
8dfcf025d9
commit
ed4820cb61
@ -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;
|
||||
|
@ -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.
|
||||
|
@ -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"};
|
||||
|
@ -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 {
|
||||
|
@ -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<TrackChunk> {
|
||||
|
||||
/** A listener for changes to track tempo. */
|
||||
|
@ -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. */
|
||||
|
@ -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 {
|
||||
|
||||
/**
|
||||
|
@ -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.
|
||||
|
@ -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;
|
||||
*
|
||||
* <p>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 {
|
||||
|
@ -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 {
|
||||
|
@ -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;
|
||||
*
|
||||
* <p>Does not support seeking in effects previewing.
|
||||
*/
|
||||
@UnstableApi
|
||||
/* package */ final class SpeedChangeShaderProgram extends PassthroughShaderProgram {
|
||||
|
||||
private final OffsetSpeedProvider speedProvider;
|
||||
|
@ -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;
|
||||
|
@ -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 {
|
||||
|
||||
|
@ -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
|
||||
|
@ -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 {
|
||||
|
||||
/**
|
||||
|
@ -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;
|
||||
|
@ -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. */
|
||||
|
@ -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. */
|
||||
|
@ -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;
|
||||
* <p>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. */
|
||||
|
@ -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. */
|
||||
|
@ -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;
|
||||
|
@ -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";
|
||||
|
@ -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. */
|
||||
|
@ -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";
|
||||
|
@ -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). */
|
||||
|
@ -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 {
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
|
@ -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. */
|
||||
|
@ -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;
|
||||
*
|
||||
* <p>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 =
|
||||
|
@ -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. */
|
||||
|
@ -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 {
|
||||
|
||||
/**
|
||||
|
@ -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;
|
||||
* <p>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}. */
|
||||
|
@ -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.
|
||||
|
@ -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 {
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
*
|
||||
* <p>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";
|
||||
|
||||
|
@ -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";
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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];
|
||||
|
@ -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";
|
||||
|
@ -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. */
|
||||
|
@ -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. */
|
||||
|
@ -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";
|
||||
|
@ -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
|
||||
|
@ -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 {
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user