TeeAudioProcessor
@UnstableApi
class TeeAudioProcessor : BaseAudioProcessor
| kotlin.Any | ||
| ↳ | androidx.media3.common.audio.BaseAudioProcessor | |
| ↳ | androidx.media3.exoplayer.audio.TeeAudioProcessor |
Audio processor that outputs its input unmodified and also outputs its input to a given sink. This is intended to be used for diagnostics and debugging.
This audio processor can be inserted into the audio processor chain to access audio data before/after particular processing steps have been applied. For example, to get audio output after playback speed adjustment and silence skipping have been applied it is necessary to pass a custom AudioProcessorChain when creating the audio sink, and include this audio processor after all other audio processors.
Summary
Nested types |
|---|
interface TeeAudioProcessor.AudioBufferSinkA sink for audio buffers handled by the audio processor. |
|
A sink for audio buffers that writes output audio as .wav files with a given path prefix. |
Public constructors |
|---|
TeeAudioProcessor(audioBufferSink: TeeAudioProcessor.AudioBufferSink!)Creates a new tee audio processor, sending incoming data to the given |
Public functions |
|
|---|---|
AudioProcessor.AudioFormat! |
onConfigure(inputAudioFormat: AudioProcessor.AudioFormat!)Called when the processor is configured for a new input format. |
Unit |
queueInput(inputBuffer: ByteBuffer!)Queues audio data between the position and limit of the |
Protected functions |
|
|---|---|
Unit |
onFlush()This function is deprecated. Use |
Unit |
Called when the end-of-stream is queued to the processor. |
Unit |
onReset()Called when the processor is reset. |
Inherited Constants |
||
|---|---|---|
|
Inherited functions |
||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||||||||||
|
Inherited properties |
||||
|---|---|---|---|---|
|
Public constructors
TeeAudioProcessor
TeeAudioProcessor(audioBufferSink: TeeAudioProcessor.AudioBufferSink!)
Creates a new tee audio processor, sending incoming data to the given AudioBufferSink.
| Parameters | |
|---|---|
audioBufferSink: TeeAudioProcessor.AudioBufferSink! |
The audio buffer sink that will receive input queued to this audio processor. |
Public functions
onConfigure
fun onConfigure(inputAudioFormat: AudioProcessor.AudioFormat!): AudioProcessor.AudioFormat!
Called when the processor is configured for a new input format.
queueInput
fun queueInput(inputBuffer: ByteBuffer!): Unit
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 | |
|---|---|
inputBuffer: ByteBuffer! |
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. |
Protected functions
onQueueEndOfStream
protected fun onQueueEndOfStream(): Unit
Called when the end-of-stream is queued to the processor.