@UnstableApi
public final class FakeTrackOutput implements TrackOutput, Dumper.Dumpable


A fake TrackOutput.

Summary

Nested types

public interface FakeTrackOutput.Factory

Factory for FakeTrackOutput instances.

Constants

static final FakeTrackOutput.Factory

Public fields

@Nullable Format

Public constructors

FakeTrackOutput(boolean deduplicateConsecutiveFormats)

Public methods

void
assertSample(
    int index,
    byte[] data,
    long timeUs,
    int flags,
    @Nullable TrackOutput.CryptoData cryptoData
)
void
assertSampleCount(int count)
void
void
dump(Dumper dumper)

Dumps the fields of the object using the dumper.

void
format(Format format)

Called when the Format of the track has been extracted from the stream.

int
@Nullable TrackOutput.CryptoData
byte[]
getSampleData(int index)
int
getSampleFlags(int index)
long
getSampleTimeUs(int index)
List<Long>
void
sampleData(
    ParsableByteArray data,
    int length,
    @TrackOutput.SampleDataPart int sampleDataPart
)

Called to write sample data to the output.

int
sampleData(
    DataReader input,
    int length,
    boolean allowEndOfInput,
    @TrackOutput.SampleDataPart int sampleDataPart
)

Called to write sample data to the output.

void
sampleMetadata(
    long timeUs,
    @C.BufferFlags int flags,
    int size,
    int offset,
    @Nullable TrackOutput.CryptoData cryptoData
)

Called when metadata associated with a sample has been extracted from the stream.

Inherited Constants

From androidx.media3.extractor.TrackOutput
static final int

Sample encryption data.

static final int

Main media sample data.

static final int

Sample supplemental data.

Inherited methods

From androidx.media3.extractor.TrackOutput
void
sampleData(ParsableByteArray data, int length)

Equivalent to sampleData sampleData(data, length, SAMPLE_DATA_PART_MAIN)}.

int
sampleData(DataReader input, int length, boolean allowEndOfInput)

Equivalent to sampleData(input, length, allowEndOfInput, SAMPLE_DATA_PART_MAIN).

Constants

DEFAULT_FACTORY

public static final FakeTrackOutput.Factory DEFAULT_FACTORY

Public fields

lastFormat

public @Nullable Format lastFormat

Public constructors

FakeTrackOutput

public FakeTrackOutput(boolean deduplicateConsecutiveFormats)

Public methods

assertSample

public void assertSample(
    int index,
    byte[] data,
    long timeUs,
    int flags,
    @Nullable TrackOutput.CryptoData cryptoData
)

assertSampleCount

public void assertSampleCount(int count)

clear

public void clear()

dump

public void dump(Dumper dumper)

Dumps the fields of the object using the dumper.

Parameters
Dumper dumper

The Dumper to be used to dump fields.

format

public void format(Format format)

Called when the Format of the track has been extracted from the stream.

Parameters
Format format

The extracted Format.

getSampleCount

public int getSampleCount()

getSampleCryptoData

public @Nullable TrackOutput.CryptoData getSampleCryptoData(int index)

getSampleData

public byte[] getSampleData(int index)

getSampleFlags

public int getSampleFlags(int index)

getSampleTimeUs

public long getSampleTimeUs(int index)

getSampleTimesUs

public List<LonggetSampleTimesUs()

sampleData

public void sampleData(
    ParsableByteArray data,
    int length,
    @TrackOutput.SampleDataPart int sampleDataPart
)

Called to write sample data to the output.

Parameters
ParsableByteArray data

A ParsableByteArray from which to read the sample data.

int length

The number of bytes to read, starting from data.getPosition().

@TrackOutput.SampleDataPart int sampleDataPart

The part of the sample data to which this call corresponds.

sampleData

public int sampleData(
    DataReader input,
    int length,
    boolean allowEndOfInput,
    @TrackOutput.SampleDataPart int sampleDataPart
)

Called to write sample data to the output.

Parameters
DataReader input

A DataReader from which to read the sample data.

int length

The maximum length to read from the input.

boolean allowEndOfInput

True if encountering the end of the input having read no data is allowed, and should result in RESULT_END_OF_INPUT being returned. False if it should be considered an error, causing an EOFException to be thrown.

@TrackOutput.SampleDataPart int sampleDataPart

The part of the sample data to which this call corresponds.

Returns
int

The number of bytes appended.

Throws
java.io.IOException

If an error occurred reading from the input.

sampleMetadata

public void sampleMetadata(
    long timeUs,
    @C.BufferFlags int flags,
    int size,
    int offset,
    @Nullable TrackOutput.CryptoData cryptoData
)

Called when metadata associated with a sample has been extracted from the stream.

The corresponding sample data will have already been passed to the output via calls to sampleData or sampleData.

Parameters
long timeUs

The media timestamp associated with the sample, in microseconds.

@C.BufferFlags int flags

Flags associated with the sample. See C.BUFFER_FLAG_*.

int size

The size of the sample data, in bytes.

int offset

The number of bytes that have been passed to sampleData or sampleData since the last byte belonging to the sample whose metadata is being passed.

@Nullable TrackOutput.CryptoData cryptoData

The encryption data required to decrypt the sample. May be null.