@UnstableApi
public abstract class BaseMediaChunk extends MediaChunk

Known direct subclasses
ContainerMediaChunk

A BaseMediaChunk that uses an Extractor to decode sample data.

SingleSampleMediaChunk

This class is deprecated.

The only use for this class is subtitle playback, but it is only compatible with legacy subtitle decoding, which is not supported by default.


A base implementation of MediaChunk that outputs to a BaseMediaChunkOutput.

Summary

Public fields

final long

The time from which output will end, or TIME_UNSET if output will end at the end of the chunk.

final long

The time from which output will begin, or TIME_UNSET if output will begin from the start of the chunk.

Public constructors

BaseMediaChunk(
    DataSource dataSource,
    DataSpec dataSpec,
    Format trackFormat,
    @C.SelectionReason int trackSelectionReason,
    @Nullable Object trackSelectionData,
    long startTimeUs,
    long endTimeUs,
    long clippedStartTimeUs,
    long clippedEndTimeUs,
    long chunkIndex
)

Public methods

final int
getFirstSampleIndex(int trackIndex)

Returns the index of the first sample in the specified track of the output that will originate from this chunk.

void

Initializes the chunk for loading, setting the BaseMediaChunkOutput that will receive samples as they are loaded.

Protected methods

final BaseMediaChunkOutput

Returns the output most recently passed to init.

Inherited fields

From androidx.media3.exoplayer.source.chunk.Chunk
final StatsDataSource
final DataSpec

The DataSpec that defines the data to be loaded.

final long

The end time of the media contained by the chunk, or TIME_UNSET if the data being loaded does not contain media samples.

final long

Identifies the load task for this loadable.

final long

The start time of the media contained by the chunk, or TIME_UNSET if the data being loaded does not contain media samples.

final Format

The format of the track to which this chunk belongs.

final @Nullable Object

Optional data associated with the selection of the track to which this chunk belongs.

final int

One of the selection reasons if the chunk belongs to a track.

final int

The data type of the chunk.

From androidx.media3.exoplayer.source.chunk.MediaChunk
final long

The chunk index, or INDEX_UNSET if it is not known.

Inherited methods

From androidx.media3.exoplayer.source.chunk.Chunk
final long

Returns the number of bytes that have been loaded.

final long

Returns the duration of the chunk in microseconds.

final Map<StringList<String>>

Returns the response headers associated with the last open call.

final Uri

Returns the Uri associated with the last open call.

From androidx.media3.exoplayer.upstream.Loader.Loadable
abstract void

Cancels the load.

abstract void

Performs the load, returning on completion or cancellation.

From androidx.media3.exoplayer.source.chunk.MediaChunk
long

Returns the next chunk index or INDEX_UNSET if it is not known.

abstract boolean

Returns whether the chunk has been fully loaded.

Public fields

clippedEndTimeUs

public final long clippedEndTimeUs

The time from which output will end, or TIME_UNSET if output will end at the end of the chunk.

clippedStartTimeUs

public final long clippedStartTimeUs

The time from which output will begin, or TIME_UNSET if output will begin from the start of the chunk.

Protected fields

Public constructors

BaseMediaChunk

public BaseMediaChunk(
    DataSource dataSource,
    DataSpec dataSpec,
    Format trackFormat,
    @C.SelectionReason int trackSelectionReason,
    @Nullable Object trackSelectionData,
    long startTimeUs,
    long endTimeUs,
    long clippedStartTimeUs,
    long clippedEndTimeUs,
    long chunkIndex
)
Parameters
DataSource dataSource

The source from which the data should be loaded.

DataSpec dataSpec

Defines the data to be loaded.

Format trackFormat

See trackFormat.

@C.SelectionReason int trackSelectionReason

See trackSelectionReason.

@Nullable Object trackSelectionData

See trackSelectionData.

long startTimeUs

The start time of the media contained by the chunk, in microseconds.

long endTimeUs

The end time of the media contained by the chunk, in microseconds.

long clippedStartTimeUs

The time in the chunk from which output will begin, or TIME_UNSET to output from the start of the chunk.

long clippedEndTimeUs

The time in the chunk from which output will end, or TIME_UNSET to output to the end of the chunk.

long chunkIndex

The index of the chunk, or INDEX_UNSET if it is not known.

Public methods

getFirstSampleIndex

public final int getFirstSampleIndex(int trackIndex)

Returns the index of the first sample in the specified track of the output that will originate from this chunk.

init

public void init(BaseMediaChunkOutput output)

Initializes the chunk for loading, setting the BaseMediaChunkOutput that will receive samples as they are loaded.

Parameters
BaseMediaChunkOutput output

The output that will receive the loaded media samples.

Protected methods

getOutput

protected final BaseMediaChunkOutput getOutput()

Returns the output most recently passed to init.