SubtitleTranscodingExtractorOutput


@UnstableApi
public final class SubtitleTranscodingExtractorOutput implements ExtractorOutput


A wrapping ExtractorOutput that transcodes text samples from supported subtitle formats to APPLICATION_MEDIA3_CUES.

The resulting APPLICATION_MEDIA3_CUES samples are emitted to the underlying TrackOutput.

For non-text tracks (i.e. where C.TrackType is not C.TRACK_TYPE_TEXT), samples are passed through to the underlying TrackOutput without modification.

Support for subtitle formats is determined by supportsFormat on the SubtitleParser.Factory passed to the constructor of this class.

Summary

Public constructors

SubtitleTranscodingExtractorOutput(
    ExtractorOutput delegate,
    SubtitleParser.Factory subtitleParserFactory
)

Public methods

void

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

void
void
seekMap(SeekMap seekMap)

Called when a SeekMap has been extracted from the stream.

TrackOutput
track(int id, @C.TrackType 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

SubtitleTranscodingExtractorOutput

public SubtitleTranscodingExtractorOutput(
    ExtractorOutput delegate,
    SubtitleParser.Factory subtitleParserFactory
)

Public methods

endTracks

public void endTracks()

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

resetSubtitleParsers

public void resetSubtitleParsers()

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, @C.TrackType 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.

@C.TrackType int type

The track type.

Returns
TrackOutput

The TrackOutput for the given track identifier.