Commit dafea4e4 by ibaker Committed by Oliver Woodman

Re-format some javadoc

PiperOrigin-RevId: 369642047
parent 76647da2
Showing with 274 additions and 548 deletions
...@@ -22,9 +22,7 @@ import com.google.android.gms.cast.framework.SessionProvider; ...@@ -22,9 +22,7 @@ import com.google.android.gms.cast.framework.SessionProvider;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
/** /** A convenience {@link OptionsProvider} to target the default cast receiver app. */
* A convenience {@link OptionsProvider} to target the default cast receiver app.
*/
public final class DefaultCastOptionsProvider implements OptionsProvider { public final class DefaultCastOptionsProvider implements OptionsProvider {
/** /**
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
*/ */
package com.google.android.exoplayer2.ext.cronet; package com.google.android.exoplayer2.ext.cronet;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.google.android.exoplayer2.upstream.DefaultHttpDataSource; import com.google.android.exoplayer2.upstream.DefaultHttpDataSource;
import com.google.android.exoplayer2.upstream.HttpDataSource; import com.google.android.exoplayer2.upstream.HttpDataSource;
......
...@@ -33,9 +33,7 @@ import java.util.List; ...@@ -33,9 +33,7 @@ import java.util.List;
import org.chromium.net.CronetEngine; import org.chromium.net.CronetEngine;
import org.chromium.net.CronetProvider; import org.chromium.net.CronetProvider;
/** /** A wrapper class for a {@link CronetEngine}. */
* A wrapper class for a {@link CronetEngine}.
*/
public final class CronetEngineWrapper { public final class CronetEngineWrapper {
private static final String TAG = "CronetEngineWrapper"; private static final String TAG = "CronetEngineWrapper";
......
...@@ -23,9 +23,7 @@ import com.google.android.exoplayer2.util.Log; ...@@ -23,9 +23,7 @@ import com.google.android.exoplayer2.util.Log;
import com.google.android.exoplayer2.util.MimeTypes; import com.google.android.exoplayer2.util.MimeTypes;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
/** /** Configures and queries the underlying native library. */
* Configures and queries the underlying native library.
*/
public final class FfmpegLibrary { public final class FfmpegLibrary {
static { static {
......
...@@ -45,9 +45,7 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull; ...@@ -45,9 +45,7 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** Facilitates the extraction of data from the FLAC container format. */
* Facilitates the extraction of data from the FLAC container format.
*/
public final class FlacExtractor implements Extractor { public final class FlacExtractor implements Extractor {
/** Factory that returns one extractor which is a {@link FlacExtractor}. */ /** Factory that returns one extractor which is a {@link FlacExtractor}. */
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.ext.flac; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.ext.flac;
import com.google.android.exoplayer2.ExoPlayerLibraryInfo; import com.google.android.exoplayer2.ExoPlayerLibraryInfo;
import com.google.android.exoplayer2.util.LibraryLoader; import com.google.android.exoplayer2.util.LibraryLoader;
/** /** Configures and queries the underlying native library. */
* Configures and queries the underlying native library.
*/
public final class FlacLibrary { public final class FlacLibrary {
static { static {
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
*/ */
package com.google.android.exoplayer2.ext.okhttp; package com.google.android.exoplayer2.ext.okhttp;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.google.android.exoplayer2.upstream.HttpDataSource; import com.google.android.exoplayer2.upstream.HttpDataSource;
import com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory; import com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory;
......
...@@ -21,9 +21,7 @@ import com.google.android.exoplayer2.drm.ExoMediaCrypto; ...@@ -21,9 +21,7 @@ import com.google.android.exoplayer2.drm.ExoMediaCrypto;
import com.google.android.exoplayer2.util.LibraryLoader; import com.google.android.exoplayer2.util.LibraryLoader;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
/** /** Configures and queries the underlying native library. */
* Configures and queries the underlying native library.
*/
public final class OpusLibrary { public final class OpusLibrary {
static { static {
......
...@@ -20,9 +20,7 @@ import com.google.android.exoplayer2.upstream.DataSource; ...@@ -20,9 +20,7 @@ import com.google.android.exoplayer2.upstream.DataSource;
import com.google.android.exoplayer2.upstream.HttpDataSource.Factory; import com.google.android.exoplayer2.upstream.HttpDataSource.Factory;
import com.google.android.exoplayer2.upstream.TransferListener; import com.google.android.exoplayer2.upstream.TransferListener;
/** /** A {@link Factory} that produces {@link RtmpDataSource}. */
* A {@link Factory} that produces {@link RtmpDataSource}.
*/
public final class RtmpDataSourceFactory implements DataSource.Factory { public final class RtmpDataSourceFactory implements DataSource.Factory {
@Nullable private final TransferListener listener; @Nullable private final TransferListener listener;
......
...@@ -21,9 +21,7 @@ import com.google.android.exoplayer2.drm.ExoMediaCrypto; ...@@ -21,9 +21,7 @@ import com.google.android.exoplayer2.drm.ExoMediaCrypto;
import com.google.android.exoplayer2.util.LibraryLoader; import com.google.android.exoplayer2.util.LibraryLoader;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
/** /** Configures and queries the underlying native library. */
* Configures and queries the underlying native library.
*/
public final class VpxLibrary { public final class VpxLibrary {
static { static {
......
...@@ -31,9 +31,7 @@ import java.lang.annotation.Retention; ...@@ -31,9 +31,7 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.util.UUID; import java.util.UUID;
/** /** Defines constants used by the library. */
* Defines constants used by the library.
*/
@SuppressWarnings("InlinedApi") @SuppressWarnings("InlinedApi")
public final class C { public final class C {
......
...@@ -19,8 +19,8 @@ import com.google.android.exoplayer2.Player.RepeatMode; ...@@ -19,8 +19,8 @@ import com.google.android.exoplayer2.Player.RepeatMode;
/** /**
* Dispatches operations to the {@link Player}. * Dispatches operations to the {@link Player}.
* <p> *
* Implementations may choose to suppress (e.g. prevent playback from resuming if audio focus is * <p>Implementations may choose to suppress (e.g. prevent playback from resuming if audio focus is
* denied) or modify (e.g. change the seek position to prevent a user from seeking past a * denied) or modify (e.g. change the seek position to prevent a user from seeking past a
* non-skippable advert) operations. * non-skippable advert) operations.
*/ */
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2;
import android.os.Build; import android.os.Build;
import java.util.HashSet; import java.util.HashSet;
/** /** Information about the ExoPlayer library. */
* Information about the ExoPlayer library.
*/
public final class ExoPlayerLibraryInfo { public final class ExoPlayerLibraryInfo {
/** /**
......
...@@ -16,8 +16,8 @@ ...@@ -16,8 +16,8 @@
package com.google.android.exoplayer2; package com.google.android.exoplayer2;
/** /**
* Thrown when an attempt is made to seek to a position that does not exist in the player's * Thrown when an attempt is made to seek to a position that does not exist in the player's {@link
* {@link Timeline}. * Timeline}.
*/ */
public final class IllegalSeekPositionException extends IllegalStateException { public final class IllegalSeekPositionException extends IllegalStateException {
......
...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2; ...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2;
import java.io.IOException; import java.io.IOException;
/** /** Thrown when an error occurs parsing media data and metadata. */
* Thrown when an error occurs parsing media data and metadata.
*/
public class ParserException extends IOException { public class ParserException extends IOException {
public ParserException() { public ParserException() {
......
...@@ -23,9 +23,7 @@ import com.google.android.exoplayer2.util.ParsableBitArray; ...@@ -23,9 +23,7 @@ import com.google.android.exoplayer2.util.ParsableBitArray;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.util.Arrays; import java.util.Arrays;
/** /** Utility methods for parsing DTS frames. */
* Utility methods for parsing DTS frames.
*/
public final class DtsUtil { public final class DtsUtil {
/** /**
......
...@@ -21,9 +21,7 @@ import com.google.android.exoplayer2.C; ...@@ -21,9 +21,7 @@ import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.util.Assertions; import com.google.android.exoplayer2.util.Assertions;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
/** /** Compatibility wrapper for {@link android.media.MediaCodec.CryptoInfo}. */
* Compatibility wrapper for {@link android.media.MediaCodec.CryptoInfo}.
*/
public final class CryptoInfo { public final class CryptoInfo {
/** /**
......
...@@ -24,9 +24,7 @@ import java.lang.annotation.RetentionPolicy; ...@@ -24,9 +24,7 @@ import java.lang.annotation.RetentionPolicy;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import org.checkerframework.checker.nullness.qual.EnsuresNonNull; import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
/** /** Holds input for a decoder. */
* Holds input for a decoder.
*/
public class DecoderInputBuffer extends Buffer { public class DecoderInputBuffer extends Buffer {
/** /**
......
...@@ -29,9 +29,7 @@ import java.util.Comparator; ...@@ -29,9 +29,7 @@ import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
/** /** Initialization data for one or more DRM schemes. */
* Initialization data for one or more DRM schemes.
*/
public final class DrmInitData implements Comparator<SchemeData>, Parcelable { public final class DrmInitData implements Comparator<SchemeData>, Parcelable {
/** /**
......
...@@ -24,9 +24,7 @@ import com.google.android.exoplayer2.util.Util; ...@@ -24,9 +24,7 @@ import com.google.android.exoplayer2.util.Util;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
/** /** A collection of metadata entries. */
* A collection of metadata entries.
*/
public final class Metadata implements Parcelable { public final class Metadata implements Parcelable {
/** A metadata entry. */ /** A metadata entry. */
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.metadata; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.metadata;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
/** /** Decodes metadata from binary data. */
* Decodes metadata from binary data.
*/
public interface MetadataDecoder { public interface MetadataDecoder {
/** /**
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.metadata; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.metadata;
import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.Format;
import com.google.android.exoplayer2.decoder.DecoderInputBuffer; import com.google.android.exoplayer2.decoder.DecoderInputBuffer;
/** /** A {@link DecoderInputBuffer} for a {@link MetadataDecoder}. */
* A {@link DecoderInputBuffer} for a {@link MetadataDecoder}.
*/
public final class MetadataInputBuffer extends DecoderInputBuffer { public final class MetadataInputBuffer extends DecoderInputBuffer {
/** /**
......
...@@ -23,9 +23,7 @@ import androidx.annotation.Nullable; ...@@ -23,9 +23,7 @@ import androidx.annotation.Nullable;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import java.util.Arrays; import java.util.Arrays;
/** /** APIC (Attached Picture) ID3 frame. */
* APIC (Attached Picture) ID3 frame.
*/
public final class ApicFrame extends Id3Frame { public final class ApicFrame extends Id3Frame {
public static final String ID = "APIC"; public static final String ID = "APIC";
......
...@@ -22,9 +22,7 @@ import android.os.Parcelable; ...@@ -22,9 +22,7 @@ import android.os.Parcelable;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import java.util.Arrays; import java.util.Arrays;
/** /** Binary ID3 frame. */
* Binary ID3 frame.
*/
public final class BinaryFrame extends Id3Frame { public final class BinaryFrame extends Id3Frame {
public final byte[] data; public final byte[] data;
......
...@@ -23,9 +23,7 @@ import com.google.android.exoplayer2.C; ...@@ -23,9 +23,7 @@ import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import java.util.Arrays; import java.util.Arrays;
/** /** Chapter information ID3 frame. */
* Chapter information ID3 frame.
*/
public final class ChapterFrame extends Id3Frame { public final class ChapterFrame extends Id3Frame {
public static final String ID = "CHAP"; public static final String ID = "CHAP";
......
...@@ -22,9 +22,7 @@ import androidx.annotation.Nullable; ...@@ -22,9 +22,7 @@ import androidx.annotation.Nullable;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import java.util.Arrays; import java.util.Arrays;
/** /** Chapter table of contents ID3 frame. */
* Chapter table of contents ID3 frame.
*/
public final class ChapterTocFrame extends Id3Frame { public final class ChapterTocFrame extends Id3Frame {
public static final String ID = "CTOC"; public static final String ID = "CTOC";
......
...@@ -22,9 +22,7 @@ import android.os.Parcelable; ...@@ -22,9 +22,7 @@ import android.os.Parcelable;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
/** /** Comment ID3 frame. */
* Comment ID3 frame.
*/
public final class CommentFrame extends Id3Frame { public final class CommentFrame extends Id3Frame {
public static final String ID = "COMM"; public static final String ID = "COMM";
......
...@@ -23,9 +23,7 @@ import androidx.annotation.Nullable; ...@@ -23,9 +23,7 @@ import androidx.annotation.Nullable;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import java.util.Arrays; import java.util.Arrays;
/** /** GEOB (General Encapsulated Object) ID3 frame. */
* GEOB (General Encapsulated Object) ID3 frame.
*/
public final class GeobFrame extends Id3Frame { public final class GeobFrame extends Id3Frame {
public static final String ID = "GEOB"; public static final String ID = "GEOB";
......
...@@ -23,9 +23,7 @@ import androidx.annotation.Nullable; ...@@ -23,9 +23,7 @@ import androidx.annotation.Nullable;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import java.util.Arrays; import java.util.Arrays;
/** /** PRIV (Private) ID3 frame. */
* PRIV (Private) ID3 frame.
*/
public final class PrivFrame extends Id3Frame { public final class PrivFrame extends Id3Frame {
public static final String ID = "PRIV"; public static final String ID = "PRIV";
......
...@@ -23,9 +23,7 @@ import androidx.annotation.Nullable; ...@@ -23,9 +23,7 @@ import androidx.annotation.Nullable;
import com.google.android.exoplayer2.MediaMetadata; import com.google.android.exoplayer2.MediaMetadata;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
/** /** Text information ID3 frame. */
* Text information ID3 frame.
*/
public final class TextInformationFrame extends Id3Frame { public final class TextInformationFrame extends Id3Frame {
@Nullable public final String description; @Nullable public final String description;
......
...@@ -22,9 +22,7 @@ import android.os.Parcelable; ...@@ -22,9 +22,7 @@ import android.os.Parcelable;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
/** /** Url link ID3 frame. */
* Url link ID3 frame.
*/
public final class UrlLinkFrame extends Id3Frame { public final class UrlLinkFrame extends Id3Frame {
@Nullable public final String description; @Nullable public final String description;
......
...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2.text; ...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2.text;
import java.util.List; import java.util.List;
/** /** Receives text output. */
* Receives text output.
*/
public interface TextOutput { public interface TextOutput {
/** /**
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.upstream; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.upstream;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import java.io.IOException; import java.io.IOException;
/** /** Used to specify reason of a DataSource error. */
* Used to specify reason of a DataSource error.
*/
public final class DataSourceException extends IOException { public final class DataSourceException extends IOException {
/** /**
......
...@@ -30,9 +30,7 @@ import java.util.HashMap; ...@@ -30,9 +30,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
/** /** An HTTP {@link DataSource}. */
* An HTTP {@link DataSource}.
*/
public interface HttpDataSource extends DataSource { public interface HttpDataSource extends DataSource {
/** /**
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.os.Looper; import android.os.Looper;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
...@@ -22,9 +23,7 @@ import com.google.android.exoplayer2.ExoPlayerLibraryInfo; ...@@ -22,9 +23,7 @@ import com.google.android.exoplayer2.ExoPlayerLibraryInfo;
import org.checkerframework.checker.nullness.qual.EnsuresNonNull; import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
import org.checkerframework.dataflow.qual.Pure; import org.checkerframework.dataflow.qual.Pure;
/** /** Provides methods for asserting the truth of expressions and properties. */
* Provides methods for asserting the truth of expressions and properties.
*/
public final class Assertions { public final class Assertions {
private Assertions() {} private Assertions() {}
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.os.Bundle; import android.os.Bundle;
import android.os.IBinder; import android.os.IBinder;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.util.Pair; import android.util.Pair;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import androidx.annotation.GuardedBy; import androidx.annotation.GuardedBy;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import java.util.ArrayList; import java.util.ArrayList;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.util.Pair; import android.util.Pair;
/** Converts throwables into error codes and user readable error messages. */ /** Converts throwables into error codes and user readable error messages. */
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import static com.google.android.exoplayer2.util.Assertions.checkIndex; import static com.google.android.exoplayer2.util.Assertions.checkIndex;
import static com.google.android.exoplayer2.util.Assertions.checkState; import static com.google.android.exoplayer2.util.Assertions.checkState;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import static com.google.android.exoplayer2.util.MimeTypes.normalizeMimeType; import static com.google.android.exoplayer2.util.MimeTypes.normalizeMimeType;
import android.net.Uri; import android.net.Uri;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import static android.opengl.GLU.gluErrorString; import static android.opengl.GLU.gluErrorString;
import android.content.Context; import android.content.Context;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.os.Looper; import android.os.Looper;
import android.os.Message; import android.os.Message;
import androidx.annotation.CheckResult; import androidx.annotation.CheckResult;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.annotation.IntDef; import androidx.annotation.IntDef;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
......
...@@ -15,11 +15,10 @@ ...@@ -15,11 +15,10 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import java.util.Arrays; import java.util.Arrays;
/** /** An append-only, auto-growing {@code long[]}. */
* An append-only, auto-growing {@code long[]}.
*/
public final class LongArray { public final class LongArray {
private static final int DEFAULT_INITIAL_CAPACITY = 32; private static final int DEFAULT_INITIAL_CAPACITY = 32;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.media.AudioFormat; import android.media.AudioFormat;
import android.media.MediaFormat; import android.media.MediaFormat;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
...@@ -25,9 +26,7 @@ import java.util.ArrayList; ...@@ -25,9 +26,7 @@ import java.util.ArrayList;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
/** /** Defines common MIME types and helper methods. */
* Defines common MIME types and helper methods.
*/
public final class MimeTypes { public final class MimeTypes {
public static final String BASE_TYPE_VIDEO = "video"; public static final String BASE_TYPE_VIDEO = "video";
......
...@@ -15,13 +15,12 @@ ...@@ -15,13 +15,12 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.util.Arrays; import java.util.Arrays;
/** /** Utility methods for handling H.264/AVC and H.265/HEVC NAL units. */
* Utility methods for handling H.264/AVC and H.265/HEVC NAL units.
*/
public final class NalUnitUtil { public final class NalUnitUtil {
private static final String TAG = "NalUnitUtil"; private static final String TAG = "NalUnitUtil";
......
...@@ -15,14 +15,13 @@ ...@@ -15,14 +15,13 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import static java.lang.Math.min; import static java.lang.Math.min;
import com.google.common.base.Charsets; import com.google.common.base.Charsets;
import java.nio.charset.Charset; import java.nio.charset.Charset;
/** /** Wraps a byte array, providing methods that allow it to be read as a bitstream. */
* Wraps a byte array, providing methods that allow it to be read as a bitstream.
*/
public final class ParsableBitArray { public final class ParsableBitArray {
public byte[] data; public byte[] data;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.google.common.base.Charsets; import com.google.common.base.Charsets;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
......
...@@ -17,9 +17,9 @@ package com.google.android.exoplayer2.util; ...@@ -17,9 +17,9 @@ package com.google.android.exoplayer2.util;
/** /**
* Wraps a byte array, providing methods that allow it to be read as a NAL unit bitstream. * Wraps a byte array, providing methods that allow it to be read as a NAL unit bitstream.
* <p> *
* Whenever the byte sequence [0, 0, 3] appears in the wrapped byte array, it is treated as [0, 0] * <p>Whenever the byte sequence [0, 0, 3] appears in the wrapped byte array, it is treated as [0,
* for all reading/skipping operations, which makes the bitstream appear to be unescaped. * 0] for all reading/skipping operations, which makes the bitstream appear to be unescaped.
*/ */
public final class ParsableNalUnitBitArray { public final class ParsableNalUnitBitArray {
......
...@@ -15,15 +15,14 @@ ...@@ -15,15 +15,14 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import androidx.annotation.IntDef; import androidx.annotation.IntDef;
import com.google.android.exoplayer2.Player; import com.google.android.exoplayer2.Player;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
/** /** Util class for repeat mode handling. */
* Util class for repeat mode handling.
*/
public final class RepeatModeUtil { public final class RepeatModeUtil {
// LINT.IfChange // LINT.IfChange
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.os.Handler; import android.os.Handler;
import android.os.Handler.Callback; import android.os.Handler.Callback;
import android.os.Looper; import android.os.Looper;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import java.util.Arrays; import java.util.Arrays;
import org.checkerframework.checker.nullness.compatqual.NullableType; import org.checkerframework.checker.nullness.compatqual.NullableType;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import androidx.annotation.GuardedBy; import androidx.annotation.GuardedBy;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
......
...@@ -15,12 +15,11 @@ ...@@ -15,12 +15,11 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import androidx.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import com.google.android.exoplayer2.ExoPlayerLibraryInfo; import com.google.android.exoplayer2.ExoPlayerLibraryInfo;
/** /** Calls through to {@link android.os.Trace} methods on supported API levels. */
* Calls through to {@link android.os.Trace} methods on supported API levels.
*/
public final class TraceUtil { public final class TraceUtil {
private TraceUtil() {} private TraceUtil() {}
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import static android.content.Context.UI_MODE_SERVICE; import static android.content.Context.UI_MODE_SERVICE;
import static com.google.android.exoplayer2.util.Assertions.checkNotNull; import static com.google.android.exoplayer2.util.Assertions.checkNotNull;
import static java.lang.Math.abs; import static java.lang.Math.abs;
...@@ -96,9 +97,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType; ...@@ -96,9 +97,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
import org.checkerframework.checker.nullness.qual.EnsuresNonNull; import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
import org.checkerframework.checker.nullness.qual.PolyNull; import org.checkerframework.checker.nullness.qual.PolyNull;
/** /** Miscellaneous utility methods. */
* Miscellaneous utility methods.
*/
public final class Util { public final class Util {
/** /**
......
...@@ -15,13 +15,12 @@ ...@@ -15,13 +15,12 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException;
/** /** {@link XmlPullParser} utility methods. */
* {@link XmlPullParser} utility methods.
*/
public final class XmlPullParserUtil { public final class XmlPullParserUtil {
private XmlPullParserUtil() {} private XmlPullParserUtil() {}
......
...@@ -25,9 +25,7 @@ import com.google.android.exoplayer2.util.ParsableByteArray; ...@@ -25,9 +25,7 @@ import com.google.android.exoplayer2.util.ParsableByteArray;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /** AVC configuration data. */
* AVC configuration data.
*/
public final class AvcConfig { public final class AvcConfig {
public final List<byte[]> initializationData; public final List<byte[]> initializationData;
......
...@@ -23,9 +23,7 @@ import com.google.android.exoplayer2.Format; ...@@ -23,9 +23,7 @@ import com.google.android.exoplayer2.Format;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import java.util.Arrays; import java.util.Arrays;
/** /** Stores color info. */
* Stores color info.
*/
public final class ColorInfo implements Parcelable { public final class ColorInfo implements Parcelable {
/** /**
......
...@@ -24,9 +24,7 @@ import com.google.android.exoplayer2.util.ParsableNalUnitBitArray; ...@@ -24,9 +24,7 @@ import com.google.android.exoplayer2.util.ParsableNalUnitBitArray;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
/** /** HEVC configuration data. */
* HEVC configuration data.
*/
public final class HevcConfig { public final class HevcConfig {
/** /**
......
...@@ -44,9 +44,7 @@ import java.lang.annotation.RetentionPolicy; ...@@ -44,9 +44,7 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
import java.util.ArrayList; import java.util.ArrayList;
/** /** Default {@link RenderersFactory} implementation. */
* Default {@link RenderersFactory} implementation.
*/
public class DefaultRenderersFactory implements RenderersFactory { public class DefaultRenderersFactory implements RenderersFactory {
/** /**
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.google.android.exoplayer2.drm.DrmSession; import com.google.android.exoplayer2.drm.DrmSession;
/** /** Holds a {@link Format}. */
* Holds a {@link Format}.
*/
public final class FormatHolder { public final class FormatHolder {
/** An accompanying context for decrypting samples in the format. */ /** An accompanying context for decrypting samples in the format. */
......
...@@ -21,9 +21,7 @@ import java.lang.annotation.Documented; ...@@ -21,9 +21,7 @@ import java.lang.annotation.Documented;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
/** /** Defines the capabilities of a {@link Renderer}. */
* Defines the capabilities of a {@link Renderer}.
*/
public interface RendererCapabilities { public interface RendererCapabilities {
/** @deprecated Use {@link C.FormatSupport} instead. */ /** @deprecated Use {@link C.FormatSupport} instead. */
......
...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2; ...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
/** /** The configuration of a {@link Renderer}. */
* The configuration of a {@link Renderer}.
*/
public final class RendererConfiguration { public final class RendererConfiguration {
/** The default configuration. */ /** The default configuration. */
......
...@@ -21,9 +21,7 @@ import com.google.android.exoplayer2.metadata.MetadataOutput; ...@@ -21,9 +21,7 @@ import com.google.android.exoplayer2.metadata.MetadataOutput;
import com.google.android.exoplayer2.text.TextOutput; import com.google.android.exoplayer2.text.TextOutput;
import com.google.android.exoplayer2.video.VideoRendererEventListener; import com.google.android.exoplayer2.video.VideoRendererEventListener;
/** /** Builds {@link Renderer} instances for use by a {@link SimpleExoPlayer}. */
* Builds {@link Renderer} instances for use by a {@link SimpleExoPlayer}.
*/
public interface RenderersFactory { public interface RenderersFactory {
/** /**
......
...@@ -19,9 +19,7 @@ import androidx.annotation.Nullable; ...@@ -19,9 +19,7 @@ import androidx.annotation.Nullable;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.ByteOrder; import java.nio.ByteOrder;
/** /** Buffer for {@link SimpleDecoder} output. */
* Buffer for {@link SimpleDecoder} output.
*/
public class SimpleOutputBuffer extends OutputBuffer { public class SimpleOutputBuffer extends OutputBuffer {
private final Owner<SimpleOutputBuffer> owner; private final Owner<SimpleOutputBuffer> owner;
......
...@@ -15,9 +15,7 @@ ...@@ -15,9 +15,7 @@
*/ */
package com.google.android.exoplayer2.drm; package com.google.android.exoplayer2.drm;
/** /** Thrown when a non-platform component fails to decrypt data. */
* Thrown when a non-platform component fails to decrypt data.
*/
public class DecryptionException extends Exception { public class DecryptionException extends Exception {
/** /**
......
...@@ -15,8 +15,5 @@ ...@@ -15,8 +15,5 @@
*/ */
package com.google.android.exoplayer2.drm; package com.google.android.exoplayer2.drm;
/** /** Thrown when the drm keys loaded into an open session expire. */
* Thrown when the drm keys loaded into an open session expire. public final class KeysExpiredException extends Exception {}
*/
public final class KeysExpiredException extends Exception {
}
...@@ -19,9 +19,7 @@ import com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest; ...@@ -19,9 +19,7 @@ import com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest;
import com.google.android.exoplayer2.drm.ExoMediaDrm.ProvisionRequest; import com.google.android.exoplayer2.drm.ExoMediaDrm.ProvisionRequest;
import java.util.UUID; import java.util.UUID;
/** /** Performs {@link ExoMediaDrm} key and provisioning requests. */
* Performs {@link ExoMediaDrm} key and provisioning requests.
*/
public interface MediaDrmCallback { public interface MediaDrmCallback {
/** /**
......
...@@ -20,9 +20,7 @@ import java.lang.annotation.Documented; ...@@ -20,9 +20,7 @@ import java.lang.annotation.Documented;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
/** /** Thrown when the requested DRM scheme is not supported. */
* Thrown when the requested DRM scheme is not supported.
*/
public final class UnsupportedDrmException extends Exception { public final class UnsupportedDrmException extends Exception {
/** /**
......
...@@ -20,9 +20,7 @@ import androidx.annotation.Nullable; ...@@ -20,9 +20,7 @@ import androidx.annotation.Nullable;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import java.util.Map; import java.util.Map;
/** /** Utility methods for Widevine. */
* Utility methods for Widevine.
*/
public final class WidevineUtil { public final class WidevineUtil {
/** Widevine specific key status field name for the remaining license duration, in seconds. */ /** Widevine specific key status field name for the remaining license duration, in seconds. */
......
...@@ -19,9 +19,7 @@ import android.media.MediaCodec; ...@@ -19,9 +19,7 @@ import android.media.MediaCodec;
import com.google.android.exoplayer2.mediacodec.MediaCodecUtil.DecoderQueryException; import com.google.android.exoplayer2.mediacodec.MediaCodecUtil.DecoderQueryException;
import java.util.List; import java.util.List;
/** /** Selector of {@link MediaCodec} instances. */
* Selector of {@link MediaCodec} instances.
*/
public interface MediaCodecSelector { public interface MediaCodecSelector {
/** /**
......
...@@ -42,9 +42,7 @@ import java.util.regex.Matcher; ...@@ -42,9 +42,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import org.checkerframework.checker.nullness.qual.EnsuresNonNull; import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
/** /** A utility class for querying the available codecs. */
* A utility class for querying the available codecs.
*/
@SuppressLint("InlinedApi") @SuppressLint("InlinedApi")
public final class MediaCodecUtil { public final class MediaCodecUtil {
......
...@@ -24,9 +24,7 @@ import com.google.android.exoplayer2.metadata.id3.Id3Decoder; ...@@ -24,9 +24,7 @@ import com.google.android.exoplayer2.metadata.id3.Id3Decoder;
import com.google.android.exoplayer2.metadata.scte35.SpliceInfoDecoder; import com.google.android.exoplayer2.metadata.scte35.SpliceInfoDecoder;
import com.google.android.exoplayer2.util.MimeTypes; import com.google.android.exoplayer2.util.MimeTypes;
/** /** A factory for {@link MetadataDecoder} instances. */
* A factory for {@link MetadataDecoder} instances.
*/
public interface MetadataDecoderFactory { public interface MetadataDecoderFactory {
/** /**
......
...@@ -33,9 +33,7 @@ import com.google.android.exoplayer2.util.Util; ...@@ -33,9 +33,7 @@ import com.google.android.exoplayer2.util.Util;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /** A renderer for metadata. */
* A renderer for metadata.
*/
public final class MetadataRenderer extends BaseRenderer implements Callback { public final class MetadataRenderer extends BaseRenderer implements Callback {
private static final String TAG = "MetadataRenderer"; private static final String TAG = "MetadataRenderer";
......
...@@ -20,9 +20,7 @@ import android.os.Parcelable; ...@@ -20,9 +20,7 @@ import android.os.Parcelable;
import com.google.android.exoplayer2.util.ParsableByteArray; import com.google.android.exoplayer2.util.ParsableByteArray;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
/** /** Represents a private command as defined in SCTE35, Section 9.3.6. */
* Represents a private command as defined in SCTE35, Section 9.3.6.
*/
public final class PrivateCommand extends SpliceCommand { public final class PrivateCommand extends SpliceCommand {
/** /**
......
...@@ -24,9 +24,7 @@ import java.util.ArrayList; ...@@ -24,9 +24,7 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
/** /** Represents a splice insert command defined in SCTE35, Section 9.3.3. */
* Represents a splice insert command defined in SCTE35, Section 9.3.3.
*/
public final class SpliceInsertCommand extends SpliceCommand { public final class SpliceInsertCommand extends SpliceCommand {
/** /**
......
...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2.metadata.scte35; ...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2.metadata.scte35;
import android.os.Parcel; import android.os.Parcel;
/** /** Represents a splice null command as defined in SCTE35, Section 9.3.1. */
* Represents a splice null command as defined in SCTE35, Section 9.3.1.
*/
public final class SpliceNullCommand extends SpliceCommand { public final class SpliceNullCommand extends SpliceCommand {
// Parcelable implementation. // Parcelable implementation.
......
...@@ -23,9 +23,7 @@ import java.util.ArrayList; ...@@ -23,9 +23,7 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
/** /** Represents a splice schedule command as defined in SCTE35, Section 9.3.2. */
* Represents a splice schedule command as defined in SCTE35, Section 9.3.2.
*/
public final class SpliceScheduleCommand extends SpliceCommand { public final class SpliceScheduleCommand extends SpliceCommand {
/** /**
......
...@@ -20,9 +20,7 @@ import com.google.android.exoplayer2.C; ...@@ -20,9 +20,7 @@ import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.util.ParsableByteArray; import com.google.android.exoplayer2.util.ParsableByteArray;
import com.google.android.exoplayer2.util.TimestampAdjuster; import com.google.android.exoplayer2.util.TimestampAdjuster;
/** /** Represents a time signal command as defined in SCTE35, Section 9.3.4. */
* Represents a time signal command as defined in SCTE35, Section 9.3.4.
*/
public final class TimeSignalCommand extends SpliceCommand { public final class TimeSignalCommand extends SpliceCommand {
/** /**
......
...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2.source; ...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2.source;
import java.io.IOException; import java.io.IOException;
/** /** Thrown when a live playback falls behind the available media window. */
* Thrown when a live playback falls behind the available media window.
*/
public final class BehindLiveWindowException extends IOException { public final class BehindLiveWindowException extends IOException {
public BehindLiveWindowException() { public BehindLiveWindowException() {
......
...@@ -19,9 +19,7 @@ import static java.lang.Math.min; ...@@ -19,9 +19,7 @@ import static java.lang.Math.min;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
/** /** A {@link SequenceableLoader} that encapsulates multiple other {@link SequenceableLoader}s. */
* A {@link SequenceableLoader} that encapsulates multiple other {@link SequenceableLoader}s.
*/
public class CompositeSequenceableLoader implements SequenceableLoader { public class CompositeSequenceableLoader implements SequenceableLoader {
protected final SequenceableLoader[] loaders; protected final SequenceableLoader[] loaders;
......
...@@ -15,9 +15,7 @@ ...@@ -15,9 +15,7 @@
*/ */
package com.google.android.exoplayer2.source; package com.google.android.exoplayer2.source;
/** /** A factory to create composite {@link SequenceableLoader}s. */
* A factory to create composite {@link SequenceableLoader}s.
*/
public interface CompositeSequenceableLoaderFactory { public interface CompositeSequenceableLoaderFactory {
/** /**
......
...@@ -15,9 +15,7 @@ ...@@ -15,9 +15,7 @@
*/ */
package com.google.android.exoplayer2.source; package com.google.android.exoplayer2.source;
/** /** Default implementation of {@link CompositeSequenceableLoaderFactory}. */
* Default implementation of {@link CompositeSequenceableLoaderFactory}.
*/
public final class DefaultCompositeSequenceableLoaderFactory public final class DefaultCompositeSequenceableLoaderFactory
implements CompositeSequenceableLoaderFactory { implements CompositeSequenceableLoaderFactory {
......
...@@ -19,9 +19,7 @@ import com.google.android.exoplayer2.C; ...@@ -19,9 +19,7 @@ import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.FormatHolder; import com.google.android.exoplayer2.FormatHolder;
import com.google.android.exoplayer2.decoder.DecoderInputBuffer; import com.google.android.exoplayer2.decoder.DecoderInputBuffer;
/** /** An empty {@link SampleStream}. */
* An empty {@link SampleStream}.
*/
public final class EmptySampleStream implements SampleStream { public final class EmptySampleStream implements SampleStream {
@Override @Override
......
...@@ -25,9 +25,7 @@ import java.lang.annotation.Documented; ...@@ -25,9 +25,7 @@ import java.lang.annotation.Documented;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
/** /** A stream of media samples (and associated format information). */
* A stream of media samples (and associated format information).
*/
public interface SampleStream { public interface SampleStream {
/** /**
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
// TODO: Clarify the requirements for implementing this interface [Internal ref: b/36250203]. // TODO: Clarify the requirements for implementing this interface [Internal ref: b/36250203].
/** /** A loader that can proceed in approximate synchronization with other loaders. */
* A loader that can proceed in approximate synchronization with other loaders.
*/
public interface SequenceableLoader { public interface SequenceableLoader {
/** /**
......
...@@ -24,9 +24,7 @@ import com.google.android.exoplayer2.MediaItem; ...@@ -24,9 +24,7 @@ import com.google.android.exoplayer2.MediaItem;
import com.google.android.exoplayer2.Timeline; import com.google.android.exoplayer2.Timeline;
import com.google.android.exoplayer2.util.Assertions; import com.google.android.exoplayer2.util.Assertions;
/** /** A {@link Timeline} consisting of a single period and static window. */
* A {@link Timeline} consisting of a single period and static window.
*/
public final class SinglePeriodTimeline extends Timeline { public final class SinglePeriodTimeline extends Timeline {
private static final Object UID = new Object(); private static final Object UID = new Object();
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source;
import android.net.Uri; import android.net.Uri;
import com.google.android.exoplayer2.ParserException; import com.google.android.exoplayer2.ParserException;
/** /** Thrown if the input format was not recognized. */
* Thrown if the input format was not recognized.
*/
public class UnrecognizedInputFormatException extends ParserException { public class UnrecognizedInputFormatException extends ParserException {
/** /**
......
...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2.source.chunk; ...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2.source.chunk;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
/** /** Holds a chunk or an indication that the end of the stream has been reached. */
* Holds a chunk or an indication that the end of the stream has been reached.
*/
public final class ChunkHolder { public final class ChunkHolder {
/** The chunk. */ /** The chunk. */
......
...@@ -53,8 +53,8 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; ...@@ -53,8 +53,8 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
* A {@link SampleStream} that loads media in {@link Chunk}s, obtained from a {@link ChunkSource}. * A {@link SampleStream} that loads media in {@link Chunk}s, obtained from a {@link ChunkSource}.
* May also be configured to expose additional embedded {@link SampleStream}s. * May also be configured to expose additional embedded {@link SampleStream}s.
*/ */
public class ChunkSampleStream<T extends ChunkSource> implements SampleStream, SequenceableLoader, public class ChunkSampleStream<T extends ChunkSource>
Loader.Callback<Chunk>, Loader.ReleaseCallback { implements SampleStream, SequenceableLoader, Loader.Callback<Chunk>, Loader.ReleaseCallback {
/** A callback to be notified when a sample stream has finished being released. */ /** A callback to be notified when a sample stream has finished being released. */
public interface ReleaseCallback<T extends ChunkSource> { public interface ReleaseCallback<T extends ChunkSource> {
......
...@@ -20,9 +20,7 @@ import com.google.android.exoplayer2.SeekParameters; ...@@ -20,9 +20,7 @@ import com.google.android.exoplayer2.SeekParameters;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
/** /** A provider of {@link Chunk}s for a {@link ChunkSampleStream} to load. */
* A provider of {@link Chunk}s for a {@link ChunkSampleStream} to load.
*/
public interface ChunkSource { public interface ChunkSource {
/** /**
......
...@@ -27,9 +27,7 @@ import com.google.android.exoplayer2.upstream.DataSpec; ...@@ -27,9 +27,7 @@ import com.google.android.exoplayer2.upstream.DataSpec;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import java.io.IOException; import java.io.IOException;
/** /** A {@link BaseMediaChunk} that uses an {@link Extractor} to decode sample data. */
* A {@link BaseMediaChunk} that uses an {@link Extractor} to decode sample data.
*/
public class ContainerMediaChunk extends BaseMediaChunk { public class ContainerMediaChunk extends BaseMediaChunk {
private final int chunkCount; private final int chunkCount;
......
...@@ -26,9 +26,7 @@ import com.google.android.exoplayer2.upstream.DataSpec; ...@@ -26,9 +26,7 @@ import com.google.android.exoplayer2.upstream.DataSpec;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import java.io.IOException; import java.io.IOException;
/** /** A {@link BaseMediaChunk} for chunks consisting of a single raw sample. */
* A {@link BaseMediaChunk} for chunks consisting of a single raw sample.
*/
public final class SingleSampleMediaChunk extends BaseMediaChunk { public final class SingleSampleMediaChunk extends BaseMediaChunk {
private final int trackType; private final int trackType;
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.text; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.text;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import java.util.List; import java.util.List;
/** /** A subtitle consisting of timed {@link Cue}s. */
* A subtitle consisting of timed {@link Cue}s.
*/
public interface Subtitle { public interface Subtitle {
/** /**
......
...@@ -17,11 +17,9 @@ package com.google.android.exoplayer2.text; ...@@ -17,11 +17,9 @@ package com.google.android.exoplayer2.text;
import com.google.android.exoplayer2.decoder.Decoder; import com.google.android.exoplayer2.decoder.Decoder;
/** /** Decodes {@link Subtitle}s from {@link SubtitleInputBuffer}s. */
* Decodes {@link Subtitle}s from {@link SubtitleInputBuffer}s. public interface SubtitleDecoder
*/ extends Decoder<SubtitleInputBuffer, SubtitleOutputBuffer, SubtitleDecoderException> {
public interface SubtitleDecoder extends
Decoder<SubtitleInputBuffer, SubtitleOutputBuffer, SubtitleDecoderException> {
/** /**
* Informs the decoder of the current playback position. * Informs the decoder of the current playback position.
......
...@@ -29,9 +29,7 @@ import com.google.android.exoplayer2.text.webvtt.Mp4WebvttDecoder; ...@@ -29,9 +29,7 @@ import com.google.android.exoplayer2.text.webvtt.Mp4WebvttDecoder;
import com.google.android.exoplayer2.text.webvtt.WebvttDecoder; import com.google.android.exoplayer2.text.webvtt.WebvttDecoder;
import com.google.android.exoplayer2.util.MimeTypes; import com.google.android.exoplayer2.util.MimeTypes;
/** /** A factory for {@link SubtitleDecoder} instances. */
* A factory for {@link SubtitleDecoder} instances.
*/
public interface SubtitleDecoderFactory { public interface SubtitleDecoderFactory {
/** /**
......
...@@ -41,10 +41,10 @@ import java.util.List; ...@@ -41,10 +41,10 @@ import java.util.List;
/** /**
* A renderer for text. * A renderer for text.
* <p> *
* {@link Subtitle}s are decoded from sample data using {@link SubtitleDecoder} instances obtained * <p>{@link Subtitle}s are decoded from sample data using {@link SubtitleDecoder} instances
* from a {@link SubtitleDecoderFactory}. The actual rendering of the subtitle {@link Cue}s is * obtained from a {@link SubtitleDecoderFactory}. The actual rendering of the subtitle {@link Cue}s
* delegated to a {@link TextOutput}. * is delegated to a {@link TextOutput}.
*/ */
public final class TextRenderer extends BaseRenderer implements Callback { public final class TextRenderer extends BaseRenderer implements Callback {
......
...@@ -45,9 +45,7 @@ import java.util.Comparator; ...@@ -45,9 +45,7 @@ import java.util.Comparator;
import java.util.List; import java.util.List;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** A {@link SubtitleDecoder} for CEA-708 (also known as "EIA-708"). */
* A {@link SubtitleDecoder} for CEA-708 (also known as "EIA-708").
*/
public final class Cea708Decoder extends CeaDecoder { public final class Cea708Decoder extends CeaDecoder {
private static final String TAG = "Cea708Decoder"; private static final String TAG = "Cea708Decoder";
......
...@@ -30,9 +30,7 @@ import java.util.ArrayList; ...@@ -30,9 +30,7 @@ import java.util.ArrayList;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
/** /** A {@link SimpleSubtitleDecoder} for SubRip. */
* A {@link SimpleSubtitleDecoder} for SubRip.
*/
public final class SubripDecoder extends SimpleSubtitleDecoder { public final class SubripDecoder extends SimpleSubtitleDecoder {
// Fractional positions for use when alignment tags are present. // Fractional positions for use when alignment tags are present.
......
...@@ -39,8 +39,8 @@ import java.util.List; ...@@ -39,8 +39,8 @@ import java.util.List;
/** /**
* A {@link SimpleSubtitleDecoder} for tx3g. * A {@link SimpleSubtitleDecoder} for tx3g.
* <p> *
* Currently supports parsing of a single text track with embedded styles. * <p>Currently supports parsing of a single text track with embedded styles.
*/ */
public final class Tx3gDecoder extends SimpleSubtitleDecoder { public final class Tx3gDecoder extends SimpleSubtitleDecoder {
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
*/ */
package com.google.android.exoplayer2.text.webvtt; package com.google.android.exoplayer2.text.webvtt;
import com.google.android.exoplayer2.text.Cue; import com.google.android.exoplayer2.text.Cue;
/** A representation of a WebVTT cue. */ /** A representation of a WebVTT cue. */
......
...@@ -27,7 +27,9 @@ import java.util.List; ...@@ -27,7 +27,9 @@ import java.util.List;
/** /**
* A {@link SimpleSubtitleDecoder} for WebVTT. * A {@link SimpleSubtitleDecoder} for WebVTT.
*
* <p> * <p>
*
* @see <a href="http://dev.w3.org/html5/webvtt">WebVTT specification</a> * @see <a href="http://dev.w3.org/html5/webvtt">WebVTT specification</a>
*/ */
public final class WebvttDecoder extends SimpleSubtitleDecoder { public final class WebvttDecoder extends SimpleSubtitleDecoder {
......
...@@ -22,9 +22,7 @@ import com.google.android.exoplayer2.util.Util; ...@@ -22,9 +22,7 @@ import com.google.android.exoplayer2.util.Util;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
/** /** Utility methods for parsing WebVTT data. */
* Utility methods for parsing WebVTT data.
*/
public final class WebvttParserUtil { public final class WebvttParserUtil {
private static final Pattern COMMENT = Pattern.compile("^NOTE([ \t].*)?$"); private static final Pattern COMMENT = Pattern.compile("^NOTE([ \t].*)?$");
......
...@@ -22,9 +22,7 @@ import com.google.android.exoplayer2.source.chunk.MediaChunk; ...@@ -22,9 +22,7 @@ import com.google.android.exoplayer2.source.chunk.MediaChunk;
import com.google.android.exoplayer2.source.chunk.MediaChunkIterator; import com.google.android.exoplayer2.source.chunk.MediaChunkIterator;
import java.util.List; import java.util.List;
/** /** A {@link TrackSelection} consisting of a single track. */
* A {@link TrackSelection} consisting of a single track.
*/
public final class FixedTrackSelection extends BaseTrackSelection { public final class FixedTrackSelection extends BaseTrackSelection {
private final int reason; private final int reason;
......
...@@ -17,9 +17,9 @@ package com.google.android.exoplayer2.upstream; ...@@ -17,9 +17,9 @@ package com.google.android.exoplayer2.upstream;
/** /**
* An allocation within a byte array. * An allocation within a byte array.
* <p> *
* The allocation's length is obtained by calling {@link Allocator#getIndividualAllocationLength()} * <p>The allocation's length is obtained by calling {@link
* on the {@link Allocator} from which it was obtained. * Allocator#getIndividualAllocationLength()} on the {@link Allocator} from which it was obtained.
*/ */
public final class Allocation { public final class Allocation {
......
...@@ -15,9 +15,7 @@ ...@@ -15,9 +15,7 @@
*/ */
package com.google.android.exoplayer2.upstream; package com.google.android.exoplayer2.upstream;
/** /** A source of allocations. */
* A source of allocations.
*/
public interface Allocator { public interface Allocator {
/** /**
......
...@@ -21,9 +21,7 @@ import com.google.android.exoplayer2.C; ...@@ -21,9 +21,7 @@ import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.util.Assertions; import com.google.android.exoplayer2.util.Assertions;
import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArrayList;
/** /** Provides estimates of the currently available bandwidth. */
* Provides estimates of the currently available bandwidth.
*/
public interface BandwidthMeter { public interface BandwidthMeter {
/** /**
......
...@@ -24,9 +24,7 @@ import java.io.ByteArrayOutputStream; ...@@ -24,9 +24,7 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
/** /** A {@link DataSink} for writing to a byte array. */
* A {@link DataSink} for writing to a byte array.
*/
public final class ByteArrayDataSink implements DataSink { public final class ByteArrayDataSink implements DataSink {
private @MonotonicNonNull ByteArrayOutputStream stream; private @MonotonicNonNull ByteArrayOutputStream stream;
......
...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2.upstream; ...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2.upstream;
import java.io.IOException; import java.io.IOException;
/** /** A component to which streams of data can be written. */
* A component to which streams of data can be written.
*/
public interface DataSink { public interface DataSink {
/** /**
......
...@@ -23,9 +23,7 @@ import com.google.android.exoplayer2.util.Util; ...@@ -23,9 +23,7 @@ import com.google.android.exoplayer2.util.Util;
import java.util.Arrays; import java.util.Arrays;
import org.checkerframework.checker.nullness.compatqual.NullableType; import org.checkerframework.checker.nullness.compatqual.NullableType;
/** /** Default implementation of {@link Allocator}. */
* Default implementation of {@link Allocator}.
*/
public final class DefaultAllocator implements Allocator { public final class DefaultAllocator implements Allocator {
private static final int AVAILABLE_EXTRA_CAPACITY = 100; private static final int AVAILABLE_EXTRA_CAPACITY = 100;
......
...@@ -20,8 +20,8 @@ import androidx.annotation.Nullable; ...@@ -20,8 +20,8 @@ import androidx.annotation.Nullable;
import com.google.android.exoplayer2.upstream.DataSource.Factory; import com.google.android.exoplayer2.upstream.DataSource.Factory;
/** /**
* A {@link Factory} that produces {@link DefaultDataSource} instances that delegate to * A {@link Factory} that produces {@link DefaultDataSource} instances that delegate to {@link
* {@link DefaultHttpDataSource}s for non-file/asset/content URIs. * DefaultHttpDataSource}s for non-file/asset/content URIs.
*/ */
public final class DefaultDataSourceFactory implements Factory { public final class DefaultDataSourceFactory implements Factory {
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
*/ */
package com.google.android.exoplayer2.upstream; package com.google.android.exoplayer2.upstream;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory; import com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory;
......
...@@ -36,9 +36,7 @@ import java.lang.annotation.RetentionPolicy; ...@@ -36,9 +36,7 @@ import java.lang.annotation.RetentionPolicy;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
/** /** Manages the background loading of {@link Loadable}s. */
* Manages the background loading of {@link Loadable}s.
*/
public final class Loader implements LoaderErrorThrower { public final class Loader implements LoaderErrorThrower {
/** /**
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.upstream; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.upstream;
import com.google.android.exoplayer2.upstream.Loader.Loadable; import com.google.android.exoplayer2.upstream.Loader.Loadable;
import java.io.IOException; import java.io.IOException;
/** /** Conditionally throws errors affecting a {@link Loader}. */
* Conditionally throws errors affecting a {@link Loader}.
*/
public interface LoaderErrorThrower { public interface LoaderErrorThrower {
/** /**
......
...@@ -24,14 +24,15 @@ import java.util.List; ...@@ -24,14 +24,15 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* A {@link DataSource} that can be used as part of a task registered with a * A {@link DataSource} that can be used as part of a task registered with a {@link
* {@link PriorityTaskManager}. * PriorityTaskManager}.
* <p> *
* Calls to {@link #open(DataSpec)} and {@link #read(byte[], int, int)} are allowed to proceed only * <p>Calls to {@link #open(DataSpec)} and {@link #read(byte[], int, int)} are allowed to proceed
* if there are no higher priority tasks registered to the {@link PriorityTaskManager}. If there * only if there are no higher priority tasks registered to the {@link PriorityTaskManager}. If
* exists a higher priority task then {@link PriorityTaskManager.PriorityTooLowException} is thrown. * there exists a higher priority task then {@link PriorityTaskManager.PriorityTooLowException} is
* <p> * thrown.
* Instances of this class are intended to be used as parts of (possibly larger) tasks that are *
* <p>Instances of this class are intended to be used as parts of (possibly larger) tasks that are
* registered with the {@link PriorityTaskManager}, and hence do <em>not</em> register as tasks * registered with the {@link PriorityTaskManager}, and hence do <em>not</em> register as tasks
* themselves. * themselves.
*/ */
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.upstream; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.upstream;
import com.google.android.exoplayer2.upstream.DataSource.Factory; import com.google.android.exoplayer2.upstream.DataSource.Factory;
import com.google.android.exoplayer2.util.PriorityTaskManager; import com.google.android.exoplayer2.util.PriorityTaskManager;
/** /** A {@link DataSource.Factory} that produces {@link PriorityDataSource} instances. */
* A {@link DataSource.Factory} that produces {@link PriorityDataSource} instances.
*/
public final class PriorityDataSourceFactory implements Factory { public final class PriorityDataSourceFactory implements Factory {
private final Factory upstreamFactory; private final Factory upstreamFactory;
......
...@@ -23,9 +23,7 @@ import java.io.IOException; ...@@ -23,9 +23,7 @@ import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
/** /** Tees data into a {@link DataSink} as the data is read. */
* Tees data into a {@link DataSink} as the data is read.
*/
public final class TeeDataSource implements DataSource { public final class TeeDataSource implements DataSource {
private final DataSource upstream; private final DataSource upstream;
......
...@@ -19,9 +19,7 @@ import androidx.annotation.Nullable; ...@@ -19,9 +19,7 @@ import androidx.annotation.Nullable;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import java.io.File; import java.io.File;
/** /** Defines a span of data that may or may not be cached (as indicated by {@link #isCached}). */
* Defines a span of data that may or may not be cached (as indicated by {@link #isCached}).
*/
public class CacheSpan implements Comparable<CacheSpan> { public class CacheSpan implements Comparable<CacheSpan> {
/** The cache key that uniquely identifies the resource. */ /** The cache key that uniquely identifies the resource. */
......
...@@ -25,8 +25,8 @@ import java.util.NavigableSet; ...@@ -25,8 +25,8 @@ import java.util.NavigableSet;
import java.util.TreeSet; import java.util.TreeSet;
/** /**
* Utility class for efficiently tracking regions of data that are stored in a {@link Cache} * Utility class for efficiently tracking regions of data that are stored in a {@link Cache} for a
* for a given cache key. * given cache key.
*/ */
public final class CachedRegionTracker implements Cache.Listener { public final class CachedRegionTracker implements Cache.Listener {
......
...@@ -19,9 +19,7 @@ import android.net.Uri; ...@@ -19,9 +19,7 @@ import android.net.Uri;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
/** /** Interface for an immutable snapshot of keyed metadata. */
* Interface for an immutable snapshot of keyed metadata.
*/
public interface ContentMetadata { public interface ContentMetadata {
/** /**
......
...@@ -15,12 +15,11 @@ ...@@ -15,12 +15,11 @@
*/ */
package com.google.android.exoplayer2.upstream.cache; package com.google.android.exoplayer2.upstream.cache;
/** /**
* Evictor that doesn't ever evict cache files. * Evictor that doesn't ever evict cache files.
* *
* Warning: Using this evictor might have unforeseeable consequences if cache * <p>Warning: Using this evictor might have unforeseeable consequences if cache size is not managed
* size is not managed elsewhere. * elsewhere.
*/ */
public final class NoOpCacheEvictor implements CacheEvictor { public final class NoOpCacheEvictor implements CacheEvictor {
......
...@@ -24,9 +24,7 @@ import com.google.android.exoplayer2.upstream.DataSpec; ...@@ -24,9 +24,7 @@ import com.google.android.exoplayer2.upstream.DataSpec;
import java.io.IOException; import java.io.IOException;
import javax.crypto.Cipher; import javax.crypto.Cipher;
/** /** A wrapping {@link DataSink} that encrypts the data being consumed. */
* A wrapping {@link DataSink} that encrypts the data being consumed.
*/
public final class AesCipherDataSink implements DataSink { public final class AesCipherDataSink implements DataSink {
private final DataSink wrappedDataSink; private final DataSink wrappedDataSink;
......
...@@ -29,9 +29,7 @@ import java.util.List; ...@@ -29,9 +29,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import javax.crypto.Cipher; import javax.crypto.Cipher;
/** /** A {@link DataSource} that decrypts the data read from an upstream source. */
* A {@link DataSource} that decrypts the data read from an upstream source.
*/
public final class AesCipherDataSource implements DataSource { public final class AesCipherDataSource implements DataSource {
private final DataSource upstream; private final DataSource upstream;
......
...@@ -30,8 +30,8 @@ import javax.crypto.spec.SecretKeySpec; ...@@ -30,8 +30,8 @@ import javax.crypto.spec.SecretKeySpec;
/** /**
* A flushing variant of a AES/CTR/NoPadding {@link Cipher}. * A flushing variant of a AES/CTR/NoPadding {@link Cipher}.
* *
* Unlike a regular {@link Cipher}, the update methods of this class are guaranteed to process all * <p>Unlike a regular {@link Cipher}, the update methods of this class are guaranteed to process
* of the bytes input (and hence output the same number of bytes). * all of the bytes input (and hence output the same number of bytes).
*/ */
public final class AesFlushingCipher { public final class AesFlushingCipher {
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.graphics.Color; import android.graphics.Color;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.annotation.ColorInt; import androidx.annotation.ColorInt;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.os.Looper; import android.os.Looper;
import android.widget.TextView; import android.widget.TextView;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.graphics.SurfaceTexture; import android.graphics.SurfaceTexture;
import android.opengl.EGL14; import android.opengl.EGL14;
import android.opengl.EGLConfig; import android.opengl.EGLConfig;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import static java.lang.Math.min; import static java.lang.Math.min;
import android.os.SystemClock; import android.os.SystemClock;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import java.util.NoSuchElementException; import java.util.NoSuchElementException;
/** /**
......
...@@ -15,11 +15,10 @@ ...@@ -15,11 +15,10 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import java.util.Arrays; import java.util.Arrays;
/** /** Configurable loader for native libraries. */
* Configurable loader for native libraries.
*/
public final class LibraryLoader { public final class LibraryLoader {
private static final String TAG = "LibraryLoader"; private static final String TAG = "LibraryLoader";
......
...@@ -15,11 +15,10 @@ ...@@ -15,11 +15,10 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import com.google.android.exoplayer2.PlaybackParameters; import com.google.android.exoplayer2.PlaybackParameters;
/** /** Tracks the progression of media time. */
* Tracks the progression of media time.
*/
public interface MediaClock { public interface MediaClock {
/** /**
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import static com.google.android.exoplayer2.util.Assertions.checkNotNull; import static com.google.android.exoplayer2.util.Assertions.checkNotNull;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import static com.google.android.exoplayer2.util.Assertions.checkNotNull; import static com.google.android.exoplayer2.util.Assertions.checkNotNull;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import static java.lang.Math.max; import static java.lang.Math.max;
import java.io.IOException; import java.io.IOException;
...@@ -23,8 +24,8 @@ import java.util.PriorityQueue; ...@@ -23,8 +24,8 @@ import java.util.PriorityQueue;
/** /**
* Allows tasks with associated priorities to control how they proceed relative to one another. * Allows tasks with associated priorities to control how they proceed relative to one another.
* <p> *
* A task should call {@link #add(int)} to register with the manager and {@link #remove(int)} to * <p>A task should call {@link #add(int)} to register with the manager and {@link #remove(int)} to
* unregister. A registered task will prevent tasks of lower priority from proceeding, and should * unregister. A registered task will prevent tasks of lower priority from proceeding, and should
* call {@link #proceed(int)}, {@link #proceedNonBlocking(int)} or {@link #proceedOrThrow(int)} each * call {@link #proceed(int)}, {@link #proceedNonBlocking(int)} or {@link #proceedOrThrow(int)} each
* time it wishes to check whether it is itself allowed to proceed. * time it wishes to check whether it is itself allowed to proceed.
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import java.io.BufferedOutputStream; import java.io.BufferedOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
...@@ -24,10 +25,10 @@ import java.util.Comparator; ...@@ -24,10 +25,10 @@ import java.util.Comparator;
* configured. Once the total weight of the values reaches the maximum weight, the oldest value is * configured. Once the total weight of the values reaches the maximum weight, the oldest value is
* reduced in weight until it reaches zero and is removed. This maintains a constant total weight, * reduced in weight until it reaches zero and is removed. This maintains a constant total weight,
* equal to the maximum allowed, at the steady state. * equal to the maximum allowed, at the steady state.
* <p> *
* This class can be used for bandwidth estimation based on a sliding window of past transfer rate * <p>This class can be used for bandwidth estimation based on a sliding window of past transfer
* observations. This is an alternative to sliding mean and exponential averaging which suffer from * rate observations. This is an alternative to sliding mean and exponential averaging which suffer
* susceptibility to outliers and slow adaptation to step functions. * from susceptibility to outliers and slow adaptation to step functions.
* *
* @see <a href="http://en.wikipedia.org/wiki/Moving_average">Wiki: Moving average</a> * @see <a href="http://en.wikipedia.org/wiki/Moving_average">Wiki: Moving average</a>
* @see <a href="http://en.wikipedia.org/wiki/Selection_algorithm">Wiki: Selection algorithm</a> * @see <a href="http://en.wikipedia.org/wiki/Selection_algorithm">Wiki: Selection algorithm</a>
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.os.SystemClock; import android.os.SystemClock;
import androidx.annotation.GuardedBy; import androidx.annotation.GuardedBy;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.PlaybackParameters; import com.google.android.exoplayer2.PlaybackParameters;
......
...@@ -15,13 +15,12 @@ ...@@ -15,13 +15,12 @@
*/ */
package com.google.android.exoplayer2.util; package com.google.android.exoplayer2.util;
import android.net.Uri; import android.net.Uri;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
/** /** Utility methods for manipulating URIs. */
* Utility methods for manipulating URIs.
*/
public final class UriUtil { public final class UriUtil {
/** /**
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source.dash; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source.dash;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.source.dash.manifest.RangedUri; import com.google.android.exoplayer2.source.dash.manifest.RangedUri;
/** /** Indexes the segments within a media stream. */
* Indexes the segments within a media stream.
*/
public interface DashSegmentIndex { public interface DashSegmentIndex {
int INDEX_UNBOUNDED = -1; int INDEX_UNBOUNDED = -1;
......
...@@ -40,9 +40,7 @@ import com.google.android.exoplayer2.util.MimeTypes; ...@@ -40,9 +40,7 @@ import com.google.android.exoplayer2.util.MimeTypes;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
/** /** Utility methods for DASH streams. */
* Utility methods for DASH streams.
*/
public final class DashUtil { public final class DashUtil {
/** /**
......
...@@ -20,8 +20,8 @@ import com.google.android.exoplayer2.extractor.ChunkIndex; ...@@ -20,8 +20,8 @@ import com.google.android.exoplayer2.extractor.ChunkIndex;
import com.google.android.exoplayer2.source.dash.manifest.RangedUri; import com.google.android.exoplayer2.source.dash.manifest.RangedUri;
/** /**
* An implementation of {@link DashSegmentIndex} that wraps a {@link ChunkIndex} parsed from a * An implementation of {@link DashSegmentIndex} that wraps a {@link ChunkIndex} parsed from a media
* media stream. * stream.
*/ */
public final class DashWrappingSegmentIndex implements DashSegmentIndex { public final class DashWrappingSegmentIndex implements DashSegmentIndex {
......
...@@ -53,9 +53,7 @@ import java.io.IOException; ...@@ -53,9 +53,7 @@ import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /** A default {@link DashChunkSource} implementation. */
* A default {@link DashChunkSource} implementation.
*/
public class DefaultDashChunkSource implements DashChunkSource { public class DefaultDashChunkSource implements DashChunkSource {
public static final class Factory implements DashChunkSource.Factory { public static final class Factory implements DashChunkSource.Factory {
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source.dash.manifest; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source.dash.manifest;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
/** /** Represents a set of interchangeable encoded versions of a media content component. */
* Represents a set of interchangeable encoded versions of a media content component.
*/
public class AdaptationSet { public class AdaptationSet {
/** /**
......
...@@ -57,9 +57,7 @@ import org.xmlpull.v1.XmlPullParserException; ...@@ -57,9 +57,7 @@ import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory; import org.xmlpull.v1.XmlPullParserFactory;
import org.xmlpull.v1.XmlSerializer; import org.xmlpull.v1.XmlSerializer;
/** /** A parser of media presentation description files. */
* A parser of media presentation description files.
*/
public class DashManifestParser extends DefaultHandler public class DashManifestParser extends DefaultHandler
implements ParsingLoadable.Parser<DashManifest> { implements ParsingLoadable.Parser<DashManifest> {
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source.dash.manifest; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source.dash.manifest;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
/** /** A descriptor, as defined by ISO 23009-1, 2nd edition, 5.8.2. */
* A descriptor, as defined by ISO 23009-1, 2nd edition, 5.8.2.
*/
public final class Descriptor { public final class Descriptor {
/** The scheme URI. */ /** The scheme URI. */
......
...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2.source.dash.manifest; ...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2.source.dash.manifest;
import com.google.android.exoplayer2.metadata.emsg.EventMessage; import com.google.android.exoplayer2.metadata.emsg.EventMessage;
/** /** A DASH in-MPD EventStream element, as defined by ISO/IEC 23009-1, 2nd edition, section 5.10. */
* A DASH in-MPD EventStream element, as defined by ISO/IEC 23009-1, 2nd edition, section 5.10.
*/
public final class EventStream { public final class EventStream {
/** /**
......
...@@ -20,9 +20,7 @@ import com.google.android.exoplayer2.C; ...@@ -20,9 +20,7 @@ import com.google.android.exoplayer2.C;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
/** /** Encapsulates media content components over a contiguous period of time. */
* Encapsulates media content components over a contiguous period of time.
*/
public class Period { public class Period {
/** /**
......
...@@ -20,9 +20,7 @@ import androidx.annotation.Nullable; ...@@ -20,9 +20,7 @@ import androidx.annotation.Nullable;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.util.UriUtil; import com.google.android.exoplayer2.util.UriUtil;
/** /** Defines a range of data located at a reference uri. */
* Defines a range of data located at a reference uri.
*/
public final class RangedUri { public final class RangedUri {
/** /**
......
...@@ -19,8 +19,8 @@ import java.util.Locale; ...@@ -19,8 +19,8 @@ import java.util.Locale;
/** /**
* A template from which URLs can be built. * A template from which URLs can be built.
* <p> *
* URLs are built according to the substitution rules defined in ISO/IEC 23009-1:2014 5.3.9.4.4. * <p>URLs are built according to the substitution rules defined in ISO/IEC 23009-1:2014 5.3.9.4.4.
*/ */
public final class UrlTemplate { public final class UrlTemplate {
......
...@@ -15,9 +15,7 @@ ...@@ -15,9 +15,7 @@
*/ */
package com.google.android.exoplayer2.source.dash.manifest; package com.google.android.exoplayer2.source.dash.manifest;
/** /** Represents a UTCTiming element. */
* Represents a UTCTiming element.
*/
public final class UtcTimingElement { public final class UtcTimingElement {
public final String schemeIdUri; public final String schemeIdUri;
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.extractor; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.extractor;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import java.util.Arrays; import java.util.Arrays;
/** /** Defines chunks of samples within a media stream. */
* Defines chunks of samples within a media stream.
*/
public final class ChunkIndex implements SeekMap { public final class ChunkIndex implements SeekMap {
/** /**
......
...@@ -22,9 +22,7 @@ import java.lang.annotation.Documented; ...@@ -22,9 +22,7 @@ import java.lang.annotation.Documented;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
/** /** Extracts media data from a container format. */
* Extracts media data from a container format.
*/
public interface Extractor { public interface Extractor {
/** /**
......
...@@ -15,9 +15,7 @@ ...@@ -15,9 +15,7 @@
*/ */
package com.google.android.exoplayer2.extractor; package com.google.android.exoplayer2.extractor;
/** /** Receives stream level data extracted by an {@link Extractor}. */
* Receives stream level data extracted by an {@link Extractor}.
*/
public interface ExtractorOutput { public interface ExtractorOutput {
/** /**
......
...@@ -24,9 +24,7 @@ import com.google.android.exoplayer2.metadata.id3.InternalFrame; ...@@ -24,9 +24,7 @@ import com.google.android.exoplayer2.metadata.id3.InternalFrame;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
/** /** Holder for gapless playback information. */
* Holder for gapless playback information.
*/
public final class GaplessInfoHolder { public final class GaplessInfoHolder {
private static final String GAPLESS_DOMAIN = "com.apple.iTunes"; private static final String GAPLESS_DOMAIN = "com.apple.iTunes";
......
...@@ -15,9 +15,7 @@ ...@@ -15,9 +15,7 @@
*/ */
package com.google.android.exoplayer2.extractor; package com.google.android.exoplayer2.extractor;
/** /** Holds a position in the stream. */
* Holds a position in the stream.
*/
public final class PositionHolder { public final class PositionHolder {
/** /**
......
...@@ -28,9 +28,7 @@ import java.lang.annotation.Retention; ...@@ -28,9 +28,7 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.util.Arrays; import java.util.Arrays;
/** /** Receives track level data extracted by an {@link Extractor}. */
* Receives track level data extracted by an {@link Extractor}.
*/
public interface TrackOutput { public interface TrackOutput {
/** /**
......
...@@ -35,9 +35,7 @@ import java.lang.annotation.RetentionPolicy; ...@@ -35,9 +35,7 @@ import java.lang.annotation.RetentionPolicy;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** Extracts data from the FLV container format. */
* Extracts data from the FLV container format.
*/
public final class FlvExtractor implements Extractor { public final class FlvExtractor implements Extractor {
/** Factory for {@link FlvExtractor} instances. */ /** Factory for {@link FlvExtractor} instances. */
......
...@@ -48,9 +48,7 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull; ...@@ -48,9 +48,7 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** Extracts data from the MP3 container format. */
* Extracts data from the MP3 container format.
*/
public final class Mp3Extractor implements Extractor { public final class Mp3Extractor implements Extractor {
/** Factory for {@link Mp3Extractor} instances. */ /** Factory for {@link Mp3Extractor} instances. */
......
...@@ -58,9 +58,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType; ...@@ -58,9 +58,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** Extracts data from the MP4 container format. */
* Extracts data from the MP4 container format.
*/
public final class Mp4Extractor implements Extractor, SeekMap { public final class Mp4Extractor implements Extractor, SeekMap {
/** Factory for {@link Mp4Extractor} instances. */ /** Factory for {@link Mp4Extractor} instances. */
......
...@@ -21,9 +21,7 @@ import com.google.android.exoplayer2.util.ParsableByteArray; ...@@ -21,9 +21,7 @@ import com.google.android.exoplayer2.util.ParsableByteArray;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.util.UUID; import java.util.UUID;
/** /** Utility methods for handling PSSH atoms. */
* Utility methods for handling PSSH atoms.
*/
public final class PsshAtomUtil { public final class PsshAtomUtil {
private static final String TAG = "PsshAtomUtil"; private static final String TAG = "PsshAtomUtil";
......
...@@ -23,9 +23,7 @@ import java.lang.annotation.Documented; ...@@ -23,9 +23,7 @@ import java.lang.annotation.Documented;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
/** /** Encapsulates information describing an MP4 track. */
* Encapsulates information describing an MP4 track.
*/
public final class Track { public final class Track {
/** /**
......
...@@ -22,7 +22,7 @@ import com.google.android.exoplayer2.util.Assertions; ...@@ -22,7 +22,7 @@ import com.google.android.exoplayer2.util.Assertions;
import com.google.android.exoplayer2.util.Log; import com.google.android.exoplayer2.util.Log;
/** /**
* Encapsulates information parsed from a track encryption (tenc) box or sample group description * Encapsulates information parsed from a track encryption (tenc) box or sample group description
* (sgpd) box in an MP4 stream. * (sgpd) box in an MP4 stream.
*/ */
public final class TrackEncryptionBox { public final class TrackEncryptionBox {
......
...@@ -31,9 +31,7 @@ import java.io.IOException; ...@@ -31,9 +31,7 @@ import java.io.IOException;
import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
/** /** Extracts data from the Ogg container format. */
* Extracts data from the Ogg container format.
*/
public class OggExtractor implements Extractor { public class OggExtractor implements Extractor {
/** Factory for {@link OggExtractor} instances. */ /** Factory for {@link OggExtractor} instances. */
......
...@@ -30,9 +30,7 @@ import java.io.IOException; ...@@ -30,9 +30,7 @@ import java.io.IOException;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** Extracts data from the RawCC container format. */
* Extracts data from the RawCC container format.
*/
public final class RawCcExtractor implements Extractor { public final class RawCcExtractor implements Extractor {
private static final int SCRATCH_SIZE = 9; private static final int SCRATCH_SIZE = 9;
......
...@@ -31,9 +31,7 @@ import com.google.android.exoplayer2.extractor.ts.TsPayloadReader.TrackIdGenerat ...@@ -31,9 +31,7 @@ import com.google.android.exoplayer2.extractor.ts.TsPayloadReader.TrackIdGenerat
import com.google.android.exoplayer2.util.ParsableByteArray; import com.google.android.exoplayer2.util.ParsableByteArray;
import java.io.IOException; import java.io.IOException;
/** /** Extracts data from (E-)AC-3 bitstreams. */
* Extracts data from (E-)AC-3 bitstreams.
*/
public final class Ac3Extractor implements Extractor { public final class Ac3Extractor implements Extractor {
/** Factory for {@link Ac3Extractor} instances. */ /** Factory for {@link Ac3Extractor} instances. */
......
...@@ -36,9 +36,7 @@ import java.lang.annotation.RetentionPolicy; ...@@ -36,9 +36,7 @@ import java.lang.annotation.RetentionPolicy;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** Parses a continuous (E-)AC-3 byte stream and extracts individual samples. */
* Parses a continuous (E-)AC-3 byte stream and extracts individual samples.
*/
public final class Ac3Reader implements ElementaryStreamReader { public final class Ac3Reader implements ElementaryStreamReader {
@Documented @Documented
......
...@@ -41,9 +41,7 @@ import java.lang.annotation.RetentionPolicy; ...@@ -41,9 +41,7 @@ import java.lang.annotation.RetentionPolicy;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** Extracts data from AAC bit streams with ADTS framing. */
* Extracts data from AAC bit streams with ADTS framing.
*/
public final class AdtsExtractor implements Extractor { public final class AdtsExtractor implements Extractor {
/** Factory for {@link AdtsExtractor} instances. */ /** Factory for {@link AdtsExtractor} instances. */
......
...@@ -38,9 +38,7 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull; ...@@ -38,9 +38,7 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** Parses a continuous ADTS byte stream and extracts individual frames. */
* Parses a continuous ADTS byte stream and extracts individual frames.
*/
public final class AdtsReader implements ElementaryStreamReader { public final class AdtsReader implements ElementaryStreamReader {
private static final String TAG = "AdtsReader"; private static final String TAG = "AdtsReader";
......
...@@ -30,9 +30,7 @@ import java.lang.annotation.RetentionPolicy; ...@@ -30,9 +30,7 @@ import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /** Default {@link TsPayloadReader.Factory} implementation. */
* Default {@link TsPayloadReader.Factory} implementation.
*/
public final class DefaultTsPayloadReaderFactory implements TsPayloadReader.Factory { public final class DefaultTsPayloadReaderFactory implements TsPayloadReader.Factory {
/** /**
......
...@@ -29,9 +29,7 @@ import com.google.android.exoplayer2.util.ParsableByteArray; ...@@ -29,9 +29,7 @@ import com.google.android.exoplayer2.util.ParsableByteArray;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** Parses a continuous DTS byte stream and extracts individual samples. */
* Parses a continuous DTS byte stream and extracts individual samples.
*/
public final class DtsReader implements ElementaryStreamReader { public final class DtsReader implements ElementaryStreamReader {
private static final int STATE_FINDING_SYNC = 0; private static final int STATE_FINDING_SYNC = 0;
......
...@@ -28,9 +28,7 @@ import com.google.android.exoplayer2.util.ParsableByteArray; ...@@ -28,9 +28,7 @@ import com.google.android.exoplayer2.util.ParsableByteArray;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
/** /** Parses DVB subtitle data and extracts individual frames. */
* Parses DVB subtitle data and extracts individual frames.
*/
public final class DvbSubtitleReader implements ElementaryStreamReader { public final class DvbSubtitleReader implements ElementaryStreamReader {
private final List<DvbSubtitleInfo> subtitleInfos; private final List<DvbSubtitleInfo> subtitleInfos;
......
...@@ -20,9 +20,7 @@ import com.google.android.exoplayer2.extractor.ExtractorOutput; ...@@ -20,9 +20,7 @@ import com.google.android.exoplayer2.extractor.ExtractorOutput;
import com.google.android.exoplayer2.extractor.TrackOutput; import com.google.android.exoplayer2.extractor.TrackOutput;
import com.google.android.exoplayer2.util.ParsableByteArray; import com.google.android.exoplayer2.util.ParsableByteArray;
/** /** Extracts individual samples from an elementary media stream, preserving original order. */
* Extracts individual samples from an elementary media stream, preserving original order.
*/
public interface ElementaryStreamReader { public interface ElementaryStreamReader {
/** /**
......
...@@ -33,9 +33,7 @@ import java.util.Arrays; ...@@ -33,9 +33,7 @@ import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
/** /** Parses a continuous H262 byte stream and extracts individual frames. */
* Parses a continuous H262 byte stream and extracts individual frames.
*/
public final class H262Reader implements ElementaryStreamReader { public final class H262Reader implements ElementaryStreamReader {
private static final int START_PICTURE = 0x00; private static final int START_PICTURE = 0x00;
......
...@@ -39,9 +39,7 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull; ...@@ -39,9 +39,7 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** Parses a continuous H264 byte stream and extracts individual frames. */
* Parses a continuous H264 byte stream and extracts individual frames.
*/
public final class H264Reader implements ElementaryStreamReader { public final class H264Reader implements ElementaryStreamReader {
private static final int NAL_UNIT_TYPE_SEI = 6; // Supplemental enhancement information private static final int NAL_UNIT_TYPE_SEI = 6; // Supplemental enhancement information
......
...@@ -36,9 +36,7 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull; ...@@ -36,9 +36,7 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** Parses a continuous H.265 byte stream and extracts individual frames. */
* Parses a continuous H.265 byte stream and extracts individual frames.
*/
public final class H265Reader implements ElementaryStreamReader { public final class H265Reader implements ElementaryStreamReader {
private static final String TAG = "H265Reader"; private static final String TAG = "H265Reader";
......
...@@ -30,9 +30,7 @@ import com.google.android.exoplayer2.util.MimeTypes; ...@@ -30,9 +30,7 @@ import com.google.android.exoplayer2.util.MimeTypes;
import com.google.android.exoplayer2.util.ParsableByteArray; import com.google.android.exoplayer2.util.ParsableByteArray;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
/** /** Parses ID3 data and extracts individual text information frames. */
* Parses ID3 data and extracts individual text information frames.
*/
public final class Id3Reader implements ElementaryStreamReader { public final class Id3Reader implements ElementaryStreamReader {
private static final String TAG = "Id3Reader"; private static final String TAG = "Id3Reader";
......
...@@ -33,9 +33,7 @@ import java.util.Collections; ...@@ -33,9 +33,7 @@ import java.util.Collections;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** Parses and extracts samples from an AAC/LATM elementary stream. */
* Parses and extracts samples from an AAC/LATM elementary stream.
*/
public final class LatmReader implements ElementaryStreamReader { public final class LatmReader implements ElementaryStreamReader {
private static final int STATE_FINDING_SYNC_1 = 0; private static final int STATE_FINDING_SYNC_1 = 0;
......
...@@ -29,9 +29,7 @@ import com.google.android.exoplayer2.util.ParsableByteArray; ...@@ -29,9 +29,7 @@ import com.google.android.exoplayer2.util.ParsableByteArray;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** Parses a continuous MPEG Audio byte stream and extracts individual frames. */
* Parses a continuous MPEG Audio byte stream and extracts individual frames.
*/
public final class MpegAudioReader implements ElementaryStreamReader { public final class MpegAudioReader implements ElementaryStreamReader {
private static final int STATE_FINDING_HEADER = 0; private static final int STATE_FINDING_HEADER = 0;
......
...@@ -29,9 +29,7 @@ import com.google.android.exoplayer2.util.TimestampAdjuster; ...@@ -29,9 +29,7 @@ import com.google.android.exoplayer2.util.TimestampAdjuster;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** Parses PES packet data and extracts samples. */
* Parses PES packet data and extracts samples.
*/
public final class PesReader implements TsPayloadReader { public final class PesReader implements TsPayloadReader {
private static final String TAG = "PesReader"; private static final String TAG = "PesReader";
......
...@@ -34,9 +34,7 @@ import java.io.IOException; ...@@ -34,9 +34,7 @@ import java.io.IOException;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** /** Extracts data from the MPEG-2 PS container format. */
* Extracts data from the MPEG-2 PS container format.
*/
public final class PsExtractor implements Extractor { public final class PsExtractor implements Extractor {
/** Factory for {@link PsExtractor} instances. */ /** Factory for {@link PsExtractor} instances. */
......
...@@ -21,9 +21,7 @@ import com.google.android.exoplayer2.extractor.ts.TsPayloadReader.TrackIdGenerat ...@@ -21,9 +21,7 @@ import com.google.android.exoplayer2.extractor.ts.TsPayloadReader.TrackIdGenerat
import com.google.android.exoplayer2.util.ParsableByteArray; import com.google.android.exoplayer2.util.ParsableByteArray;
import com.google.android.exoplayer2.util.TimestampAdjuster; import com.google.android.exoplayer2.util.TimestampAdjuster;
/** /** Reads section data. */
* Reads section data.
*/
public interface SectionPayloadReader { public interface SectionPayloadReader {
/** /**
......
...@@ -49,9 +49,7 @@ import java.util.Arrays; ...@@ -49,9 +49,7 @@ import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
/** /** Extracts data from the MPEG-2 TS container format. */
* Extracts data from the MPEG-2 TS container format.
*/
public final class TsExtractor implements Extractor { public final class TsExtractor implements Extractor {
/** Factory for {@link TsExtractor} instances. */ /** Factory for {@link TsExtractor} instances. */
......
...@@ -29,9 +29,7 @@ import java.lang.annotation.RetentionPolicy; ...@@ -29,9 +29,7 @@ import java.lang.annotation.RetentionPolicy;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
/** /** Parses TS packet payload data. */
* Parses TS packet payload data.
*/
public interface TsPayloadReader { public interface TsPayloadReader {
/** /**
......
...@@ -37,9 +37,7 @@ import java.io.IOException; ...@@ -37,9 +37,7 @@ import java.io.IOException;
import org.checkerframework.checker.nullness.qual.EnsuresNonNull; import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
/** /** Extracts data from WAV byte streams. */
* Extracts data from WAV byte streams.
*/
public final class WavExtractor implements Extractor { public final class WavExtractor implements Extractor {
/** /**
......
...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2.source.hls; ...@@ -17,9 +17,7 @@ package com.google.android.exoplayer2.source.hls;
import com.google.android.exoplayer2.upstream.DataSource; import com.google.android.exoplayer2.upstream.DataSource;
/** /** Default implementation of {@link HlsDataSourceFactory}. */
* Default implementation of {@link HlsDataSourceFactory}.
*/
public final class DefaultHlsDataSourceFactory implements HlsDataSourceFactory { public final class DefaultHlsDataSourceFactory implements HlsDataSourceFactory {
private final DataSource.Factory dataSourceFactory; private final DataSource.Factory dataSourceFactory;
......
...@@ -43,9 +43,7 @@ import java.util.Collections; ...@@ -43,9 +43,7 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
/** /** Default {@link HlsExtractorFactory} implementation. */
* Default {@link HlsExtractorFactory} implementation.
*/
public final class DefaultHlsExtractorFactory implements HlsExtractorFactory { public final class DefaultHlsExtractorFactory implements HlsExtractorFactory {
// Extractors order is optimized according to // Extractors order is optimized according to
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source.hls; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source.hls;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.upstream.DataSource; import com.google.android.exoplayer2.upstream.DataSource;
/** /** Creates {@link DataSource}s for HLS playlists, encryption and media chunks. */
* Creates {@link DataSource}s for HLS playlists, encryption and media chunks.
*/
public interface HlsDataSourceFactory { public interface HlsDataSourceFactory {
/** /**
......
...@@ -26,9 +26,7 @@ import java.io.IOException; ...@@ -26,9 +26,7 @@ import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
/** /** Factory for HLS media chunk extractors. */
* Factory for HLS media chunk extractors.
*/
public interface HlsExtractorFactory { public interface HlsExtractorFactory {
HlsExtractorFactory DEFAULT = new DefaultHlsExtractorFactory(); HlsExtractorFactory DEFAULT = new DefaultHlsExtractorFactory();
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source.hls; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source.hls;
import com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist; import com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist;
import com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist; import com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist;
/** /** Holds a master playlist along with a snapshot of one of its media playlists. */
* Holds a master playlist along with a snapshot of one of its media playlists.
*/
public final class HlsManifest { public final class HlsManifest {
/** /**
......
...@@ -59,11 +59,11 @@ import java.util.Map; ...@@ -59,11 +59,11 @@ import java.util.Map;
import org.checkerframework.checker.nullness.compatqual.NullableType; import org.checkerframework.checker.nullness.compatqual.NullableType;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
/** /** A {@link MediaPeriod} that loads an HLS stream. */
* A {@link MediaPeriod} that loads an HLS stream. public final class HlsMediaPeriod
*/ implements MediaPeriod,
public final class HlsMediaPeriod implements MediaPeriod, HlsSampleStreamWrapper.Callback, HlsSampleStreamWrapper.Callback,
HlsPlaylistTracker.PlaylistEventListener { HlsPlaylistTracker.PlaylistEventListener {
private final HlsExtractorFactory extractorFactory; private final HlsExtractorFactory extractorFactory;
private final HlsPlaylistTracker playlistTracker; private final HlsPlaylistTracker playlistTracker;
......
...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source.hls; ...@@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source.hls;
import android.util.SparseArray; import android.util.SparseArray;
import com.google.android.exoplayer2.util.TimestampAdjuster; import com.google.android.exoplayer2.util.TimestampAdjuster;
/** /** Provides {@link TimestampAdjuster} instances for use during HLS playbacks. */
* Provides {@link TimestampAdjuster} instances for use during HLS playbacks.
*/
public final class TimestampAdjusterProvider { public final class TimestampAdjusterProvider {
// TODO: Prevent this array from growing indefinitely large by removing adjusters that are no // TODO: Prevent this array from growing indefinitely large by removing adjusters that are no
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
*/ */
package com.google.android.exoplayer2.source.hls.playlist; package com.google.android.exoplayer2.source.hls.playlist;
import android.net.Uri; import android.net.Uri;
import androidx.annotation.IntDef; import androidx.annotation.IntDef;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
......
...@@ -64,9 +64,7 @@ import java.util.regex.Pattern; ...@@ -64,9 +64,7 @@ import java.util.regex.Pattern;
import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf;
import org.checkerframework.checker.nullness.qual.PolyNull; import org.checkerframework.checker.nullness.qual.PolyNull;
/** /** HLS playlists parsing logic. */
* HLS playlists parsing logic.
*/
public final class HlsPlaylistParser implements ParsingLoadable.Parser<HlsPlaylist> { public final class HlsPlaylistParser implements ParsingLoadable.Parser<HlsPlaylist> {
/** Exception thrown when merging a delta update fails. */ /** Exception thrown when merging a delta update fails. */
......
...@@ -43,9 +43,7 @@ import com.google.android.exoplayer2.util.Assertions; ...@@ -43,9 +43,7 @@ import com.google.android.exoplayer2.util.Assertions;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
/** /** A default {@link SsChunkSource} implementation. */
* A default {@link SsChunkSource} implementation.
*/
public class DefaultSsChunkSource implements SsChunkSource { public class DefaultSsChunkSource implements SsChunkSource {
public static final class Factory implements SsChunkSource.Factory { public static final class Factory implements SsChunkSource.Factory {
......
...@@ -50,8 +50,8 @@ import org.xmlpull.v1.XmlPullParserFactory; ...@@ -50,8 +50,8 @@ import org.xmlpull.v1.XmlPullParserFactory;
/** /**
* Parses SmoothStreaming client manifests. * Parses SmoothStreaming client manifests.
* *
* @see <a href="http://msdn.microsoft.com/en-us/library/ee673436(v=vs.90).aspx"> * @see <a href="http://msdn.microsoft.com/en-us/library/ee673436(v=vs.90).aspx">IIS Smooth
* IIS Smooth Streaming Client Manifest Format</a> * Streaming Client Manifest Format</a>
*/ */
public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> { public class SsManifestParser implements ParsingLoadable.Parser<SsManifest> {
......
...@@ -25,9 +25,7 @@ import java.lang.annotation.Documented; ...@@ -25,9 +25,7 @@ import java.lang.annotation.Documented;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
/** /** A {@link FrameLayout} that resizes itself to match a specified aspect ratio. */
* A {@link FrameLayout} that resizes itself to match a specified aspect ratio.
*/
public final class AspectRatioFrameLayout extends FrameLayout { public final class AspectRatioFrameLayout extends FrameLayout {
/** Listener to be notified about changes of the aspect ratios of this view. */ /** Listener to be notified about changes of the aspect ratios of this view. */
......
...@@ -27,9 +27,7 @@ import java.lang.annotation.Documented; ...@@ -27,9 +27,7 @@ import java.lang.annotation.Documented;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
/** /** A compatibility wrapper for {@link CaptionStyle}. */
* A compatibility wrapper for {@link CaptionStyle}.
*/
public final class CaptionStyleCompat { public final class CaptionStyleCompat {
/** /**
......
...@@ -56,9 +56,7 @@ import com.google.android.exoplayer2.util.Assertions; ...@@ -56,9 +56,7 @@ import com.google.android.exoplayer2.util.Assertions;
import com.google.android.exoplayer2.util.HandlerWrapper; import com.google.android.exoplayer2.util.HandlerWrapper;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
/** /** Schedules a sequence of {@link Action}s for execution during a test. */
* Schedules a sequence of {@link Action}s for execution during a test.
*/
public final class ActionSchedule { public final class ActionSchedule {
/** /**
......
...@@ -19,9 +19,7 @@ import static com.google.common.truth.Truth.assertWithMessage; ...@@ -19,9 +19,7 @@ import static com.google.common.truth.Truth.assertWithMessage;
import com.google.android.exoplayer2.decoder.DecoderCounters; import com.google.android.exoplayer2.decoder.DecoderCounters;
/** /** Assertions for {@link DecoderCounters}. */
* Assertions for {@link DecoderCounters}.
*/
public final class DecoderCountersUtil { public final class DecoderCountersUtil {
private DecoderCountersUtil() {} private DecoderCountersUtil() {}
......
...@@ -20,9 +20,7 @@ import com.google.android.exoplayer2.C; ...@@ -20,9 +20,7 @@ import com.google.android.exoplayer2.C;
import java.util.Arrays; import java.util.Arrays;
import java.util.Locale; import java.util.Locale;
/** /** Helper utility to dump field values. */
* Helper utility to dump field values.
*/
public final class Dumper { public final class Dumper {
/** /**
......
...@@ -37,9 +37,7 @@ import java.util.Arrays; ...@@ -37,9 +37,7 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
/** /** Assertion methods for {@link Extractor}. */
* Assertion methods for {@link Extractor}.
*/
public final class ExtractorAsserts { public final class ExtractorAsserts {
/** /**
......
...@@ -27,8 +27,8 @@ import com.google.android.exoplayer2.util.Util; ...@@ -27,8 +27,8 @@ import com.google.android.exoplayer2.util.Util;
import java.util.Random; import java.util.Random;
/** /**
* Fake data set emulating the data of an adaptive media source. * Fake data set emulating the data of an adaptive media source. It provides chunk data for all
* It provides chunk data for all {@link Format}s in the given {@link TrackGroup}. * {@link Format}s in the given {@link TrackGroup}.
*/ */
public final class FakeAdaptiveDataSet extends FakeDataSet { public final class FakeAdaptiveDataSet extends FakeDataSet {
......
...@@ -29,8 +29,8 @@ import com.google.android.exoplayer2.upstream.TransferListener; ...@@ -29,8 +29,8 @@ import com.google.android.exoplayer2.upstream.TransferListener;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
/** /**
* Fake {@link MediaSource} that provides a given timeline. Creating the period returns a * Fake {@link MediaSource} that provides a given timeline. Creating the period returns a {@link
* {@link FakeAdaptiveMediaPeriod} from the given {@link TrackGroupArray}. * FakeAdaptiveMediaPeriod} from the given {@link TrackGroupArray}.
*/ */
public class FakeAdaptiveMediaSource extends FakeMediaSource { public class FakeAdaptiveMediaSource extends FakeMediaSource {
......
...@@ -34,8 +34,8 @@ import java.util.List; ...@@ -34,8 +34,8 @@ import java.util.List;
* FakeDataSet#newDefaultData()}. * FakeDataSet#newDefaultData()}.
* *
* <p>{@link FakeDataSet#newData(Uri)} and {@link FakeDataSet#newDefaultData()} return a {@link * <p>{@link FakeDataSet#newData(Uri)} and {@link FakeDataSet#newDefaultData()} return a {@link
* FakeData} instance which can be used to define specific results during * FakeData} instance which can be used to define specific results during {@link
* {@link FakeDataSource#read(byte[], int, int)} calls. * FakeDataSource#read(byte[], int, int)} calls.
* *
* <p>The data that will be read from the source can be constructed by calling {@link * <p>The data that will be read from the source can be constructed by calling {@link
* FakeData#appendReadData(byte[])} Calls to {@link FakeDataSource#read(byte[], int, int)} will not * FakeData#appendReadData(byte[])} Calls to {@link FakeDataSource#read(byte[], int, int)} will not
...@@ -44,9 +44,9 @@ import java.util.List; ...@@ -44,9 +44,9 @@ import java.util.List;
* *
* <p>Errors can be inserted by calling {@link FakeData#appendReadError(IOException)}. An inserted * <p>Errors can be inserted by calling {@link FakeData#appendReadError(IOException)}. An inserted
* error will be thrown from the first call to {@link FakeDataSource#read(byte[], int, int)} that * error will be thrown from the first call to {@link FakeDataSource#read(byte[], int, int)} that
* attempts to read from the corresponding position, and from all subsequent calls to * attempts to read from the corresponding position, and from all subsequent calls to {@link
* {@link FakeDataSource#read(byte[], int, int)} until the source is closed. If the source is closed * FakeDataSource#read(byte[], int, int)} until the source is closed. If the source is closed and
* and re-opened having encountered an error, that error will not be thrown again. * re-opened having encountered an error, that error will not be thrown again.
* *
* <p>Actions are inserted by calling {@link FakeData#appendReadAction(Runnable)}. An actions is * <p>Actions are inserted by calling {@link FakeData#appendReadAction(Runnable)}. An actions is
* triggered when the reading reaches action's position. This can be used to make sure the code is * triggered when the reading reaches action's position. This can be used to make sure the code is
......
...@@ -27,23 +27,24 @@ import java.io.IOException; ...@@ -27,23 +27,24 @@ import java.io.IOException;
/** /**
* A fake {@link ExtractorInput} capable of simulating various scenarios. * A fake {@link ExtractorInput} capable of simulating various scenarios.
* <p> *
* Read, skip and peek errors can be simulated using {@link Builder#setSimulateIOErrors}. When * <p>Read, skip and peek errors can be simulated using {@link Builder#setSimulateIOErrors}. When
* enabled each read and skip will throw a {@link SimulatedIOException} unless one has already been * enabled each read and skip will throw a {@link SimulatedIOException} unless one has already been
* thrown from the current position. Each peek will throw {@link SimulatedIOException} unless one * thrown from the current position. Each peek will throw {@link SimulatedIOException} unless one
* has already been thrown from the current peek position. When a {@link SimulatedIOException} is * has already been thrown from the current peek position. When a {@link SimulatedIOException} is
* thrown the read position is left unchanged and the peek position is reset back to the read * thrown the read position is left unchanged and the peek position is reset back to the read
* position. * position.
* <p> *
* Partial reads and skips can be simulated using {@link Builder#setSimulatePartialReads}. When * <p>Partial reads and skips can be simulated using {@link Builder#setSimulatePartialReads}. When
* enabled, {@link #read(byte[], int, int)} and {@link #skip(int)} calls will only read or skip a * enabled, {@link #read(byte[], int, int)} and {@link #skip(int)} calls will only read or skip a
* single byte unless a partial read or skip has already been performed that had the same target * single byte unless a partial read or skip has already been performed that had the same target
* position. For example, a first read request for 10 bytes will be partially satisfied by reading * position. For example, a first read request for 10 bytes will be partially satisfied by reading a
* a single byte and advancing the position to 1. If the following read request attempts to read 9 * single byte and advancing the position to 1. If the following read request attempts to read 9
* bytes then it will be fully satisfied, since it has the same target position of 10. * bytes then it will be fully satisfied, since it has the same target position of 10.
* <p> *
* Unknown data length can be simulated using {@link Builder#setSimulateUnknownLength}. When enabled * <p>Unknown data length can be simulated using {@link Builder#setSimulateUnknownLength}. When
* {@link #getLength()} will return {@link C#LENGTH_UNSET} rather than the length of the data. * enabled {@link #getLength()} will return {@link C#LENGTH_UNSET} rather than the length of the
* data.
*/ */
public final class FakeExtractorInput implements ExtractorInput { public final class FakeExtractorInput implements ExtractorInput {
......
...@@ -47,9 +47,7 @@ import java.io.InputStream; ...@@ -47,9 +47,7 @@ import java.io.InputStream;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.util.Random; import java.util.Random;
/** /** Utility methods for tests. */
* Utility methods for tests.
*/
public class TestUtil { public class TestUtil {
private TestUtil() {} private TestUtil() {}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment