# Package com.google.android.exoplayer2.audio

- Interface Summary
  Interface | Description
  --- | ---
  AudioCapabilitiesReceiver.Listener | Listener notified when audio capabilities change.
  AudioProcessor | Interface for audio processors, which take audio data as input and transform it, potentially modifying its channel count, encoding and/or sample rate.
  AudioProcessorChain | Provides a chain of audio processors, which are used for any user-defined processing and applying playback parameters (if supported).
  AudioRendererEventListener | Listener of audio `Renderer` events.
  AudioSink | A sink that consumes audio data.
  AudioSink.Listener | Listener for audio sink events.
  DefaultAudioSink.AudioProcessorChain | Deprecated. Use `AudioProcessorChain`.
  DefaultAudioSink.AudioTrackBufferSizeProvider | Provides the buffer size to use when creating an `AudioTrack`.
  TeeAudioProcessor.AudioBufferSink | A sink for audio buffers handled by the audio processor.

- Class Summary
  Class | Description
  --- | ---
  AacUtil | Utility methods for handling AAC audio streams.
  AacUtil.Config | Holds sample format information for AAC audio.
  Ac3Util | Utility methods for parsing Dolby TrueHD and (E-)AC-3 syncframes.
  Ac3Util.SyncFrameInfo | Holds sample format information as presented by a syncframe header.
  Ac4Util | Utility methods for parsing AC-4 frames, which are access units in AC-4 bitstreams.
  Ac4Util.SyncFrameInfo | Holds sample format information as presented by a syncframe header.
  AudioAttributes | Attributes for audio playback, which configure the underlying platform `AudioTrack`.
  AudioAttributes.AudioAttributesV21 | A direct wrapper around `AudioAttributes`.
  AudioAttributes.Builder | Builder for `AudioAttributes`.
  AudioCapabilities | Represents the set of audio formats that a device is capable of playing.
  AudioCapabilitiesReceiver | Receives broadcast events indicating changes to the device's audio capabilities, notifying a `AudioCapabilitiesReceiver.Listener` when audio capability changes occur.
  AudioProcessor.AudioFormat | PCM audio format that may be handled by an audio processor.
  AudioRendererEventListener.EventDispatcher | Dispatches events to an `AudioRendererEventListener`.
  AuxEffectInfo | Represents auxiliary effect information, which can be used to attach an auxiliary effect to an underlying `AudioTrack`.
  BaseAudioProcessor | Base class for audio processors that keep an output buffer and an internal buffer that is reused whenever input is queued.
  DecoderAudioRenderer<T extends Decoder<DecoderInputBuffer,​? extends SimpleDecoderOutputBuffer,​? extends DecoderException>> | Decodes and renders audio using a `Decoder`.
  DefaultAudioSink | Plays audio data.
  DefaultAudioSink.Builder | A builder to create `DefaultAudioSink` instances.
  DefaultAudioSink.DefaultAudioProcessorChain | The default audio processor chain, which applies a (possibly empty) chain of user-defined audio processors followed by `SilenceSkippingAudioProcessor` and `SonicAudioProcessor`.
  DefaultAudioTrackBufferSizeProvider | Provide the buffer size to use when creating an `AudioTrack`.
  DefaultAudioTrackBufferSizeProvider.Builder | A builder to create `DefaultAudioTrackBufferSizeProvider` instances.
  DtsUtil | Utility methods for parsing DTS frames.
  ForwardingAudioSink | An overridable `AudioSink` implementation forwarding all methods to another sink.
  MediaCodecAudioRenderer | Decodes and renders audio using `MediaCodec` and an `AudioSink`.
  MpegAudioUtil | Utility methods for handling MPEG audio streams.
  MpegAudioUtil.Header | Stores the metadata for an MPEG audio frame.
  OpusUtil | Utility methods for handling Opus audio streams.
  SilenceSkippingAudioProcessor | An `AudioProcessor` that skips silence in the input stream.
  SonicAudioProcessor | An `AudioProcessor` that uses the Sonic library to modify audio speed/pitch/sample rate.
  TeeAudioProcessor | Audio processor that outputs its input unmodified and also outputs its input to a given sink.
  TeeAudioProcessor.WavFileAudioBufferSink | A sink for audio buffers that writes output audio as .wav files with a given path prefix.
  WavUtil | Utilities for handling WAVE files.

- Exception Summary
  Exception | Description
  --- | ---
  AudioProcessor.UnhandledAudioFormatException | Exception thrown when a processor can't be configured for a given input audio format.
  AudioSink.ConfigurationException | Thrown when a failure occurs configuring the sink.
  AudioSink.InitializationException | Thrown when a failure occurs initializing the sink.
  AudioSink.UnexpectedDiscontinuityException | Thrown when the sink encounters an unexpected timestamp discontinuity.
  AudioSink.WriteException | Thrown when a failure occurs writing to the sink.
  DefaultAudioSink.InvalidAudioTrackTimestampException | Thrown when the audio track has provided a spurious timestamp, if `DefaultAudioSink.failOnSpuriousAudioTimestamp` is set.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  AacUtil.AacAudioObjectType | Valid AAC Audio object types.
  Ac3Util.SyncFrameInfo.StreamType | AC3 stream types.
  AudioSink.SinkFormatSupport | The level of support the sink provides for a format.
  DefaultAudioSink.OffloadMode | Audio offload mode configuration.
  DefaultAudioSink.OutputMode | Output mode of the audio sink.