StartOffsetExtractorOutput


@UnstableApi
public final class StartOffsetExtractorOutput implements ExtractorOutput


An extractor output that wraps another extractor output and applies a give start byte offset to seek positions.

This is useful for extracting from a container that's concatenated after some prefix data but where the container's extractor doesn't handle a non-zero start offset (for example, because it seeks to absolute positions read from the container data).

Summary

Public constructors

StartOffsetExtractorOutput(
    long startOffset,
    ExtractorOutput extractorOutput
)

Creates a new wrapper reading from the given start byte offset.

Public methods

void

Called when all tracks have been identified, meaning no new trackId values will be passed to track.

void
seekMap(SeekMap seekMap)

Called when a SeekMap has been extracted from the stream.

TrackOutput
track(int id, int type)

Called by the Extractor to get the TrackOutput for a specific track.

Inherited Constants

From androidx.media3.extractor.ExtractorOutput
static final ExtractorOutput

Placeholder ExtractorOutput implementation throwing an in each method.

Public constructors

StartOffsetExtractorOutput

public StartOffsetExtractorOutput(
    long startOffset,
    ExtractorOutput extractorOutput
)

Creates a new wrapper reading from the given start byte offset.

Public methods

endTracks

public void endTracks()

Called when all tracks have been identified, meaning no new trackId values will be passed to track.

seekMap

public void seekMap(SeekMap seekMap)

Called when a SeekMap has been extracted from the stream.

Parameters
SeekMap seekMap

The extracted SeekMap.

track

public TrackOutput track(int id, int type)

Called by the Extractor to get the TrackOutput for a specific track.

The same TrackOutput is returned if multiple calls are made with the same id.

Parameters
int id

A track identifier.

int type

The track type.

Returns
TrackOutput

The TrackOutput for the given track identifier.