TrimmingAudioProcessor


@UnstableApi
public final class TrimmingAudioProcessor extends BaseAudioProcessor


Audio processor for trimming samples from the start/end of data.

Summary

Public fields

long

Public constructors

Creates a new audio processor for trimming samples from the start/end of data.

Public methods

long

Returns the expected duration of the output stream when the processor is applied given a input durationUs.

ByteBuffer

Returns a buffer containing processed output data between its position and limit.

long

Returns the number of audio frames trimmed since the last call to resetTrimmedFrameCount.

boolean

Returns whether this processor will return no more output from getOutput until flush has been called and more input has been queued.

AudioProcessor.AudioFormat

Called when the processor is configured for a new input format.

void
queueInput(ByteBuffer inputBuffer)

Queues audio data between the position and limit of the inputBuffer for processing.

void

Sets the trimmed frame count returned by getTrimmedFrameCount to zero.

void
setTrimFrameCount(int trimStartFrames, int trimEndFrames)

Sets the number of audio frames to trim from the start and end of audio passed to this processor.

Protected methods

void

Called when the processor is flushed, directly or as part of resetting.

void

Called when the end-of-stream is queued to the processor.

void

Called when the processor is reset.

Inherited Constants

From androidx.media3.common.audio.AudioProcessor
static final ByteBuffer

An empty, direct ByteBuffer.

Inherited fields

From androidx.media3.common.audio.BaseAudioProcessor
AudioProcessor.AudioFormat

The current input audio format.

AudioProcessor.AudioFormat

The current output audio format.

Inherited methods

From androidx.media3.common.audio.BaseAudioProcessor
final AudioProcessor.AudioFormat

Configures the processor to process input audio with the specified format.

final void

Clears any buffered data and pending output.

final boolean

Returns whether the current output buffer has any data remaining.

boolean

Returns whether the processor is configured and will process input buffers.

final void

Queues an end of stream signal.

final ByteBuffer

Replaces the current output buffer with a buffer of at least size bytes and returns it.

final void

Resets the processor to its unconfigured state, releasing any resources.

Public fields

trimmedFrameCount

public long trimmedFrameCount

Public constructors

TrimmingAudioProcessor

public TrimmingAudioProcessor()

Creates a new audio processor for trimming samples from the start/end of data.

Public methods

getDurationAfterProcessorApplied

public long getDurationAfterProcessorApplied(long durationUs)

Returns the expected duration of the output stream when the processor is applied given a input durationUs.

getOutput

public ByteBuffer getOutput()

Returns a buffer containing processed output data between its position and limit. The buffer will always be a direct byte buffer with native byte order. Calling this method invalidates any previously returned buffer. The buffer will be empty if no output is available.

Returns
ByteBuffer

A buffer containing processed output data between its position and limit.

getTrimmedFrameCount

public long getTrimmedFrameCount()

Returns the number of audio frames trimmed since the last call to resetTrimmedFrameCount.

isEnded

public boolean isEnded()

Returns whether this processor will return no more output from getOutput until flush has been called and more input has been queued.

onConfigure

public AudioProcessor.AudioFormat onConfigure(AudioProcessor.AudioFormat inputAudioFormat)

Called when the processor is configured for a new input format.

queueInput

public void queueInput(ByteBuffer inputBuffer)

Queues audio data between the position and limit of the inputBuffer for processing. After calling this method, processed output may be available via getOutput. Calling queueInput(ByteBuffer) again invalidates any pending output.

Parameters
ByteBuffer inputBuffer

The input buffer to process. It must be a direct byte buffer with native byte order. Its contents are treated as read-only. Its position will be advanced by the number of bytes consumed (which may be zero). The caller retains ownership of the provided buffer.

resetTrimmedFrameCount

public void resetTrimmedFrameCount()

Sets the trimmed frame count returned by getTrimmedFrameCount to zero.

setTrimFrameCount

public void setTrimFrameCount(int trimStartFrames, int trimEndFrames)

Sets the number of audio frames to trim from the start and end of audio passed to this processor. After calling this method, call configure to apply the new trimming frame counts.

See configure.

Parameters
int trimStartFrames

The number of audio frames to trim from the start of audio.

int trimEndFrames

The number of audio frames to trim from the end of audio.

Protected methods

onFlush

protected void onFlush()

Called when the processor is flushed, directly or as part of resetting.

onQueueEndOfStream

protected void onQueueEndOfStream()

Called when the end-of-stream is queued to the processor.

onReset

protected void onReset()

Called when the processor is reset.