@UnstableApi
class FakeTrackOutput : TrackOutput, Dumper.Dumpable


A fake TrackOutput.

Summary

Nested types

Factory for FakeTrackOutput instances.

Public constructors

FakeTrackOutput(deduplicateConsecutiveFormats: Boolean)

Public functions

Unit
assertSample(
    index: Int,
    data: ByteArray!,
    timeUs: Long,
    flags: Int,
    cryptoData: TrackOutput.CryptoData?
)
Unit
Unit
Unit
dump(dumper: Dumper!)

Dumps the fields of the object using the dumper.

Unit
format(format: Format!)

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

Int
TrackOutput.CryptoData?
ByteArray<Byte>!
Int
Long
(Mutable)List<Long!>!
Unit
sampleData(
    data: ParsableByteArray!,
    length: Int,
    @TrackOutput.SampleDataPart sampleDataPart: Int
)

Called to write sample data to the output.

Int
sampleData(
    input: DataReader!,
    length: Int,
    allowEndOfInput: Boolean,
    @TrackOutput.SampleDataPart sampleDataPart: Int
)

Called to write sample data to the output.

Unit
sampleMetadata(
    timeUs: Long,
    @C.BufferFlags flags: Int,
    size: Int,
    offset: Int,
    cryptoData: TrackOutput.CryptoData?
)

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

Public properties

Format?

Inherited Constants

From androidx.media3.extractor.TrackOutput
const Int

Sample encryption data.

const Int

Main media sample data.

const Int

Sample supplemental data.

Inherited functions

From androidx.media3.extractor.TrackOutput
Unit
sampleData(data: ParsableByteArray!, length: Int)

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

Int
sampleData(input: DataReader!, length: Int, allowEndOfInput: Boolean)

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

Constants

DEFAULT_FACTORY

const val DEFAULT_FACTORYFakeTrackOutput.Factory!

Public constructors

FakeTrackOutput

FakeTrackOutput(deduplicateConsecutiveFormats: Boolean)

Public functions

assertSample

fun assertSample(
    index: Int,
    data: ByteArray!,
    timeUs: Long,
    flags: Int,
    cryptoData: TrackOutput.CryptoData?
): Unit

assertSampleCount

fun assertSampleCount(count: Int): Unit

clear

fun clear(): Unit

dump

fun dump(dumper: Dumper!): Unit

Dumps the fields of the object using the dumper.

Parameters
dumper: Dumper!

The Dumper to be used to dump fields.

format

fun format(format: Format!): Unit

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

Parameters
format: Format!

The extracted Format.

getSampleCount

fun getSampleCount(): Int

getSampleCryptoData

fun getSampleCryptoData(index: Int): TrackOutput.CryptoData?

getSampleData

fun getSampleData(index: Int): ByteArray<Byte>!

getSampleFlags

fun getSampleFlags(index: Int): Int

getSampleTimeUs

fun getSampleTimeUs(index: Int): Long

getSampleTimesUs

fun getSampleTimesUs(): (Mutable)List<Long!>!

sampleData

fun sampleData(
    data: ParsableByteArray!,
    length: Int,
    @TrackOutput.SampleDataPart sampleDataPart: Int
): Unit

Called to write sample data to the output.

Parameters
data: ParsableByteArray!

A ParsableByteArray from which to read the sample data.

length: Int

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

@TrackOutput.SampleDataPart sampleDataPart: Int

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

sampleData

fun sampleData(
    input: DataReader!,
    length: Int,
    allowEndOfInput: Boolean,
    @TrackOutput.SampleDataPart sampleDataPart: Int
): Int

Called to write sample data to the output.

Parameters
input: DataReader!

A DataReader from which to read the sample data.

length: Int

The maximum length to read from the input.

allowEndOfInput: Boolean

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 sampleDataPart: Int

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

fun sampleMetadata(
    timeUs: Long,
    @C.BufferFlags flags: Int,
    size: Int,
    offset: Int,
    cryptoData: TrackOutput.CryptoData?
): Unit

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
timeUs: Long

The media timestamp associated with the sample, in microseconds.

@C.BufferFlags flags: Int

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

size: Int

The size of the sample data, in bytes.

offset: Int

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.

cryptoData: TrackOutput.CryptoData?

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

Public properties

lastFormat

val lastFormatFormat?