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

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - com.google.android.exoplayer2.upstream.Allocation
  - com.google.android.exoplayer2.upstream.BandwidthMeter.EventListener.EventDispatcher
  - com.google.android.exoplayer2.upstream.BaseDataSource (implements com.google.android.exoplayer2.upstream.DataSource)
    - com.google.android.exoplayer2.upstream.AssetDataSource
    - com.google.android.exoplayer2.upstream.ByteArrayDataSource
    - com.google.android.exoplayer2.upstream.ContentDataSource
    - com.google.android.exoplayer2.upstream.DataSchemeDataSource
    - com.google.android.exoplayer2.upstream.DefaultHttpDataSource (implements com.google.android.exoplayer2.upstream.HttpDataSource)
    - com.google.android.exoplayer2.upstream.FileDataSource
    - com.google.android.exoplayer2.upstream.RawResourceDataSource
    - com.google.android.exoplayer2.upstream.UdpDataSource
  - com.google.android.exoplayer2.upstream.ByteArrayDataSink (implements com.google.android.exoplayer2.upstream.DataSink)
  - com.google.android.exoplayer2.upstream.DataSpec
  - com.google.android.exoplayer2.upstream.DataSpec.Builder
  - com.google.android.exoplayer2.upstream.DefaultAllocator (implements com.google.android.exoplayer2.upstream.Allocator)
  - com.google.android.exoplayer2.upstream.DefaultBandwidthMeter (implements com.google.android.exoplayer2.upstream.BandwidthMeter, com.google.android.exoplayer2.upstream.TransferListener)
  - com.google.android.exoplayer2.upstream.DefaultBandwidthMeter.Builder
  - com.google.android.exoplayer2.upstream.DefaultDataSource (implements com.google.android.exoplayer2.upstream.DataSource)
  - com.google.android.exoplayer2.upstream.DefaultDataSourceFactory (implements com.google.android.exoplayer2.upstream.DataSource.Factory)
  - com.google.android.exoplayer2.upstream.DefaultHttpDataSource.Factory (implements com.google.android.exoplayer2.upstream.HttpDataSource.Factory)
  - com.google.android.exoplayer2.upstream.DefaultLoadErrorHandlingPolicy (implements com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy)
  - com.google.android.exoplayer2.upstream.DummyDataSource (implements com.google.android.exoplayer2.upstream.DataSource)
  - com.google.android.exoplayer2.upstream.FileDataSource.Factory (implements com.google.android.exoplayer2.upstream.DataSource.Factory)
  - com.google.android.exoplayer2.upstream.FileDataSourceFactory (implements com.google.android.exoplayer2.upstream.DataSource.Factory)
  - com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory (implements com.google.android.exoplayer2.upstream.HttpDataSource.Factory)
    - com.google.android.exoplayer2.upstream.DefaultHttpDataSourceFactory
  - com.google.android.exoplayer2.upstream.HttpDataSource.RequestProperties
  - com.google.android.exoplayer2.upstream.HttpUtil
  - java.io.InputStream (implements java.io.Closeable)
    - com.google.android.exoplayer2.upstream.DataSourceInputStream
  - com.google.android.exoplayer2.upstream.Loader (implements com.google.android.exoplayer2.upstream.LoaderErrorThrower)
  - com.google.android.exoplayer2.upstream.Loader.LoadErrorAction
  - com.google.android.exoplayer2.upstream.LoaderErrorThrower.Dummy (implements com.google.android.exoplayer2.upstream.LoaderErrorThrower)
  - com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy.LoadErrorInfo
  - com.google.android.exoplayer2.upstream.ParsingLoadable<T> (implements com.google.android.exoplayer2.upstream.Loader.Loadable)
  - com.google.android.exoplayer2.upstream.PriorityDataSource (implements com.google.android.exoplayer2.upstream.DataSource)
  - com.google.android.exoplayer2.upstream.PriorityDataSourceFactory (implements com.google.android.exoplayer2.upstream.DataSource.Factory)
  - com.google.android.exoplayer2.upstream.ResolvingDataSource (implements com.google.android.exoplayer2.upstream.DataSource)
  - com.google.android.exoplayer2.upstream.ResolvingDataSource.Factory (implements com.google.android.exoplayer2.upstream.DataSource.Factory)
  - com.google.android.exoplayer2.upstream.StatsDataSource (implements com.google.android.exoplayer2.upstream.DataSource)
  - com.google.android.exoplayer2.upstream.TeeDataSource (implements com.google.android.exoplayer2.upstream.DataSource)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.io.IOException
        - com.google.android.exoplayer2.upstream.AssetDataSource.AssetDataSourceException
        - com.google.android.exoplayer2.upstream.ContentDataSource.ContentDataSourceException
        - com.google.android.exoplayer2.upstream.DataSourceException
        - com.google.android.exoplayer2.upstream.FileDataSource.FileDataSourceException
        - com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException
          - com.google.android.exoplayer2.upstream.HttpDataSource.CleartextNotPermittedException
          - com.google.android.exoplayer2.upstream.HttpDataSource.InvalidContentTypeException
          - com.google.android.exoplayer2.upstream.HttpDataSource.InvalidResponseCodeException
        - com.google.android.exoplayer2.upstream.Loader.UnexpectedLoaderException
        - com.google.android.exoplayer2.upstream.RawResourceDataSource.RawResourceDataSourceException
        - com.google.android.exoplayer2.upstream.UdpDataSource.UdpDataSourceException

## Interface Hierarchy

- com.google.android.exoplayer2.upstream.Allocator
- com.google.android.exoplayer2.upstream.BandwidthMeter
- com.google.android.exoplayer2.upstream.BandwidthMeter.EventListener
- com.google.android.exoplayer2.upstream.DataReader
  - com.google.android.exoplayer2.upstream.DataSource
    - com.google.android.exoplayer2.upstream.HttpDataSource
- com.google.android.exoplayer2.upstream.DataSink
- com.google.android.exoplayer2.upstream.DataSink.Factory
- com.google.android.exoplayer2.upstream.DataSource.Factory
  - com.google.android.exoplayer2.upstream.HttpDataSource.Factory
- com.google.android.exoplayer2.upstream.Loader.Callback<T>
- com.google.android.exoplayer2.upstream.Loader.Loadable
- com.google.android.exoplayer2.upstream.Loader.ReleaseCallback
- com.google.android.exoplayer2.upstream.LoaderErrorThrower
- com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy
- com.google.android.exoplayer2.upstream.ParsingLoadable.Parser<T>
- com.google.android.exoplayer2.upstream.ResolvingDataSource.Resolver
- com.google.android.exoplayer2.upstream.TimeToFirstByteEstimator
- com.google.android.exoplayer2.upstream.TransferListener

## Annotation Type Hierarchy

- com.google.android.exoplayer2.upstream.DataSpec.Flags (implements java.lang.annotation.Annotation)
- com.google.android.exoplayer2.upstream.DataSpec.HttpMethod (implements java.lang.annotation.Annotation)
- com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException.Type (implements java.lang.annotation.Annotation)