# Hierarchy For Package com.google.android.exoplayer2.source

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - com.google.android.exoplayer2.source.BaseMediaSource (implements com.google.android.exoplayer2.source.MediaSource)
    - com.google.android.exoplayer2.source.CompositeMediaSource<T>
      - com.google.android.exoplayer2.source.ConcatenatingMediaSource
      - com.google.android.exoplayer2.source.ConcatenatingMediaSource2
      - com.google.android.exoplayer2.source.MergingMediaSource
      - com.google.android.exoplayer2.source.WrappingMediaSource
        - com.google.android.exoplayer2.source.ClippingMediaSource
        - com.google.android.exoplayer2.source.LoopingMediaSource
        - com.google.android.exoplayer2.source.MaskingMediaSource
    - com.google.android.exoplayer2.source.ProgressiveMediaSource
    - com.google.android.exoplayer2.source.SilenceMediaSource
    - com.google.android.exoplayer2.source.SingleSampleMediaSource
  - com.google.android.exoplayer2.source.BundledExtractorsAdapter (implements com.google.android.exoplayer2.source.ProgressiveMediaExtractor)
  - com.google.android.exoplayer2.source.ClippingMediaPeriod (implements com.google.android.exoplayer2.source.MediaPeriod, com.google.android.exoplayer2.source.MediaPeriod.Callback)
  - com.google.android.exoplayer2.source.CompositeSequenceableLoader (implements com.google.android.exoplayer2.source.SequenceableLoader)
  - com.google.android.exoplayer2.source.ConcatenatingMediaSource2.Builder
  - com.google.android.exoplayer2.source.DefaultCompositeSequenceableLoaderFactory (implements com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory)
  - com.google.android.exoplayer2.source.DefaultMediaSourceFactory (implements com.google.android.exoplayer2.source.MediaSourceFactory)
  - com.google.android.exoplayer2.source.EmptySampleStream (implements com.google.android.exoplayer2.source.SampleStream)
  - com.google.android.exoplayer2.source.LoadEventInfo
  - com.google.android.exoplayer2.source.MaskingMediaPeriod (implements com.google.android.exoplayer2.source.MediaPeriod, com.google.android.exoplayer2.source.MediaPeriod.Callback)
  - com.google.android.exoplayer2.source.MediaLoadData
  - com.google.android.exoplayer2.source.MediaParserExtractorAdapter (implements com.google.android.exoplayer2.source.ProgressiveMediaExtractor)
  - com.google.android.exoplayer2.source.MediaPeriodId
    - com.google.android.exoplayer2.source.MediaSource.MediaPeriodId
  - com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
  - com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory (implements com.google.android.exoplayer2.source.MediaSourceFactory)
  - com.google.android.exoplayer2.source.SampleQueue (implements com.google.android.exoplayer2.extractor.TrackOutput)
  - com.google.android.exoplayer2.source.ShuffleOrder.DefaultShuffleOrder (implements com.google.android.exoplayer2.source.ShuffleOrder)
  - com.google.android.exoplayer2.source.ShuffleOrder.UnshuffledShuffleOrder (implements com.google.android.exoplayer2.source.ShuffleOrder)
  - com.google.android.exoplayer2.source.SilenceMediaSource.Factory
  - com.google.android.exoplayer2.source.SingleSampleMediaSource.Factory
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.io.IOException
        - com.google.android.exoplayer2.source.BehindLiveWindowException
        - com.google.android.exoplayer2.source.ClippingMediaSource.IllegalClippingException
        - com.google.android.exoplayer2.source.MergingMediaSource.IllegalMergeException
        - com.google.android.exoplayer2.ParserException
          - com.google.android.exoplayer2.source.UnrecognizedInputFormatException
  - com.google.android.exoplayer2.Timeline (implements com.google.android.exoplayer2.Bundleable)
    - com.google.android.exoplayer2.source.ForwardingTimeline
    - com.google.android.exoplayer2.source.MaskingMediaSource.PlaceholderTimeline
    - com.google.android.exoplayer2.source.SinglePeriodTimeline
  - com.google.android.exoplayer2.source.TrackGroup (implements com.google.android.exoplayer2.Bundleable)
  - com.google.android.exoplayer2.source.TrackGroupArray (implements com.google.android.exoplayer2.Bundleable)

## Interface Hierarchy

- com.google.android.exoplayer2.source.ads.AdsLoader.Provider
  - com.google.android.exoplayer2.source.DefaultMediaSourceFactory.AdsLoaderProvider
- com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory
- com.google.android.exoplayer2.source.MaskingMediaPeriod.PrepareListener
- com.google.android.exoplayer2.source.MediaSource
- com.google.android.exoplayer2.source.MediaSource.Factory
  - com.google.android.exoplayer2.source.MediaSourceFactory
- com.google.android.exoplayer2.source.MediaSource.MediaSourceCaller
- com.google.android.exoplayer2.source.MediaSourceEventListener
- com.google.android.exoplayer2.source.ProgressiveMediaExtractor
- com.google.android.exoplayer2.source.ProgressiveMediaExtractor.Factory
- com.google.android.exoplayer2.source.SampleQueue.UpstreamFormatChangedListener
- com.google.android.exoplayer2.source.SampleStream
- com.google.android.exoplayer2.source.SequenceableLoader
  - com.google.android.exoplayer2.source.MediaPeriod
- com.google.android.exoplayer2.source.SequenceableLoader.Callback<T>
  - com.google.android.exoplayer2.source.MediaPeriod.Callback
- com.google.android.exoplayer2.source.ShuffleOrder

## Annotation Type Hierarchy

- com.google.android.exoplayer2.source.ClippingMediaSource.IllegalClippingException.Reason (implements java.lang.annotation.Annotation)
- com.google.android.exoplayer2.source.MergingMediaSource.IllegalMergeException.Reason (implements java.lang.annotation.Annotation)
- com.google.android.exoplayer2.source.SampleStream.ReadDataResult (implements java.lang.annotation.Annotation)
- com.google.android.exoplayer2.source.SampleStream.ReadFlags (implements java.lang.annotation.Annotation)