mirror of
https://github.com/samsonjs/media.git
synced 2026-03-25 09:25:53 +00:00
Re-format some javadoc
PiperOrigin-RevId: 369642047
This commit is contained in:
parent
76647da29a
commit
dafea4e40f
212 changed files with 274 additions and 548 deletions
|
|
@ -22,9 +22,7 @@ import com.google.android.gms.cast.framework.SessionProvider;
|
|||
import java.util.Collections;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.ext.cronet;
|
||||
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import com.google.android.exoplayer2.upstream.DefaultHttpDataSource;
|
||||
import com.google.android.exoplayer2.upstream.HttpDataSource;
|
||||
|
|
|
|||
|
|
@ -33,9 +33,7 @@ import java.util.List;
|
|||
import org.chromium.net.CronetEngine;
|
||||
import org.chromium.net.CronetProvider;
|
||||
|
||||
/**
|
||||
* A wrapper class for a {@link CronetEngine}.
|
||||
*/
|
||||
/** A wrapper class for a {@link CronetEngine}. */
|
||||
public final class CronetEngineWrapper {
|
||||
|
||||
private static final String TAG = "CronetEngineWrapper";
|
||||
|
|
|
|||
|
|
@ -23,9 +23,7 @@ import com.google.android.exoplayer2.util.Log;
|
|||
import com.google.android.exoplayer2.util.MimeTypes;
|
||||
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 {
|
||||
|
||||
static {
|
||||
|
|
|
|||
|
|
@ -45,9 +45,7 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
|
|||
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
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 {
|
||||
|
||||
/** Factory that returns one extractor which is a {@link FlacExtractor}. */
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ package com.google.android.exoplayer2.ext.flac;
|
|||
import com.google.android.exoplayer2.ExoPlayerLibraryInfo;
|
||||
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 {
|
||||
|
||||
static {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.ext.okhttp;
|
||||
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import com.google.android.exoplayer2.upstream.HttpDataSource;
|
||||
import com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory;
|
||||
|
|
|
|||
|
|
@ -21,9 +21,7 @@ import com.google.android.exoplayer2.drm.ExoMediaCrypto;
|
|||
import com.google.android.exoplayer2.util.LibraryLoader;
|
||||
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 {
|
||||
|
||||
static {
|
||||
|
|
|
|||
|
|
@ -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.TransferListener;
|
||||
|
||||
/**
|
||||
* A {@link Factory} that produces {@link RtmpDataSource}.
|
||||
*/
|
||||
/** A {@link Factory} that produces {@link RtmpDataSource}. */
|
||||
public final class RtmpDataSourceFactory implements DataSource.Factory {
|
||||
|
||||
@Nullable private final TransferListener listener;
|
||||
|
|
|
|||
|
|
@ -21,9 +21,7 @@ import com.google.android.exoplayer2.drm.ExoMediaCrypto;
|
|||
import com.google.android.exoplayer2.util.LibraryLoader;
|
||||
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 {
|
||||
|
||||
static {
|
||||
|
|
|
|||
|
|
@ -31,9 +31,7 @@ import java.lang.annotation.Retention;
|
|||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Defines constants used by the library.
|
||||
*/
|
||||
/** Defines constants used by the library. */
|
||||
@SuppressWarnings("InlinedApi")
|
||||
public final class C {
|
||||
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@ import com.google.android.exoplayer2.Player.RepeatMode;
|
|||
|
||||
/**
|
||||
* 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
|
||||
* non-skippable advert) operations.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ package com.google.android.exoplayer2;
|
|||
import android.os.Build;
|
||||
import java.util.HashSet;
|
||||
|
||||
/**
|
||||
* Information about the ExoPlayer library.
|
||||
*/
|
||||
/** Information about the ExoPlayer library. */
|
||||
public final class ExoPlayerLibraryInfo {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@
|
|||
package com.google.android.exoplayer2;
|
||||
|
||||
/**
|
||||
* Thrown when an attempt is made to seek to a position that does not exist in the player's
|
||||
* {@link Timeline}.
|
||||
* Thrown when an attempt is made to seek to a position that does not exist in the player's {@link
|
||||
* Timeline}.
|
||||
*/
|
||||
public final class IllegalSeekPositionException extends IllegalStateException {
|
||||
|
||||
|
|
|
|||
|
|
@ -17,9 +17,7 @@ package com.google.android.exoplayer2;
|
|||
|
||||
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 ParserException() {
|
||||
|
|
|
|||
|
|
@ -23,9 +23,7 @@ import com.google.android.exoplayer2.util.ParsableBitArray;
|
|||
import java.nio.ByteBuffer;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* Utility methods for parsing DTS frames.
|
||||
*/
|
||||
/** Utility methods for parsing DTS frames. */
|
||||
public final class DtsUtil {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -21,9 +21,7 @@ import com.google.android.exoplayer2.C;
|
|||
import com.google.android.exoplayer2.util.Assertions;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -24,9 +24,7 @@ import java.lang.annotation.RetentionPolicy;
|
|||
import java.nio.ByteBuffer;
|
||||
import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
|
||||
|
||||
/**
|
||||
* Holds input for a decoder.
|
||||
*/
|
||||
/** Holds input for a decoder. */
|
||||
public class DecoderInputBuffer extends Buffer {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -29,9 +29,7 @@ import java.util.Comparator;
|
|||
import java.util.List;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -24,9 +24,7 @@ import com.google.android.exoplayer2.util.Util;
|
|||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* A collection of metadata entries.
|
||||
*/
|
||||
/** A collection of metadata entries. */
|
||||
public final class Metadata implements Parcelable {
|
||||
|
||||
/** A metadata entry. */
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ package com.google.android.exoplayer2.metadata;
|
|||
import androidx.annotation.Nullable;
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
/**
|
||||
* Decodes metadata from binary data.
|
||||
*/
|
||||
/** Decodes metadata from binary data. */
|
||||
public interface MetadataDecoder {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ package com.google.android.exoplayer2.metadata;
|
|||
import com.google.android.exoplayer2.Format;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -23,9 +23,7 @@ import androidx.annotation.Nullable;
|
|||
import com.google.android.exoplayer2.util.Util;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* APIC (Attached Picture) ID3 frame.
|
||||
*/
|
||||
/** APIC (Attached Picture) ID3 frame. */
|
||||
public final class ApicFrame extends Id3Frame {
|
||||
|
||||
public static final String ID = "APIC";
|
||||
|
|
|
|||
|
|
@ -22,9 +22,7 @@ import android.os.Parcelable;
|
|||
import androidx.annotation.Nullable;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* Binary ID3 frame.
|
||||
*/
|
||||
/** Binary ID3 frame. */
|
||||
public final class BinaryFrame extends Id3Frame {
|
||||
|
||||
public final byte[] data;
|
||||
|
|
|
|||
|
|
@ -23,9 +23,7 @@ import com.google.android.exoplayer2.C;
|
|||
import com.google.android.exoplayer2.util.Util;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* Chapter information ID3 frame.
|
||||
*/
|
||||
/** Chapter information ID3 frame. */
|
||||
public final class ChapterFrame extends Id3Frame {
|
||||
|
||||
public static final String ID = "CHAP";
|
||||
|
|
|
|||
|
|
@ -22,9 +22,7 @@ import androidx.annotation.Nullable;
|
|||
import com.google.android.exoplayer2.util.Util;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* Chapter table of contents ID3 frame.
|
||||
*/
|
||||
/** Chapter table of contents ID3 frame. */
|
||||
public final class ChapterTocFrame extends Id3Frame {
|
||||
|
||||
public static final String ID = "CTOC";
|
||||
|
|
|
|||
|
|
@ -22,9 +22,7 @@ import android.os.Parcelable;
|
|||
import androidx.annotation.Nullable;
|
||||
import com.google.android.exoplayer2.util.Util;
|
||||
|
||||
/**
|
||||
* Comment ID3 frame.
|
||||
*/
|
||||
/** Comment ID3 frame. */
|
||||
public final class CommentFrame extends Id3Frame {
|
||||
|
||||
public static final String ID = "COMM";
|
||||
|
|
|
|||
|
|
@ -23,9 +23,7 @@ import androidx.annotation.Nullable;
|
|||
import com.google.android.exoplayer2.util.Util;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* GEOB (General Encapsulated Object) ID3 frame.
|
||||
*/
|
||||
/** GEOB (General Encapsulated Object) ID3 frame. */
|
||||
public final class GeobFrame extends Id3Frame {
|
||||
|
||||
public static final String ID = "GEOB";
|
||||
|
|
|
|||
|
|
@ -23,9 +23,7 @@ import androidx.annotation.Nullable;
|
|||
import com.google.android.exoplayer2.util.Util;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* PRIV (Private) ID3 frame.
|
||||
*/
|
||||
/** PRIV (Private) ID3 frame. */
|
||||
public final class PrivFrame extends Id3Frame {
|
||||
|
||||
public static final String ID = "PRIV";
|
||||
|
|
|
|||
|
|
@ -23,9 +23,7 @@ import androidx.annotation.Nullable;
|
|||
import com.google.android.exoplayer2.MediaMetadata;
|
||||
import com.google.android.exoplayer2.util.Util;
|
||||
|
||||
/**
|
||||
* Text information ID3 frame.
|
||||
*/
|
||||
/** Text information ID3 frame. */
|
||||
public final class TextInformationFrame extends Id3Frame {
|
||||
|
||||
@Nullable public final String description;
|
||||
|
|
|
|||
|
|
@ -22,9 +22,7 @@ import android.os.Parcelable;
|
|||
import androidx.annotation.Nullable;
|
||||
import com.google.android.exoplayer2.util.Util;
|
||||
|
||||
/**
|
||||
* Url link ID3 frame.
|
||||
*/
|
||||
/** Url link ID3 frame. */
|
||||
public final class UrlLinkFrame extends Id3Frame {
|
||||
|
||||
@Nullable public final String description;
|
||||
|
|
|
|||
|
|
@ -17,9 +17,7 @@ package com.google.android.exoplayer2.text;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Receives text output.
|
||||
*/
|
||||
/** Receives text output. */
|
||||
public interface TextOutput {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ package com.google.android.exoplayer2.upstream;
|
|||
import androidx.annotation.Nullable;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -30,9 +30,7 @@ import java.util.HashMap;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* An HTTP {@link DataSource}.
|
||||
*/
|
||||
/** An HTTP {@link DataSource}. */
|
||||
public interface HttpDataSource extends DataSource {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import android.os.Looper;
|
||||
import android.text.TextUtils;
|
||||
import androidx.annotation.Nullable;
|
||||
|
|
@ -22,9 +23,7 @@ import com.google.android.exoplayer2.ExoPlayerLibraryInfo;
|
|||
import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
|
||||
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 {
|
||||
|
||||
private Assertions() {}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.os.IBinder;
|
||||
import androidx.annotation.Nullable;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import androidx.annotation.Nullable;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import android.util.Pair;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.google.android.exoplayer2.C;
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import androidx.annotation.GuardedBy;
|
||||
import androidx.annotation.Nullable;
|
||||
import java.util.ArrayList;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import android.util.Pair;
|
||||
|
||||
/** Converts throwables into error codes and user readable error messages. */
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import static com.google.android.exoplayer2.util.Assertions.checkIndex;
|
||||
import static com.google.android.exoplayer2.util.Assertions.checkState;
|
||||
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import static com.google.android.exoplayer2.util.MimeTypes.normalizeMimeType;
|
||||
|
||||
import android.net.Uri;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import static android.opengl.GLU.gluErrorString;
|
||||
|
||||
import android.content.Context;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import androidx.annotation.Nullable;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import android.os.Looper;
|
||||
import android.os.Message;
|
||||
import androidx.annotation.CheckResult;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import android.text.TextUtils;
|
||||
import androidx.annotation.IntDef;
|
||||
import androidx.annotation.Nullable;
|
||||
|
|
|
|||
|
|
@ -15,11 +15,10 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* An append-only, auto-growing {@code long[]}.
|
||||
*/
|
||||
/** An append-only, auto-growing {@code long[]}. */
|
||||
public final class LongArray {
|
||||
|
||||
private static final int DEFAULT_INITIAL_CAPACITY = 32;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.media.AudioFormat;
|
||||
import android.media.MediaFormat;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import android.text.TextUtils;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
|
@ -25,9 +26,7 @@ import java.util.ArrayList;
|
|||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* Defines common MIME types and helper methods.
|
||||
*/
|
||||
/** Defines common MIME types and helper methods. */
|
||||
public final class MimeTypes {
|
||||
|
||||
public static final String BASE_TYPE_VIDEO = "video";
|
||||
|
|
|
|||
|
|
@ -15,13 +15,12 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import java.nio.ByteBuffer;
|
||||
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 {
|
||||
|
||||
private static final String TAG = "NalUnitUtil";
|
||||
|
|
|
|||
|
|
@ -15,14 +15,13 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import static java.lang.Math.min;
|
||||
|
||||
import com.google.common.base.Charsets;
|
||||
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 byte[] data;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import com.google.common.base.Charsets;
|
||||
import java.nio.ByteBuffer;
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
* <p>
|
||||
* Whenever the byte sequence [0, 0, 3] appears in the wrapped byte array, it is treated as [0, 0]
|
||||
* for all reading/skipping operations, which makes the bitstream appear to be unescaped.
|
||||
*
|
||||
* <p>Whenever the byte sequence [0, 0, 3] appears in the wrapped byte array, it is treated as [0,
|
||||
* 0] for all reading/skipping operations, which makes the bitstream appear to be unescaped.
|
||||
*/
|
||||
public final class ParsableNalUnitBitArray {
|
||||
|
||||
|
|
|
|||
|
|
@ -15,15 +15,14 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import androidx.annotation.IntDef;
|
||||
import com.google.android.exoplayer2.Player;
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
/**
|
||||
* Util class for repeat mode handling.
|
||||
*/
|
||||
/** Util class for repeat mode handling. */
|
||||
public final class RepeatModeUtil {
|
||||
|
||||
// LINT.IfChange
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import android.os.Handler;
|
||||
import android.os.Handler.Callback;
|
||||
import android.os.Looper;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import java.util.Arrays;
|
||||
import org.checkerframework.checker.nullness.compatqual.NullableType;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import androidx.annotation.GuardedBy;
|
||||
import com.google.android.exoplayer2.C;
|
||||
|
||||
|
|
|
|||
|
|
@ -15,12 +15,11 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
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 {
|
||||
|
||||
private TraceUtil() {}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import static android.content.Context.UI_MODE_SERVICE;
|
||||
import static com.google.android.exoplayer2.util.Assertions.checkNotNull;
|
||||
import static java.lang.Math.abs;
|
||||
|
|
@ -96,9 +97,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
|
|||
import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
|
||||
import org.checkerframework.checker.nullness.qual.PolyNull;
|
||||
|
||||
/**
|
||||
* Miscellaneous utility methods.
|
||||
*/
|
||||
/** Miscellaneous utility methods. */
|
||||
public final class Util {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -15,13 +15,12 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.util;
|
||||
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
/**
|
||||
* {@link XmlPullParser} utility methods.
|
||||
*/
|
||||
/** {@link XmlPullParser} utility methods. */
|
||||
public final class XmlPullParserUtil {
|
||||
|
||||
private XmlPullParserUtil() {}
|
||||
|
|
|
|||
|
|
@ -25,9 +25,7 @@ import com.google.android.exoplayer2.util.ParsableByteArray;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* AVC configuration data.
|
||||
*/
|
||||
/** AVC configuration data. */
|
||||
public final class AvcConfig {
|
||||
|
||||
public final List<byte[]> initializationData;
|
||||
|
|
|
|||
|
|
@ -23,9 +23,7 @@ import com.google.android.exoplayer2.Format;
|
|||
import com.google.android.exoplayer2.util.Util;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* Stores color info.
|
||||
*/
|
||||
/** Stores color info. */
|
||||
public final class ColorInfo implements Parcelable {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -24,9 +24,7 @@ import com.google.android.exoplayer2.util.ParsableNalUnitBitArray;
|
|||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* HEVC configuration data.
|
||||
*/
|
||||
/** HEVC configuration data. */
|
||||
public final class HevcConfig {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -44,9 +44,7 @@ import java.lang.annotation.RetentionPolicy;
|
|||
import java.lang.reflect.Constructor;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Default {@link RenderersFactory} implementation.
|
||||
*/
|
||||
/** Default {@link RenderersFactory} implementation. */
|
||||
public class DefaultRenderersFactory implements RenderersFactory {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ package com.google.android.exoplayer2;
|
|||
import androidx.annotation.Nullable;
|
||||
import com.google.android.exoplayer2.drm.DrmSession;
|
||||
|
||||
/**
|
||||
* Holds a {@link Format}.
|
||||
*/
|
||||
/** Holds a {@link Format}. */
|
||||
public final class FormatHolder {
|
||||
|
||||
/** An accompanying context for decrypting samples in the format. */
|
||||
|
|
|
|||
|
|
@ -21,9 +21,7 @@ import java.lang.annotation.Documented;
|
|||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
/**
|
||||
* Defines the capabilities of a {@link Renderer}.
|
||||
*/
|
||||
/** Defines the capabilities of a {@link Renderer}. */
|
||||
public interface RendererCapabilities {
|
||||
|
||||
/** @deprecated Use {@link C.FormatSupport} instead. */
|
||||
|
|
|
|||
|
|
@ -17,9 +17,7 @@ package com.google.android.exoplayer2;
|
|||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* The configuration of a {@link Renderer}.
|
||||
*/
|
||||
/** The configuration of a {@link Renderer}. */
|
||||
public final class RendererConfiguration {
|
||||
|
||||
/** The default configuration. */
|
||||
|
|
|
|||
|
|
@ -21,9 +21,7 @@ import com.google.android.exoplayer2.metadata.MetadataOutput;
|
|||
import com.google.android.exoplayer2.text.TextOutput;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -19,9 +19,7 @@ import androidx.annotation.Nullable;
|
|||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
/**
|
||||
* Buffer for {@link SimpleDecoder} output.
|
||||
*/
|
||||
/** Buffer for {@link SimpleDecoder} output. */
|
||||
public class SimpleOutputBuffer extends OutputBuffer {
|
||||
|
||||
private final Owner<SimpleOutputBuffer> owner;
|
||||
|
|
|
|||
|
|
@ -15,9 +15,7 @@
|
|||
*/
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -15,8 +15,5 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.drm;
|
||||
|
||||
/**
|
||||
* Thrown when the drm keys loaded into an open session expire.
|
||||
*/
|
||||
public final class KeysExpiredException extends Exception {
|
||||
}
|
||||
/** Thrown when the drm keys loaded into an open session expire. */
|
||||
public final class KeysExpiredException extends Exception {}
|
||||
|
|
|
|||
|
|
@ -19,9 +19,7 @@ import com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest;
|
|||
import com.google.android.exoplayer2.drm.ExoMediaDrm.ProvisionRequest;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Performs {@link ExoMediaDrm} key and provisioning requests.
|
||||
*/
|
||||
/** Performs {@link ExoMediaDrm} key and provisioning requests. */
|
||||
public interface MediaDrmCallback {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -20,9 +20,7 @@ import java.lang.annotation.Documented;
|
|||
import java.lang.annotation.Retention;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -20,9 +20,7 @@ import androidx.annotation.Nullable;
|
|||
import com.google.android.exoplayer2.C;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Utility methods for Widevine.
|
||||
*/
|
||||
/** Utility methods for Widevine. */
|
||||
public final class WidevineUtil {
|
||||
|
||||
/** Widevine specific key status field name for the remaining license duration, in seconds. */
|
||||
|
|
|
|||
|
|
@ -19,9 +19,7 @@ import android.media.MediaCodec;
|
|||
import com.google.android.exoplayer2.mediacodec.MediaCodecUtil.DecoderQueryException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Selector of {@link MediaCodec} instances.
|
||||
*/
|
||||
/** Selector of {@link MediaCodec} instances. */
|
||||
public interface MediaCodecSelector {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -42,9 +42,7 @@ import java.util.regex.Matcher;
|
|||
import java.util.regex.Pattern;
|
||||
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")
|
||||
public final class MediaCodecUtil {
|
||||
|
||||
|
|
|
|||
|
|
@ -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.util.MimeTypes;
|
||||
|
||||
/**
|
||||
* A factory for {@link MetadataDecoder} instances.
|
||||
*/
|
||||
/** A factory for {@link MetadataDecoder} instances. */
|
||||
public interface MetadataDecoderFactory {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -33,9 +33,7 @@ import com.google.android.exoplayer2.util.Util;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* A renderer for metadata.
|
||||
*/
|
||||
/** A renderer for metadata. */
|
||||
public final class MetadataRenderer extends BaseRenderer implements Callback {
|
||||
|
||||
private static final String TAG = "MetadataRenderer";
|
||||
|
|
|
|||
|
|
@ -20,9 +20,7 @@ import android.os.Parcelable;
|
|||
import com.google.android.exoplayer2.util.ParsableByteArray;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -24,9 +24,7 @@ import java.util.ArrayList;
|
|||
import java.util.Collections;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -17,9 +17,7 @@ package com.google.android.exoplayer2.metadata.scte35;
|
|||
|
||||
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 {
|
||||
|
||||
// Parcelable implementation.
|
||||
|
|
|
|||
|
|
@ -23,9 +23,7 @@ import java.util.ArrayList;
|
|||
import java.util.Collections;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -20,9 +20,7 @@ import com.google.android.exoplayer2.C;
|
|||
import com.google.android.exoplayer2.util.ParsableByteArray;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -17,9 +17,7 @@ package com.google.android.exoplayer2.source;
|
|||
|
||||
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 BehindLiveWindowException() {
|
||||
|
|
|
|||
|
|
@ -19,9 +19,7 @@ import static java.lang.Math.min;
|
|||
|
||||
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 {
|
||||
|
||||
protected final SequenceableLoader[] loaders;
|
||||
|
|
|
|||
|
|
@ -15,9 +15,7 @@
|
|||
*/
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -15,9 +15,7 @@
|
|||
*/
|
||||
package com.google.android.exoplayer2.source;
|
||||
|
||||
/**
|
||||
* Default implementation of {@link CompositeSequenceableLoaderFactory}.
|
||||
*/
|
||||
/** Default implementation of {@link CompositeSequenceableLoaderFactory}. */
|
||||
public final class DefaultCompositeSequenceableLoaderFactory
|
||||
implements CompositeSequenceableLoaderFactory {
|
||||
|
||||
|
|
|
|||
|
|
@ -19,9 +19,7 @@ import com.google.android.exoplayer2.C;
|
|||
import com.google.android.exoplayer2.FormatHolder;
|
||||
import com.google.android.exoplayer2.decoder.DecoderInputBuffer;
|
||||
|
||||
/**
|
||||
* An empty {@link SampleStream}.
|
||||
*/
|
||||
/** An empty {@link SampleStream}. */
|
||||
public final class EmptySampleStream implements SampleStream {
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -25,9 +25,7 @@ import java.lang.annotation.Documented;
|
|||
import java.lang.annotation.Retention;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source;
|
|||
import com.google.android.exoplayer2.C;
|
||||
|
||||
// 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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -24,9 +24,7 @@ import com.google.android.exoplayer2.MediaItem;
|
|||
import com.google.android.exoplayer2.Timeline;
|
||||
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 {
|
||||
|
||||
private static final Object UID = new Object();
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ package com.google.android.exoplayer2.source;
|
|||
import android.net.Uri;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -17,9 +17,7 @@ package com.google.android.exoplayer2.source.chunk;
|
|||
|
||||
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 {
|
||||
|
||||
/** The chunk. */
|
||||
|
|
|
|||
|
|
@ -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}.
|
||||
* May also be configured to expose additional embedded {@link SampleStream}s.
|
||||
*/
|
||||
public class ChunkSampleStream<T extends ChunkSource> implements SampleStream, SequenceableLoader,
|
||||
Loader.Callback<Chunk>, Loader.ReleaseCallback {
|
||||
public class ChunkSampleStream<T extends ChunkSource>
|
||||
implements SampleStream, SequenceableLoader, Loader.Callback<Chunk>, Loader.ReleaseCallback {
|
||||
|
||||
/** A callback to be notified when a sample stream has finished being released. */
|
||||
public interface ReleaseCallback<T extends ChunkSource> {
|
||||
|
|
|
|||
|
|
@ -20,9 +20,7 @@ import com.google.android.exoplayer2.SeekParameters;
|
|||
import java.io.IOException;
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -27,9 +27,7 @@ import com.google.android.exoplayer2.upstream.DataSpec;
|
|||
import com.google.android.exoplayer2.util.Util;
|
||||
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 {
|
||||
|
||||
private final int chunkCount;
|
||||
|
|
|
|||
|
|
@ -26,9 +26,7 @@ import com.google.android.exoplayer2.upstream.DataSpec;
|
|||
import com.google.android.exoplayer2.util.Util;
|
||||
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 {
|
||||
|
||||
private final int trackType;
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ package com.google.android.exoplayer2.text;
|
|||
import com.google.android.exoplayer2.C;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* A subtitle consisting of timed {@link Cue}s.
|
||||
*/
|
||||
/** A subtitle consisting of timed {@link Cue}s. */
|
||||
public interface Subtitle {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -17,11 +17,9 @@ package com.google.android.exoplayer2.text;
|
|||
|
||||
import com.google.android.exoplayer2.decoder.Decoder;
|
||||
|
||||
/**
|
||||
* Decodes {@link Subtitle}s from {@link SubtitleInputBuffer}s.
|
||||
*/
|
||||
public interface SubtitleDecoder extends
|
||||
Decoder<SubtitleInputBuffer, SubtitleOutputBuffer, SubtitleDecoderException> {
|
||||
/** Decodes {@link Subtitle}s from {@link SubtitleInputBuffer}s. */
|
||||
public interface SubtitleDecoder
|
||||
extends Decoder<SubtitleInputBuffer, SubtitleOutputBuffer, SubtitleDecoderException> {
|
||||
|
||||
/**
|
||||
* Informs the decoder of the current playback position.
|
||||
|
|
|
|||
|
|
@ -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.util.MimeTypes;
|
||||
|
||||
/**
|
||||
* A factory for {@link SubtitleDecoder} instances.
|
||||
*/
|
||||
/** A factory for {@link SubtitleDecoder} instances. */
|
||||
public interface SubtitleDecoderFactory {
|
||||
|
||||
/**
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue