# Package com.google.android.exoplayer2.source.chunk

- Interface Summary
  Interface | Description
  --- | ---
  ChunkExtractor | Extracts samples and track `Formats` from chunks.
  ChunkExtractor.Factory | Creates `ChunkExtractor` instances.
  ChunkExtractor.TrackOutputProvider | Provides `TrackOutput` instances to be written to during extraction.
  ChunkSampleStream.ReleaseCallback<T extends ChunkSource> | A callback to be notified when a sample stream has finished being released.
  ChunkSource | A provider of `Chunk`s for a `ChunkSampleStream` to load.
  MediaChunkIterator | Iterator for media chunk sequences.

- Class Summary
  Class | Description
  --- | ---
  BaseMediaChunk | A base implementation of `MediaChunk` that outputs to a `BaseMediaChunkOutput`.
  BaseMediaChunkIterator | Base class for `MediaChunkIterator`s.
  BaseMediaChunkOutput | A `ChunkExtractor.TrackOutputProvider` that provides `TrackOutputs` based on a predefined mapping from track type to output.
  BundledChunkExtractor | `ChunkExtractor` implementation that uses ExoPlayer app-bundled `Extractors`.
  Chunk | An abstract base class for `Loader.Loadable` implementations that load chunks of data required for the playback of streams.
  ChunkHolder | Holds a chunk or an indication that the end of the stream has been reached.
  ChunkSampleStream<T extends ChunkSource> | A `SampleStream` that loads media in `Chunk`s, obtained from a `ChunkSource`.
  ContainerMediaChunk | A `BaseMediaChunk` that uses an `Extractor` to decode sample data.
  DataChunk | A base class for `Chunk` implementations where the data should be loaded into a `byte[]` before being consumed.
  InitializationChunk | A `Chunk` that uses an `Extractor` to decode initialization data for single track.
  MediaChunk | An abstract base class for `Chunk`s that contain media samples.
  MediaParserChunkExtractor | `ChunkExtractor` implemented on top of the platform's `MediaParser`.
  SingleSampleMediaChunk | A `BaseMediaChunk` for chunks consisting of a single raw sample.