Home | History | Annotate | Download | only in libs

META-INF/
META-INF/MANIFEST.MF
com/
com/google/
com/google/android/
com/google/android/exoplayer/
com/google/android/exoplayer/upstream/
com/google/android/exoplayer/upstream/UriLoadable$Parser.class
UriLoadable.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.UriLoadable$Parser extends java.lang.Object {
	public abstract java.lang.Object parse (java.lang.String, java.io.InputStream)  throws com.google.android.exoplayer.ParserException java.io.IOException 
}

com/google/android/exoplayer/upstream/BandwidthMeter.class
BandwidthMeter.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.BandwidthMeter extends java.lang.Object implements com.google.android.exoplayer.upstream.TransferListener  {
	public static final long NO_ESTIMATE
	public abstract long getBitrateEstimate () 
}

com/google/android/exoplayer/upstream/cache/
com/google/android/exoplayer/upstream/cache/NoOpCacheEvictor.class
NoOpCacheEvictor.java
package com.google.android.exoplayer.upstream.cache
public final com.google.android.exoplayer.upstream.cache.NoOpCacheEvictor extends java.lang.Object implements com.google.android.exoplayer.upstream.cache.CacheEvictor  {
	public void  () 
	public void onStartFile (com.google.android.exoplayer.upstream.cache.Cache, java.lang.String, long, long) 
		com.google.android.exoplayer.upstream.cache.Cache cache
		String key
		long position
		long length
	public void onSpanAdded (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.Cache cache
		com.google.android.exoplayer.upstream.cache.CacheSpan span
	public void onSpanRemoved (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.Cache cache
		com.google.android.exoplayer.upstream.cache.CacheSpan span
	public void onSpanTouched (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan, com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.Cache cache
		com.google.android.exoplayer.upstream.cache.CacheSpan oldSpan
		com.google.android.exoplayer.upstream.cache.CacheSpan newSpan
}

com/google/android/exoplayer/upstream/cache/LeastRecentlyUsedCacheEvictor.class
LeastRecentlyUsedCacheEvictor.java
package com.google.android.exoplayer.upstream.cache
public final com.google.android.exoplayer.upstream.cache.LeastRecentlyUsedCacheEvictor extends java.lang.Object implements com.google.android.exoplayer.upstream.cache.CacheEvictor java.util.Comparator  {
	private final long maxBytes
	private final java.util.TreeSet leastRecentlyUsed
	private long currentSize
	public void  (long) 
		long maxBytes
	public void onStartFile (com.google.android.exoplayer.upstream.cache.Cache, java.lang.String, long, long) 
		com.google.android.exoplayer.upstream.cache.Cache cache
		String key
		long position
		long length
	public void onSpanAdded (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.Cache cache
		com.google.android.exoplayer.upstream.cache.CacheSpan span
	public void onSpanRemoved (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.Cache cache
		com.google.android.exoplayer.upstream.cache.CacheSpan span
	public void onSpanTouched (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan, com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.Cache cache
		com.google.android.exoplayer.upstream.cache.CacheSpan oldSpan
		com.google.android.exoplayer.upstream.cache.CacheSpan newSpan
	public int compare (com.google.android.exoplayer.upstream.cache.CacheSpan, com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.CacheSpan lhs
		com.google.android.exoplayer.upstream.cache.CacheSpan rhs
		long lastAccessTimestampDelta
	private void evictCache (com.google.android.exoplayer.upstream.cache.Cache, long) 
		com.google.android.exoplayer.upstream.cache.Cache cache
		long requiredSpace
	public volatile int compare (java.lang.Object, java.lang.Object) 
}

com/google/android/exoplayer/upstream/cache/Cache.class
Cache.java
package com.google.android.exoplayer.upstream.cache
public abstract com.google.android.exoplayer.upstream.cache.Cache extends java.lang.Object {
	public abstract java.util.NavigableSet addListener (java.lang.String, com.google.android.exoplayer.upstream.cache.Cache$Listener) 
	public abstract void removeListener (java.lang.String, com.google.android.exoplayer.upstream.cache.Cache$Listener) 
	public abstract java.util.NavigableSet getCachedSpans (java.lang.String) 
	public abstract java.util.Set getKeys () 
	public abstract long getCacheSpace () 
	public abstract com.google.android.exoplayer.upstream.cache.CacheSpan startReadWrite (java.lang.String, long)  throws java.lang.InterruptedException 
	public abstract com.google.android.exoplayer.upstream.cache.CacheSpan startReadWriteNonBlocking (java.lang.String, long) 
	public abstract java.io.File startFile (java.lang.String, long, long) 
	public abstract void commitFile (java.io.File) 
	public abstract void releaseHoleSpan (com.google.android.exoplayer.upstream.cache.CacheSpan) 
	public abstract void removeSpan (com.google.android.exoplayer.upstream.cache.CacheSpan) 
	public abstract boolean isCached (java.lang.String, long, long) 
}

com/google/android/exoplayer/upstream/cache/CacheDataSink.class
CacheDataSink.java
package com.google.android.exoplayer.upstream.cache
public final com.google.android.exoplayer.upstream.cache.CacheDataSink extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSink  {
	private final com.google.android.exoplayer.upstream.cache.Cache cache
	private final long maxCacheFileSize
	private com.google.android.exoplayer.upstream.DataSpec dataSpec
	private java.io.File file
	private java.io.FileOutputStream outputStream
	private long outputStreamBytesWritten
	private long dataSpecBytesWritten
	public void  (com.google.android.exoplayer.upstream.cache.Cache, long) 
		com.google.android.exoplayer.upstream.cache.Cache cache
		long maxCacheFileSize
	public com.google.android.exoplayer.upstream.DataSink open (com.google.android.exoplayer.upstream.DataSpec)  throws com.google.android.exoplayer.upstream.cache.CacheDataSink$CacheDataSinkException 
		java.io.FileNotFoundException e
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	public void write (byte[], int, int)  throws com.google.android.exoplayer.upstream.cache.CacheDataSink$CacheDataSinkException 
		int bytesToWrite
		int bytesWritten
		java.io.IOException e
		byte[] buffer
		int offset
		int length
	public void close ()  throws com.google.android.exoplayer.upstream.cache.CacheDataSink$CacheDataSinkException 
		java.io.IOException e
	private void openNextOutputStream ()  throws java.io.FileNotFoundException 
	private void closeCurrentOutputStream ()  throws java.io.IOException 
		boolean success
}

com/google/android/exoplayer/upstream/cache/CacheDataSource$EventListener.class
CacheDataSource.java
package com.google.android.exoplayer.upstream.cache
public abstract com.google.android.exoplayer.upstream.cache.CacheDataSource$EventListener extends java.lang.Object {
	public abstract void onCachedBytesRead (long, long) 
}

com/google/android/exoplayer/upstream/cache/SimpleCache.class
SimpleCache.java
package com.google.android.exoplayer.upstream.cache
public final com.google.android.exoplayer.upstream.cache.SimpleCache extends java.lang.Object implements com.google.android.exoplayer.upstream.cache.Cache  {
	private final java.io.File cacheDir
	private final com.google.android.exoplayer.upstream.cache.CacheEvictor evictor
	private final java.util.HashMap lockedSpans
	private final java.util.HashMap cachedSpans
	private final java.util.HashMap listeners
	private long totalSpace
	public void  (java.io.File, com.google.android.exoplayer.upstream.cache.CacheEvictor) 
		java.io.File cacheDir
		com.google.android.exoplayer.upstream.cache.CacheEvictor evictor
		android.os.ConditionVariable conditionVariable
	public synchronized java.util.NavigableSet addListener (java.lang.String, com.google.android.exoplayer.upstream.cache.Cache$Listener) 
		String key
		com.google.android.exoplayer.upstream.cache.Cache$Listener listener
		java.util.ArrayList listenersForKey
	public synchronized void removeListener (java.lang.String, com.google.android.exoplayer.upstream.cache.Cache$Listener) 
		String key
		com.google.android.exoplayer.upstream.cache.Cache$Listener listener
		java.util.ArrayList listenersForKey
	public synchronized java.util.NavigableSet getCachedSpans (java.lang.String) 
		String key
		java.util.TreeSet spansForKey
	public synchronized java.util.Set getKeys () 
	public synchronized long getCacheSpace () 
	public synchronized com.google.android.exoplayer.upstream.cache.CacheSpan startReadWrite (java.lang.String, long)  throws java.lang.InterruptedException 
		com.google.android.exoplayer.upstream.cache.CacheSpan span
		String key
		long position
		com.google.android.exoplayer.upstream.cache.CacheSpan lookupSpan
	public synchronized com.google.android.exoplayer.upstream.cache.CacheSpan startReadWriteNonBlocking (java.lang.String, long) 
		String key
		long position
	private synchronized com.google.android.exoplayer.upstream.cache.CacheSpan startReadWriteNonBlocking (com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.CacheSpan oldCacheSpan
		java.util.TreeSet spansForKey
		com.google.android.exoplayer.upstream.cache.CacheSpan lookupSpan
		com.google.android.exoplayer.upstream.cache.CacheSpan spanningRegion
	public synchronized java.io.File startFile (java.lang.String, long, long) 
		String key
		long position
		long length
	public synchronized void commitFile (java.io.File) 
		java.io.File file
		com.google.android.exoplayer.upstream.cache.CacheSpan span
		long length
	public synchronized void releaseHoleSpan (com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.CacheSpan holeSpan
	private com.google.android.exoplayer.upstream.cache.CacheSpan getSpan (com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.CacheSpan lookupSpan
		String key
		long offset
		java.util.TreeSet entries
		com.google.android.exoplayer.upstream.cache.CacheSpan floorSpan
		com.google.android.exoplayer.upstream.cache.CacheSpan ceilEntry
	private void initialize () 
		com.google.android.exoplayer.upstream.cache.CacheSpan span
		java.io.File file
		int i
		java.io.File[] files
	private void addSpan (com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.CacheSpan span
		java.util.TreeSet spansForKey
	public synchronized void removeSpan (com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.CacheSpan span
		java.util.TreeSet spansForKey
	private void removeStaleSpans () 
		com.google.android.exoplayer.upstream.cache.CacheSpan span
		java.util.Map$Entry next
		java.util.Iterator spanIterator
		boolean isEmpty
		java.util.Iterator iterator
	private void notifySpanRemoved (com.google.android.exoplayer.upstream.cache.CacheSpan) 
		int i
		com.google.android.exoplayer.upstream.cache.CacheSpan span
		java.util.ArrayList keyListeners
	private void notifySpanAdded (com.google.android.exoplayer.upstream.cache.CacheSpan) 
		int i
		com.google.android.exoplayer.upstream.cache.CacheSpan span
		java.util.ArrayList keyListeners
	private void notifySpanTouched (com.google.android.exoplayer.upstream.cache.CacheSpan, com.google.android.exoplayer.upstream.cache.CacheSpan) 
		int i
		com.google.android.exoplayer.upstream.cache.CacheSpan oldSpan
		com.google.android.exoplayer.upstream.cache.CacheSpan newSpan
		java.util.ArrayList keyListeners
	public synchronized boolean isCached (java.lang.String, long, long) 
		com.google.android.exoplayer.upstream.cache.CacheSpan next
		String key
		long position
		long length
		java.util.TreeSet entries
		com.google.android.exoplayer.upstream.cache.CacheSpan lookupSpan
		com.google.android.exoplayer.upstream.cache.CacheSpan floorSpan
		long queryEndPosition
		long currentEndPosition
		java.util.Iterator iterator
	static void access$000 (com.google.android.exoplayer.upstream.cache.SimpleCache) 
		com.google.android.exoplayer.upstream.cache.SimpleCache x0
}

com/google/android/exoplayer/upstream/cache/CacheEvictor.class
CacheEvictor.java
package com.google.android.exoplayer.upstream.cache
public abstract com.google.android.exoplayer.upstream.cache.CacheEvictor extends java.lang.Object implements com.google.android.exoplayer.upstream.cache.Cache$Listener  {
	public abstract void onStartFile (com.google.android.exoplayer.upstream.cache.Cache, java.lang.String, long, long) 
}

com/google/android/exoplayer/upstream/cache/CacheDataSink$CacheDataSinkException.class
CacheDataSink.java
package com.google.android.exoplayer.upstream.cache
public com.google.android.exoplayer.upstream.cache.CacheDataSink$CacheDataSinkException extends java.io.IOException {
	public void  (java.io.IOException) 
		java.io.IOException cause
}

com/google/android/exoplayer/upstream/cache/CacheDataSource.class
CacheDataSource.java
package com.google.android.exoplayer.upstream.cache
public final com.google.android.exoplayer.upstream.cache.CacheDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource  {
	private static final String TAG
	private final com.google.android.exoplayer.upstream.cache.Cache cache
	private final com.google.android.exoplayer.upstream.DataSource cacheReadDataSource
	private final com.google.android.exoplayer.upstream.DataSource cacheWriteDataSource
	private final com.google.android.exoplayer.upstream.DataSource upstreamDataSource
	private final com.google.android.exoplayer.upstream.cache.CacheDataSource$EventListener eventListener
	private final boolean blockOnCache
	private final boolean ignoreCacheOnError
	private com.google.android.exoplayer.upstream.DataSource currentDataSource
	private android.net.Uri uri
	private int flags
	private String key
	private long readPosition
	private long bytesRemaining
	private com.google.android.exoplayer.upstream.cache.CacheSpan lockedSpan
	private boolean ignoreCache
	private long totalCachedBytesRead
	public void  (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.DataSource, boolean, boolean) 
		com.google.android.exoplayer.upstream.cache.Cache cache
		com.google.android.exoplayer.upstream.DataSource upstream
		boolean blockOnCache
		boolean ignoreCacheOnError
	public void  (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.DataSource, boolean, boolean, long) 
		com.google.android.exoplayer.upstream.cache.Cache cache
		com.google.android.exoplayer.upstream.DataSource upstream
		boolean blockOnCache
		boolean ignoreCacheOnError
		long maxCacheFileSize
	public void  (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSink, boolean, boolean, com.google.android.exoplayer.upstream.cache.CacheDataSource$EventListener) 
		com.google.android.exoplayer.upstream.cache.Cache cache
		com.google.android.exoplayer.upstream.DataSource upstream
		com.google.android.exoplayer.upstream.DataSource cacheReadDataSource
		com.google.android.exoplayer.upstream.DataSink cacheWriteDataSink
		boolean blockOnCache
		boolean ignoreCacheOnError
		com.google.android.exoplayer.upstream.cache.CacheDataSource$EventListener eventListener
	public long open (com.google.android.exoplayer.upstream.DataSpec)  throws java.io.IOException 
		java.io.IOException e
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	public int read (byte[], int, int)  throws java.io.IOException 
		int bytesRead
		java.io.IOException e
		byte[] buffer
		int offset
		int max
	public void close ()  throws java.io.IOException 
		java.io.IOException e
	private void openNextSource ()  throws java.io.IOException 
		com.google.android.exoplayer.upstream.cache.CacheSpan span
		com.google.android.exoplayer.upstream.cache.CacheSpan span
		InterruptedException e
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		android.net.Uri fileUri
		long filePosition
		long length
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		long length
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		com.google.android.exoplayer.upstream.cache.CacheSpan span
		com.google.android.exoplayer.upstream.cache.CacheSpan span
	private void closeCurrentSource ()  throws java.io.IOException 
	private void handleBeforeThrow (java.io.IOException) 
		java.io.IOException exception
	private void notifyBytesRead () 
}

com/google/android/exoplayer/upstream/cache/CachedRegionTracker.class
CachedRegionTracker.java
package com.google.android.exoplayer.upstream.cache
public final com.google.android.exoplayer.upstream.cache.CachedRegionTracker extends java.lang.Object implements com.google.android.exoplayer.upstream.cache.Cache$Listener  {
	private static final String TAG
	public static final int NOT_CACHED
	public static final int CACHED_TO_END
	private final com.google.android.exoplayer.upstream.cache.Cache cache
	private final String cacheKey
	private final com.google.android.exoplayer.extractor.ChunkIndex chunkIndex
	private final java.util.TreeSet regions
	private final com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region lookupRegion
	public void  (com.google.android.exoplayer.upstream.cache.Cache, java.lang.String, com.google.android.exoplayer.extractor.ChunkIndex) 
		com.google.android.exoplayer.upstream.cache.CacheSpan span
		java.util.Iterator spanIterator
		java.util.NavigableSet cacheSpans
		com.google.android.exoplayer.upstream.cache.Cache cache
		String cacheKey
		com.google.android.exoplayer.extractor.ChunkIndex chunkIndex
	public void release () 
	public synchronized int getRegionEndTimeMs (long) 
		long byteOffset
		com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region floorRegion
		int index
		long segmentFractionUs
	public synchronized void onSpanAdded (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.Cache cache
		com.google.android.exoplayer.upstream.cache.CacheSpan span
	public synchronized void onSpanRemoved (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region newFloorRegion
		int index
		com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region newCeilingRegion
		com.google.android.exoplayer.upstream.cache.Cache cache
		com.google.android.exoplayer.upstream.cache.CacheSpan span
		com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region removedRegion
		com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region floorRegion
	public void onSpanTouched (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan, com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.Cache cache
		com.google.android.exoplayer.upstream.cache.CacheSpan oldSpan
		com.google.android.exoplayer.upstream.cache.CacheSpan newSpan
	private void mergeSpan (com.google.android.exoplayer.upstream.cache.CacheSpan) 
		int index
		int index
		com.google.android.exoplayer.upstream.cache.CacheSpan span
		com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region newRegion
		com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region floorRegion
		com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region ceilingRegion
		boolean floorConnects
		boolean ceilingConnects
	private boolean regionsConnect (com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region, com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region) 
		com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region lower
		com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region upper
}

com/google/android/exoplayer/upstream/cache/CacheSpan.class
CacheSpan.java
package com.google.android.exoplayer.upstream.cache
public final com.google.android.exoplayer.upstream.cache.CacheSpan extends java.lang.Object implements java.lang.Comparable  {
	private static final String SUFFIX
	private static final java.util.regex.Pattern CACHE_FILE_PATTERN_V1
	private static final java.util.regex.Pattern CACHE_FILE_PATTERN_V2
	public final String key
	public final long position
	public final long length
	public final boolean isCached
	public final java.io.File file
	public final long lastAccessTimestamp
	public static java.io.File getCacheFileName (java.io.File, java.lang.String, long, long) 
		java.io.File cacheDir
		String key
		long offset
		long lastAccessTimestamp
	public static com.google.android.exoplayer.upstream.cache.CacheSpan createLookup (java.lang.String, long) 
		String key
		long position
	public static com.google.android.exoplayer.upstream.cache.CacheSpan createOpenHole (java.lang.String, long) 
		String key
		long position
	public static com.google.android.exoplayer.upstream.cache.CacheSpan createClosedHole (java.lang.String, long, long) 
		String key
		long position
		long length
	public static com.google.android.exoplayer.upstream.cache.CacheSpan createCacheEntry (java.io.File) 
		java.io.File file
		java.util.regex.Matcher matcher
		String key
	static java.io.File upgradeIfNeeded (java.io.File) 
		java.io.File file
		java.util.regex.Matcher matcher
		String key
		java.io.File newCacheFile
	private static com.google.android.exoplayer.upstream.cache.CacheSpan createCacheEntry (java.lang.String, long, long, java.io.File) 
		String key
		long position
		long lastAccessTimestamp
		java.io.File file
	void  (java.lang.String, long, long, boolean, long, java.io.File) 
		String key
		long position
		long length
		boolean isCached
		long lastAccessTimestamp
		java.io.File file
	public boolean isOpenEnded () 
	public com.google.android.exoplayer.upstream.cache.CacheSpan touch () 
		long now
		java.io.File newCacheFile
	public int compareTo (com.google.android.exoplayer.upstream.cache.CacheSpan) 
		com.google.android.exoplayer.upstream.cache.CacheSpan another
		long startOffsetDiff
	public volatile int compareTo (java.lang.Object) 
	static void  () 
}

com/google/android/exoplayer/upstream/cache/Cache$Listener.class
Cache.java
package com.google.android.exoplayer.upstream.cache
public abstract com.google.android.exoplayer.upstream.cache.Cache$Listener extends java.lang.Object {
	public abstract void onSpanAdded (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan) 
	public abstract void onSpanRemoved (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan) 
	public abstract void onSpanTouched (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan, com.google.android.exoplayer.upstream.cache.CacheSpan) 
}

com/google/android/exoplayer/upstream/cache/SimpleCache$1.class
SimpleCache.java
package com.google.android.exoplayer.upstream.cache
 com.google.android.exoplayer.upstream.cache.SimpleCache$1 extends java.lang.Thread {
	final android.os.ConditionVariable val$conditionVariable
	final com.google.android.exoplayer.upstream.cache.SimpleCache this$0
	void  (com.google.android.exoplayer.upstream.cache.SimpleCache, android.os.ConditionVariable) 
		com.google.android.exoplayer.upstream.cache.SimpleCache this$0
	public void run () 
}

com/google/android/exoplayer/upstream/cache/CachedRegionTracker$Region.class
CachedRegionTracker.java
package com.google.android.exoplayer.upstream.cache
 com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region extends java.lang.Object implements java.lang.Comparable  {
	public long startOffset
	public long endOffset
	public int endOffsetIndex
	public void  (long, long) 
		long position
		long endOffset
	public int compareTo (com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region) 
		com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region another
	public volatile int compareTo (java.lang.Object) 
}

com/google/android/exoplayer/upstream/UdpDataSource$UdpDataSourceException.class
UdpDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.UdpDataSource$UdpDataSourceException extends java.io.IOException {
	public void  (java.lang.String) 
		String message
	public void  (java.io.IOException) 
		java.io.IOException cause
}

com/google/android/exoplayer/upstream/HttpDataSource$1.class
HttpDataSource.java
package com.google.android.exoplayer.upstream
final com.google.android.exoplayer.upstream.HttpDataSource$1 extends java.lang.Object implements com.google.android.exoplayer.util.Predicate  {
	void  () 
	public boolean evaluate (java.lang.String) 
		String contentType
	public volatile boolean evaluate (java.lang.Object) 
}

com/google/android/exoplayer/upstream/Loader$Loadable.class
Loader.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.Loader$Loadable extends java.lang.Object {
	public abstract void cancelLoad () 
	public abstract boolean isLoadCanceled () 
	public abstract void load ()  throws java.io.IOException java.lang.InterruptedException 
}

com/google/android/exoplayer/upstream/BandwidthMeter$EventListener.class
BandwidthMeter.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.BandwidthMeter$EventListener extends java.lang.Object {
	public abstract void onBandwidthSample (int, long, long) 
}

com/google/android/exoplayer/upstream/Loader.class
Loader.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.Loader extends java.lang.Object {
	private static final int MSG_END_OF_SOURCE
	private static final int MSG_IO_EXCEPTION
	private static final int MSG_FATAL_ERROR
	private final java.util.concurrent.ExecutorService downloadExecutorService
	private com.google.android.exoplayer.upstream.Loader$LoadTask currentTask
	private boolean loading
	public void  (java.lang.String) 
		String threadName
	public void startLoading (com.google.android.exoplayer.upstream.Loader$Loadable, com.google.android.exoplayer.upstream.Loader$Callback) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
		com.google.android.exoplayer.upstream.Loader$Callback callback
		android.os.Looper myLooper
	public void startLoading (android.os.Looper, com.google.android.exoplayer.upstream.Loader$Loadable, com.google.android.exoplayer.upstream.Loader$Callback) 
		android.os.Looper looper
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
		com.google.android.exoplayer.upstream.Loader$Callback callback
	public boolean isLoading () 
	public void cancelLoading () 
	public void release () 
	static boolean access$002 (com.google.android.exoplayer.upstream.Loader, boolean) 
		com.google.android.exoplayer.upstream.Loader x0
		boolean x1
	static com.google.android.exoplayer.upstream.Loader$LoadTask access$102 (com.google.android.exoplayer.upstream.Loader, com.google.android.exoplayer.upstream.Loader$LoadTask) 
		com.google.android.exoplayer.upstream.Loader x0
		com.google.android.exoplayer.upstream.Loader$LoadTask x1
}

com/google/android/exoplayer/upstream/UriDataSource.class
UriDataSource.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.UriDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource  {
	public abstract java.lang.String getUri () 
}

com/google/android/exoplayer/upstream/DefaultBandwidthMeter$1.class
DefaultBandwidthMeter.java
package com.google.android.exoplayer.upstream
 com.google.android.exoplayer.upstream.DefaultBandwidthMeter$1 extends java.lang.Object implements java.lang.Runnable  {
	final int val$elapsedMs
	final long val$bytes
	final long val$bitrate
	final com.google.android.exoplayer.upstream.DefaultBandwidthMeter this$0
	void  (com.google.android.exoplayer.upstream.DefaultBandwidthMeter, int, long, long) 
		com.google.android.exoplayer.upstream.DefaultBandwidthMeter this$0
	public void run () 
}

com/google/android/exoplayer/upstream/DataSourceInputStream.class
DataSourceInputStream.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.DataSourceInputStream extends java.io.InputStream {
	private final com.google.android.exoplayer.upstream.DataSource dataSource
	private final com.google.android.exoplayer.upstream.DataSpec dataSpec
	private final byte[] singleByteArray
	private boolean opened
	private boolean closed
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	public void open ()  throws java.io.IOException 
	public int read ()  throws java.io.IOException 
		int length
	public int read (byte[])  throws java.io.IOException 
		byte[] buffer
	public int read (byte[], int, int)  throws java.io.IOException 
		byte[] buffer
		int offset
		int length
	public long skip (long)  throws java.io.IOException 
		long byteCount
	public void close ()  throws java.io.IOException 
	private void checkOpened ()  throws java.io.IOException 
}

com/google/android/exoplayer/upstream/ContentDataSource$ContentDataSourceException.class
ContentDataSource.java
package com.google.android.exoplayer.upstream
public com.google.android.exoplayer.upstream.ContentDataSource$ContentDataSourceException extends java.io.IOException {
	public void  (java.io.IOException) 
		java.io.IOException cause
}

com/google/android/exoplayer/upstream/HttpDataSource.class
HttpDataSource.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.HttpDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.UriDataSource  {
	public static final com.google.android.exoplayer.util.Predicate REJECT_PAYWALL_TYPES
	public abstract long open (com.google.android.exoplayer.upstream.DataSpec)  throws com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException 
	public abstract void close ()  throws com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException 
	public abstract int read (byte[], int, int)  throws com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException 
	public abstract void setRequestProperty (java.lang.String, java.lang.String) 
	public abstract void clearRequestProperty (java.lang.String) 
	public abstract void clearAllRequestProperties () 
	public abstract java.util.Map getResponseHeaders () 
	static void  () 
}

com/google/android/exoplayer/upstream/AssetDataSource$AssetDataSourceException.class
AssetDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.AssetDataSource$AssetDataSourceException extends java.io.IOException {
	public void  (java.io.IOException) 
		java.io.IOException cause
}

com/google/android/exoplayer/upstream/TeeDataSource.class
TeeDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.TeeDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource  {
	private final com.google.android.exoplayer.upstream.DataSource upstream
	private final com.google.android.exoplayer.upstream.DataSink dataSink
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSink) 
		com.google.android.exoplayer.upstream.DataSource upstream
		com.google.android.exoplayer.upstream.DataSink dataSink
	public long open (com.google.android.exoplayer.upstream.DataSpec)  throws java.io.IOException 
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		long dataLength
	public int read (byte[], int, int)  throws java.io.IOException 
		byte[] buffer
		int offset
		int max
		int num
	public void close ()  throws java.io.IOException 
}

com/google/android/exoplayer/upstream/DataSink.class
DataSink.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.DataSink extends java.lang.Object {
	public abstract com.google.android.exoplayer.upstream.DataSink open (com.google.android.exoplayer.upstream.DataSpec)  throws java.io.IOException 
	public abstract void close ()  throws java.io.IOException 
	public abstract void write (byte[], int, int)  throws java.io.IOException 
}

com/google/android/exoplayer/upstream/FileDataSource$FileDataSourceException.class
FileDataSource.java
package com.google.android.exoplayer.upstream
public com.google.android.exoplayer.upstream.FileDataSource$FileDataSourceException extends java.io.IOException {
	public void  (java.io.IOException) 
		java.io.IOException cause
}

com/google/android/exoplayer/upstream/HttpDataSource$InvalidContentTypeException.class
HttpDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.HttpDataSource$InvalidContentTypeException extends com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException {
	public final String contentType
	public void  (java.lang.String, com.google.android.exoplayer.upstream.DataSpec) 
		String contentType
		com.google.android.exoplayer.upstream.DataSpec dataSpec
}

com/google/android/exoplayer/upstream/ContentDataSource.class
ContentDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.ContentDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.UriDataSource  {
	private final android.content.ContentResolver resolver
	private final com.google.android.exoplayer.upstream.TransferListener listener
	private java.io.InputStream inputStream
	private String uriString
	private long bytesRemaining
	private boolean opened
	public void  (android.content.Context) 
		android.content.Context context
	public void  (android.content.Context, com.google.android.exoplayer.upstream.TransferListener) 
		android.content.Context context
		com.google.android.exoplayer.upstream.TransferListener listener
	public long open (com.google.android.exoplayer.upstream.DataSpec)  throws com.google.android.exoplayer.upstream.ContentDataSource$ContentDataSourceException 
		android.content.res.AssetFileDescriptor assetFd
		long skipped
		java.io.IOException e
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	public int read (byte[], int, int)  throws com.google.android.exoplayer.upstream.ContentDataSource$ContentDataSourceException 
		int bytesToRead
		java.io.IOException e
		int bytesRead
		byte[] buffer
		int offset
		int readLength
	public java.lang.String getUri () 
	public void close ()  throws com.google.android.exoplayer.upstream.ContentDataSource$ContentDataSourceException 
		java.io.IOException e
}

com/google/android/exoplayer/upstream/Loader$UnexpectedLoaderException.class
Loader.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.Loader$UnexpectedLoaderException extends java.io.IOException {
	public void  (java.lang.Exception) 
		Exception cause
}

com/google/android/exoplayer/upstream/Allocation.class
Allocation.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.Allocation extends java.lang.Object {
	public final byte[] data
	private final int offset
	public void  (byte[], int) 
		byte[] data
		int offset
	public int translateOffset (int) 
		int offset
}

com/google/android/exoplayer/upstream/NetworkLock.class
NetworkLock.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.NetworkLock extends java.lang.Object {
	public static final com.google.android.exoplayer.upstream.NetworkLock instance
	public static final int STREAMING_PRIORITY
	public static final int DOWNLOAD_PRIORITY
	private final Object lock
	private final java.util.PriorityQueue queue
	private int highestPriority
	private void  () 
	public void proceed (int)  throws java.lang.InterruptedException 
		int priority
	public boolean proceedNonBlocking (int) 
		int priority
	public void proceedOrThrow (int)  throws com.google.android.exoplayer.upstream.NetworkLock$PriorityTooLowException 
		int priority
	public void add (int) 
		int priority
	public void remove (int) 
		int priority
	static void  () 
}

com/google/android/exoplayer/upstream/PriorityDataSource.class
PriorityDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.PriorityDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource  {
	private final com.google.android.exoplayer.upstream.DataSource upstream
	private final int priority
	public void  (int, com.google.android.exoplayer.upstream.DataSource) 
		int priority
		com.google.android.exoplayer.upstream.DataSource upstream
	public long open (com.google.android.exoplayer.upstream.DataSpec)  throws java.io.IOException 
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	public int read (byte[], int, int)  throws java.io.IOException 
		byte[] buffer
		int offset
		int max
	public void close ()  throws java.io.IOException 
}

com/google/android/exoplayer/upstream/UriLoadable.class
UriLoadable.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.UriLoadable extends java.lang.Object implements com.google.android.exoplayer.upstream.Loader$Loadable  {
	private final com.google.android.exoplayer.upstream.DataSpec dataSpec
	private final com.google.android.exoplayer.upstream.UriDataSource uriDataSource
	private final com.google.android.exoplayer.upstream.UriLoadable$Parser parser
	private volatile Object result
	private volatile boolean isCanceled
	public void  (java.lang.String, com.google.android.exoplayer.upstream.UriDataSource, com.google.android.exoplayer.upstream.UriLoadable$Parser) 
		String url
		com.google.android.exoplayer.upstream.UriDataSource uriDataSource
		com.google.android.exoplayer.upstream.UriLoadable$Parser parser
	public final java.lang.Object getResult () 
	public final void cancelLoad () 
	public final boolean isLoadCanceled () 
	public final void load ()  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.upstream.DataSourceInputStream inputStream
}

com/google/android/exoplayer/upstream/crypto/
com/google/android/exoplayer/upstream/crypto/AesCipherDataSink.class
AesCipherDataSink.java
package com.google.android.exoplayer.upstream.crypto
public final com.google.android.exoplayer.upstream.crypto.AesCipherDataSink extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSink  {
	private final com.google.android.exoplayer.upstream.DataSink wrappedDataSink
	private final byte[] secretKey
	private final byte[] scratch
	private com.google.android.exoplayer.upstream.crypto.AesFlushingCipher cipher
	public void  (byte[], com.google.android.exoplayer.upstream.DataSink) 
		byte[] secretKey
		com.google.android.exoplayer.upstream.DataSink wrappedDataSink
	public void  (byte[], byte[], com.google.android.exoplayer.upstream.DataSink) 
		byte[] secretKey
		byte[] scratch
		com.google.android.exoplayer.upstream.DataSink wrappedDataSink
	public com.google.android.exoplayer.upstream.DataSink open (com.google.android.exoplayer.upstream.DataSpec)  throws java.io.IOException 
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		long nonce
	public void write (byte[], int, int)  throws java.io.IOException 
		int bytesToProcess
		int bytesProcessed
		byte[] data
		int offset
		int length
	public void close ()  throws java.io.IOException 
}

com/google/android/exoplayer/upstream/crypto/CryptoUtil.class
CryptoUtil.java
package com.google.android.exoplayer.upstream.crypto
final com.google.android.exoplayer.upstream.crypto.CryptoUtil extends java.lang.Object {
	private void  () 
	public static long getFNV64Hash (java.lang.String) 
		int i
		String input
		long hash
}

com/google/android/exoplayer/upstream/crypto/AesCipherDataSource.class
AesCipherDataSource.java
package com.google.android.exoplayer.upstream.crypto
public final com.google.android.exoplayer.upstream.crypto.AesCipherDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource  {
	private final com.google.android.exoplayer.upstream.DataSource upstream
	private final byte[] secretKey
	private com.google.android.exoplayer.upstream.crypto.AesFlushingCipher cipher
	public void  (byte[], com.google.android.exoplayer.upstream.DataSource) 
		byte[] secretKey
		com.google.android.exoplayer.upstream.DataSource upstream
	public long open (com.google.android.exoplayer.upstream.DataSpec)  throws java.io.IOException 
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		long dataLength
		long nonce
	public int read (byte[], int, int)  throws java.io.IOException 
		byte[] data
		int offset
		int length
		int read
	public void close ()  throws java.io.IOException 
}

com/google/android/exoplayer/upstream/crypto/AesFlushingCipher.class
AesFlushingCipher.java
package com.google.android.exoplayer.upstream.crypto
public final com.google.android.exoplayer.upstream.crypto.AesFlushingCipher extends java.lang.Object {
	private final javax.crypto.Cipher cipher
	private final int blockSize
	private final byte[] zerosBlock
	private final byte[] flushedBlock
	private int pendingXorBytes
	public void  (int, byte[], long, long) 
		long counter
		int startPadding
		java.security.NoSuchAlgorithmException e
		javax.crypto.NoSuchPaddingException e
		java.security.InvalidKeyException e
		java.security.InvalidAlgorithmParameterException e
		int mode
		byte[] secretKey
		long nonce
		long offset
	public void updateInPlace (byte[], int, int) 
		byte[] data
		int offset
		int length
	public void update (byte[], int, int, byte[], int) 
		int i
		byte[] in
		int inOffset
		int length
		byte[] out
		int outOffset
		int written
		int bytesToFlush
	private int nonFlushingUpdate (byte[], int, int, byte[], int) 
		javax.crypto.ShortBufferException e
		byte[] in
		int inOffset
		int length
		byte[] out
		int outOffset
	private byte[] getInitializationVector (long, long) 
		long nonce
		long counter
}

com/google/android/exoplayer/upstream/DefaultAllocator.class
DefaultAllocator.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.DefaultAllocator extends java.lang.Object implements com.google.android.exoplayer.upstream.Allocator  {
	private static final int AVAILABLE_EXTRA_CAPACITY
	private final int individualAllocationSize
	private final byte[] initialAllocationBlock
	private int allocatedCount
	private int availableCount
	private com.google.android.exoplayer.upstream.Allocation[] availableAllocations
	public void  (int) 
		int individualAllocationSize
	public void  (int, int) 
		int allocationOffset
		int i
		int individualAllocationSize
		int initialAllocationCount
	public synchronized com.google.android.exoplayer.upstream.Allocation allocate () 
		com.google.android.exoplayer.upstream.Allocation allocation
		com.google.android.exoplayer.upstream.Allocation allocation
	public synchronized void release (com.google.android.exoplayer.upstream.Allocation) 
		com.google.android.exoplayer.upstream.Allocation allocation
	public synchronized void trim (int) 
		com.google.android.exoplayer.upstream.Allocation highAllocation
		com.google.android.exoplayer.upstream.Allocation lowAllocation
		int lowIndex
		int highIndex
		int targetSize
		int targetAllocationCount
		int targetAvailableCount
	public synchronized int getTotalBytesAllocated () 
	public synchronized void blockWhileTotalBytesAllocatedExceeds (int)  throws java.lang.InterruptedException 
		int limit
	public int getIndividualAllocationLength () 
}

com/google/android/exoplayer/upstream/Loader$LoadTask.class
Loader.java
package com.google.android.exoplayer.upstream
final com.google.android.exoplayer.upstream.Loader$LoadTask extends android.os.Handler implements java.lang.Runnable  {
	private static final String TAG
	private final com.google.android.exoplayer.upstream.Loader$Loadable loadable
	private final com.google.android.exoplayer.upstream.Loader$Callback callback
	private volatile Thread executorThread
	final com.google.android.exoplayer.upstream.Loader this$0
	public void  (com.google.android.exoplayer.upstream.Loader, android.os.Looper, com.google.android.exoplayer.upstream.Loader$Loadable, com.google.android.exoplayer.upstream.Loader$Callback) 
		android.os.Looper looper
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
		com.google.android.exoplayer.upstream.Loader$Callback callback
	public void quit () 
	public void run () 
		java.io.IOException e
		InterruptedException e
		Exception e
		Error e
	public void handleMessage (android.os.Message) 
		android.os.Message msg
	private void onFinished () 
}

com/google/android/exoplayer/upstream/NetworkLock$PriorityTooLowException.class
NetworkLock.java
package com.google.android.exoplayer.upstream
public com.google.android.exoplayer.upstream.NetworkLock$PriorityTooLowException extends java.io.IOException {
	public void  (int, int) 
		int priority
		int highestPriority
}

com/google/android/exoplayer/upstream/ByteArrayDataSource.class
ByteArrayDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.ByteArrayDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource  {
	private final byte[] data
	private int readPosition
	private int remainingBytes
	public void  (byte[]) 
		byte[] data
	public long open (com.google.android.exoplayer.upstream.DataSpec)  throws java.io.IOException 
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	public void close ()  throws java.io.IOException 
	public int read (byte[], int, int)  throws java.io.IOException 
		byte[] buffer
		int offset
		int length
}

com/google/android/exoplayer/upstream/DataSpec.class
DataSpec.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.DataSpec extends java.lang.Object {
	public static final int FLAG_ALLOW_GZIP
	public final android.net.Uri uri
	public final byte[] postBody
	public final long absoluteStreamPosition
	public final long position
	public final long length
	public final String key
	public final int flags
	public void  (android.net.Uri) 
		android.net.Uri uri
	public void  (android.net.Uri, int) 
		android.net.Uri uri
		int flags
	public void  (android.net.Uri, long, long, java.lang.String) 
		android.net.Uri uri
		long absoluteStreamPosition
		long length
		String key
	public void  (android.net.Uri, long, long, java.lang.String, int) 
		android.net.Uri uri
		long absoluteStreamPosition
		long length
		String key
		int flags
	public void  (android.net.Uri, long, long, long, java.lang.String, int) 
		android.net.Uri uri
		long absoluteStreamPosition
		long position
		long length
		String key
		int flags
	public void  (android.net.Uri, byte[], long, long, long, java.lang.String, int) 
		android.net.Uri uri
		byte[] postBody
		long absoluteStreamPosition
		long position
		long length
		String key
		int flags
	public java.lang.String toString () 
}

com/google/android/exoplayer/upstream/DefaultBandwidthMeter.class
DefaultBandwidthMeter.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.DefaultBandwidthMeter extends java.lang.Object implements com.google.android.exoplayer.upstream.BandwidthMeter  {
	public static final int DEFAULT_MAX_WEIGHT
	private final android.os.Handler eventHandler
	private final com.google.android.exoplayer.upstream.BandwidthMeter$EventListener eventListener
	private final com.google.android.exoplayer.util.Clock clock
	private final com.google.android.exoplayer.util.SlidingPercentile slidingPercentile
	private long bytesAccumulator
	private long startTimeMs
	private long bitrateEstimate
	private int streamCount
	public void  () 
	public void  (android.os.Handler, com.google.android.exoplayer.upstream.BandwidthMeter$EventListener) 
		android.os.Handler eventHandler
		com.google.android.exoplayer.upstream.BandwidthMeter$EventListener eventListener
	public void  (android.os.Handler, com.google.android.exoplayer.upstream.BandwidthMeter$EventListener, com.google.android.exoplayer.util.Clock) 
		android.os.Handler eventHandler
		com.google.android.exoplayer.upstream.BandwidthMeter$EventListener eventListener
		com.google.android.exoplayer.util.Clock clock
	public void  (android.os.Handler, com.google.android.exoplayer.upstream.BandwidthMeter$EventListener, int) 
		android.os.Handler eventHandler
		com.google.android.exoplayer.upstream.BandwidthMeter$EventListener eventListener
		int maxWeight
	public void  (android.os.Handler, com.google.android.exoplayer.upstream.BandwidthMeter$EventListener, com.google.android.exoplayer.util.Clock, int) 
		android.os.Handler eventHandler
		com.google.android.exoplayer.upstream.BandwidthMeter$EventListener eventListener
		com.google.android.exoplayer.util.Clock clock
		int maxWeight
	public synchronized long getBitrateEstimate () 
	public synchronized void onTransferStart () 
	public synchronized void onBytesTransferred (int) 
		int bytes
	public synchronized void onTransferEnd () 
		float bitsPerSecond
		float bandwidthEstimateFloat
		long nowMs
		int elapsedMs
	private void notifyBandwidthSample (int, long, long) 
		int elapsedMs
		long bytes
		long bitrate
	static com.google.android.exoplayer.upstream.BandwidthMeter$EventListener access$000 (com.google.android.exoplayer.upstream.DefaultBandwidthMeter) 
		com.google.android.exoplayer.upstream.DefaultBandwidthMeter x0
}

com/google/android/exoplayer/upstream/TransferListener.class
TransferListener.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.TransferListener extends java.lang.Object {
	public abstract void onTransferStart () 
	public abstract void onBytesTransferred (int) 
	public abstract void onTransferEnd () 
}

com/google/android/exoplayer/upstream/DataSource.class
DataSource.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.DataSource extends java.lang.Object {
	public abstract long open (com.google.android.exoplayer.upstream.DataSpec)  throws java.io.IOException 
	public abstract void close ()  throws java.io.IOException 
	public abstract int read (byte[], int, int)  throws java.io.IOException 
}

com/google/android/exoplayer/upstream/FileDataSource.class
FileDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.FileDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.UriDataSource  {
	private final com.google.android.exoplayer.upstream.TransferListener listener
	private java.io.RandomAccessFile file
	private String uriString
	private long bytesRemaining
	private boolean opened
	public void  () 
	public void  (com.google.android.exoplayer.upstream.TransferListener) 
		com.google.android.exoplayer.upstream.TransferListener listener
	public long open (com.google.android.exoplayer.upstream.DataSpec)  throws com.google.android.exoplayer.upstream.FileDataSource$FileDataSourceException 
		java.io.IOException e
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	public int read (byte[], int, int)  throws com.google.android.exoplayer.upstream.FileDataSource$FileDataSourceException 
		java.io.IOException e
		int bytesRead
		byte[] buffer
		int offset
		int readLength
	public java.lang.String getUri () 
	public void close ()  throws com.google.android.exoplayer.upstream.FileDataSource$FileDataSourceException 
		java.io.IOException e
}

com/google/android/exoplayer/upstream/Allocator.class
Allocator.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.Allocator extends java.lang.Object {
	public abstract com.google.android.exoplayer.upstream.Allocation allocate () 
	public abstract void release (com.google.android.exoplayer.upstream.Allocation) 
	public abstract void trim (int) 
	public abstract void blockWhileTotalBytesAllocatedExceeds (int)  throws java.lang.InterruptedException 
	public abstract int getTotalBytesAllocated () 
	public abstract int getIndividualAllocationLength () 
}

com/google/android/exoplayer/upstream/Loader$Callback.class
Loader.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.Loader$Callback extends java.lang.Object {
	public abstract void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable) 
	public abstract void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable) 
	public abstract void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException) 
}

com/google/android/exoplayer/upstream/HttpDataSource$InvalidResponseCodeException.class
HttpDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.HttpDataSource$InvalidResponseCodeException extends com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException {
	public final int responseCode
	public final java.util.Map headerFields
	public void  (int, java.util.Map, com.google.android.exoplayer.upstream.DataSpec) 
		int responseCode
		java.util.Map headerFields
		com.google.android.exoplayer.upstream.DataSpec dataSpec
}

com/google/android/exoplayer/upstream/UdpDataSource.class
UdpDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.UdpDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.UriDataSource  {
	public static final int DEFAULT_MAX_PACKET_SIZE
	private final com.google.android.exoplayer.upstream.TransferListener listener
	private final java.net.DatagramPacket packet
	private com.google.android.exoplayer.upstream.DataSpec dataSpec
	private java.net.DatagramSocket socket
	private java.net.MulticastSocket multicastSocket
	private java.net.InetAddress address
	private java.net.InetSocketAddress socketAddress
	private boolean opened
	private byte[] packetBuffer
	private int packetRemaining
	public void  (com.google.android.exoplayer.upstream.TransferListener) 
		com.google.android.exoplayer.upstream.TransferListener listener
	public void  (com.google.android.exoplayer.upstream.TransferListener, int) 
		com.google.android.exoplayer.upstream.TransferListener listener
		int maxPacketSize
	public long open (com.google.android.exoplayer.upstream.DataSpec)  throws com.google.android.exoplayer.upstream.UdpDataSource$UdpDataSourceException 
		java.io.IOException e
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		String host
		int port
	public int read (byte[], int, int)  throws com.google.android.exoplayer.upstream.UdpDataSource$UdpDataSourceException 
		java.io.IOException e
		byte[] buffer
		int offset
		int readLength
		int packetOffset
		int bytesToRead
	public void close () 
	public java.lang.String getUri () 
}

com/google/android/exoplayer/upstream/DefaultUriDataSource.class
DefaultUriDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.DefaultUriDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.UriDataSource  {
	private static final String SCHEME_ASSET
	private static final String SCHEME_CONTENT
	private final com.google.android.exoplayer.upstream.UriDataSource httpDataSource
	private final com.google.android.exoplayer.upstream.UriDataSource fileDataSource
	private final com.google.android.exoplayer.upstream.UriDataSource assetDataSource
	private final com.google.android.exoplayer.upstream.UriDataSource contentDataSource
	private com.google.android.exoplayer.upstream.UriDataSource dataSource
	public void  (android.content.Context, java.lang.String) 
		android.content.Context context
		String userAgent
	public void  (android.content.Context, com.google.android.exoplayer.upstream.TransferListener, java.lang.String) 
		android.content.Context context
		com.google.android.exoplayer.upstream.TransferListener listener
		String userAgent
	public void  (android.content.Context, com.google.android.exoplayer.upstream.TransferListener, java.lang.String, boolean) 
		android.content.Context context
		com.google.android.exoplayer.upstream.TransferListener listener
		String userAgent
		boolean allowCrossProtocolRedirects
	public void  (android.content.Context, com.google.android.exoplayer.upstream.TransferListener, com.google.android.exoplayer.upstream.UriDataSource) 
		android.content.Context context
		com.google.android.exoplayer.upstream.TransferListener listener
		com.google.android.exoplayer.upstream.UriDataSource httpDataSource
	public long open (com.google.android.exoplayer.upstream.DataSpec)  throws java.io.IOException 
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		String scheme
	public int read (byte[], int, int)  throws java.io.IOException 
		byte[] buffer
		int offset
		int readLength
	public java.lang.String getUri () 
	public void close ()  throws java.io.IOException 
}

com/google/android/exoplayer/upstream/ByteArrayDataSink.class
ByteArrayDataSink.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.ByteArrayDataSink extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSink  {
	private java.io.ByteArrayOutputStream stream
	public void  () 
	public com.google.android.exoplayer.upstream.DataSink open (com.google.android.exoplayer.upstream.DataSpec)  throws java.io.IOException 
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	public void close ()  throws java.io.IOException 
	public void write (byte[], int, int)  throws java.io.IOException 
		byte[] buffer
		int offset
		int length
	public byte[] getData () 
}

com/google/android/exoplayer/upstream/DefaultHttpDataSource.class
DefaultHttpDataSource.java
package com.google.android.exoplayer.upstream
public com.google.android.exoplayer.upstream.DefaultHttpDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.HttpDataSource  {
	public static final int DEFAULT_CONNECT_TIMEOUT_MILLIS
	public static final int DEFAULT_READ_TIMEOUT_MILLIS
	private static final int MAX_REDIRECTS
	private static final String TAG
	private static final java.util.regex.Pattern CONTENT_RANGE_HEADER
	private static final java.util.concurrent.atomic.AtomicReference skipBufferReference
	private final boolean allowCrossProtocolRedirects
	private final int connectTimeoutMillis
	private final int readTimeoutMillis
	private final String userAgent
	private final com.google.android.exoplayer.util.Predicate contentTypePredicate
	private final java.util.HashMap requestProperties
	private final com.google.android.exoplayer.upstream.TransferListener listener
	private com.google.android.exoplayer.upstream.DataSpec dataSpec
	private java.net.HttpURLConnection connection
	private java.io.InputStream inputStream
	private boolean opened
	private long bytesToSkip
	private long bytesToRead
	private long bytesSkipped
	private long bytesRead
	public void  (java.lang.String, com.google.android.exoplayer.util.Predicate) 
		String userAgent
		com.google.android.exoplayer.util.Predicate contentTypePredicate
	public void  (java.lang.String, com.google.android.exoplayer.util.Predicate, com.google.android.exoplayer.upstream.TransferListener) 
		String userAgent
		com.google.android.exoplayer.util.Predicate contentTypePredicate
		com.google.android.exoplayer.upstream.TransferListener listener
	public void  (java.lang.String, com.google.android.exoplayer.util.Predicate, com.google.android.exoplayer.upstream.TransferListener, int, int) 
		String userAgent
		com.google.android.exoplayer.util.Predicate contentTypePredicate
		com.google.android.exoplayer.upstream.TransferListener listener
		int connectTimeoutMillis
		int readTimeoutMillis
	public void  (java.lang.String, com.google.android.exoplayer.util.Predicate, com.google.android.exoplayer.upstream.TransferListener, int, int, boolean) 
		String userAgent
		com.google.android.exoplayer.util.Predicate contentTypePredicate
		com.google.android.exoplayer.upstream.TransferListener listener
		int connectTimeoutMillis
		int readTimeoutMillis
		boolean allowCrossProtocolRedirects
	public java.lang.String getUri () 
	public java.util.Map getResponseHeaders () 
	public void setRequestProperty (java.lang.String, java.lang.String) 
		String name
		String value
	public void clearRequestProperty (java.lang.String) 
		String name
	public void clearAllRequestProperties () 
	public long open (com.google.android.exoplayer.upstream.DataSpec)  throws com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException 
		java.io.IOException e
		java.io.IOException e
		java.util.Map headers
		long contentLength
		java.io.IOException e
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		int responseCode
		int responseCode
		String contentType
	public int read (byte[], int, int)  throws com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException 
		java.io.IOException e
		byte[] buffer
		int offset
		int readLength
	public void close ()  throws com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException 
		java.io.IOException e
	protected final java.net.HttpURLConnection getConnection () 
	protected final long bytesSkipped () 
	protected final long bytesRead () 
	protected final long bytesRemaining () 
	private java.net.HttpURLConnection makeConnection (com.google.android.exoplayer.upstream.DataSpec)  throws java.io.IOException 
		java.net.HttpURLConnection connection
		String location
		java.net.HttpURLConnection connection
		int responseCode
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		java.net.URL url
		byte[] postBody
		long position
		long length
		boolean allowGzip
		int redirectCount
	private java.net.HttpURLConnection makeConnection (java.net.URL, byte[], long, long, boolean, boolean)  throws java.io.IOException 
		java.util.Map$Entry property
		String rangeRequest
		java.io.OutputStream os
		java.net.URL url
		byte[] postBody
		long position
		long length
		boolean allowGzip
		boolean followRedirects
		java.net.HttpURLConnection connection
	private static java.net.URL handleRedirect (java.net.URL, java.lang.String)  throws java.io.IOException 
		java.net.URL originalUrl
		String location
		java.net.URL url
		String protocol
	private static long getContentLength (java.net.HttpURLConnection) 
		NumberFormatException e
		long contentLengthFromRange
		NumberFormatException e
		java.util.regex.Matcher matcher
		java.net.HttpURLConnection connection
		long contentLength
		String contentLengthHeader
		String contentRangeHeader
	private void skipInternal ()  throws java.io.IOException 
		int readLength
		int read
		byte[] skipBuffer
	private int readInternal (byte[], int, int)  throws java.io.IOException 
		byte[] buffer
		int offset
		int readLength
		int read
	private void closeConnectionQuietly () 
		Exception e
	static void  () 
}

com/google/android/exoplayer/upstream/AssetDataSource.class
AssetDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.AssetDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.UriDataSource  {
	private final android.content.res.AssetManager assetManager
	private final com.google.android.exoplayer.upstream.TransferListener listener
	private String uriString
	private java.io.InputStream inputStream
	private long bytesRemaining
	private boolean opened
	public void  (android.content.Context) 
		android.content.Context context
	public void  (android.content.Context, com.google.android.exoplayer.upstream.TransferListener) 
		android.content.Context context
		com.google.android.exoplayer.upstream.TransferListener listener
	public long open (com.google.android.exoplayer.upstream.DataSpec)  throws com.google.android.exoplayer.upstream.AssetDataSource$AssetDataSourceException 
		String path
		long skipped
		java.io.IOException e
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	public int read (byte[], int, int)  throws com.google.android.exoplayer.upstream.AssetDataSource$AssetDataSourceException 
		int bytesToRead
		java.io.IOException e
		int bytesRead
		byte[] buffer
		int offset
		int readLength
	public java.lang.String getUri () 
	public void close ()  throws com.google.android.exoplayer.upstream.AssetDataSource$AssetDataSourceException 
		java.io.IOException e
}

com/google/android/exoplayer/upstream/HttpDataSource$HttpDataSourceException.class
HttpDataSource.java
package com.google.android.exoplayer.upstream
public com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException extends java.io.IOException {
	public final com.google.android.exoplayer.upstream.DataSpec dataSpec
	public void  (com.google.android.exoplayer.upstream.DataSpec) 
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	public void  (java.lang.String, com.google.android.exoplayer.upstream.DataSpec) 
		String message
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	public void  (java.io.IOException, com.google.android.exoplayer.upstream.DataSpec) 
		java.io.IOException cause
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	public void  (java.lang.String, java.io.IOException, com.google.android.exoplayer.upstream.DataSpec) 
		String message
		java.io.IOException cause
		com.google.android.exoplayer.upstream.DataSpec dataSpec
}

com/google/android/exoplayer/MediaCodecAudioTrackRenderer$EventListener.class
MediaCodecAudioTrackRenderer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener extends java.lang.Object implements com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener  {
	public abstract void onAudioTrackInitializationError (com.google.android.exoplayer.audio.AudioTrack$InitializationException) 
	public abstract void onAudioTrackWriteError (com.google.android.exoplayer.audio.AudioTrack$WriteException) 
	public abstract void onAudioTrackUnderrun (int, long, long) 
}

com/google/android/exoplayer/C.class
C.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.C extends java.lang.Object {
	public static final long UNKNOWN_TIME_US
	public static final long MATCH_LONGEST_US
	public static final long MICROS_PER_SECOND
	public static final int LENGTH_UNBOUNDED
	public static final String UTF8_NAME
	public static final int CRYPTO_MODE_AES_CTR
	public static final int ENCODING_AC3
	public static final int ENCODING_E_AC3
	public static final int ENCODING_DTS
	public static final int ENCODING_DTS_HD
	public static final int CHANNEL_OUT_7POINT1_SURROUND
	public static final int SAMPLE_FLAG_SYNC
	public static final int SAMPLE_FLAG_ENCRYPTED
	public static final int SAMPLE_FLAG_DECODE_ONLY
	public static final int RESULT_END_OF_INPUT
	public static final int RESULT_MAX_LENGTH_EXCEEDED
	private void  () 
	static void  () 
}

com/google/android/exoplayer/BehindLiveWindowException.class
BehindLiveWindowException.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.BehindLiveWindowException extends java.io.IOException {
	public void  () 
	public void  (java.lang.String) 
		String message
}

com/google/android/exoplayer/MediaCodecUtil$1.class
MediaCodecUtil.java
package com.google.android.exoplayer
 com.google.android.exoplayer.MediaCodecUtil$1 extends java.lang.Object {
}

com/google/android/exoplayer/MediaCodecTrackRenderer$1.class
MediaCodecTrackRenderer.java
package com.google.android.exoplayer
 com.google.android.exoplayer.MediaCodecTrackRenderer$1 extends java.lang.Object implements java.lang.Runnable  {
	final com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException val$e
	final com.google.android.exoplayer.MediaCodecTrackRenderer this$0
	void  (com.google.android.exoplayer.MediaCodecTrackRenderer, com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException) 
		com.google.android.exoplayer.MediaCodecTrackRenderer this$0
	public void run () 
}

com/google/android/exoplayer/DummyTrackRenderer.class
DummyTrackRenderer.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.DummyTrackRenderer extends com.google.android.exoplayer.TrackRenderer {
	public void  () 
	protected boolean doPrepare (long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
	protected int getTrackCount () 
	protected com.google.android.exoplayer.MediaFormat getFormat (int) 
		int track
	protected boolean isEnded () 
	protected boolean isReady () 
	protected void seekTo (long) 
		long positionUs
	protected void doSomeWork (long, long) 
		long positionUs
		long elapsedRealtimeUs
	protected void maybeThrowError () 
	protected long getDurationUs () 
	protected long getBufferedPositionUs () 
}

com/google/android/exoplayer/ExoPlayerImpl.class
ExoPlayerImpl.java
package com.google.android.exoplayer
final com.google.android.exoplayer.ExoPlayerImpl extends java.lang.Object implements com.google.android.exoplayer.ExoPlayer  {
	private static final String TAG
	private final android.os.Handler eventHandler
	private final com.google.android.exoplayer.ExoPlayerImplInternal internalPlayer
	private final java.util.concurrent.CopyOnWriteArraySet listeners
	private final com.google.android.exoplayer.MediaFormat[][] trackFormats
	private final int[] selectedTrackIndices
	private boolean playWhenReady
	private int playbackState
	private int pendingPlayWhenReadyAcks
	public void  (int, int, int) 
		int rendererCount
		int minBufferMs
		int minRebufferMs
	public android.os.Looper getPlaybackLooper () 
	public void addListener (com.google.android.exoplayer.ExoPlayer$Listener) 
		com.google.android.exoplayer.ExoPlayer$Listener listener
	public void removeListener (com.google.android.exoplayer.ExoPlayer$Listener) 
		com.google.android.exoplayer.ExoPlayer$Listener listener
	public int getPlaybackState () 
	public transient void prepare (com.google.android.exoplayer.TrackRenderer[]) 
		com.google.android.exoplayer.TrackRenderer[] renderers
	public int getTrackCount (int) 
		int rendererIndex
	public com.google.android.exoplayer.MediaFormat getTrackFormat (int, int) 
		int rendererIndex
		int trackIndex
	public void setSelectedTrack (int, int) 
		int rendererIndex
		int trackIndex
	public int getSelectedTrack (int) 
		int rendererIndex
	public void setPlayWhenReady (boolean) 
		com.google.android.exoplayer.ExoPlayer$Listener listener
		boolean playWhenReady
	public boolean getPlayWhenReady () 
	public boolean isPlayWhenReadyCommitted () 
	public void seekTo (long) 
		long positionMs
	public void stop () 
	public void release () 
	public void sendMessage (com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent, int, java.lang.Object) 
		com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent target
		int messageType
		Object message
	public void blockingSendMessage (com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent, int, java.lang.Object) 
		com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent target
		int messageType
		Object message
	public long getDuration () 
	public long getCurrentPosition () 
	public long getBufferedPosition () 
	public int getBufferedPercentage () 
		long bufferedPosition
		long duration
	void handleEvent (android.os.Message) 
		com.google.android.exoplayer.ExoPlayer$Listener listener
		com.google.android.exoplayer.ExoPlayer$Listener listener
		com.google.android.exoplayer.ExoPlayer$Listener listener
		com.google.android.exoplayer.ExoPlayer$Listener listener
		com.google.android.exoplayer.ExoPlaybackException exception
		android.os.Message msg
}

com/google/android/exoplayer/MediaCodecTrackRenderer.class
MediaCodecTrackRenderer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.MediaCodecTrackRenderer extends com.google.android.exoplayer.SampleSourceTrackRenderer {
	protected static final int SOURCE_STATE_NOT_READY
	protected static final int SOURCE_STATE_READY
	protected static final int SOURCE_STATE_READY_READ_MAY_FAIL
	private static final long MAX_CODEC_HOTSWAP_TIME_MS
	private static final int RECONFIGURATION_STATE_NONE
	private static final int RECONFIGURATION_STATE_WRITE_PENDING
	private static final int RECONFIGURATION_STATE_QUEUE_PENDING
	private static final int REINITIALIZATION_STATE_NONE
	private static final int REINITIALIZATION_STATE_SIGNAL_END_OF_STREAM
	private static final int REINITIALIZATION_STATE_WAIT_END_OF_STREAM
	public final com.google.android.exoplayer.CodecCounters codecCounters
	private final com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
	private final com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
	private final boolean playClearSamplesWithoutKeys
	private final com.google.android.exoplayer.SampleHolder sampleHolder
	private final com.google.android.exoplayer.MediaFormatHolder formatHolder
	private final java.util.List decodeOnlyPresentationTimestamps
	private final android.media.MediaCodec$BufferInfo outputBufferInfo
	private final com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener eventListener
	private final boolean deviceNeedsAutoFrcWorkaround
	protected final android.os.Handler eventHandler
	private com.google.android.exoplayer.MediaFormat format
	private com.google.android.exoplayer.drm.DrmInitData drmInitData
	private android.media.MediaCodec codec
	private boolean codecIsAdaptive
	private boolean codecNeedsDiscardToSpsWorkaround
	private boolean codecNeedsFlushWorkaround
	private boolean codecNeedsEosPropagationWorkaround
	private boolean codecNeedsEosFlushWorkaround
	private boolean codecNeedsMonoChannelCountWorkaround
	private java.nio.ByteBuffer[] inputBuffers
	private java.nio.ByteBuffer[] outputBuffers
	private long codecHotswapTimeMs
	private int inputIndex
	private int outputIndex
	private boolean openedDrmSession
	private boolean codecReconfigured
	private int codecReconfigurationState
	private int codecReinitializationState
	private boolean codecReceivedBuffers
	private boolean codecReceivedEos
	private int sourceState
	private boolean inputStreamEnded
	private boolean outputStreamEnded
	private boolean waitingForKeys
	private boolean waitingForFirstSyncFrame
	public void  (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.drm.DrmSessionManager, boolean, android.os.Handler, com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener) 
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
		com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
		boolean playClearSamplesWithoutKeys
		android.os.Handler eventHandler
		com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener eventListener
	public void  (com.google.android.exoplayer.SampleSource[], com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.drm.DrmSessionManager, boolean, android.os.Handler, com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener) 
		com.google.android.exoplayer.SampleSource[] sources
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
		com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
		boolean playClearSamplesWithoutKeys
		android.os.Handler eventHandler
		com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener eventListener
	protected final boolean handlesTrack (com.google.android.exoplayer.MediaFormat)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		com.google.android.exoplayer.MediaFormat mediaFormat
	protected abstract boolean handlesTrack (com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.MediaFormat)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
	protected com.google.android.exoplayer.DecoderInfo getDecoderInfo (com.google.android.exoplayer.MediaCodecSelector, java.lang.String, boolean)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
		String mimeType
		boolean requiresSecureDecoder
	protected abstract void configureCodec (android.media.MediaCodec, boolean, android.media.MediaFormat, android.media.MediaCrypto) 
	protected final void maybeInitCodec ()  throws com.google.android.exoplayer.ExoPlaybackException 
		int drmSessionState
		com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException e
		long codecInitializingTimestamp
		long codecInitializedTimestamp
		Exception e
		String mimeType
		android.media.MediaCrypto mediaCrypto
		boolean requiresSecureDecoder
		com.google.android.exoplayer.DecoderInfo decoderInfo
		String codecName
	private void notifyAndThrowDecoderInitError (com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException)  throws com.google.android.exoplayer.ExoPlaybackException 
		com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException e
	protected boolean shouldInitCodec () 
	protected final boolean codecInitialized () 
	protected final boolean haveFormat () 
	protected void onDisabled ()  throws com.google.android.exoplayer.ExoPlaybackException 
	protected void releaseCodec () 
	protected void onDiscontinuity (long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
	protected void onStarted () 
	protected void onStopped () 
	protected void doSomeWork (long, long, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
		long elapsedRealtimeUs
		boolean sourceIsReady
	private void readFormat (long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
		int result
	private void flushCodec ()  throws com.google.android.exoplayer.ExoPlaybackException 
	private boolean feedInputBuffer (long, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		int result
		byte[] data
		int i
		android.media.MediaCodec$CryptoException e
		android.media.MediaCodec$CryptoInfo cryptoInfo
		int bufferSize
		int adaptiveReconfigurationBytes
		long presentationTimeUs
		android.media.MediaCodec$CryptoException e
		long positionUs
		boolean firstFeed
		int result
		boolean sampleEncrypted
	private static android.media.MediaCodec$CryptoInfo getFrameworkCryptoInfo (com.google.android.exoplayer.SampleHolder, int) 
		com.google.android.exoplayer.SampleHolder sampleHolder
		int adaptiveReconfigurationBytes
		android.media.MediaCodec$CryptoInfo cryptoInfo
	private android.media.MediaFormat getFrameworkMediaFormat (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat format
		android.media.MediaFormat mediaFormat
	private boolean shouldWaitForKeys (boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		boolean sampleEncrypted
		int drmManagerState
	protected void onInputFormatChanged (com.google.android.exoplayer.MediaFormatHolder)  throws com.google.android.exoplayer.ExoPlaybackException 
		com.google.android.exoplayer.MediaFormatHolder formatHolder
		com.google.android.exoplayer.MediaFormat oldFormat
	protected void onOutputFormatChanged (android.media.MediaFormat)  throws com.google.android.exoplayer.ExoPlaybackException 
		android.media.MediaFormat outputFormat
	protected void onOutputStreamEnded () 
	protected void onQueuedInputBuffer (long, java.nio.ByteBuffer, int, boolean) 
		long presentationTimeUs
		java.nio.ByteBuffer buffer
		int bufferSize
		boolean sampleEncrypted
	protected void onProcessedOutputBuffer (long) 
		long presentationTimeUs
	protected boolean canReconfigureCodec (android.media.MediaCodec, boolean, com.google.android.exoplayer.MediaFormat, com.google.android.exoplayer.MediaFormat) 
		android.media.MediaCodec codec
		boolean codecIsAdaptive
		com.google.android.exoplayer.MediaFormat oldFormat
		com.google.android.exoplayer.MediaFormat newFormat
	protected boolean isEnded () 
	protected boolean isReady () 
	protected final int getSourceState () 
	private boolean isWithinHotswapPeriod () 
	protected long getDequeueOutputBufferTimeoutUs () 
	private boolean drainOutputBuffer (long, long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
		long elapsedRealtimeUs
		int decodeOnlyIndex
	private void processOutputFormat ()  throws com.google.android.exoplayer.ExoPlaybackException 
		android.media.MediaFormat format
	protected abstract boolean processOutputBuffer (long, long, android.media.MediaCodec, java.nio.ByteBuffer, android.media.MediaCodec$BufferInfo, int, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
	private void processEndOfStream ()  throws com.google.android.exoplayer.ExoPlaybackException 
	private void notifyDecoderInitializationError (com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException) 
		com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException e
	private void notifyCryptoError (android.media.MediaCodec$CryptoException) 
		android.media.MediaCodec$CryptoException e
	private void notifyDecoderInitialized (java.lang.String, long, long) 
		String decoderName
		long initializedTimestamp
		long initializationDuration
	private int getDecodeOnlyIndex (long) 
		int i
		long presentationTimeUs
		int size
	private static boolean codecNeedsFlushWorkaround (java.lang.String) 
		String name
	private static boolean codecNeedsDiscardToSpsWorkaround (java.lang.String, com.google.android.exoplayer.MediaFormat) 
		String name
		com.google.android.exoplayer.MediaFormat format
	private static boolean codecNeedsEosPropagationWorkaround (java.lang.String) 
		String name
	private static boolean codecNeedsEosFlushWorkaround (java.lang.String) 
		String name
	private static boolean codecNeedsMonoChannelCountWorkaround (java.lang.String, com.google.android.exoplayer.MediaFormat) 
		String name
		com.google.android.exoplayer.MediaFormat format
	private static boolean deviceNeedsAutoFrcWorkaround () 
	static com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener access$000 (com.google.android.exoplayer.MediaCodecTrackRenderer) 
		com.google.android.exoplayer.MediaCodecTrackRenderer x0
}

com/google/android/exoplayer/ExoPlaybackException.class
ExoPlaybackException.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.ExoPlaybackException extends java.lang.Exception {
	public final boolean caughtAtTopLevel
	public void  (java.lang.String) 
		String message
	public void  (java.lang.Throwable) 
		Throwable cause
	public void  (java.lang.String, java.lang.Throwable) 
		String message
		Throwable cause
	void  (java.lang.Throwable, boolean) 
		Throwable cause
		boolean caughtAtTopLevel
}

com/google/android/exoplayer/SampleSource.class
SampleSource.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.SampleSource extends java.lang.Object {
	public static final int END_OF_STREAM
	public static final int NOTHING_READ
	public static final int SAMPLE_READ
	public static final int FORMAT_READ
	public static final long NO_DISCONTINUITY
	public abstract com.google.android.exoplayer.SampleSource$SampleSourceReader register () 
}

com/google/android/exoplayer/MediaCodecTrackRenderer$3.class
MediaCodecTrackRenderer.java
package com.google.android.exoplayer
 com.google.android.exoplayer.MediaCodecTrackRenderer$3 extends java.lang.Object implements java.lang.Runnable  {
	final String val$decoderName
	final long val$initializedTimestamp
	final long val$initializationDuration
	final com.google.android.exoplayer.MediaCodecTrackRenderer this$0
	void  (com.google.android.exoplayer.MediaCodecTrackRenderer, java.lang.String, long, long) 
		com.google.android.exoplayer.MediaCodecTrackRenderer this$0
	public void run () 
}

com/google/android/exoplayer/MediaCodecAudioTrackRenderer$2.class
MediaCodecAudioTrackRenderer.java
package com.google.android.exoplayer
 com.google.android.exoplayer.MediaCodecAudioTrackRenderer$2 extends java.lang.Object implements java.lang.Runnable  {
	final com.google.android.exoplayer.audio.AudioTrack$WriteException val$e
	final com.google.android.exoplayer.MediaCodecAudioTrackRenderer this$0
	void  (com.google.android.exoplayer.MediaCodecAudioTrackRenderer, com.google.android.exoplayer.audio.AudioTrack$WriteException) 
		com.google.android.exoplayer.MediaCodecAudioTrackRenderer this$0
	public void run () 
}

com/google/android/exoplayer/MediaCodecUtil$MediaCodecListCompat.class
MediaCodecUtil.java
package com.google.android.exoplayer
abstract com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat extends java.lang.Object {
	public abstract int getCodecCount () 
	public abstract android.media.MediaCodecInfo getCodecInfoAt (int) 
	public abstract boolean secureDecodersExplicit () 
	public abstract boolean isSecurePlaybackSupported (java.lang.String, android.media.MediaCodecInfo$CodecCapabilities) 
}

com/google/android/exoplayer/MediaCodecUtil$CodecKey.class
MediaCodecUtil.java
package com.google.android.exoplayer
final com.google.android.exoplayer.MediaCodecUtil$CodecKey extends java.lang.Object {
	public final String mimeType
	public final boolean secure
	public void  (java.lang.String, boolean) 
		String mimeType
		boolean secure
	public int hashCode () 
		int prime
		int result
	public boolean equals (java.lang.Object) 
		Object obj
		com.google.android.exoplayer.MediaCodecUtil$CodecKey other
}

com/google/android/exoplayer/BuildConfig.class
BuildConfig.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.BuildConfig extends java.lang.Object {
	public static final boolean DEBUG
	public static final String APPLICATION_ID
	public static final String BUILD_TYPE
	public static final String FLAVOR
	public static final int VERSION_CODE
	public static final String VERSION_NAME
	public void  () 
}

com/google/android/exoplayer/MediaCodecTrackRenderer$2.class
MediaCodecTrackRenderer.java
package com.google.android.exoplayer
 com.google.android.exoplayer.MediaCodecTrackRenderer$2 extends java.lang.Object implements java.lang.Runnable  {
	final android.media.MediaCodec$CryptoException val$e
	final com.google.android.exoplayer.MediaCodecTrackRenderer this$0
	void  (com.google.android.exoplayer.MediaCodecTrackRenderer, android.media.MediaCodec$CryptoException) 
		com.google.android.exoplayer.MediaCodecTrackRenderer this$0
	public void run () 
}

com/google/android/exoplayer/MediaCodecSelector$1.class
MediaCodecSelector.java
package com.google.android.exoplayer
final com.google.android.exoplayer.MediaCodecSelector$1 extends java.lang.Object implements com.google.android.exoplayer.MediaCodecSelector  {
	private static final String RAW_DECODER_NAME
	void  () 
	public com.google.android.exoplayer.DecoderInfo getDecoderInfo (java.lang.String, boolean)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		String mimeType
		boolean requiresSecureDecoder
	public java.lang.String getPassthroughDecoderName ()  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
}

com/google/android/exoplayer/util/
com/google/android/exoplayer/util/ManifestFetcher$EventListener.class
ManifestFetcher.java
package com.google.android.exoplayer.util
public abstract com.google.android.exoplayer.util.ManifestFetcher$EventListener extends java.lang.Object {
	public abstract void onManifestRefreshStarted () 
	public abstract void onManifestRefreshed () 
	public abstract void onManifestError (java.io.IOException) 
}

com/google/android/exoplayer/util/PriorityHandlerThread.class
PriorityHandlerThread.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.PriorityHandlerThread extends android.os.HandlerThread {
	private final int priority
	public void  (java.lang.String, int) 
		String name
		int priority
	public void run () 
}

com/google/android/exoplayer/util/ManifestFetcher$3.class
ManifestFetcher.java
package com.google.android.exoplayer.util
 com.google.android.exoplayer.util.ManifestFetcher$3 extends java.lang.Object implements java.lang.Runnable  {
	final java.io.IOException val$e
	final com.google.android.exoplayer.util.ManifestFetcher this$0
	void  (com.google.android.exoplayer.util.ManifestFetcher, java.io.IOException) 
		com.google.android.exoplayer.util.ManifestFetcher this$0
	public void run () 
}

com/google/android/exoplayer/util/DtsUtil.class
DtsUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.DtsUtil extends java.lang.Object {
	private static final int[] CHANNELS_BY_AMODE
	private static final int[] SAMPLE_RATE_BY_SFREQ
	private static final int[] TWICE_BITRATE_KBPS_BY_RATE
	private static final com.google.android.exoplayer.util.ParsableBitArray SCRATCH_BITS
	public static com.google.android.exoplayer.MediaFormat parseDtsFormat (byte[], java.lang.String, long, java.lang.String) 
		byte[] frame
		String trackId
		long durationUs
		String language
		com.google.android.exoplayer.util.ParsableBitArray frameBits
		int amode
		int channelCount
		int sfreq
		int sampleRate
		int rate
		int bitrate
	public static int parseDtsAudioSampleCount (byte[]) 
		byte[] data
		int nblks
	public static int parseDtsAudioSampleCount (java.nio.ByteBuffer) 
		java.nio.ByteBuffer data
		int position
		int nblks
	public static int getDtsFrameSize (byte[]) 
		byte[] data
	private void  () 
	static void  () 
}

com/google/android/exoplayer/util/ManifestFetcher$1.class
ManifestFetcher.java
package com.google.android.exoplayer.util
 com.google.android.exoplayer.util.ManifestFetcher$1 extends java.lang.Object implements java.lang.Runnable  {
	final com.google.android.exoplayer.util.ManifestFetcher this$0
	void  (com.google.android.exoplayer.util.ManifestFetcher) 
		com.google.android.exoplayer.util.ManifestFetcher this$0
	public void run () 
}

com/google/android/exoplayer/util/Util.class
Util.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.Util extends java.lang.Object {
	public static final int SDK_INT
	public static final String DEVICE
	public static final String MANUFACTURER
	public static final String MODEL
	public static final int TYPE_DASH
	public static final int TYPE_SS
	public static final int TYPE_HLS
	public static final int TYPE_OTHER
	private static final java.util.regex.Pattern XS_DATE_TIME_PATTERN
	private static final java.util.regex.Pattern XS_DURATION_PATTERN
	private static final java.util.regex.Pattern ESCAPED_CHARACTER_PATTERN
	private static final long MAX_BYTES_TO_DRAIN
	private void  () 
	public static boolean isAndroidTv (android.content.Context) 
		android.content.Context context
	public static byte[] toByteArray (java.io.InputStream)  throws java.io.IOException 
		java.io.InputStream inputStream
		byte[] buffer
		java.io.ByteArrayOutputStream outputStream
		int bytesRead
	public static boolean isLocalFileUri (android.net.Uri) 
		android.net.Uri uri
		String scheme
	public static boolean areEqual (java.lang.Object, java.lang.Object) 
		Object o1
		Object o2
	public static boolean contains (java.lang.Object[], java.lang.Object) 
		int i
		Object[] items
		Object item
	public static java.util.concurrent.ExecutorService newSingleThreadExecutor (java.lang.String) 
		String threadName
	public static java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor (java.lang.String) 
		String threadName
	public static void closeQuietly (com.google.android.exoplayer.upstream.DataSource) 
		com.google.android.exoplayer.upstream.DataSource dataSource
	public static void closeQuietly (java.io.OutputStream) 
		java.io.OutputStream outputStream
	public static java.lang.String toLowerInvariant (java.lang.String) 
		String text
	public static int ceilDivide (int, int) 
		int numerator
		int denominator
	public static long ceilDivide (long, long) 
		long numerator
		long denominator
	public static int binarySearchFloor (long[], long, boolean, boolean) 
		long[] a
		long key
		boolean inclusive
		boolean stayInBounds
		int index
	public static int binarySearchCeil (long[], long, boolean, boolean) 
		long[] a
		long key
		boolean inclusive
		boolean stayInBounds
		int index
	public static int binarySearchFloor (java.util.List, java.lang.Object, boolean, boolean) 
		java.util.List list
		Object key
		boolean inclusive
		boolean stayInBounds
		int index
	public static int binarySearchCeil (java.util.List, java.lang.Object, boolean, boolean) 
		java.util.List list
		Object key
		boolean inclusive
		boolean stayInBounds
		int index
	public static int[] firstIntegersArray (int) 
		int i
		int length
		int[] firstIntegers
	public static long parseXsDuration (java.lang.String) 
		boolean negated
		String years
		double durationSeconds
		String months
		String days
		String hours
		String minutes
		String seconds
		long durationMillis
		String value
		java.util.regex.Matcher matcher
	public static long parseXsDateTime (java.lang.String)  throws java.text.ParseException 
		int timezoneShift
		int timezoneShift
		java.math.BigDecimal bd
		String value
		java.util.regex.Matcher matcher
		int timezoneShift
		java.util.Calendar dateTime
		long time
	public static long scaleLargeTimestamp (long, long, long) 
		long divisionFactor
		long multiplicationFactor
		double multiplicationFactor
		long timestamp
		long multiplier
		long divisor
	public static long[] scaleLargeTimestamps (java.util.List, long, long) 
		int i
		long divisionFactor
		int i
		long multiplicationFactor
		int i
		double multiplicationFactor
		java.util.List timestamps
		long multiplier
		long divisor
		long[] scaledTimestamps
	public static void scaleLargeTimestampsInPlace (long[], long, long) 
		int i
		long divisionFactor
		int i
		long multiplicationFactor
		int i
		double multiplicationFactor
		long[] timestamps
		long multiplier
		long divisor
	public static int[] toArray (java.util.List) 
		int i
		java.util.List list
		int length
		int[] intArray
	public static void maybeTerminateInputStream (java.net.HttpURLConnection, long) 
		Class superclass
		java.lang.reflect.Method unexpectedEndOfInput
		java.io.InputStream inputStream
		String className
		java.net.HttpURLConnection connection
		long bytesRemaining
	public static com.google.android.exoplayer.upstream.DataSpec getRemainderDataSpec (com.google.android.exoplayer.upstream.DataSpec, int) 
		long remainingLength
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		int bytesLoaded
	public static int getIntegerCodeForString (java.lang.String) 
		int i
		String string
		int length
		int result
	public static int getTopInt (long) 
		long value
	public static int getBottomInt (long) 
		long value
	public static long getLong (int, int) 
		int topInteger
		int bottomInteger
	public static java.lang.String getHexStringFromBytes (byte[], int, int) 
		int i
		byte[] data
		int beginIndex
		int endIndex
		StringBuilder dataStringBuilder
	public static byte[] getBytesFromHexString (java.lang.String) 
		int stringOffset
		int i
		String hexString
		byte[] data
	public static java.lang.String getCommaDelimitedSimpleClassNames (java.lang.Object[]) 
		int i
		Object[] objects
		StringBuilder stringBuilder
	public static java.lang.String getUserAgent (android.content.Context, java.lang.String) 
		String packageName
		android.content.pm.PackageInfo info
		android.content.pm.PackageManager$NameNotFoundException e
		android.content.Context context
		String applicationName
		String versionName
		String versionName
	public static byte[] executePost (java.lang.String, byte[], java.util.Map)  throws java.io.IOException 
		java.util.Map$Entry requestProperty
		java.io.OutputStream out
		java.io.InputStream inputStream
		String url
		byte[] data
		java.util.Map requestProperties
		java.net.HttpURLConnection urlConnection
	public static int inferContentType (java.lang.String) 
		String fileName
	public static java.lang.String escapeFileName (java.lang.String) 
		int i
		char c
		String fileName
		int length
		int charactersToEscapeCount
		int i
		StringBuilder builder
	private static boolean shouldEscapeCharacter (char) 
		char c
	public static java.lang.String unescapeFileName (java.lang.String) 
		int i
		char unescapedCharacter
		String fileName
		int length
		int percentCharacterCount
		int expectedLength
		StringBuilder builder
		java.util.regex.Matcher matcher
		int endOfLastMatch
	static void  () 
}

com/google/android/exoplayer/util/Util$2.class
Util.java
package com.google.android.exoplayer.util
final com.google.android.exoplayer.util.Util$2 extends java.lang.Object implements java.util.concurrent.ThreadFactory  {
	final String val$threadName
	void  (java.lang.String) 
	public java.lang.Thread newThread (java.lang.Runnable) 
		Runnable r
}

com/google/android/exoplayer/util/ParserUtil.class
ParserUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.ParserUtil extends java.lang.Object {
	private void  () 
	public static boolean isEndTag (org.xmlpull.v1.XmlPullParser, java.lang.String)  throws org.xmlpull.v1.XmlPullParserException 
		org.xmlpull.v1.XmlPullParser xpp
		String name
	public static boolean isStartTag (org.xmlpull.v1.XmlPullParser, java.lang.String)  throws org.xmlpull.v1.XmlPullParserException 
		org.xmlpull.v1.XmlPullParser xpp
		String name
	public static boolean isStartTag (org.xmlpull.v1.XmlPullParser)  throws org.xmlpull.v1.XmlPullParserException 
		org.xmlpull.v1.XmlPullParser xpp
	public static java.lang.String removeNamespacePrefix (java.lang.String) 
		String attributeName
}

com/google/android/exoplayer/util/SystemClock.class
SystemClock.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.SystemClock extends java.lang.Object implements com.google.android.exoplayer.util.Clock  {
	public void  () 
	public long elapsedRealtime () 
}

com/google/android/exoplayer/util/VerboseLogUtil.class
VerboseLogUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.VerboseLogUtil extends java.lang.Object {
	private static volatile String[] enabledTags
	private static volatile boolean enableAllTags
	private void  () 
	public static transient void setEnabledTags (java.lang.String[]) 
		String[] tags
	public static void setEnableAllTags (boolean) 
		boolean enable
	public static boolean isTagEnabled (java.lang.String) 
		int i
		String tag
		String[] tags
	public static boolean areAllTagsEnabled () 
}

com/google/android/exoplayer/util/LongArray.class
LongArray.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.LongArray extends java.lang.Object {
	private static final int DEFAULT_INITIAL_CAPACITY
	private int size
	private long[] values
	public void  () 
	public void  (int) 
		int initialCapacity
	public void add (long) 
		long value
	public long get (int) 
		int index
	public int size () 
	public long[] toArray () 
}

com/google/android/exoplayer/util/SlidingPercentile$2.class
SlidingPercentile.java
package com.google.android.exoplayer.util
final com.google.android.exoplayer.util.SlidingPercentile$2 extends java.lang.Object implements java.util.Comparator  {
	void  () 
	public int compare (com.google.android.exoplayer.util.SlidingPercentile$Sample, com.google.android.exoplayer.util.SlidingPercentile$Sample) 
		com.google.android.exoplayer.util.SlidingPercentile$Sample a
		com.google.android.exoplayer.util.SlidingPercentile$Sample b
	public volatile int compare (java.lang.Object, java.lang.Object) 
}

com/google/android/exoplayer/util/ManifestFetcher$2.class
ManifestFetcher.java
package com.google.android.exoplayer.util
 com.google.android.exoplayer.util.ManifestFetcher$2 extends java.lang.Object implements java.lang.Runnable  {
	final com.google.android.exoplayer.util.ManifestFetcher this$0
	void  (com.google.android.exoplayer.util.ManifestFetcher) 
		com.google.android.exoplayer.util.ManifestFetcher this$0
	public void run () 
}

com/google/android/exoplayer/util/NalUnitUtil$SpsData.class
NalUnitUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.NalUnitUtil$SpsData extends java.lang.Object {
	public final int seqParameterSetId
	public final int width
	public final int height
	public final float pixelWidthAspectRatio
	public final boolean separateColorPlaneFlag
	public final boolean frameMbsOnlyFlag
	public final int frameNumLength
	public final int picOrderCountType
	public final int picOrderCntLsbLength
	public final boolean deltaPicOrderAlwaysZeroFlag
	public void  (int, int, int, float, boolean, boolean, int, int, int, boolean) 
		int seqParameterSetId
		int width
		int height
		float pixelWidthAspectRatio
		boolean separateColorPlaneFlag
		boolean frameMbsOnlyFlag
		int frameNumLength
		int picOrderCountType
		int picOrderCntLsbLength
		boolean deltaPicOrderAlwaysZeroFlag
}

com/google/android/exoplayer/util/NalUnitUtil.class
NalUnitUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.NalUnitUtil extends java.lang.Object {
	private static final String TAG
	public static final byte[] NAL_START_CODE
	public static final int EXTENDED_SAR
	public static final float[] ASPECT_RATIO_IDC_VALUES
	private static final int NAL_UNIT_TYPE_SPS
	private static final Object scratchEscapePositionsLock
	private static int[] scratchEscapePositions
	public static int unescapeStream (byte[], int) 
		int nextEscapePosition
		int copyLength
		int i
		int position
		int scratchEscapeCount
		int unescapedLength
		int escapedPosition
		int unescapedPosition
		int remainingLength
		byte[] data
		int limit
	public static void discardToSps (java.nio.ByteBuffer) 
		java.nio.ByteBuffer offsetData
		int value
		java.nio.ByteBuffer data
		int length
		int consecutiveZeros
		int offset
	public static byte[] parseChildNalUnit (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray atom
		int length
		int offset
	public static int getNalUnitType (byte[], int) 
		byte[] data
		int offset
	public static int getH265NalUnitType (byte[], int) 
		byte[] data
		int offset
	public static com.google.android.exoplayer.util.NalUnitUtil$SpsData parseSpsNalUnit (com.google.android.exoplayer.util.ParsableBitArray) 
		boolean seqScalingListPresentFlag
		int i
		int limit
		boolean seqScalingMatrixPresentFlag
		int i
		long numRefFramesInPicOrderCntCycle
		int cropUnitX
		int cropUnitY
		int subWidthC
		int subHeightC
		int frameCropLeftOffset
		int frameCropRightOffset
		int frameCropTopOffset
		int frameCropBottomOffset
		int cropUnitX
		int cropUnitY
		int sarWidth
		int sarHeight
		int aspectRatioIdc
		boolean aspectRatioInfoPresentFlag
		com.google.android.exoplayer.util.ParsableBitArray data
		int profileIdc
		int seqParameterSetId
		int chromaFormatIdc
		boolean separateColorPlaneFlag
		int frameNumLength
		int picOrderCntType
		int picOrderCntLsbLength
		boolean deltaPicOrderAlwaysZeroFlag
		int picWidthInMbs
		int picHeightInMapUnits
		boolean frameMbsOnlyFlag
		int frameHeightInMbs
		int frameWidth
		int frameHeight
		boolean frameCroppingFlag
		float pixelWidthHeightRatio
		boolean vuiParametersPresentFlag
	public static com.google.android.exoplayer.util.NalUnitUtil$PpsData parsePpsNalUnit (com.google.android.exoplayer.util.ParsableBitArray) 
		com.google.android.exoplayer.util.ParsableBitArray data
		int picParameterSetId
		int seqParameterSetId
		boolean bottomFieldPicOrderInFramePresentFlag
	public static int findNalUnit (byte[], int, int, boolean[]) 
		int i
		byte[] data
		int startOffset
		int endOffset
		boolean[] prefixFlags
		int length
		int limit
	public static void clearPrefixFlags (boolean[]) 
		boolean[] prefixFlags
	private static int findNextUnescapeIndex (byte[], int, int) 
		int i
		byte[] bytes
		int offset
		int limit
	private static void skipScalingList (com.google.android.exoplayer.util.ParsableBitArray, int) 
		int deltaScale
		int i
		com.google.android.exoplayer.util.ParsableBitArray bitArray
		int size
		int lastScale
		int nextScale
	private void  () 
	static void  () 
}

com/google/android/exoplayer/util/ParsableBitArray.class
ParsableBitArray.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.ParsableBitArray extends java.lang.Object {
	public byte[] data
	private int byteOffset
	private int bitOffset
	private int byteLimit
	public void  () 
	public void  (byte[]) 
		byte[] data
	public void  (byte[], int) 
		byte[] data
		int limit
	public void reset (byte[]) 
		byte[] data
	public void reset (byte[], int) 
		byte[] data
		int limit
	public int bitsLeft () 
	public int getPosition () 
	public void setPosition (int) 
		int position
	public void skipBits (int) 
		int n
	public boolean readBit () 
	public int readBits (int) 
		int byteValue
		int byteValue
		int i
		int nextBit
		byte writeMask
		int numBits
		int returnValue
		int wholeBytes
	public boolean canReadExpGolombCodedNum () 
		int initialByteOffset
		int initialBitOffset
		int leadingZeros
		boolean hitLimit
	public int readUnsignedExpGolombCodedInt () 
	public int readSignedExpGolombCodedInt () 
		int codeNum
	private int readExpGolombCodeNum () 
		int leadingZeros
	private void assertValidOffset () 
}

com/google/android/exoplayer/util/PlayerControl.class
PlayerControl.java
package com.google.android.exoplayer.util
public com.google.android.exoplayer.util.PlayerControl extends java.lang.Object implements android.widget.MediaController$MediaPlayerControl  {
	private final com.google.android.exoplayer.ExoPlayer exoPlayer
	public void  (com.google.android.exoplayer.ExoPlayer) 
		com.google.android.exoplayer.ExoPlayer exoPlayer
	public boolean canPause () 
	public boolean canSeekBackward () 
	public boolean canSeekForward () 
	public int getAudioSessionId () 
	public int getBufferPercentage () 
	public int getCurrentPosition () 
	public int getDuration () 
	public boolean isPlaying () 
	public void start () 
	public void pause () 
	public void seekTo (int) 
		int timeMillis
		long seekPosition
}

com/google/android/exoplayer/util/ParsableByteArray.class
ParsableByteArray.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.ParsableByteArray extends java.lang.Object {
	public byte[] data
	private int position
	private int limit
	public void  () 
	public void  (int) 
		int length
	public void  (byte[]) 
		byte[] data
	public void  (byte[], int) 
		byte[] data
		int limit
	public void reset (byte[], int) 
		byte[] data
		int limit
	public void reset () 
	public int bytesLeft () 
	public int limit () 
	public void setLimit (int) 
		int limit
	public int getPosition () 
	public int capacity () 
	public void setPosition (int) 
		int position
	public void skipBytes (int) 
		int bytes
	public void readBytes (com.google.android.exoplayer.util.ParsableBitArray, int) 
		com.google.android.exoplayer.util.ParsableBitArray bitArray
		int length
	public void readBytes (byte[], int, int) 
		byte[] buffer
		int offset
		int length
	public void readBytes (java.nio.ByteBuffer, int) 
		java.nio.ByteBuffer buffer
		int length
	public int readUnsignedByte () 
	public int readUnsignedShort () 
	public int readLittleEndianUnsignedShort () 
	public short readShort () 
	public short readLittleEndianShort () 
	public int readUnsignedInt24 () 
	public int readLittleEndianInt24 () 
	public int readLittleEndianUnsignedInt24 () 
	public long readUnsignedInt () 
	public long readLittleEndianUnsignedInt () 
	public int readInt () 
	public int readLittleEndianInt () 
	public long readLong () 
	public long readLittleEndianLong () 
	public int readUnsignedFixedPoint1616 () 
		int result
	public int readSynchSafeInt () 
		int b1
		int b2
		int b3
		int b4
	public int readUnsignedIntToInt () 
		int result
	public int readLittleEndianUnsignedIntToInt () 
		int result
	public long readUnsignedLongToLong () 
		long result
	public java.lang.String readString (int) 
		int length
	public java.lang.String readString (int, java.nio.charset.Charset) 
		int length
		java.nio.charset.Charset charset
		String result
	public java.lang.String readLine () 
		int lineLimit
		String line
}

com/google/android/exoplayer/util/Assertions.class
Assertions.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.Assertions extends java.lang.Object {
	private void  () 
	public static void checkArgument (boolean) 
		boolean expression
	public static void checkArgument (boolean, java.lang.Object) 
		boolean expression
		Object errorMessage
	public static void checkState (boolean) 
		boolean expression
	public static void checkState (boolean, java.lang.Object) 
		boolean expression
		Object errorMessage
	public static java.lang.Object checkNotNull (java.lang.Object) 
		Object reference
	public static java.lang.Object checkNotNull (java.lang.Object, java.lang.Object) 
		Object reference
		Object errorMessage
	public static java.lang.String checkNotEmpty (java.lang.String) 
		String string
	public static java.lang.String checkNotEmpty (java.lang.String, java.lang.Object) 
		String string
		Object errorMessage
	public static void checkMainThread () 
}

com/google/android/exoplayer/util/UriUtil.class
UriUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.UriUtil extends java.lang.Object {
	private static final int INDEX_COUNT
	private static final int SCHEME_COLON
	private static final int PATH
	private static final int QUERY
	private static final int FRAGMENT
	private void  () 
	public static android.net.Uri resolveToUri (java.lang.String, java.lang.String) 
		String baseUri
		String referenceUri
	public static java.lang.String resolve (java.lang.String, java.lang.String) 
		int baseLimit
		int lastSlashIndex
		int baseLimit
		String baseUri
		String referenceUri
		StringBuilder uri
		int[] refIndices
		int[] baseIndices
	private static java.lang.String removeDotSegments (java.lang.StringBuilder, int, int) 
		int prevSegmentStart
		int removeFrom
		int nextSegmentStart
		StringBuilder uri
		int offset
		int limit
		int segmentStart
		int i
	private static int[] getUriIndices (java.lang.String) 
		int pathIndex
		String uriString
		int[] indices
		int length
		int fragmentIndex
		int queryIndex
		int schemeIndexLimit
		int schemeIndex
		boolean hasAuthority
		int pathIndex
}

com/google/android/exoplayer/util/Ac3Util.class
Ac3Util.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.Ac3Util extends java.lang.Object {
	private static final int AUDIO_SAMPLES_PER_AUDIO_BLOCK
	private static final int AC3_SYNCFRAME_AUDIO_SAMPLE_COUNT
	private static final int[] BLOCKS_PER_SYNCFRAME_BY_NUMBLKSCOD
	private static final int[] SAMPLE_RATE_BY_FSCOD
	private static final int[] SAMPLE_RATE_BY_FSCOD2
	private static final int[] CHANNEL_COUNT_BY_ACMOD
	private static final int[] BITRATE_BY_HALF_FRMSIZECOD
	private static final int[] SYNCFRAME_SIZE_WORDS_BY_HALF_FRMSIZECOD_44_1
	public static com.google.android.exoplayer.MediaFormat parseAc3AnnexFFormat (com.google.android.exoplayer.util.ParsableByteArray, java.lang.String, long, java.lang.String) 
		com.google.android.exoplayer.util.ParsableByteArray data
		String trackId
		long durationUs
		String language
		int fscod
		int sampleRate
		int nextByte
		int channelCount
	public static com.google.android.exoplayer.MediaFormat parseEAc3AnnexFFormat (com.google.android.exoplayer.util.ParsableByteArray, java.lang.String, long, java.lang.String) 
		com.google.android.exoplayer.util.ParsableByteArray data
		String trackId
		long durationUs
		String language
		int fscod
		int sampleRate
		int nextByte
		int channelCount
	public static com.google.android.exoplayer.MediaFormat parseAc3SyncframeFormat (com.google.android.exoplayer.util.ParsableBitArray, java.lang.String, long, java.lang.String) 
		com.google.android.exoplayer.util.ParsableBitArray data
		String trackId
		long durationUs
		String language
		int fscod
		int acmod
		boolean lfeon
	public static com.google.android.exoplayer.MediaFormat parseEac3SyncframeFormat (com.google.android.exoplayer.util.ParsableBitArray, java.lang.String, long, java.lang.String) 
		int sampleRate
		com.google.android.exoplayer.util.ParsableBitArray data
		String trackId
		long durationUs
		String language
		int sampleRate
		int fscod
		int acmod
		boolean lfeon
	public static int parseAc3SyncframeSize (byte[]) 
		byte[] data
		int fscod
		int frmsizecod
	public static int parseEAc3SyncframeSize (byte[]) 
		byte[] data
	public static int getAc3SyncframeAudioSampleCount () 
	public static int parseEAc3SyncframeAudioSampleCount (byte[]) 
		byte[] data
	public static int parseEAc3SyncframeAudioSampleCount (java.nio.ByteBuffer) 
		java.nio.ByteBuffer buffer
		int fscod
	private static int getAc3SyncframeSize (int, int) 
		int fscod
		int frmsizecod
		int sampleRate
		int bitrate
	private void  () 
	static void  () 
}

com/google/android/exoplayer/util/ManifestFetcher.class
ManifestFetcher.java
package com.google.android.exoplayer.util
public com.google.android.exoplayer.util.ManifestFetcher extends java.lang.Object implements com.google.android.exoplayer.upstream.Loader$Callback  {
	private final com.google.android.exoplayer.upstream.UriLoadable$Parser parser
	private final com.google.android.exoplayer.upstream.UriDataSource uriDataSource
	private final android.os.Handler eventHandler
	private final com.google.android.exoplayer.util.ManifestFetcher$EventListener eventListener
	volatile String manifestUri
	private int enabledCount
	private com.google.android.exoplayer.upstream.Loader loader
	private com.google.android.exoplayer.upstream.UriLoadable currentLoadable
	private long currentLoadStartTimestamp
	private int loadExceptionCount
	private long loadExceptionTimestamp
	private com.google.android.exoplayer.util.ManifestFetcher$ManifestIOException loadException
	private volatile Object manifest
	private volatile long manifestLoadStartTimestamp
	private volatile long manifestLoadCompleteTimestamp
	public void  (java.lang.String, com.google.android.exoplayer.upstream.UriDataSource, com.google.android.exoplayer.upstream.UriLoadable$Parser) 
		String manifestUri
		com.google.android.exoplayer.upstream.UriDataSource uriDataSource
		com.google.android.exoplayer.upstream.UriLoadable$Parser parser
	public void  (java.lang.String, com.google.android.exoplayer.upstream.UriDataSource, com.google.android.exoplayer.upstream.UriLoadable$Parser, android.os.Handler, com.google.android.exoplayer.util.ManifestFetcher$EventListener) 
		String manifestUri
		com.google.android.exoplayer.upstream.UriDataSource uriDataSource
		com.google.android.exoplayer.upstream.UriLoadable$Parser parser
		android.os.Handler eventHandler
		com.google.android.exoplayer.util.ManifestFetcher$EventListener eventListener
	public void updateManifestUri (java.lang.String) 
		String manifestUri
	public void singleLoad (android.os.Looper, com.google.android.exoplayer.util.ManifestFetcher$ManifestCallback) 
		android.os.Looper callbackLooper
		com.google.android.exoplayer.util.ManifestFetcher$ManifestCallback callback
		com.google.android.exoplayer.util.ManifestFetcher$SingleFetchHelper fetchHelper
	public java.lang.Object getManifest () 
	public long getManifestLoadStartTimestamp () 
	public long getManifestLoadCompleteTimestamp () 
	public void maybeThrowError ()  throws com.google.android.exoplayer.util.ManifestFetcher$ManifestIOException 
	public void enable () 
	public void disable () 
	public void requestRefresh () 
	public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable) 
		com.google.android.exoplayer.util.ManifestFetcher$RedirectingManifest redirectingManifest
		String nextLocation
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
	public void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
	public void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
		java.io.IOException exception
	void onSingleFetchCompleted (java.lang.Object, long) 
		Object result
		long loadStartTimestamp
	private long getRetryDelayMillis (long) 
		long errorCount
	private void notifyManifestRefreshStarted () 
	private void notifyManifestRefreshed () 
	private void notifyManifestError (java.io.IOException) 
		java.io.IOException e
	static com.google.android.exoplayer.util.ManifestFetcher$EventListener access$000 (com.google.android.exoplayer.util.ManifestFetcher) 
		com.google.android.exoplayer.util.ManifestFetcher x0
}

com/google/android/exoplayer/util/SlidingPercentile$Sample.class
SlidingPercentile.java
package com.google.android.exoplayer.util
 com.google.android.exoplayer.util.SlidingPercentile$Sample extends java.lang.Object {
	public int index
	public int weight
	public float value
	private void  () 
	void  (com.google.android.exoplayer.util.SlidingPercentile$1) 
		com.google.android.exoplayer.util.SlidingPercentile$1 x0
}

com/google/android/exoplayer/util/SlidingPercentile.class
SlidingPercentile.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.SlidingPercentile extends java.lang.Object {
	private static final java.util.Comparator INDEX_COMPARATOR
	private static final java.util.Comparator VALUE_COMPARATOR
	private static final int SORT_ORDER_NONE
	private static final int SORT_ORDER_BY_VALUE
	private static final int SORT_ORDER_BY_INDEX
	private static final int MAX_RECYCLED_SAMPLES
	private final int maxWeight
	private final java.util.ArrayList samples
	private final com.google.android.exoplayer.util.SlidingPercentile$Sample[] recycledSamples
	private int currentSortOrder
	private int nextSampleIndex
	private int totalWeight
	private int recycledSampleCount
	public void  (int) 
		int maxWeight
	public void addSample (int, float) 
		int excessWeight
		com.google.android.exoplayer.util.SlidingPercentile$Sample oldestSample
		int weight
		float value
		com.google.android.exoplayer.util.SlidingPercentile$Sample newSample
	public float getPercentile (float) 
		com.google.android.exoplayer.util.SlidingPercentile$Sample currentSample
		int i
		float percentile
		float desiredWeight
		int accumulatedWeight
	private void ensureSortedByIndex () 
	private void ensureSortedByValue () 
	static void  () 
}

com/google/android/exoplayer/util/ManifestFetcher$ManifestIOException.class
ManifestFetcher.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.ManifestFetcher$ManifestIOException extends java.io.IOException {
	public void  (java.lang.Throwable) 
		Throwable cause
}

com/google/android/exoplayer/util/ManifestFetcher$RedirectingManifest.class
ManifestFetcher.java
package com.google.android.exoplayer.util
public abstract com.google.android.exoplayer.util.ManifestFetcher$RedirectingManifest extends java.lang.Object {
	public abstract java.lang.String getNextManifestUri () 
}

com/google/android/exoplayer/util/CodecSpecificDataUtil.class
CodecSpecificDataUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.CodecSpecificDataUtil extends java.lang.Object {
	private static final byte[] NAL_START_CODE
	private static final int AUDIO_SPECIFIC_CONFIG_FREQUENCY_INDEX_ARBITRARY
	private static final int[] AUDIO_SPECIFIC_CONFIG_SAMPLING_RATE_TABLE
	private static final int AUDIO_SPECIFIC_CONFIG_CHANNEL_CONFIGURATION_INVALID
	private static final int[] AUDIO_SPECIFIC_CONFIG_CHANNEL_COUNT_TABLE
	private static final int AUDIO_OBJECT_TYPE_AAC_LC
	private static final int AUDIO_OBJECT_TYPE_SBR
	private static final int AUDIO_OBJECT_TYPE_ER_BSAC
	private static final int AUDIO_OBJECT_TYPE_PS
	private void  () 
	public static android.util.Pair parseAacAudioSpecificConfig (byte[]) 
		int sampleRate
		byte[] audioSpecificConfig
		com.google.android.exoplayer.util.ParsableBitArray bitArray
		int audioObjectType
		int frequencyIndex
		int sampleRate
		int channelConfiguration
		int channelCount
	public static byte[] buildAacAudioSpecificConfig (int, int, int) 
		int audioObjectType
		int sampleRateIndex
		int channelConfig
		byte[] audioSpecificConfig
	public static byte[] buildAacAudioSpecificConfig (int, int) 
		int i
		int i
		int sampleRate
		int numChannels
		int sampleRateIndex
		int channelConfig
		byte[] csd
	public static byte[] buildNalUnit (byte[], int, int) 
		byte[] data
		int offset
		int length
		byte[] nalUnit
	public static byte[][] splitNalUnits (byte[]) 
		int startIndex
		int endIndex
		byte[] nal
		int i
		byte[] data
		java.util.List starts
		int nalUnitIndex
		byte[][] split
	private static int findNalStartCode (byte[], int) 
		int i
		byte[] data
		int index
		int endIndex
	private static boolean isNalStartCode (byte[], int) 
		int j
		byte[] data
		int index
	static void  () 
}

com/google/android/exoplayer/util/ManifestFetcher$ManifestCallback.class
ManifestFetcher.java
package com.google.android.exoplayer.util
public abstract com.google.android.exoplayer.util.ManifestFetcher$ManifestCallback extends java.lang.Object {
	public abstract void onSingleManifest (java.lang.Object) 
	public abstract void onSingleManifestError (java.io.IOException) 
}

com/google/android/exoplayer/util/Util$1.class
Util.java
package com.google.android.exoplayer.util
final com.google.android.exoplayer.util.Util$1 extends java.lang.Object implements java.util.concurrent.ThreadFactory  {
	final String val$threadName
	void  (java.lang.String) 
	public java.lang.Thread newThread (java.lang.Runnable) 
		Runnable r
}

com/google/android/exoplayer/util/extensions/
com/google/android/exoplayer/util/extensions/Decoder.class
Decoder.java
package com.google.android.exoplayer.util.extensions
public abstract com.google.android.exoplayer.util.extensions.Decoder extends java.lang.Object {
	public abstract java.lang.Object dequeueInputBuffer ()  throws java.lang.Exception 
	public abstract void queueInputBuffer (java.lang.Object)  throws java.lang.Exception 
	public abstract java.lang.Object dequeueOutputBuffer ()  throws java.lang.Exception 
	public abstract void flush () 
	public abstract void release () 
}

com/google/android/exoplayer/util/extensions/OutputBuffer.class
OutputBuffer.java
package com.google.android.exoplayer.util.extensions
public abstract com.google.android.exoplayer.util.extensions.OutputBuffer extends com.google.android.exoplayer.util.extensions.Buffer {
	public long timestampUs
	public void  () 
	public abstract void release () 
}

com/google/android/exoplayer/util/extensions/InputBuffer.class
InputBuffer.java
package com.google.android.exoplayer.util.extensions
public com.google.android.exoplayer.util.extensions.InputBuffer extends com.google.android.exoplayer.util.extensions.Buffer {
	public final com.google.android.exoplayer.SampleHolder sampleHolder
	public void  () 
	public void reset () 
}

com/google/android/exoplayer/util/extensions/SimpleDecoder$EventListener.class
SimpleDecoder.java
package com.google.android.exoplayer.util.extensions
public abstract com.google.android.exoplayer.util.extensions.SimpleDecoder$EventListener extends java.lang.Object {
	public abstract void onDecoderError (java.lang.Object) 
}

com/google/android/exoplayer/util/extensions/SimpleDecoder.class
SimpleDecoder.java
package com.google.android.exoplayer.util.extensions
public abstract com.google.android.exoplayer.util.extensions.SimpleDecoder extends java.lang.Thread implements com.google.android.exoplayer.util.extensions.Decoder  {
	private final Object lock
	private final java.util.LinkedList queuedInputBuffers
	private final java.util.LinkedList queuedOutputBuffers
	private final com.google.android.exoplayer.util.extensions.InputBuffer[] availableInputBuffers
	private final com.google.android.exoplayer.util.extensions.OutputBuffer[] availableOutputBuffers
	private int availableInputBufferCount
	private int availableOutputBufferCount
	private com.google.android.exoplayer.util.extensions.InputBuffer dequeuedInputBuffer
	private Exception exception
	private boolean flushDecodedOutputBuffer
	private boolean released
	protected void  (com.google.android.exoplayer.util.extensions.InputBuffer[], com.google.android.exoplayer.util.extensions.OutputBuffer[]) 
		int i
		int i
		com.google.android.exoplayer.util.extensions.InputBuffer[] inputBuffers
		com.google.android.exoplayer.util.extensions.OutputBuffer[] outputBuffers
	protected final void setInitialInputBufferSize (int) 
		int i
		int size
	public final com.google.android.exoplayer.util.extensions.InputBuffer dequeueInputBuffer ()  throws java.lang.Exception 
		com.google.android.exoplayer.util.extensions.InputBuffer inputBuffer
	public final void queueInputBuffer (com.google.android.exoplayer.util.extensions.InputBuffer)  throws java.lang.Exception 
		com.google.android.exoplayer.util.extensions.InputBuffer inputBuffer
	public final com.google.android.exoplayer.util.extensions.OutputBuffer dequeueOutputBuffer ()  throws java.lang.Exception 
	protected void releaseOutputBuffer (com.google.android.exoplayer.util.extensions.OutputBuffer) 
		com.google.android.exoplayer.util.extensions.OutputBuffer outputBuffer
	public final void flush () 
	public void release () 
		InterruptedException e
	private void maybeThrowException ()  throws java.lang.Exception 
	private void maybeNotifyDecodeLoop () 
	public final void run () 
		InterruptedException e
	private boolean decode ()  throws java.lang.InterruptedException 
		com.google.android.exoplayer.util.extensions.InputBuffer inputBuffer
		com.google.android.exoplayer.util.extensions.OutputBuffer outputBuffer
	private boolean canDecodeBuffer () 
	protected abstract com.google.android.exoplayer.util.extensions.InputBuffer createInputBuffer () 
	protected abstract com.google.android.exoplayer.util.extensions.OutputBuffer createOutputBuffer () 
	protected abstract java.lang.Exception decode (com.google.android.exoplayer.util.extensions.InputBuffer, com.google.android.exoplayer.util.extensions.OutputBuffer) 
	public volatile java.lang.Object dequeueOutputBuffer ()  throws java.lang.Exception 
	public volatile void queueInputBuffer (java.lang.Object)  throws java.lang.Exception 
	public volatile java.lang.Object dequeueInputBuffer ()  throws java.lang.Exception 
}

com/google/android/exoplayer/util/extensions/Buffer.class
Buffer.java
package com.google.android.exoplayer.util.extensions
public abstract com.google.android.exoplayer.util.extensions.Buffer extends java.lang.Object {
	public static final int FLAG_END_OF_STREAM
	public static final int FLAG_RESET
	public static final int FLAG_DECODE_ONLY
	private int flags
	public void  () 
	public void reset () 
	public final void setFlag (int) 
		int flag
	public final boolean getFlag (int) 
		int flag
}

com/google/android/exoplayer/util/MimeTypes.class
MimeTypes.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.MimeTypes extends java.lang.Object {
	public static final String BASE_TYPE_VIDEO
	public static final String BASE_TYPE_AUDIO
	public static final String BASE_TYPE_TEXT
	public static final String BASE_TYPE_APPLICATION
	public static final String VIDEO_UNKNOWN
	public static final String VIDEO_MP4
	public static final String VIDEO_WEBM
	public static final String VIDEO_H263
	public static final String VIDEO_H264
	public static final String VIDEO_H265
	public static final String VIDEO_VP8
	public static final String VIDEO_VP9
	public static final String VIDEO_MP4V
	public static final String VIDEO_MPEG2
	public static final String AUDIO_UNKNOWN
	public static final String AUDIO_MP4
	public static final String AUDIO_AAC
	public static final String AUDIO_WEBM
	public static final String AUDIO_MPEG
	public static final String AUDIO_MPEG_L1
	public static final String AUDIO_MPEG_L2
	public static final String AUDIO_RAW
	public static final String AUDIO_AC3
	public static final String AUDIO_E_AC3
	public static final String AUDIO_TRUEHD
	public static final String AUDIO_DTS
	public static final String AUDIO_DTS_HD
	public static final String AUDIO_DTS_EXPRESS
	public static final String AUDIO_VORBIS
	public static final String AUDIO_OPUS
	public static final String AUDIO_AMR_NB
	public static final String AUDIO_AMR_WB
	public static final String AUDIO_FLAC
	public static final String TEXT_UNKNOWN
	public static final String TEXT_VTT
	public static final String APPLICATION_MP4
	public static final String APPLICATION_WEBM
	public static final String APPLICATION_ID3
	public static final String APPLICATION_EIA608
	public static final String APPLICATION_SUBRIP
	public static final String APPLICATION_TTML
	public static final String APPLICATION_M3U8
	public static final String APPLICATION_TX3G
	public static final String APPLICATION_MP4VTT
	public static final String APPLICATION_VOBSUB
	public static final String APPLICATION_PGS
	private void  () 
	public static boolean isAudio (java.lang.String) 
		String mimeType
	public static boolean isVideo (java.lang.String) 
		String mimeType
	public static boolean isText (java.lang.String) 
		String mimeType
	public static boolean isApplication (java.lang.String) 
		String mimeType
	private static java.lang.String getTopLevelType (java.lang.String) 
		String mimeType
		int indexOfSlash
	public static java.lang.String getVideoMediaMimeType (java.lang.String) 
		String codec
		String codecs
		String[] codecList
	public static java.lang.String getAudioMediaMimeType (java.lang.String) 
		String codec
		String codecs
		String[] codecList
}

com/google/android/exoplayer/util/ManifestFetcher$SingleFetchHelper.class
ManifestFetcher.java
package com.google.android.exoplayer.util
 com.google.android.exoplayer.util.ManifestFetcher$SingleFetchHelper extends java.lang.Object implements com.google.android.exoplayer.upstream.Loader$Callback  {
	private final com.google.android.exoplayer.upstream.UriLoadable singleUseLoadable
	private final android.os.Looper callbackLooper
	private final com.google.android.exoplayer.util.ManifestFetcher$ManifestCallback wrappedCallback
	private final com.google.android.exoplayer.upstream.Loader singleUseLoader
	private long loadStartTimestamp
	final com.google.android.exoplayer.util.ManifestFetcher this$0
	public void  (com.google.android.exoplayer.util.ManifestFetcher, com.google.android.exoplayer.upstream.UriLoadable, android.os.Looper, com.google.android.exoplayer.util.ManifestFetcher$ManifestCallback) 
		com.google.android.exoplayer.upstream.UriLoadable singleUseLoadable
		android.os.Looper callbackLooper
		com.google.android.exoplayer.util.ManifestFetcher$ManifestCallback wrappedCallback
	public void startLoading () 
	public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable) 
		Object result
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
	public void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable) 
		java.io.IOException exception
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
	public void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
		java.io.IOException exception
	private void releaseLoader () 
}

com/google/android/exoplayer/util/TraceUtil.class
TraceUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.TraceUtil extends java.lang.Object {
	private void  () 
	public static void beginSection (java.lang.String) 
		String sectionName
	public static void endSection () 
	private static void beginSectionV18 (java.lang.String) 
		String sectionName
	private static void endSectionV18 () 
}

com/google/android/exoplayer/util/Clock.class
Clock.java
package com.google.android.exoplayer.util
public abstract com.google.android.exoplayer.util.Clock extends java.lang.Object {
	public abstract long elapsedRealtime () 
}

com/google/android/exoplayer/util/SlidingPercentile$1.class
SlidingPercentile.java
package com.google.android.exoplayer.util
final com.google.android.exoplayer.util.SlidingPercentile$1 extends java.lang.Object implements java.util.Comparator  {
	void  () 
	public int compare (com.google.android.exoplayer.util.SlidingPercentile$Sample, com.google.android.exoplayer.util.SlidingPercentile$Sample) 
		com.google.android.exoplayer.util.SlidingPercentile$Sample a
		com.google.android.exoplayer.util.SlidingPercentile$Sample b
	public volatile int compare (java.lang.Object, java.lang.Object) 
}

com/google/android/exoplayer/util/NalUnitUtil$PpsData.class
NalUnitUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.NalUnitUtil$PpsData extends java.lang.Object {
	public final int picParameterSetId
	public final int seqParameterSetId
	public final boolean bottomFieldPicOrderInFramePresentFlag
	public void  (int, int, boolean) 
		int picParameterSetId
		int seqParameterSetId
		boolean bottomFieldPicOrderInFramePresentFlag
}

com/google/android/exoplayer/util/DebugTextViewHelper.class
DebugTextViewHelper.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.DebugTextViewHelper extends java.lang.Object implements java.lang.Runnable  {
	private static final int REFRESH_INTERVAL_MS
	private final android.widget.TextView textView
	private final com.google.android.exoplayer.util.DebugTextViewHelper$Provider debuggable
	public void  (com.google.android.exoplayer.util.DebugTextViewHelper$Provider, android.widget.TextView) 
		com.google.android.exoplayer.util.DebugTextViewHelper$Provider debuggable
		android.widget.TextView textView
	public void start () 
	public void stop () 
	public void run () 
	private java.lang.String getRenderString () 
	private java.lang.String getTimeString () 
	private java.lang.String getQualityString () 
		com.google.android.exoplayer.chunk.Format format
	private java.lang.String getBandwidthString () 
		com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
	private java.lang.String getVideoCodecCountersString () 
		com.google.android.exoplayer.CodecCounters codecCounters
}

com/google/android/exoplayer/util/DebugTextViewHelper$Provider.class
DebugTextViewHelper.java
package com.google.android.exoplayer.util
public abstract com.google.android.exoplayer.util.DebugTextViewHelper$Provider extends java.lang.Object {
	public abstract long getCurrentPosition () 
	public abstract com.google.android.exoplayer.chunk.Format getFormat () 
	public abstract com.google.android.exoplayer.upstream.BandwidthMeter getBandwidthMeter () 
	public abstract com.google.android.exoplayer.CodecCounters getCodecCounters () 
}

com/google/android/exoplayer/util/ClosedSource.class
ClosedSource.java
package com.google.android.exoplayer.util
public abstract com.google.android.exoplayer.util.ClosedSource extends java.lang.Object implements java.lang.annotation.Annotation  {
	public abstract java.lang.String reason () 
}

com/google/android/exoplayer/util/Predicate.class
Predicate.java
package com.google.android.exoplayer.util
public abstract com.google.android.exoplayer.util.Predicate extends java.lang.Object {
	public abstract boolean evaluate (java.lang.Object) 
}

com/google/android/exoplayer/util/MpegAudioHeader.class
MpegAudioHeader.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.MpegAudioHeader extends java.lang.Object {
	public static final int MAX_FRAME_SIZE_BYTES
	private static final String[] MIME_TYPE_BY_LAYER
	private static final int[] SAMPLING_RATE_V1
	private static final int[] BITRATE_V1_L1
	private static final int[] BITRATE_V2_L1
	private static final int[] BITRATE_V1_L2
	private static final int[] BITRATE_V1_L3
	private static final int[] BITRATE_V2
	public int version
	public String mimeType
	public int frameSize
	public int sampleRate
	public int channels
	public int bitrate
	public int samplesPerFrame
	public void  () 
	public static int getFrameSize (int) 
		int bitrate
		int bitrate
		int header
		int version
		int layer
		int bitrateIndex
		int samplingRateIndex
		int samplingRate
		int bitrate
		int padding
	public static boolean populateHeader (int, com.google.android.exoplayer.util.MpegAudioHeader) 
		int bitrate
		int frameSize
		int samplesPerFrame
		int bitrate
		int frameSize
		int samplesPerFrame
		int headerData
		com.google.android.exoplayer.util.MpegAudioHeader header
		int version
		int layer
		int bitrateIndex
		int samplingRateIndex
		int sampleRate
		int padding
		int bitrate
		int frameSize
		int samplesPerFrame
		String mimeType
		int channels
	private void setValues (int, java.lang.String, int, int, int, int, int) 
		int version
		String mimeType
		int frameSize
		int sampleRate
		int channels
		int bitrate
		int samplesPerFrame
	static void  () 
}

com/google/android/exoplayer/audio/
com/google/android/exoplayer/audio/AudioTrack$WriteException.class
AudioTrack.java
package com.google.android.exoplayer.audio
public final com.google.android.exoplayer.audio.AudioTrack$WriteException extends java.lang.Exception {
	public final int errorCode
	public void  (int) 
		int errorCode
}

com/google/android/exoplayer/audio/AudioTrack$1.class
AudioTrack.java
package com.google.android.exoplayer.audio
 com.google.android.exoplayer.audio.AudioTrack$1 extends java.lang.Thread {
	final android.media.AudioTrack val$toRelease
	final com.google.android.exoplayer.audio.AudioTrack this$0
	void  (com.google.android.exoplayer.audio.AudioTrack, android.media.AudioTrack) 
		com.google.android.exoplayer.audio.AudioTrack this$0
	public void run () 
}

com/google/android/exoplayer/audio/AudioTrack$InvalidAudioTrackTimestampException.class
AudioTrack.java
package com.google.android.exoplayer.audio
public final com.google.android.exoplayer.audio.AudioTrack$InvalidAudioTrackTimestampException extends java.lang.RuntimeException {
	public void  (java.lang.String) 
		String message
}

com/google/android/exoplayer/audio/AudioCapabilitiesReceiver$Listener.class
AudioCapabilitiesReceiver.java
package com.google.android.exoplayer.audio
public abstract com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$Listener extends java.lang.Object {
	public abstract void onAudioCapabilitiesChanged (com.google.android.exoplayer.audio.AudioCapabilities) 
}

com/google/android/exoplayer/audio/AudioCapabilitiesReceiver$1.class
AudioCapabilitiesReceiver.java
package com.google.android.exoplayer.audio
 com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$1 extends java.lang.Object {
}

com/google/android/exoplayer/audio/AudioTrack$AudioTrackUtilV23.class
AudioTrack.java
package com.google.android.exoplayer.audio
 com.google.android.exoplayer.audio.AudioTrack$AudioTrackUtilV23 extends com.google.android.exoplayer.audio.AudioTrack$AudioTrackUtilV19 {
	private android.media.PlaybackParams playbackParams
	private float playbackSpeed
	public void  () 
	public void reconfigure (android.media.AudioTrack, boolean) 
		android.media.AudioTrack audioTrack
		boolean needsPassthroughWorkaround
	public void setPlaybackParameters (android.media.PlaybackParams) 
		android.media.PlaybackParams playbackParams
	public float getPlaybackSpeed () 
	private void maybeApplyPlaybackParams () 
}

com/google/android/exoplayer/audio/AudioTrack.class
AudioTrack.java
package com.google.android.exoplayer.audio
public final com.google.android.exoplayer.audio.AudioTrack extends java.lang.Object {
	public static final int RESULT_POSITION_DISCONTINUITY
	public static final int RESULT_BUFFER_CONSUMED
	public static final int SESSION_ID_NOT_SET
	public static final long CURRENT_POSITION_NOT_SET
	private static final long MIN_BUFFER_DURATION_US
	private static final long MAX_BUFFER_DURATION_US
	private static final long PASSTHROUGH_BUFFER_DURATION_US
	private static final int BUFFER_MULTIPLICATION_FACTOR
	private static final String TAG
	private static final long MAX_AUDIO_TIMESTAMP_OFFSET_US
	private static final long MAX_LATENCY_US
	private static final int START_NOT_SET
	private static final int START_IN_SYNC
	private static final int START_NEED_SYNC
	private static final int MAX_PLAYHEAD_OFFSET_COUNT
	private static final int MIN_PLAYHEAD_OFFSET_SAMPLE_INTERVAL_US
	private static final int MIN_TIMESTAMP_SAMPLE_INTERVAL_US
	public static boolean enablePreV21AudioSessionWorkaround
	public static boolean failOnSpuriousAudioTimestamp
	private final com.google.android.exoplayer.audio.AudioCapabilities audioCapabilities
	private final int streamType
	private final android.os.ConditionVariable releasingConditionVariable
	private final long[] playheadOffsets
	private final com.google.android.exoplayer.audio.AudioTrack$AudioTrackUtil audioTrackUtil
	private android.media.AudioTrack keepSessionIdAudioTrack
	private android.media.AudioTrack audioTrack
	private int sampleRate
	private int channelConfig
	private int encoding
	private boolean passthrough
	private int pcmFrameSize
	private int bufferSize
	private long bufferSizeUs
	private int nextPlayheadOffsetIndex
	private int playheadOffsetCount
	private long smoothedPlayheadOffsetUs
	private long lastPlayheadSampleTimeUs
	private boolean audioTimestampSet
	private long lastTimestampSampleTimeUs
	private java.lang.reflect.Method getLatencyMethod
	private long submittedPcmBytes
	private long submittedEncodedFrames
	private int framesPerEncodedSample
	private int startMediaTimeState
	private long startMediaTimeUs
	private long resumeSystemTimeUs
	private long latencyUs
	private float volume
	private byte[] temporaryBuffer
	private int temporaryBufferOffset
	private int bufferBytesRemaining
	public void  () 
	public void  (com.google.android.exoplayer.audio.AudioCapabilities, int) 
		com.google.android.exoplayer.audio.AudioCapabilities audioCapabilities
		int streamType
	public boolean isPassthroughSupported (java.lang.String) 
		String mimeType
	public boolean isInitialized () 
	public long getCurrentPositionUs (boolean) 
		long presentationDiff
		long actualSpeedPresentationDiff
		long framesDiff
		long currentFramePosition
		long currentPositionUs
		long currentPositionUs
		boolean sourceEnded
		long systemClockUs
		long currentPositionUs
	public void configure (android.media.MediaFormat, boolean) 
		android.media.MediaFormat format
		boolean passthrough
	public void configure (android.media.MediaFormat, boolean, int) 
		int minBufferSize
		int multipliedBufferSize
		int minAppBufferSize
		int maxAppBufferSize
		android.media.MediaFormat format
		boolean passthrough
		int specifiedBufferSize
		int channelCount
		int channelConfig
		int channelConfig
		int channelConfig
		int channelConfig
		int channelConfig
		int channelConfig
		int channelConfig
		int channelConfig
		int channelConfig
		int sampleRate
		String mimeType
		int encoding
	public int initialize ()  throws com.google.android.exoplayer.audio.AudioTrack$InitializationException 
	public int initialize (int)  throws com.google.android.exoplayer.audio.AudioTrack$InitializationException 
		int sampleRate
		int channelConfig
		int encoding
		int bufferSize
		int sessionId
	public int getBufferSize () 
	public long getBufferSizeUs () 
	public void play () 
	public void handleDiscontinuity () 
	public int handleBuffer (java.nio.ByteBuffer, int, int, long)  throws com.google.android.exoplayer.audio.AudioTrack$WriteException 
		long expectedBufferStartTime
		long frames
		long bufferDurationUs
		long bufferStartTime
		int bytesPending
		int bytesToWrite
		java.nio.ByteBuffer buffer
		int offset
		int size
		long presentationTimeUs
		int result
		int bytesWritten
	public void handleEndOfStream () 
	private static int writeNonBlockingV21 (android.media.AudioTrack, java.nio.ByteBuffer, int) 
		android.media.AudioTrack audioTrack
		java.nio.ByteBuffer buffer
		int size
	public boolean hasPendingData () 
	public void setPlaybackParams (android.media.PlaybackParams) 
		android.media.PlaybackParams playbackParams
	public void setVolume (float) 
		float volume
	private void setAudioTrackVolume () 
	private static void setAudioTrackVolumeV21 (android.media.AudioTrack, float) 
		android.media.AudioTrack audioTrack
		float volume
	private static void setAudioTrackVolumeV3 (android.media.AudioTrack, float) 
		android.media.AudioTrack audioTrack
		float volume
	public void pause () 
	public void reset () 
		int playState
		android.media.AudioTrack toRelease
	public void release () 
	private void releaseKeepSessionIdAudioTrack () 
		android.media.AudioTrack toRelease
	private boolean hasCurrentPositionUs () 
	private void maybeSampleSyncParams () 
		int i
		String message
		String message
		long audioTimestampUs
		long audioTimestampFramePosition
		Exception e
		long playbackPositionUs
		long systemClockUs
	private void checkAudioTrackInitialized ()  throws com.google.android.exoplayer.audio.AudioTrack$InitializationException 
		int state
	private long pcmBytesToFrames (long) 
		long byteCount
	private long framesToDurationUs (long) 
		long frameCount
	private long durationUsToFrames (long) 
		long durationUs
	private long getSubmittedFrames () 
	private void resetSyncParams () 
	private boolean needsPassthroughWorkarounds () 
	private boolean overrideHasPendingData () 
	private static int getEncodingForMimeType (java.lang.String) 
		String mimeType
	private static int getFramesPerEncodedSample (int, java.nio.ByteBuffer) 
		int encoding
		java.nio.ByteBuffer buffer
	static android.os.ConditionVariable access$100 (com.google.android.exoplayer.audio.AudioTrack) 
		com.google.android.exoplayer.audio.AudioTrack x0
	static void  () 
}

com/google/android/exoplayer/audio/AudioTrack$2.class
AudioTrack.java
package com.google.android.exoplayer.audio
 com.google.android.exoplayer.audio.AudioTrack$2 extends java.lang.Thread {
	final android.media.AudioTrack val$toRelease
	final com.google.android.exoplayer.audio.AudioTrack this$0
	void  (com.google.android.exoplayer.audio.AudioTrack, android.media.AudioTrack) 
		com.google.android.exoplayer.audio.AudioTrack this$0
	public void run () 
}

com/google/android/exoplayer/audio/AudioTrack$InitializationException.class
AudioTrack.java
package com.google.android.exoplayer.audio
public final com.google.android.exoplayer.audio.AudioTrack$InitializationException extends java.lang.Exception {
	public final int audioTrackState
	public void  (int, int, int, int) 
		int audioTrackState
		int sampleRate
		int channelConfig
		int bufferSize
}

com/google/android/exoplayer/audio/AudioTrack$AudioTrackUtil.class
AudioTrack.java
package com.google.android.exoplayer.audio
 com.google.android.exoplayer.audio.AudioTrack$AudioTrackUtil extends java.lang.Object {
	protected android.media.AudioTrack audioTrack
	private boolean needsPassthroughWorkaround
	private int sampleRate
	private long lastRawPlaybackHeadPosition
	private long rawPlaybackHeadWrapCount
	private long passthroughWorkaroundPauseOffset
	private long stopTimestampUs
	private long stopPlaybackHeadPosition
	private long endPlaybackHeadPosition
	private void  () 
	public void reconfigure (android.media.AudioTrack, boolean) 
		android.media.AudioTrack audioTrack
		boolean needsPassthroughWorkaround
	public void handleEndOfStream (long) 
		long submittedFrames
	public void pause () 
	public long getPlaybackHeadPosition () 
		long elapsedTimeSinceStopUs
		long framesSinceStop
		int state
		long rawPlaybackHeadPosition
	public long getPlaybackHeadPositionUs () 
	public boolean updateTimestamp () 
	public long getTimestampNanoTime () 
	public long getTimestampFramePosition () 
	public void setPlaybackParameters (android.media.PlaybackParams) 
		android.media.PlaybackParams playbackParams
	public float getPlaybackSpeed () 
	void  (com.google.android.exoplayer.audio.AudioTrack$1) 
		com.google.android.exoplayer.audio.AudioTrack$1 x0
}

com/google/android/exoplayer/audio/AudioCapabilities.class
AudioCapabilities.java
package com.google.android.exoplayer.audio
public final com.google.android.exoplayer.audio.AudioCapabilities extends java.lang.Object {
	public static final com.google.android.exoplayer.audio.AudioCapabilities DEFAULT_AUDIO_CAPABILITIES
	private final int[] supportedEncodings
	private final int maxChannelCount
	public static com.google.android.exoplayer.audio.AudioCapabilities getCapabilities (android.content.Context) 
		android.content.Context context
	static com.google.android.exoplayer.audio.AudioCapabilities getCapabilities (android.content.Intent) 
		android.content.Intent intent
	void  (int[], int) 
		int[] supportedEncodings
		int maxChannelCount
	public boolean supportsEncoding (int) 
		int encoding
	public int getMaxChannelCount () 
	public boolean equals (java.lang.Object) 
		Object other
		com.google.android.exoplayer.audio.AudioCapabilities audioCapabilities
	public int hashCode () 
	public java.lang.String toString () 
	static void  () 
}

com/google/android/exoplayer/audio/AudioTrack$AudioTrackUtilV19.class
AudioTrack.java
package com.google.android.exoplayer.audio
 com.google.android.exoplayer.audio.AudioTrack$AudioTrackUtilV19 extends com.google.android.exoplayer.audio.AudioTrack$AudioTrackUtil {
	private final android.media.AudioTimestamp audioTimestamp
	private long rawTimestampFramePositionWrapCount
	private long lastRawTimestampFramePosition
	private long lastTimestampFramePosition
	public void  () 
	public void reconfigure (android.media.AudioTrack, boolean) 
		android.media.AudioTrack audioTrack
		boolean needsPassthroughWorkaround
	public boolean updateTimestamp () 
		long rawFramePosition
		boolean updated
	public long getTimestampNanoTime () 
	public long getTimestampFramePosition () 
}

com/google/android/exoplayer/audio/AudioCapabilitiesReceiver.class
AudioCapabilitiesReceiver.java
package com.google.android.exoplayer.audio
public final com.google.android.exoplayer.audio.AudioCapabilitiesReceiver extends java.lang.Object {
	private final android.content.Context context
	private final com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$Listener listener
	private final android.content.BroadcastReceiver receiver
	com.google.android.exoplayer.audio.AudioCapabilities audioCapabilities
	public void  (android.content.Context, com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$Listener) 
		android.content.Context context
		com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$Listener listener
	public com.google.android.exoplayer.audio.AudioCapabilities register () 
		android.content.Intent stickyIntent
	public void unregister () 
	static com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$Listener access$100 (com.google.android.exoplayer.audio.AudioCapabilitiesReceiver) 
		com.google.android.exoplayer.audio.AudioCapabilitiesReceiver x0
}

com/google/android/exoplayer/audio/AudioCapabilitiesReceiver$HdmiAudioPlugBroadcastReceiver.class
AudioCapabilitiesReceiver.java
package com.google.android.exoplayer.audio
final com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$HdmiAudioPlugBroadcastReceiver extends android.content.BroadcastReceiver {
	final com.google.android.exoplayer.audio.AudioCapabilitiesReceiver this$0
	private void  (com.google.android.exoplayer.audio.AudioCapabilitiesReceiver) 
	public void onReceive (android.content.Context, android.content.Intent) 
		com.google.android.exoplayer.audio.AudioCapabilities newAudioCapabilities
		android.content.Context context
		android.content.Intent intent
	void  (com.google.android.exoplayer.audio.AudioCapabilitiesReceiver, com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$1) 
		com.google.android.exoplayer.audio.AudioCapabilitiesReceiver x0
		com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$1 x1
}

com/google/android/exoplayer/ParserException.class
ParserException.java
package com.google.android.exoplayer
public com.google.android.exoplayer.ParserException extends java.io.IOException {
	public void  () 
	public void  (java.lang.String) 
		String message
	public void  (java.lang.Throwable) 
		Throwable cause
	public void  (java.lang.String, java.lang.Throwable) 
		String message
		Throwable cause
}

com/google/android/exoplayer/CodecCounters.class
CodecCounters.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.CodecCounters extends java.lang.Object {
	public int codecInitCount
	public int codecReleaseCount
	public int inputBufferCount
	public int outputFormatChangedCount
	public int outputBuffersChangedCount
	public int renderedOutputBufferCount
	public int skippedOutputBufferCount
	public int droppedOutputBufferCount
	public int maxConsecutiveDroppedOutputBufferCount
	public void  () 
	public synchronized void ensureUpdated () 
	public java.lang.String getDebugString () 
		StringBuilder builder
}

com/google/android/exoplayer/MediaCodecTrackRenderer$EventListener.class
MediaCodecTrackRenderer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener extends java.lang.Object {
	public abstract void onDecoderInitializationError (com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException) 
	public abstract void onCryptoError (android.media.MediaCodec$CryptoException) 
	public abstract void onDecoderInitialized (java.lang.String, long, long) 
}

com/google/android/exoplayer/metadata/
com/google/android/exoplayer/metadata/MetadataTrackRenderer$MetadataRenderer.class
MetadataTrackRenderer.java
package com.google.android.exoplayer.metadata
public abstract com.google.android.exoplayer.metadata.MetadataTrackRenderer$MetadataRenderer extends java.lang.Object {
	public abstract void onMetadata (java.lang.Object) 
}

com/google/android/exoplayer/metadata/MetadataParser.class
MetadataParser.java
package com.google.android.exoplayer.metadata
public abstract com.google.android.exoplayer.metadata.MetadataParser extends java.lang.Object {
	public abstract boolean canParse (java.lang.String) 
	public abstract java.lang.Object parse (byte[], int)  throws java.io.IOException 
}

com/google/android/exoplayer/metadata/MetadataTrackRenderer.class
MetadataTrackRenderer.java
package com.google.android.exoplayer.metadata
public final com.google.android.exoplayer.metadata.MetadataTrackRenderer extends com.google.android.exoplayer.SampleSourceTrackRenderer implements android.os.Handler$Callback  {
	private static final int MSG_INVOKE_RENDERER
	private final com.google.android.exoplayer.metadata.MetadataParser metadataParser
	private final com.google.android.exoplayer.metadata.MetadataTrackRenderer$MetadataRenderer metadataRenderer
	private final android.os.Handler metadataHandler
	private final com.google.android.exoplayer.MediaFormatHolder formatHolder
	private final com.google.android.exoplayer.SampleHolder sampleHolder
	private boolean inputStreamEnded
	private long pendingMetadataTimestamp
	private Object pendingMetadata
	public void  (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.metadata.MetadataParser, com.google.android.exoplayer.metadata.MetadataTrackRenderer$MetadataRenderer, android.os.Looper) 
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.metadata.MetadataParser metadataParser
		com.google.android.exoplayer.metadata.MetadataTrackRenderer$MetadataRenderer metadataRenderer
		android.os.Looper metadataRendererLooper
	protected boolean handlesTrack (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat mediaFormat
	protected void onDiscontinuity (long) 
		long positionUs
	protected void doSomeWork (long, long, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		java.io.IOException e
		int result
		long positionUs
		long elapsedRealtimeUs
		boolean sourceIsReady
	protected void onDisabled ()  throws com.google.android.exoplayer.ExoPlaybackException 
	protected long getBufferedPositionUs () 
	protected boolean isEnded () 
	protected boolean isReady () 
	private void invokeRenderer (java.lang.Object) 
		Object metadata
	public boolean handleMessage (android.os.Message) 
		android.os.Message msg
	private void invokeRendererInternal (java.lang.Object) 
		Object metadata
}

com/google/android/exoplayer/metadata/id3/
com/google/android/exoplayer/metadata/id3/TxxxFrame.class
TxxxFrame.java
package com.google.android.exoplayer.metadata.id3
public final com.google.android.exoplayer.metadata.id3.TxxxFrame extends com.google.android.exoplayer.metadata.id3.Id3Frame {
	public static final String ID
	public final String description
	public final String value
	public void  (java.lang.String, java.lang.String) 
		String description
		String value
}

com/google/android/exoplayer/metadata/id3/Id3Frame.class
Id3Frame.java
package com.google.android.exoplayer.metadata.id3
public abstract com.google.android.exoplayer.metadata.id3.Id3Frame extends java.lang.Object {
	public final String id
	public void  (java.lang.String) 
		String id
}

com/google/android/exoplayer/metadata/id3/PrivFrame.class
PrivFrame.java
package com.google.android.exoplayer.metadata.id3
public final com.google.android.exoplayer.metadata.id3.PrivFrame extends com.google.android.exoplayer.metadata.id3.Id3Frame {
	public static final String ID
	public final String owner
	public final byte[] privateData
	public void  (java.lang.String, byte[]) 
		String owner
		byte[] privateData
}

com/google/android/exoplayer/metadata/id3/Id3Parser.class
Id3Parser.java
package com.google.android.exoplayer.metadata.id3
public final com.google.android.exoplayer.metadata.id3.Id3Parser extends java.lang.Object implements com.google.android.exoplayer.metadata.MetadataParser  {
	private static final int ID3_TEXT_ENCODING_ISO_8859_1
	private static final int ID3_TEXT_ENCODING_UTF_16
	private static final int ID3_TEXT_ENCODING_UTF_16BE
	private static final int ID3_TEXT_ENCODING_UTF_8
	public void  () 
	public boolean canParse (java.lang.String) 
		String mimeType
	public java.util.List parse (byte[], int)  throws java.io.UnsupportedEncodingException com.google.android.exoplayer.ParserException 
		int encoding
		String charset
		byte[] frame
		int firstZeroIndex
		String description
		int valueStartIndex
		int valueEndIndex
		String value
		byte[] frame
		int firstZeroIndex
		String owner
		byte[] privateData
		int encoding
		String charset
		byte[] frame
		int firstZeroIndex
		String mimeType
		int filenameStartIndex
		int filenameEndIndex
		String filename
		int descriptionStartIndex
		int descriptionEndIndex
		String description
		int objectDataSize
		byte[] objectData
		String type
		byte[] frame
		int frameId0
		int frameId1
		int frameId2
		int frameId3
		int frameSize
		byte[] data
		int size
		java.util.List id3Frames
		com.google.android.exoplayer.util.ParsableByteArray id3Data
		int id3Size
	private static int indexOf (byte[], int, byte) 
		int i
		byte[] data
		int fromIndex
		byte key
	private static int indexOfEOS (byte[], int, int) 
		byte[] data
		int fromIndex
		int encodingByte
		int terminationPos
	private static int delimiterLength (int) 
		int encodingByte
	private static int parseId3Header (com.google.android.exoplayer.util.ParsableByteArray)  throws com.google.android.exoplayer.ParserException 
		int extendedHeaderSize
		com.google.android.exoplayer.util.ParsableByteArray id3Buffer
		int id1
		int id2
		int id3
		int flags
		int id3Size
	private static java.lang.String getCharsetName (int) 
		int encodingByte
	public volatile java.lang.Object parse (byte[], int)  throws java.io.IOException 
}

com/google/android/exoplayer/metadata/id3/GeobFrame.class
GeobFrame.java
package com.google.android.exoplayer.metadata.id3
public final com.google.android.exoplayer.metadata.id3.GeobFrame extends com.google.android.exoplayer.metadata.id3.Id3Frame {
	public static final String ID
	public final String mimeType
	public final String filename
	public final String description
	public final byte[] data
	public void  (java.lang.String, java.lang.String, java.lang.String, byte[]) 
		String mimeType
		String filename
		String description
		byte[] data
}

com/google/android/exoplayer/metadata/id3/BinaryFrame.class
BinaryFrame.java
package com.google.android.exoplayer.metadata.id3
public final com.google.android.exoplayer.metadata.id3.BinaryFrame extends com.google.android.exoplayer.metadata.id3.Id3Frame {
	public final byte[] data
	public void  (java.lang.String, byte[]) 
		String type
		byte[] data
}

com/google/android/exoplayer/MediaCodecUtil.class
MediaCodecUtil.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.MediaCodecUtil extends java.lang.Object {
	private static final String TAG
	private static final java.util.HashMap codecs
	private void  () 
	public static com.google.android.exoplayer.DecoderInfo getDecoderInfo (java.lang.String, boolean)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		String mimeType
		boolean secure
		android.util.Pair info
	public static synchronized void warmCodec (java.lang.String, boolean) 
		com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException e
		String mimeType
		boolean secure
	public static synchronized android.util.Pair getMediaCodecInfo (java.lang.String, boolean)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		String mimeType
		boolean secure
		com.google.android.exoplayer.MediaCodecUtil$CodecKey key
		com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat mediaCodecList
		android.util.Pair codecInfo
	private static android.util.Pair getMediaCodecInfo (com.google.android.exoplayer.MediaCodecUtil$CodecKey, com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		Exception e
		com.google.android.exoplayer.MediaCodecUtil$CodecKey key
		com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat mediaCodecList
	private static android.util.Pair getMediaCodecInfoInternal (com.google.android.exoplayer.MediaCodecUtil$CodecKey, com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat) 
		android.media.MediaCodecInfo$CodecCapabilities capabilities
		boolean secure
		String supportedType
		int j
		String[] supportedTypes
		android.media.MediaCodecInfo info
		String codecName
		int i
		com.google.android.exoplayer.MediaCodecUtil$CodecKey key
		com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat mediaCodecList
		String mimeType
		int numberOfCodecs
		boolean secureDecodersExplicit
	private static boolean isCodecUsableDecoder (android.media.MediaCodecInfo, java.lang.String, boolean) 
		android.media.MediaCodecInfo info
		String name
		boolean secureDecodersExplicit
	private static boolean isAdaptive (android.media.MediaCodecInfo$CodecCapabilities) 
		android.media.MediaCodecInfo$CodecCapabilities capabilities
	private static boolean isAdaptiveV19 (android.media.MediaCodecInfo$CodecCapabilities) 
		android.media.MediaCodecInfo$CodecCapabilities capabilities
	public static boolean isSizeSupportedV21 (java.lang.String, boolean, int, int)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		String mimeType
		boolean secure
		int width
		int height
		android.media.MediaCodecInfo$VideoCapabilities videoCapabilities
	public static boolean isSizeAndRateSupportedV21 (java.lang.String, boolean, int, int, double)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		String mimeType
		boolean secure
		int width
		int height
		double frameRate
		android.media.MediaCodecInfo$VideoCapabilities videoCapabilities
	public static boolean isH264ProfileSupported (int, int)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		android.media.MediaCodecInfo$CodecProfileLevel profileLevel
		int i
		int profile
		int level
		android.util.Pair info
		android.media.MediaCodecInfo$CodecCapabilities capabilities
	public static int maxH264DecodableFrameSize ()  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		android.media.MediaCodecInfo$CodecProfileLevel profileLevel
		int i
		android.util.Pair info
		int maxH264DecodableFrameSize
		android.media.MediaCodecInfo$CodecCapabilities capabilities
	private static android.media.MediaCodecInfo$VideoCapabilities getVideoCapabilitiesV21 (java.lang.String, boolean)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		String mimeType
		boolean secure
		android.util.Pair info
	private static int avcLevelToMaxFrameSize (int) 
		int avcLevel
	static void  () 
}

com/google/android/exoplayer/MediaCodecAudioTrackRenderer$3.class
MediaCodecAudioTrackRenderer.java
package com.google.android.exoplayer
 com.google.android.exoplayer.MediaCodecAudioTrackRenderer$3 extends java.lang.Object implements java.lang.Runnable  {
	final int val$bufferSize
	final long val$bufferSizeMs
	final long val$elapsedSinceLastFeedMs
	final com.google.android.exoplayer.MediaCodecAudioTrackRenderer this$0
	void  (com.google.android.exoplayer.MediaCodecAudioTrackRenderer, int, long, long) 
		com.google.android.exoplayer.MediaCodecAudioTrackRenderer this$0
	public void run () 
}

com/google/android/exoplayer/MediaCodecUtil$MediaCodecListCompatV21.class
MediaCodecUtil.java
package com.google.android.exoplayer
final com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompatV21 extends java.lang.Object implements com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat  {
	private final int codecKind
	private android.media.MediaCodecInfo[] mediaCodecInfos
	public void  (boolean) 
		boolean includeSecure
	public int getCodecCount () 
	public android.media.MediaCodecInfo getCodecInfoAt (int) 
		int index
	public boolean secureDecodersExplicit () 
	public boolean isSecurePlaybackSupported (java.lang.String, android.media.MediaCodecInfo$CodecCapabilities) 
		String mimeType
		android.media.MediaCodecInfo$CodecCapabilities capabilities
	private void ensureMediaCodecInfosInitialized () 
}

com/google/android/exoplayer/MediaCodecUtil$DecoderQueryException.class
MediaCodecUtil.java
package com.google.android.exoplayer
public com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException extends java.io.IOException {
	private void  (java.lang.Throwable) 
		Throwable cause
	void  (java.lang.Throwable, com.google.android.exoplayer.MediaCodecUtil$1) 
		Throwable x0
		com.google.android.exoplayer.MediaCodecUtil$1 x1
}

com/google/android/exoplayer/SampleSourceTrackRenderer.class
SampleSourceTrackRenderer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.SampleSourceTrackRenderer extends com.google.android.exoplayer.TrackRenderer {
	private final com.google.android.exoplayer.SampleSource$SampleSourceReader[] sources
	private int[] handledSourceIndices
	private int[] handledSourceTrackIndices
	private com.google.android.exoplayer.SampleSource$SampleSourceReader enabledSource
	private int enabledSourceTrackIndex
	private long durationUs
	public transient void  (com.google.android.exoplayer.SampleSource[]) 
		int i
		com.google.android.exoplayer.SampleSource[] sources
	protected final boolean doPrepare (long)  throws com.google.android.exoplayer.ExoPlaybackException 
		int i
		int i
		com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException e
		long trackDurationUs
		com.google.android.exoplayer.MediaFormat format
		boolean handlesTrack
		boolean handlesTrack
		int trackIndex
		com.google.android.exoplayer.SampleSource$SampleSourceReader source
		int sourceTrackCount
		int sourceIndex
		long positionUs
		boolean allSourcesPrepared
		int totalSourceTrackCount
		long durationUs
		int handledTrackCount
		int[] handledSourceIndices
		int[] handledTrackIndices
		int sourceCount
	protected void onEnabled (int, long, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		int track
		long positionUs
		boolean joining
	protected final void seekTo (long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
	protected final void doSomeWork (long, long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
		long elapsedRealtimeUs
		boolean sourceIsReady
	protected long getBufferedPositionUs () 
	protected long getDurationUs () 
	protected void maybeThrowError ()  throws com.google.android.exoplayer.ExoPlaybackException 
		int i
		int sourceCount
	protected void onDisabled ()  throws com.google.android.exoplayer.ExoPlaybackException 
	protected void onReleased ()  throws com.google.android.exoplayer.ExoPlaybackException 
		int i
		int sourceCount
	protected final int getTrackCount () 
	protected final com.google.android.exoplayer.MediaFormat getFormat (int) 
		int track
		com.google.android.exoplayer.SampleSource$SampleSourceReader source
	protected long shiftInputPosition (long) 
		long positionUs
	protected final int readSource (long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder) 
		long positionUs
		com.google.android.exoplayer.MediaFormatHolder formatHolder
		com.google.android.exoplayer.SampleHolder sampleHolder
	protected abstract boolean handlesTrack (com.google.android.exoplayer.MediaFormat)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
	protected abstract void onDiscontinuity (long)  throws com.google.android.exoplayer.ExoPlaybackException 
	protected abstract void doSomeWork (long, long, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
	private long checkForDiscontinuity (long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
		long discontinuityPositionUs
	private void maybeThrowError (com.google.android.exoplayer.SampleSource$SampleSourceReader)  throws com.google.android.exoplayer.ExoPlaybackException 
		java.io.IOException e
		com.google.android.exoplayer.SampleSource$SampleSourceReader source
}

com/google/android/exoplayer/DefaultLoadControl$EventListener.class
DefaultLoadControl.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.DefaultLoadControl$EventListener extends java.lang.Object {
	public abstract void onLoadingChanged (boolean) 
}

com/google/android/exoplayer/AspectRatioFrameLayout.class
AspectRatioFrameLayout.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.AspectRatioFrameLayout extends android.widget.FrameLayout {
	private static final float MAX_ASPECT_RATIO_DEFORMATION_FRACTION
	private float videoAspectRatio
	public void  (android.content.Context) 
		android.content.Context context
	public void  (android.content.Context, android.util.AttributeSet) 
		android.content.Context context
		android.util.AttributeSet attrs
	public void setAspectRatio (float) 
		float widthHeightRatio
	protected void onMeasure (int, int) 
		int widthMeasureSpec
		int heightMeasureSpec
		int width
		int height
		float viewAspectRatio
		float aspectDeformation
}

com/google/android/exoplayer/MediaCodecVideoTrackRenderer$EventListener.class
MediaCodecVideoTrackRenderer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener extends java.lang.Object implements com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener  {
	public abstract void onDroppedFrames (int, long) 
	public abstract void onVideoSizeChanged (int, int, int, float) 
	public abstract void onDrawnToSurface (android.view.Surface) 
}

com/google/android/exoplayer/SingleSampleSource$EventListener.class
SingleSampleSource.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.SingleSampleSource$EventListener extends java.lang.Object {
	public abstract void onLoadError (int, java.io.IOException) 
}

com/google/android/exoplayer/DefaultLoadControl.class
DefaultLoadControl.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.DefaultLoadControl extends java.lang.Object implements com.google.android.exoplayer.LoadControl  {
	public static final int DEFAULT_LOW_WATERMARK_MS
	public static final int DEFAULT_HIGH_WATERMARK_MS
	public static final float DEFAULT_LOW_BUFFER_LOAD
	public static final float DEFAULT_HIGH_BUFFER_LOAD
	private static final int ABOVE_HIGH_WATERMARK
	private static final int BETWEEN_WATERMARKS
	private static final int BELOW_LOW_WATERMARK
	private final com.google.android.exoplayer.upstream.Allocator allocator
	private final java.util.List loaders
	private final java.util.HashMap loaderStates
	private final android.os.Handler eventHandler
	private final com.google.android.exoplayer.DefaultLoadControl$EventListener eventListener
	private final long lowWatermarkUs
	private final long highWatermarkUs
	private final float lowBufferLoad
	private final float highBufferLoad
	private int targetBufferSize
	private long maxLoadStartPositionUs
	private int bufferState
	private boolean fillingBuffers
	private boolean streamingPrioritySet
	public void  (com.google.android.exoplayer.upstream.Allocator) 
		com.google.android.exoplayer.upstream.Allocator allocator
	public void  (com.google.android.exoplayer.upstream.Allocator, android.os.Handler, com.google.android.exoplayer.DefaultLoadControl$EventListener) 
		com.google.android.exoplayer.upstream.Allocator allocator
		android.os.Handler eventHandler
		com.google.android.exoplayer.DefaultLoadControl$EventListener eventListener
	public void  (com.google.android.exoplayer.upstream.Allocator, android.os.Handler, com.google.android.exoplayer.DefaultLoadControl$EventListener, int, int, float, float) 
		com.google.android.exoplayer.upstream.Allocator allocator
		android.os.Handler eventHandler
		com.google.android.exoplayer.DefaultLoadControl$EventListener eventListener
		int lowWatermarkMs
		int highWatermarkMs
		float lowBufferLoad
		float highBufferLoad
	public void register (java.lang.Object, int) 
		Object loader
		int bufferSizeContribution
	public void unregister (java.lang.Object) 
		Object loader
		com.google.android.exoplayer.DefaultLoadControl$LoaderState state
	public void trimAllocator () 
	public com.google.android.exoplayer.upstream.Allocator getAllocator () 
	public boolean update (java.lang.Object, long, long, boolean) 
		Object loader
		long playbackPositionUs
		long nextLoadPositionUs
		boolean loading
		int loaderBufferState
		com.google.android.exoplayer.DefaultLoadControl$LoaderState loaderState
		boolean loaderStateChanged
		int currentBufferSize
		int bufferState
		boolean bufferStateChanged
	private int getLoaderBufferState (long, long) 
		long timeUntilNextLoadPosition
		long playbackPositionUs
		long nextLoadPositionUs
	private int getBufferState (int) 
		int currentBufferSize
		float bufferLoad
	private void updateControlState () 
		com.google.android.exoplayer.DefaultLoadControl$LoaderState loaderState
		int i
		Object loader
		com.google.android.exoplayer.DefaultLoadControl$LoaderState loaderState
		long loaderTime
		int i
		boolean loading
		boolean haveNextLoadPosition
		int highestState
	private void notifyLoadingChanged (boolean) 
		boolean loading
	static com.google.android.exoplayer.DefaultLoadControl$EventListener access$000 (com.google.android.exoplayer.DefaultLoadControl) 
		com.google.android.exoplayer.DefaultLoadControl x0
}

com/google/android/exoplayer/MediaCodecVideoTrackRenderer.class
MediaCodecVideoTrackRenderer.java
package com.google.android.exoplayer
public com.google.android.exoplayer.MediaCodecVideoTrackRenderer extends com.google.android.exoplayer.MediaCodecTrackRenderer {
	private static final String KEY_CROP_LEFT
	private static final String KEY_CROP_RIGHT
	private static final String KEY_CROP_BOTTOM
	private static final String KEY_CROP_TOP
	public static final int MSG_SET_SURFACE
	private final com.google.android.exoplayer.VideoFrameReleaseTimeHelper frameReleaseTimeHelper
	private final com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener eventListener
	private final long allowedJoiningTimeUs
	private final int videoScalingMode
	private final int maxDroppedFrameCountToNotify
	private android.view.Surface surface
	private boolean reportedDrawnToSurface
	private boolean renderedFirstFrame
	private long joiningDeadlineUs
	private long droppedFrameAccumulationStartTimeMs
	private int droppedFrameCount
	private int consecutiveDroppedFrameCount
	private int pendingRotationDegrees
	private float pendingPixelWidthHeightRatio
	private int currentWidth
	private int currentHeight
	private int currentUnappliedRotationDegrees
	private float currentPixelWidthHeightRatio
	private int lastReportedWidth
	private int lastReportedHeight
	private int lastReportedUnappliedRotationDegrees
	private float lastReportedPixelWidthHeightRatio
	public void  (android.content.Context, com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, int) 
		android.content.Context context
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
		int videoScalingMode
	public void  (android.content.Context, com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, int, long) 
		android.content.Context context
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
		int videoScalingMode
		long allowedJoiningTimeMs
	public void  (android.content.Context, com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, int, long, android.os.Handler, com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener, int) 
		android.content.Context context
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
		int videoScalingMode
		long allowedJoiningTimeMs
		android.os.Handler eventHandler
		com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener eventListener
		int maxDroppedFrameCountToNotify
	public void  (android.content.Context, com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, int, long, com.google.android.exoplayer.drm.DrmSessionManager, boolean, android.os.Handler, com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener, int) 
		android.content.Context context
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
		int videoScalingMode
		long allowedJoiningTimeMs
		com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
		boolean playClearSamplesWithoutKeys
		android.os.Handler eventHandler
		com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener eventListener
		int maxDroppedFrameCountToNotify
	protected boolean handlesTrack (com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.MediaFormat)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
		com.google.android.exoplayer.MediaFormat mediaFormat
		String mimeType
	protected void onEnabled (int, long, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		int track
		long positionUs
		boolean joining
	protected void onDiscontinuity (long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
	protected boolean isReady () 
	protected void onStarted () 
	protected void onStopped () 
	protected void onDisabled ()  throws com.google.android.exoplayer.ExoPlaybackException 
	public void handleMessage (int, java.lang.Object)  throws com.google.android.exoplayer.ExoPlaybackException 
		int messageType
		Object message
	private void setSurface (android.view.Surface)  throws com.google.android.exoplayer.ExoPlaybackException 
		android.view.Surface surface
		int state
	protected boolean shouldInitCodec () 
	protected void configureCodec (android.media.MediaCodec, boolean, android.media.MediaFormat, android.media.MediaCrypto) 
		android.media.MediaCodec codec
		boolean codecIsAdaptive
		android.media.MediaFormat format
		android.media.MediaCrypto crypto
	protected void onInputFormatChanged (com.google.android.exoplayer.MediaFormatHolder)  throws com.google.android.exoplayer.ExoPlaybackException 
		com.google.android.exoplayer.MediaFormatHolder holder
	protected final boolean haveRenderedFirstFrame () 
	protected void onOutputFormatChanged (android.media.MediaFormat) 
		int rotatedHeight
		android.media.MediaFormat outputFormat
		boolean hasCrop
	protected boolean canReconfigureCodec (android.media.MediaCodec, boolean, com.google.android.exoplayer.MediaFormat, com.google.android.exoplayer.MediaFormat) 
		android.media.MediaCodec codec
		boolean codecIsAdaptive
		com.google.android.exoplayer.MediaFormat oldFormat
		com.google.android.exoplayer.MediaFormat newFormat
	protected boolean processOutputBuffer (long, long, android.media.MediaCodec, java.nio.ByteBuffer, android.media.MediaCodec$BufferInfo, int, boolean) 
		InterruptedException e
		long positionUs
		long elapsedRealtimeUs
		android.media.MediaCodec codec
		java.nio.ByteBuffer buffer
		android.media.MediaCodec$BufferInfo bufferInfo
		int bufferIndex
		boolean shouldSkip
		long elapsedSinceStartOfLoopUs
		long earlyUs
		long systemTimeNs
		long unadjustedFrameReleaseTimeNs
		long adjustedReleaseTimeNs
	protected void skipOutputBuffer (android.media.MediaCodec, int) 
		android.media.MediaCodec codec
		int bufferIndex
	protected void dropOutputBuffer (android.media.MediaCodec, int) 
		android.media.MediaCodec codec
		int bufferIndex
	protected void renderOutputBuffer (android.media.MediaCodec, int) 
		android.media.MediaCodec codec
		int bufferIndex
	protected void renderOutputBufferV21 (android.media.MediaCodec, int, long) 
		android.media.MediaCodec codec
		int bufferIndex
		long releaseTimeNs
	private void maybeSetMaxInputSize (android.media.MediaFormat, boolean) 
		android.media.MediaFormat format
		boolean codecIsAdaptive
		int maxHeight
		int maxWidth
		int maxPixels
		int maxPixels
		int maxPixels
		int maxPixels
		int maxPixels
		int minCompressionRatio
		int minCompressionRatio
		int minCompressionRatio
		int minCompressionRatio
		int minCompressionRatio
		int maxInputSize
	private void maybeNotifyVideoSizeChanged () 
		int currentWidth
		int currentHeight
		int currentUnappliedRotationDegrees
		float currentPixelWidthHeightRatio
	private void maybeNotifyDrawnToSurface () 
		android.view.Surface surface
	private void maybeNotifyDroppedFrameCount () 
		long now
		int countToNotify
		long elapsedToNotify
	static com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener access$000 (com.google.android.exoplayer.MediaCodecVideoTrackRenderer) 
		com.google.android.exoplayer.MediaCodecVideoTrackRenderer x0
}

com/google/android/exoplayer/SampleSource$SampleSourceReader.class
SampleSource.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.SampleSource$SampleSourceReader extends java.lang.Object {
	public abstract void maybeThrowError ()  throws java.io.IOException 
	public abstract boolean prepare (long) 
	public abstract int getTrackCount () 
	public abstract com.google.android.exoplayer.MediaFormat getFormat (int) 
	public abstract void enable (int, long) 
	public abstract boolean continueBuffering (int, long) 
	public abstract long readDiscontinuity (int) 
	public abstract int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder) 
	public abstract void seekToUs (long) 
	public abstract long getBufferedPositionUs () 
	public abstract void disable (int) 
	public abstract void release () 
}

com/google/android/exoplayer/ExoPlayerLibraryInfo.class
ExoPlayerLibraryInfo.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.ExoPlayerLibraryInfo extends java.lang.Object {
	public static final String VERSION
	public static final int VERSION_INT
	public static final boolean ASSERTIONS_ENABLED
	public static final boolean TRACE_ENABLED
	private void  () 
}

com/google/android/exoplayer/DefaultLoadControl$LoaderState.class
DefaultLoadControl.java
package com.google.android.exoplayer
 com.google.android.exoplayer.DefaultLoadControl$LoaderState extends java.lang.Object {
	public final int bufferSizeContribution
	public int bufferState
	public boolean loading
	public long nextLoadPositionUs
	public void  (int) 
		int bufferSizeContribution
}

com/google/android/exoplayer/SingleSampleSource$1.class
SingleSampleSource.java
package com.google.android.exoplayer
 com.google.android.exoplayer.SingleSampleSource$1 extends java.lang.Object implements java.lang.Runnable  {
	final java.io.IOException val$e
	final com.google.android.exoplayer.SingleSampleSource this$0
	void  (com.google.android.exoplayer.SingleSampleSource, java.io.IOException) 
		com.google.android.exoplayer.SingleSampleSource this$0
	public void run () 
}

com/google/android/exoplayer/MediaCodecUtil$MediaCodecListCompatV16.class
MediaCodecUtil.java
package com.google.android.exoplayer
final com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompatV16 extends java.lang.Object implements com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat  {
	private void  () 
	public int getCodecCount () 
	public android.media.MediaCodecInfo getCodecInfoAt (int) 
		int index
	public boolean secureDecodersExplicit () 
	public boolean isSecurePlaybackSupported (java.lang.String, android.media.MediaCodecInfo$CodecCapabilities) 
		String mimeType
		android.media.MediaCodecInfo$CodecCapabilities capabilities
	void  (com.google.android.exoplayer.MediaCodecUtil$1) 
		com.google.android.exoplayer.MediaCodecUtil$1 x0
}

com/google/android/exoplayer/MediaCodecVideoTrackRenderer$1.class
MediaCodecVideoTrackRenderer.java
package com.google.android.exoplayer
 com.google.android.exoplayer.MediaCodecVideoTrackRenderer$1 extends java.lang.Object implements java.lang.Runnable  {
	final int val$currentWidth
	final int val$currentHeight
	final int val$currentUnappliedRotationDegrees
	final float val$currentPixelWidthHeightRatio
	final com.google.android.exoplayer.MediaCodecVideoTrackRenderer this$0
	void  (com.google.android.exoplayer.MediaCodecVideoTrackRenderer, int, int, int, float) 
		com.google.android.exoplayer.MediaCodecVideoTrackRenderer this$0
	public void run () 
}

com/google/android/exoplayer/MediaCodecAudioTrackRenderer$1.class
MediaCodecAudioTrackRenderer.java
package com.google.android.exoplayer
 com.google.android.exoplayer.MediaCodecAudioTrackRenderer$1 extends java.lang.Object implements java.lang.Runnable  {
	final com.google.android.exoplayer.audio.AudioTrack$InitializationException val$e
	final com.google.android.exoplayer.MediaCodecAudioTrackRenderer this$0
	void  (com.google.android.exoplayer.MediaCodecAudioTrackRenderer, com.google.android.exoplayer.audio.AudioTrack$InitializationException) 
		com.google.android.exoplayer.MediaCodecAudioTrackRenderer this$0
	public void run () 
}

com/google/android/exoplayer/TimeRange.class
TimeRange.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.TimeRange extends java.lang.Object {
	public abstract boolean isStatic () 
	public abstract long[] getCurrentBoundsMs (long[]) 
	public abstract long[] getCurrentBoundsUs (long[]) 
}

com/google/android/exoplayer/MediaCodecVideoTrackRenderer$2.class
MediaCodecVideoTrackRenderer.java
package com.google.android.exoplayer
 com.google.android.exoplayer.MediaCodecVideoTrackRenderer$2 extends java.lang.Object implements java.lang.Runnable  {
	final android.view.Surface val$surface
	final com.google.android.exoplayer.MediaCodecVideoTrackRenderer this$0
	void  (com.google.android.exoplayer.MediaCodecVideoTrackRenderer, android.view.Surface) 
		com.google.android.exoplayer.MediaCodecVideoTrackRenderer this$0
	public void run () 
}

com/google/android/exoplayer/ExoPlayer$Factory.class
ExoPlayer.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.ExoPlayer$Factory extends java.lang.Object {
	public static final int DEFAULT_MIN_BUFFER_MS
	public static final int DEFAULT_MIN_REBUFFER_MS
	private void  () 
	public static com.google.android.exoplayer.ExoPlayer newInstance (int, int, int) 
		int rendererCount
		int minBufferMs
		int minRebufferMs
	public static com.google.android.exoplayer.ExoPlayer newInstance (int) 
		int rendererCount
}

com/google/android/exoplayer/ExoPlayerImpl$1.class
ExoPlayerImpl.java
package com.google.android.exoplayer
 com.google.android.exoplayer.ExoPlayerImpl$1 extends android.os.Handler {
	final com.google.android.exoplayer.ExoPlayerImpl this$0
	void  (com.google.android.exoplayer.ExoPlayerImpl) 
		com.google.android.exoplayer.ExoPlayerImpl this$0
	public void handleMessage (android.os.Message) 
		android.os.Message msg
}

com/google/android/exoplayer/CryptoInfo.class
CryptoInfo.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.CryptoInfo extends java.lang.Object {
	public byte[] iv
	public byte[] key
	public int mode
	public int[] numBytesOfClearData
	public int[] numBytesOfEncryptedData
	public int numSubSamples
	private final android.media.MediaCodec$CryptoInfo frameworkCryptoInfo
	public void  () 
	public void set (int, int[], int[], byte[], byte[], int) 
		int numSubSamples
		int[] numBytesOfClearData
		int[] numBytesOfEncryptedData
		byte[] key
		byte[] iv
		int mode
	public void setFromExtractorV16 (android.media.MediaExtractor) 
		android.media.MediaExtractor extractor
	public android.media.MediaCodec$CryptoInfo getFrameworkCryptoInfoV16 () 
	private android.media.MediaCodec$CryptoInfo newFrameworkCryptoInfoV16 () 
	private void updateFrameworkCryptoInfoV16 () 
}

com/google/android/exoplayer/SingleSampleSource.class
SingleSampleSource.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.SingleSampleSource extends java.lang.Object implements com.google.android.exoplayer.SampleSource com.google.android.exoplayer.SampleSource$SampleSourceReader com.google.android.exoplayer.upstream.Loader$Callback com.google.android.exoplayer.upstream.Loader$Loadable  {
	public static final int DEFAULT_MIN_LOADABLE_RETRY_COUNT
	private static final int INITIAL_SAMPLE_SIZE
	private static final int STATE_SEND_FORMAT
	private static final int STATE_SEND_SAMPLE
	private static final int STATE_END_OF_STREAM
	private final android.net.Uri uri
	private final com.google.android.exoplayer.upstream.DataSource dataSource
	private final com.google.android.exoplayer.MediaFormat format
	private final int minLoadableRetryCount
	private final android.os.Handler eventHandler
	private final com.google.android.exoplayer.SingleSampleSource$EventListener eventListener
	private final int eventSourceId
	private int state
	private byte[] sampleData
	private int sampleSize
	private long pendingDiscontinuityPositionUs
	private boolean loadingFinished
	private com.google.android.exoplayer.upstream.Loader loader
	private java.io.IOException currentLoadableException
	private int currentLoadableExceptionCount
	private long currentLoadableExceptionTimestamp
	public void  (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.MediaFormat) 
		android.net.Uri uri
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.MediaFormat format
	public void  (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.MediaFormat, int) 
		android.net.Uri uri
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.MediaFormat format
		int minLoadableRetryCount
	public void  (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.MediaFormat, int, android.os.Handler, com.google.android.exoplayer.SingleSampleSource$EventListener, int) 
		android.net.Uri uri
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.MediaFormat format
		int minLoadableRetryCount
		android.os.Handler eventHandler
		com.google.android.exoplayer.SingleSampleSource$EventListener eventListener
		int eventSourceId
	public com.google.android.exoplayer.SampleSource$SampleSourceReader register () 
	public boolean prepare (long) 
		long positionUs
	public int getTrackCount () 
	public com.google.android.exoplayer.MediaFormat getFormat (int) 
		int track
	public void enable (int, long) 
		int track
		long positionUs
	public boolean continueBuffering (int, long) 
		int track
		long positionUs
	public void maybeThrowError ()  throws java.io.IOException 
	public long readDiscontinuity (int) 
		int track
		long discontinuityPositionUs
	public int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder) 
		int track
		long positionUs
		com.google.android.exoplayer.MediaFormatHolder formatHolder
		com.google.android.exoplayer.SampleHolder sampleHolder
	public void seekToUs (long) 
		long positionUs
	public long getBufferedPositionUs () 
	public void disable (int) 
		int track
	public void release () 
	private void maybeStartLoading () 
		long elapsedMillis
	private void clearCurrentLoadableException () 
	private long getRetryDelayMillis (long) 
		long errorCount
	public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
	public void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
	public void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
		java.io.IOException e
	public void cancelLoad () 
	public boolean isLoadCanceled () 
	public void load ()  throws java.io.IOException java.lang.InterruptedException 
		int result
	private void notifyLoadError (java.io.IOException) 
		java.io.IOException e
	static int access$000 (com.google.android.exoplayer.SingleSampleSource) 
		com.google.android.exoplayer.SingleSampleSource x0
	static com.google.android.exoplayer.SingleSampleSource$EventListener access$100 (com.google.android.exoplayer.SingleSampleSource) 
		com.google.android.exoplayer.SingleSampleSource x0
}

com/google/android/exoplayer/drm/
com/google/android/exoplayer/drm/StreamingDrmSessionManager.class
StreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
public com.google.android.exoplayer.drm.StreamingDrmSessionManager extends java.lang.Object implements com.google.android.exoplayer.drm.DrmSessionManager  {
	public static final java.util.UUID WIDEVINE_UUID
	public static final java.util.UUID PLAYREADY_UUID
	public static final String PLAYREADY_CUSTOM_DATA_KEY
	private static final int MSG_PROVISION
	private static final int MSG_KEYS
	private final android.os.Handler eventHandler
	private final com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener eventListener
	private final android.media.MediaDrm mediaDrm
	private final java.util.HashMap optionalKeyRequestParameters
	final com.google.android.exoplayer.drm.StreamingDrmSessionManager$MediaDrmHandler mediaDrmHandler
	final com.google.android.exoplayer.drm.MediaDrmCallback callback
	final com.google.android.exoplayer.drm.StreamingDrmSessionManager$PostResponseHandler postResponseHandler
	final java.util.UUID uuid
	private android.os.HandlerThread requestHandlerThread
	private android.os.Handler postRequestHandler
	private int openCount
	private boolean provisioningInProgress
	private int state
	private android.media.MediaCrypto mediaCrypto
	private Exception lastException
	private com.google.android.exoplayer.drm.DrmInitData$SchemeInitData schemeInitData
	private byte[] sessionId
	public static com.google.android.exoplayer.drm.StreamingDrmSessionManager newWidevineInstance (android.os.Looper, com.google.android.exoplayer.drm.MediaDrmCallback, java.util.HashMap, android.os.Handler, com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener)  throws com.google.android.exoplayer.drm.UnsupportedDrmException 
		android.os.Looper playbackLooper
		com.google.android.exoplayer.drm.MediaDrmCallback callback
		java.util.HashMap optionalKeyRequestParameters
		android.os.Handler eventHandler
		com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener eventListener
	public static com.google.android.exoplayer.drm.StreamingDrmSessionManager newPlayReadyInstance (android.os.Looper, com.google.android.exoplayer.drm.MediaDrmCallback, java.lang.String, android.os.Handler, com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener)  throws com.google.android.exoplayer.drm.UnsupportedDrmException 
		java.util.HashMap optionalKeyRequestParameters
		android.os.Looper playbackLooper
		com.google.android.exoplayer.drm.MediaDrmCallback callback
		String customData
		android.os.Handler eventHandler
		com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener eventListener
		java.util.HashMap optionalKeyRequestParameters
	public void  (java.util.UUID, android.os.Looper, com.google.android.exoplayer.drm.MediaDrmCallback, java.util.HashMap, android.os.Handler, com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener)  throws com.google.android.exoplayer.drm.UnsupportedDrmException 
		android.media.UnsupportedSchemeException e
		Exception e
		java.util.UUID uuid
		android.os.Looper playbackLooper
		com.google.android.exoplayer.drm.MediaDrmCallback callback
		java.util.HashMap optionalKeyRequestParameters
		android.os.Handler eventHandler
		com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener eventListener
	public final int getState () 
	public final android.media.MediaCrypto getMediaCrypto () 
	public boolean requiresSecureDecoderComponent (java.lang.String) 
		String mimeType
	public final java.lang.Exception getError () 
	public final java.lang.String getPropertyString (java.lang.String) 
		String key
	public final void setPropertyString (java.lang.String, java.lang.String) 
		String key
		String value
	public final byte[] getPropertyByteArray (java.lang.String) 
		String key
	public final void setPropertyByteArray (java.lang.String, byte[]) 
		String key
		byte[] value
	public void open (com.google.android.exoplayer.drm.DrmInitData) 
		byte[] psshData
		com.google.android.exoplayer.drm.DrmInitData drmInitData
	public void close () 
	private void openInternal (boolean) 
		android.media.NotProvisionedException e
		Exception e
		boolean allowProvisioning
	private void postProvisionRequest () 
		android.media.MediaDrm$ProvisionRequest request
	private void onProvisionResponse (java.lang.Object) 
		android.media.DeniedByServerException e
		Object response
	private void postKeyRequest () 
		android.media.NotProvisionedException e
		android.media.MediaDrm$KeyRequest keyRequest
	private void onKeyResponse (java.lang.Object) 
		Exception e
		Object response
	private void onKeysError (java.lang.Exception) 
		Exception e
	private void onError (java.lang.Exception) 
		Exception e
	static com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener access$100 (com.google.android.exoplayer.drm.StreamingDrmSessionManager) 
		com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
	static int access$200 (com.google.android.exoplayer.drm.StreamingDrmSessionManager) 
		com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
	static int access$300 (com.google.android.exoplayer.drm.StreamingDrmSessionManager) 
		com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
	static void access$400 (com.google.android.exoplayer.drm.StreamingDrmSessionManager) 
		com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
	static int access$302 (com.google.android.exoplayer.drm.StreamingDrmSessionManager, int) 
		com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
		int x1
	static void access$500 (com.google.android.exoplayer.drm.StreamingDrmSessionManager, java.lang.Exception) 
		com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
		Exception x1
	static void access$600 (com.google.android.exoplayer.drm.StreamingDrmSessionManager) 
		com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
	static void access$700 (com.google.android.exoplayer.drm.StreamingDrmSessionManager, java.lang.Object) 
		com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
		Object x1
	static void access$800 (com.google.android.exoplayer.drm.StreamingDrmSessionManager, java.lang.Object) 
		com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
		Object x1
	static void  () 
}

com/google/android/exoplayer/drm/DrmInitData$Mapped.class
DrmInitData.java
package com.google.android.exoplayer.drm
public final com.google.android.exoplayer.drm.DrmInitData$Mapped extends java.lang.Object implements com.google.android.exoplayer.drm.DrmInitData  {
	private final java.util.Map schemeData
	public void  () 
	public com.google.android.exoplayer.drm.DrmInitData$SchemeInitData get (java.util.UUID) 
		java.util.UUID schemeUuid
	public void put (java.util.UUID, com.google.android.exoplayer.drm.DrmInitData$SchemeInitData) 
		java.util.UUID schemeUuid
		com.google.android.exoplayer.drm.DrmInitData$SchemeInitData schemeInitData
}

com/google/android/exoplayer/drm/DrmInitData$Universal.class
DrmInitData.java
package com.google.android.exoplayer.drm
public final com.google.android.exoplayer.drm.DrmInitData$Universal extends java.lang.Object implements com.google.android.exoplayer.drm.DrmInitData  {
	private com.google.android.exoplayer.drm.DrmInitData$SchemeInitData data
	public void  (com.google.android.exoplayer.drm.DrmInitData$SchemeInitData) 
		com.google.android.exoplayer.drm.DrmInitData$SchemeInitData data
	public com.google.android.exoplayer.drm.DrmInitData$SchemeInitData get (java.util.UUID) 
		java.util.UUID schemeUuid
}

com/google/android/exoplayer/drm/StreamingDrmSessionManager$MediaDrmHandler.class
StreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
 com.google.android.exoplayer.drm.StreamingDrmSessionManager$MediaDrmHandler extends android.os.Handler {
	final com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
	public void  (com.google.android.exoplayer.drm.StreamingDrmSessionManager, android.os.Looper) 
		android.os.Looper looper
	public void handleMessage (android.os.Message) 
		android.os.Message msg
}

com/google/android/exoplayer/drm/StreamingDrmSessionManager$EventListener.class
StreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
public abstract com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener extends java.lang.Object {
	public abstract void onDrmKeysLoaded () 
	public abstract void onDrmSessionManagerError (java.lang.Exception) 
}

com/google/android/exoplayer/drm/DrmSessionManager.class
DrmSessionManager.java
package com.google.android.exoplayer.drm
public abstract com.google.android.exoplayer.drm.DrmSessionManager extends java.lang.Object {
	public static final int STATE_ERROR
	public static final int STATE_CLOSED
	public static final int STATE_OPENING
	public static final int STATE_OPENED
	public static final int STATE_OPENED_WITH_KEYS
	public abstract void open (com.google.android.exoplayer.drm.DrmInitData) 
	public abstract void close () 
	public abstract int getState () 
	public abstract android.media.MediaCrypto getMediaCrypto () 
	public abstract boolean requiresSecureDecoderComponent (java.lang.String) 
	public abstract java.lang.Exception getError () 
}

com/google/android/exoplayer/drm/StreamingDrmSessionManager$2.class
StreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
 com.google.android.exoplayer.drm.StreamingDrmSessionManager$2 extends java.lang.Object implements java.lang.Runnable  {
	final Exception val$e
	final com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
	void  (com.google.android.exoplayer.drm.StreamingDrmSessionManager, java.lang.Exception) 
		com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
	public void run () 
}

com/google/android/exoplayer/drm/KeysExpiredException.class
KeysExpiredException.java
package com.google.android.exoplayer.drm
public final com.google.android.exoplayer.drm.KeysExpiredException extends java.lang.Exception {
	public void  () 
}

com/google/android/exoplayer/drm/StreamingDrmSessionManager$PostResponseHandler.class
StreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
 com.google.android.exoplayer.drm.StreamingDrmSessionManager$PostResponseHandler extends android.os.Handler {
	final com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
	public void  (com.google.android.exoplayer.drm.StreamingDrmSessionManager, android.os.Looper) 
		android.os.Looper looper
	public void handleMessage (android.os.Message) 
		android.os.Message msg
}

com/google/android/exoplayer/drm/StreamingDrmSessionManager$MediaDrmEventListener.class
StreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
 com.google.android.exoplayer.drm.StreamingDrmSessionManager$MediaDrmEventListener extends java.lang.Object implements android.media.MediaDrm$OnEventListener  {
	final com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
	private void  (com.google.android.exoplayer.drm.StreamingDrmSessionManager) 
	public void onEvent (android.media.MediaDrm, byte[], int, int, byte[]) 
		android.media.MediaDrm md
		byte[] sessionId
		int event
		int extra
		byte[] data
	void  (com.google.android.exoplayer.drm.StreamingDrmSessionManager, com.google.android.exoplayer.drm.StreamingDrmSessionManager$1) 
		com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
		com.google.android.exoplayer.drm.StreamingDrmSessionManager$1 x1
}

com/google/android/exoplayer/drm/MediaDrmCallback.class
MediaDrmCallback.java
package com.google.android.exoplayer.drm
public abstract com.google.android.exoplayer.drm.MediaDrmCallback extends java.lang.Object {
	public abstract byte[] executeProvisionRequest (java.util.UUID, android.media.MediaDrm$ProvisionRequest)  throws java.lang.Exception 
	public abstract byte[] executeKeyRequest (java.util.UUID, android.media.MediaDrm$KeyRequest)  throws java.lang.Exception 
}

com/google/android/exoplayer/drm/StreamingDrmSessionManager$1.class
StreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
 com.google.android.exoplayer.drm.StreamingDrmSessionManager$1 extends java.lang.Object implements java.lang.Runnable  {
	final com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
	void  (com.google.android.exoplayer.drm.StreamingDrmSessionManager) 
		com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
	public void run () 
}

com/google/android/exoplayer/drm/DrmInitData.class
DrmInitData.java
package com.google.android.exoplayer.drm
public abstract com.google.android.exoplayer.drm.DrmInitData extends java.lang.Object {
	public abstract com.google.android.exoplayer.drm.DrmInitData$SchemeInitData get (java.util.UUID) 
}

com/google/android/exoplayer/drm/UnsupportedDrmException.class
UnsupportedDrmException.java
package com.google.android.exoplayer.drm
public final com.google.android.exoplayer.drm.UnsupportedDrmException extends java.lang.Exception {
	public static final int REASON_UNSUPPORTED_SCHEME
	public static final int REASON_INSTANTIATION_ERROR
	public final int reason
	public void  (int) 
		int reason
	public void  (int, java.lang.Exception) 
		int reason
		Exception cause
}

com/google/android/exoplayer/drm/StreamingDrmSessionManager$PostRequestHandler.class
StreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
 com.google.android.exoplayer.drm.StreamingDrmSessionManager$PostRequestHandler extends android.os.Handler {
	final com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
	public void  (com.google.android.exoplayer.drm.StreamingDrmSessionManager, android.os.Looper) 
		android.os.Looper backgroundLooper
	public void handleMessage (android.os.Message) 
		Exception e
		android.os.Message msg
		Object response
		Object response
		Object response
		Object response
}

com/google/android/exoplayer/drm/DrmInitData$SchemeInitData.class
DrmInitData.java
package com.google.android.exoplayer.drm
public final com.google.android.exoplayer.drm.DrmInitData$SchemeInitData extends java.lang.Object {
	public final String mimeType
	public final byte[] data
	public void  (java.lang.String, byte[]) 
		String mimeType
		byte[] data
	public boolean equals (java.lang.Object) 
		Object obj
		com.google.android.exoplayer.drm.DrmInitData$SchemeInitData other
	public int hashCode () 
}

com/google/android/exoplayer/SampleHolder.class
SampleHolder.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.SampleHolder extends java.lang.Object {
	public static final int BUFFER_REPLACEMENT_MODE_DISABLED
	public static final int BUFFER_REPLACEMENT_MODE_NORMAL
	public static final int BUFFER_REPLACEMENT_MODE_DIRECT
	public final com.google.android.exoplayer.CryptoInfo cryptoInfo
	public java.nio.ByteBuffer data
	public int size
	public int flags
	public long timeUs
	private final int bufferReplacementMode
	public void  (int) 
		int bufferReplacementMode
	public void ensureSpaceForWrite (int)  throws java.lang.IllegalStateException 
		int length
		int capacity
		int position
		int requiredCapacity
		java.nio.ByteBuffer newData
	public boolean isEncrypted () 
	public boolean isDecodeOnly () 
	public boolean isSyncFrame () 
	public void clearData () 
	private java.nio.ByteBuffer createReplacementBuffer (int) 
		int currentCapacity
		int requiredCapacity
}

com/google/android/exoplayer/MediaCodecSelector.class
MediaCodecSelector.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.MediaCodecSelector extends java.lang.Object {
	public static final com.google.android.exoplayer.MediaCodecSelector DEFAULT
	public abstract com.google.android.exoplayer.DecoderInfo getDecoderInfo (java.lang.String, boolean)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
	public abstract java.lang.String getPassthroughDecoderName ()  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
	static void  () 
}

com/google/android/exoplayer/StandaloneMediaClock.class
StandaloneMediaClock.java
package com.google.android.exoplayer
final com.google.android.exoplayer.StandaloneMediaClock extends java.lang.Object implements com.google.android.exoplayer.MediaClock  {
	private boolean started
	private long positionUs
	private long deltaUs
	void  () 
	public void start () 
	public void stop () 
	public void setPositionUs (long) 
		long timeUs
	public long getPositionUs () 
	private long elapsedRealtimeMinus (long) 
		long toSubtractUs
}

com/google/android/exoplayer/text/
com/google/android/exoplayer/text/eia608/
com/google/android/exoplayer/text/eia608/ClosedCaption.class
ClosedCaption.java
package com.google.android.exoplayer.text.eia608
abstract com.google.android.exoplayer.text.eia608.ClosedCaption extends java.lang.Object {
	public static final int TYPE_CTRL
	public static final int TYPE_TEXT
	public final int type
	protected void  (int) 
		int type
}

com/google/android/exoplayer/text/eia608/ClosedCaptionList.class
ClosedCaptionList.java
package com.google.android.exoplayer.text.eia608
final com.google.android.exoplayer.text.eia608.ClosedCaptionList extends java.lang.Object implements java.lang.Comparable  {
	public final long timeUs
	public final boolean decodeOnly
	public final com.google.android.exoplayer.text.eia608.ClosedCaption[] captions
	public void  (long, boolean, com.google.android.exoplayer.text.eia608.ClosedCaption[]) 
		long timeUs
		boolean decodeOnly
		com.google.android.exoplayer.text.eia608.ClosedCaption[] captions
	public int compareTo (com.google.android.exoplayer.text.eia608.ClosedCaptionList) 
		com.google.android.exoplayer.text.eia608.ClosedCaptionList other
		long delta
	public volatile int compareTo (java.lang.Object) 
}

com/google/android/exoplayer/text/eia608/ClosedCaptionCtrl.class
ClosedCaptionCtrl.java
package com.google.android.exoplayer.text.eia608
final com.google.android.exoplayer.text.eia608.ClosedCaptionCtrl extends com.google.android.exoplayer.text.eia608.ClosedCaption {
	public static final byte RESUME_CAPTION_LOADING
	public static final byte ROLL_UP_CAPTIONS_2_ROWS
	public static final byte ROLL_UP_CAPTIONS_3_ROWS
	public static final byte ROLL_UP_CAPTIONS_4_ROWS
	public static final byte RESUME_DIRECT_CAPTIONING
	public static final byte END_OF_CAPTION
	public static final byte ERASE_DISPLAYED_MEMORY
	public static final byte CARRIAGE_RETURN
	public static final byte ERASE_NON_DISPLAYED_MEMORY
	public static final byte BACKSPACE
	public static final byte MID_ROW_CHAN_1
	public static final byte MID_ROW_CHAN_2
	public static final byte MISC_CHAN_1
	public static final byte MISC_CHAN_2
	public static final byte TAB_OFFSET_CHAN_1
	public static final byte TAB_OFFSET_CHAN_2
	public final byte cc1
	public final byte cc2
	protected void  (byte, byte) 
		byte cc1
		byte cc2
	public boolean isMidRowCode () 
	public boolean isMiscCode () 
	public boolean isTabOffsetCode () 
	public boolean isPreambleAddressCode () 
	public boolean isRepeatable () 
}

com/google/android/exoplayer/text/eia608/Eia608Parser.class
Eia608Parser.java
package com.google.android.exoplayer.text.eia608
public final com.google.android.exoplayer.text.eia608.Eia608Parser extends java.lang.Object {
	private static final int PAYLOAD_TYPE_CC
	private static final int COUNTRY_CODE
	private static final int PROVIDER_CODE
	private static final int USER_ID
	private static final int USER_DATA_TYPE_CODE
	private static final int[] BASIC_CHARACTER_SET
	private static final int[] SPECIAL_CHARACTER_SET
	private static final int[] SPECIAL_ES_FR_CHARACTER_SET
	private static final int[] SPECIAL_PT_DE_CHARACTER_SET
	private final com.google.android.exoplayer.util.ParsableBitArray seiBuffer
	private final StringBuilder stringBuilder
	private final java.util.ArrayList captions
	void  () 
	boolean canParse (java.lang.String) 
		String mimeType
	com.google.android.exoplayer.text.eia608.ClosedCaptionList parse (com.google.android.exoplayer.SampleHolder) 
		boolean ccValid
		int ccType
		byte ccData1
		byte ccData2
		int i
		com.google.android.exoplayer.SampleHolder sampleHolder
		int ccCount
		com.google.android.exoplayer.text.eia608.ClosedCaption[] captionArray
	private static char getChar (byte) 
		byte ccData
		int index
	private static char getSpecialChar (byte) 
		byte ccData
		int index
	private static char getExtendedEsFrChar (byte) 
		byte ccData
		int index
	private static char getExtendedPtDeChar (byte) 
		byte ccData
		int index
	private void addBufferedText () 
	private void addCtrl (byte, byte) 
		byte ccData1
		byte ccData2
	private void backspace () 
	public static boolean isSeiMessageEia608 (int, int, com.google.android.exoplayer.util.ParsableByteArray) 
		int payloadType
		int payloadLength
		com.google.android.exoplayer.util.ParsableByteArray payload
		int startPosition
		int countryCode
		int providerCode
		int userIdentifier
		int userDataTypeCode
	static void  () 
}

com/google/android/exoplayer/text/eia608/ClosedCaptionText.class
ClosedCaptionText.java
package com.google.android.exoplayer.text.eia608
final com.google.android.exoplayer.text.eia608.ClosedCaptionText extends com.google.android.exoplayer.text.eia608.ClosedCaption {
	public final String text
	public void  (java.lang.String) 
		String text
}

com/google/android/exoplayer/text/eia608/Eia608TrackRenderer.class
Eia608TrackRenderer.java
package com.google.android.exoplayer.text.eia608
public final com.google.android.exoplayer.text.eia608.Eia608TrackRenderer extends com.google.android.exoplayer.SampleSourceTrackRenderer implements android.os.Handler$Callback  {
	private static final int MSG_INVOKE_RENDERER
	private static final int CC_MODE_UNKNOWN
	private static final int CC_MODE_ROLL_UP
	private static final int CC_MODE_POP_ON
	private static final int CC_MODE_PAINT_ON
	private static final int DEFAULT_CAPTIONS_ROW_COUNT
	private static final int MAX_SAMPLE_READAHEAD_US
	private final com.google.android.exoplayer.text.eia608.Eia608Parser eia608Parser
	private final com.google.android.exoplayer.text.TextRenderer textRenderer
	private final android.os.Handler textRendererHandler
	private final com.google.android.exoplayer.MediaFormatHolder formatHolder
	private final com.google.android.exoplayer.SampleHolder sampleHolder
	private final StringBuilder captionStringBuilder
	private final java.util.TreeSet pendingCaptionLists
	private boolean inputStreamEnded
	private int captionMode
	private int captionRowCount
	private String caption
	private String lastRenderedCaption
	private com.google.android.exoplayer.text.eia608.ClosedCaptionCtrl repeatableControl
	public void  (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.text.TextRenderer, android.os.Looper) 
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.text.TextRenderer textRenderer
		android.os.Looper textRendererLooper
	protected boolean handlesTrack (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat mediaFormat
	protected void onEnabled (int, long, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		int track
		long positionUs
		boolean joining
	protected void onDiscontinuity (long) 
		long positionUs
	protected void doSomeWork (long, long, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		com.google.android.exoplayer.text.eia608.ClosedCaptionList nextCaptionList
		long positionUs
		long elapsedRealtimeUs
		boolean sourceIsReady
		int result
	protected long getBufferedPositionUs () 
	protected boolean isEnded () 
	protected boolean isReady () 
	private void invokeRenderer (java.lang.String) 
		String text
	public boolean handleMessage (android.os.Message) 
		android.os.Message msg
	private void invokeRendererInternal (java.lang.String) 
		String cueText
	private void maybeParsePendingSample (long) 
		long positionUs
		com.google.android.exoplayer.text.eia608.ClosedCaptionList holder
	private void consumeCaptionList (com.google.android.exoplayer.text.eia608.ClosedCaptionList) 
		com.google.android.exoplayer.text.eia608.ClosedCaptionCtrl captionCtrl
		com.google.android.exoplayer.text.eia608.ClosedCaption caption
		int i
		com.google.android.exoplayer.text.eia608.ClosedCaptionList captionList
		int captionBufferSize
		boolean isRepeatableControl
	private void handleText (com.google.android.exoplayer.text.eia608.ClosedCaptionText) 
		com.google.android.exoplayer.text.eia608.ClosedCaptionText captionText
	private void handleMiscCode (com.google.android.exoplayer.text.eia608.ClosedCaptionCtrl) 
		com.google.android.exoplayer.text.eia608.ClosedCaptionCtrl captionCtrl
	private void handlePreambleAddressCode () 
	private void setCaptionMode (int) 
		int captionMode
	private void maybeAppendNewline () 
		int buildLength
	private java.lang.String getDisplayCaption () 
		int i
		int buildLength
		boolean endsWithNewline
		int endIndex
		int startIndex
		int searchBackwardFromIndex
	private void clearPendingSample () 
	private boolean isSamplePending () 
}

com/google/android/exoplayer/text/SubtitleParserHelper.class
SubtitleParserHelper.java
package com.google.android.exoplayer.text
final com.google.android.exoplayer.text.SubtitleParserHelper extends java.lang.Object implements android.os.Handler$Callback  {
	private static final int MSG_FORMAT
	private static final int MSG_SAMPLE
	private final com.google.android.exoplayer.text.SubtitleParser parser
	private final android.os.Handler handler
	private com.google.android.exoplayer.SampleHolder sampleHolder
	private boolean parsing
	private com.google.android.exoplayer.text.PlayableSubtitle result
	private java.io.IOException error
	private RuntimeException runtimeError
	private boolean subtitlesAreRelative
	private long subtitleOffsetUs
	public void  (android.os.Looper, com.google.android.exoplayer.text.SubtitleParser) 
		android.os.Looper looper
		com.google.android.exoplayer.text.SubtitleParser parser
	public synchronized void flush () 
	public synchronized boolean isParsing () 
	public synchronized com.google.android.exoplayer.SampleHolder getSampleHolder () 
	public void setFormat (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat format
	public synchronized void startParseOperation () 
	public synchronized com.google.android.exoplayer.text.PlayableSubtitle getAndClearResult ()  throws java.io.IOException 
	public boolean handleMessage (android.os.Message) 
		long sampleTimeUs
		com.google.android.exoplayer.SampleHolder holder
		android.os.Message msg
	private void handleFormat (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat format
	private void handleSample (long, com.google.android.exoplayer.SampleHolder) 
		com.google.android.exoplayer.ParserException e
		RuntimeException e
		long sampleTimeUs
		com.google.android.exoplayer.SampleHolder holder
		com.google.android.exoplayer.text.Subtitle parsedSubtitle
		com.google.android.exoplayer.ParserException error
		RuntimeException runtimeError
}

com/google/android/exoplayer/text/CaptionStyleCompat.class
CaptionStyleCompat.java
package com.google.android.exoplayer.text
public final com.google.android.exoplayer.text.CaptionStyleCompat extends java.lang.Object {
	public static final int EDGE_TYPE_NONE
	public static final int EDGE_TYPE_OUTLINE
	public static final int EDGE_TYPE_DROP_SHADOW
	public static final int EDGE_TYPE_RAISED
	public static final int EDGE_TYPE_DEPRESSED
	public static final int USE_TRACK_COLOR_SETTINGS
	public static final com.google.android.exoplayer.text.CaptionStyleCompat DEFAULT
	public final int foregroundColor
	public final int backgroundColor
	public final int windowColor
	public final int edgeType
	public final int edgeColor
	public final android.graphics.Typeface typeface
	public static com.google.android.exoplayer.text.CaptionStyleCompat createFromCaptionStyle (android.view.accessibility.CaptioningManager$CaptionStyle) 
		android.view.accessibility.CaptioningManager$CaptionStyle captionStyle
	public void  (int, int, int, int, int, android.graphics.Typeface) 
		int foregroundColor
		int backgroundColor
		int windowColor
		int edgeType
		int edgeColor
		android.graphics.Typeface typeface
	private static com.google.android.exoplayer.text.CaptionStyleCompat createFromCaptionStyleV19 (android.view.accessibility.CaptioningManager$CaptionStyle) 
		android.view.accessibility.CaptioningManager$CaptionStyle captionStyle
	private static com.google.android.exoplayer.text.CaptionStyleCompat createFromCaptionStyleV21 (android.view.accessibility.CaptioningManager$CaptionStyle) 
		android.view.accessibility.CaptioningManager$CaptionStyle captionStyle
	static void  () 
}

com/google/android/exoplayer/text/CuePainter.class
CuePainter.java
package com.google.android.exoplayer.text
final com.google.android.exoplayer.text.CuePainter extends java.lang.Object {
	private static final String TAG
	private static final float INNER_PADDING_RATIO
	private final android.graphics.RectF lineBounds
	private final float cornerRadius
	private final float outlineWidth
	private final float shadowRadius
	private final float shadowOffset
	private final float spacingMult
	private final float spacingAdd
	private final android.text.TextPaint textPaint
	private final android.graphics.Paint paint
	private CharSequence cueText
	private android.text.Layout$Alignment cueTextAlignment
	private float cueLine
	private int cueLineType
	private int cueLineAnchor
	private float cuePosition
	private int cuePositionAnchor
	private float cueSize
	private boolean applyEmbeddedStyles
	private int foregroundColor
	private int backgroundColor
	private int windowColor
	private int edgeColor
	private int edgeType
	private float textSizePx
	private float bottomPaddingFraction
	private int parentLeft
	private int parentTop
	private int parentRight
	private int parentBottom
	private android.text.StaticLayout textLayout
	private int textLeft
	private int textTop
	private int textPaddingX
	public void  (android.content.Context) 
		android.content.Context context
		int[] viewAttr
		android.content.res.TypedArray styledAttributes
		android.content.res.Resources resources
		android.util.DisplayMetrics displayMetrics
		int twoDpInPx
	public void draw (com.google.android.exoplayer.text.Cue, boolean, com.google.android.exoplayer.text.CaptionStyleCompat, float, float, android.graphics.Canvas, int, int, int, int) 
		int i
		int anchorPosition
		int textLeft
		int textRight
		int anchorPosition
		int anchorPosition
		int firstLineHeight
		int anchorPosition
		int textTop
		int textBottom
		com.google.android.exoplayer.text.Cue cue
		boolean applyEmbeddedStyles
		com.google.android.exoplayer.text.CaptionStyleCompat style
		float textSizePx
		float bottomPaddingFraction
		android.graphics.Canvas canvas
		int cueBoxLeft
		int cueBoxTop
		int cueBoxRight
		int cueBoxBottom
		CharSequence cueText
		int parentWidth
		int parentHeight
		int textPaddingX
		int availableWidth
		android.text.Layout$Alignment textAlignment
		int textHeight
		int textWidth
		int lineCount
		int textLeft
		int textRight
		int textTop
		int textBottom
	private void drawLayout (android.graphics.Canvas) 
		int i
		float previousBottom
		int lineCount
		boolean raised
		int colorUp
		int colorDown
		float offset
		android.graphics.Canvas canvas
		android.text.StaticLayout layout
		int saveCount
	private static boolean areCharSequencesEqual (java.lang.CharSequence, java.lang.CharSequence) 
		CharSequence first
		CharSequence second
}

com/google/android/exoplayer/text/subrip/
com/google/android/exoplayer/text/subrip/SubripSubtitle.class
SubripSubtitle.java
package com.google.android.exoplayer.text.subrip
final com.google.android.exoplayer.text.subrip.SubripSubtitle extends java.lang.Object implements com.google.android.exoplayer.text.Subtitle  {
	private final com.google.android.exoplayer.text.Cue[] cues
	private final long[] cueTimesUs
	public void  (com.google.android.exoplayer.text.Cue[], long[]) 
		com.google.android.exoplayer.text.Cue[] cues
		long[] cueTimesUs
	public int getNextEventTimeIndex (long) 
		long timeUs
		int index
	public int getEventTimeCount () 
	public long getEventTime (int) 
		int index
	public long getLastEventTime () 
	public java.util.List getCues (long) 
		long timeUs
		int index
}

com/google/android/exoplayer/text/subrip/SubripParser.class
SubripParser.java
package com.google.android.exoplayer.text.subrip
public final com.google.android.exoplayer.text.subrip.SubripParser extends java.lang.Object implements com.google.android.exoplayer.text.SubtitleParser  {
	private static final String TAG
	private static final java.util.regex.Pattern SUBRIP_TIMING_LINE
	private static final java.util.regex.Pattern SUBRIP_TIMESTAMP
	private final StringBuilder textBuilder
	public void  () 
	public boolean canParse (java.lang.String) 
		String mimeType
	public com.google.android.exoplayer.text.subrip.SubripSubtitle parse (byte[], int, int) 
		NumberFormatException e
		String endTimecode
		java.util.regex.Matcher matcher
		android.text.Spanned text
		boolean haveEndTimecode
		byte[] bytes
		int offset
		int length
		java.util.ArrayList cues
		com.google.android.exoplayer.util.LongArray cueTimesUs
		com.google.android.exoplayer.util.ParsableByteArray subripData
		String currentLine
		com.google.android.exoplayer.text.Cue[] cuesArray
		long[] cueTimesUsArray
	private static long parseTimecode (java.lang.String)  throws java.lang.NumberFormatException 
		String s
		java.util.regex.Matcher matcher
		long timestampMs
	public volatile com.google.android.exoplayer.text.Subtitle parse (byte[], int, int)  throws com.google.android.exoplayer.ParserException 
	static void  () 
}

com/google/android/exoplayer/text/TextTrackRenderer.class
TextTrackRenderer.java
package com.google.android.exoplayer.text
public final com.google.android.exoplayer.text.TextTrackRenderer extends com.google.android.exoplayer.SampleSourceTrackRenderer implements android.os.Handler$Callback  {
	private static final int MSG_UPDATE_OVERLAY
	private static final java.util.List DEFAULT_PARSER_CLASSES
	private final android.os.Handler textRendererHandler
	private final com.google.android.exoplayer.text.TextRenderer textRenderer
	private final com.google.android.exoplayer.MediaFormatHolder formatHolder
	private final com.google.android.exoplayer.text.SubtitleParser[] subtitleParsers
	private int parserIndex
	private boolean inputStreamEnded
	private com.google.android.exoplayer.text.PlayableSubtitle subtitle
	private com.google.android.exoplayer.text.PlayableSubtitle nextSubtitle
	private com.google.android.exoplayer.text.SubtitleParserHelper parserHelper
	private android.os.HandlerThread parserThread
	private int nextSubtitleEventIndex
	public transient void  (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.text.TextRenderer, android.os.Looper, com.google.android.exoplayer.text.SubtitleParser[]) 
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.text.TextRenderer textRenderer
		android.os.Looper textRendererLooper
		com.google.android.exoplayer.text.SubtitleParser[] subtitleParsers
	public transient void  (com.google.android.exoplayer.SampleSource[], com.google.android.exoplayer.text.TextRenderer, android.os.Looper, com.google.android.exoplayer.text.SubtitleParser[]) 
		InstantiationException e
		IllegalAccessException e
		int i
		com.google.android.exoplayer.SampleSource[] sources
		com.google.android.exoplayer.text.TextRenderer textRenderer
		android.os.Looper textRendererLooper
		com.google.android.exoplayer.text.SubtitleParser[] subtitleParsers
	protected boolean handlesTrack (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat mediaFormat
	protected void onEnabled (int, long, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		int track
		long positionUs
		boolean joining
	protected void onDiscontinuity (long) 
		long positionUs
	protected void doSomeWork (long, long, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		java.io.IOException e
		com.google.android.exoplayer.SampleHolder sampleHolder
		int result
		long positionUs
		long elapsedRealtimeUs
		boolean sourceIsReady
		boolean textRendererNeedsUpdate
		long subtitleNextEventTimeUs
	protected void onDisabled ()  throws com.google.android.exoplayer.ExoPlaybackException 
	protected long getBufferedPositionUs () 
	protected boolean isEnded () 
	protected boolean isReady () 
	private long getNextEventTime () 
	private void updateTextRenderer (java.util.List) 
		java.util.List cues
	private void clearTextRenderer () 
	public boolean handleMessage (android.os.Message) 
		android.os.Message msg
	private void invokeRendererInternalCues (java.util.List) 
		java.util.List cues
	private int getParserIndex (com.google.android.exoplayer.MediaFormat) 
		int i
		com.google.android.exoplayer.MediaFormat mediaFormat
	static void  () 
}

com/google/android/exoplayer/text/Cue.class
Cue.java
package com.google.android.exoplayer.text
public com.google.android.exoplayer.text.Cue extends java.lang.Object {
	public static final float DIMEN_UNSET
	public static final int TYPE_UNSET
	public static final int ANCHOR_TYPE_START
	public static final int ANCHOR_TYPE_MIDDLE
	public static final int ANCHOR_TYPE_END
	public static final int LINE_TYPE_FRACTION
	public static final int LINE_TYPE_NUMBER
	public final CharSequence text
	public final android.text.Layout$Alignment textAlignment
	public final float line
	public final int lineType
	public final int lineAnchor
	public final float position
	public final int positionAnchor
	public final float size
	public void  () 
	public void  (java.lang.CharSequence) 
		CharSequence text
	public void  (java.lang.CharSequence, android.text.Layout$Alignment, float, int, int, float, int, float) 
		CharSequence text
		android.text.Layout$Alignment textAlignment
		float line
		int lineType
		int lineAnchor
		float position
		int positionAnchor
		float size
}

com/google/android/exoplayer/text/PlayableSubtitle.class
PlayableSubtitle.java
package com.google.android.exoplayer.text
final com.google.android.exoplayer.text.PlayableSubtitle extends java.lang.Object implements com.google.android.exoplayer.text.Subtitle  {
	public final long startTimeUs
	private final com.google.android.exoplayer.text.Subtitle subtitle
	private final long offsetUs
	public void  (com.google.android.exoplayer.text.Subtitle, boolean, long, long) 
		com.google.android.exoplayer.text.Subtitle subtitle
		boolean isRelative
		long startTimeUs
		long offsetUs
	public int getEventTimeCount () 
	public long getEventTime (int) 
		int index
	public long getLastEventTime () 
	public int getNextEventTimeIndex (long) 
		long timeUs
	public java.util.List getCues (long) 
		long timeUs
}

com/google/android/exoplayer/text/TextRenderer.class
TextRenderer.java
package com.google.android.exoplayer.text
public abstract com.google.android.exoplayer.text.TextRenderer extends java.lang.Object {
	public abstract void onCues (java.util.List) 
}

com/google/android/exoplayer/text/ttml/
com/google/android/exoplayer/text/ttml/TtmlSubtitle.class
TtmlSubtitle.java
package com.google.android.exoplayer.text.ttml
public final com.google.android.exoplayer.text.ttml.TtmlSubtitle extends java.lang.Object implements com.google.android.exoplayer.text.Subtitle  {
	private final com.google.android.exoplayer.text.ttml.TtmlNode root
	private final long[] eventTimesUs
	private final java.util.Map globalStyles
	public void  (com.google.android.exoplayer.text.ttml.TtmlNode, java.util.Map) 
		com.google.android.exoplayer.text.ttml.TtmlNode root
		java.util.Map globalStyles
	public int getNextEventTimeIndex (long) 
		long timeUs
		int index
	public int getEventTimeCount () 
	public long getEventTime (int) 
		int index
	public long getLastEventTime () 
	com.google.android.exoplayer.text.ttml.TtmlNode getRoot () 
	public java.util.List getCues (long) 
		com.google.android.exoplayer.text.Cue cue
		long timeUs
		CharSequence cueText
	java.util.Map getGlobalStyles () 
}

com/google/android/exoplayer/text/ttml/TtmlColorParser.class
TtmlColorParser.java
package com.google.android.exoplayer.text.ttml
final com.google.android.exoplayer.text.ttml.TtmlColorParser extends java.lang.Object {
	private static final String RGB
	private static final String RGBA
	private static final java.util.regex.Pattern RGB_PATTERN
	private static final java.util.regex.Pattern RGBA_PATTERN
	static final int TRANSPARENT
	static final int BLACK
	static final int SILVER
	static final int GRAY
	static final int WHITE
	static final int MAROON
	static final int RED
	static final int PURPLE
	static final int FUCHSIA
	static final int MAGENTA
	static final int GREEN
	static final int LIME
	static final int OLIVE
	static final int YELLOW
	static final int NAVY
	static final int BLUE
	static final int TEAL
	static final int AQUA
	static final int CYAN
	private static final java.util.Map COLOR_NAME_MAP
	void  () 
	public static int parseColor (java.lang.String) 
		int color
		java.util.regex.Matcher matcher
		java.util.regex.Matcher matcher
		Integer color
		String colorExpression
	private static int argb (int, int, int, int) 
		int alpha
		int red
		int green
		int blue
	private static int rgb (int, int, int) 
		int red
		int green
		int blue
	static void  () 
}

com/google/android/exoplayer/text/ttml/TtmlStyle.class
TtmlStyle.java
package com.google.android.exoplayer.text.ttml
final com.google.android.exoplayer.text.ttml.TtmlStyle extends java.lang.Object {
	public static final short UNSPECIFIED
	public static final short STYLE_NORMAL
	public static final short STYLE_BOLD
	public static final short STYLE_ITALIC
	public static final short STYLE_BOLD_ITALIC
	public static final short FONT_SIZE_UNIT_PIXEL
	public static final short FONT_SIZE_UNIT_EM
	public static final short FONT_SIZE_UNIT_PERCENT
	private static final short OFF
	private static final short ON
	private String fontFamily
	private int color
	private boolean colorSpecified
	private int backgroundColor
	private boolean backgroundColorSpecified
	private short linethrough
	private short underline
	private short bold
	private short italic
	private short fontSizeUnit
	private float fontSize
	private String id
	private com.google.android.exoplayer.text.ttml.TtmlStyle inheritableStyle
	private android.text.Layout$Alignment textAlign
	void  () 
	public short getStyle () 
		short style
	public boolean isLinethrough () 
	public com.google.android.exoplayer.text.ttml.TtmlStyle setLinethrough (boolean) 
		boolean linethrough
	public boolean isUnderline () 
	public com.google.android.exoplayer.text.ttml.TtmlStyle setUnderline (boolean) 
		boolean underline
	public java.lang.String getFontFamily () 
	public com.google.android.exoplayer.text.ttml.TtmlStyle setFontFamily (java.lang.String) 
		String fontFamily
	public int getColor () 
	public com.google.android.exoplayer.text.ttml.TtmlStyle setColor (int) 
		int color
	public boolean hasColorSpecified () 
	public int getBackgroundColor () 
	public com.google.android.exoplayer.text.ttml.TtmlStyle setBackgroundColor (int) 
		int backgroundColor
	public boolean hasBackgroundColorSpecified () 
	public com.google.android.exoplayer.text.ttml.TtmlStyle setBold (boolean) 
		boolean isBold
	public com.google.android.exoplayer.text.ttml.TtmlStyle setItalic (boolean) 
		boolean isItalic
	public com.google.android.exoplayer.text.ttml.TtmlStyle inherit (com.google.android.exoplayer.text.ttml.TtmlStyle) 
		com.google.android.exoplayer.text.ttml.TtmlStyle ancestor
	public com.google.android.exoplayer.text.ttml.TtmlStyle chain (com.google.android.exoplayer.text.ttml.TtmlStyle) 
		com.google.android.exoplayer.text.ttml.TtmlStyle ancestor
	private com.google.android.exoplayer.text.ttml.TtmlStyle inherit (com.google.android.exoplayer.text.ttml.TtmlStyle, boolean) 
		com.google.android.exoplayer.text.ttml.TtmlStyle ancestor
		boolean chaining
	public com.google.android.exoplayer.text.ttml.TtmlStyle setId (java.lang.String) 
		String id
	public java.lang.String getId () 
	public android.text.Layout$Alignment getTextAlign () 
	public com.google.android.exoplayer.text.ttml.TtmlStyle setTextAlign (android.text.Layout$Alignment) 
		android.text.Layout$Alignment textAlign
	public com.google.android.exoplayer.text.ttml.TtmlStyle setFontSize (float) 
		float fontSize
	public com.google.android.exoplayer.text.ttml.TtmlStyle setFontSizeUnit (short) 
		short unit
	public short getFontSizeUnit () 
	public float getFontSize () 
}

com/google/android/exoplayer/text/ttml/TtmlNode.class
TtmlNode.java
package com.google.android.exoplayer.text.ttml
final com.google.android.exoplayer.text.ttml.TtmlNode extends java.lang.Object {
	public static final long UNDEFINED_TIME
	public static final String TAG_TT
	public static final String TAG_HEAD
	public static final String TAG_BODY
	public static final String TAG_DIV
	public static final String TAG_P
	public static final String TAG_SPAN
	public static final String TAG_BR
	public static final String TAG_STYLE
	public static final String TAG_STYLING
	public static final String TAG_LAYOUT
	public static final String TAG_REGION
	public static final String TAG_METADATA
	public static final String TAG_SMPTE_IMAGE
	public static final String TAG_SMPTE_DATA
	public static final String TAG_SMPTE_INFORMATION
	public static final String ATTR_ID
	public static final String ATTR_TTS_BACKGROUND_COLOR
	public static final String ATTR_TTS_FONT_STYLE
	public static final String ATTR_TTS_FONT_SIZE
	public static final String ATTR_TTS_FONT_FAMILY
	public static final String ATTR_TTS_FONT_WEIGHT
	public static final String ATTR_TTS_COLOR
	public static final String ATTR_TTS_TEXT_DECORATION
	public static final String ATTR_TTS_TEXT_ALIGN
	public static final String LINETHROUGH
	public static final String NO_LINETHROUGH
	public static final String UNDERLINE
	public static final String NO_UNDERLINE
	public static final String ITALIC
	public static final String BOLD
	public static final String LEFT
	public static final String CENTER
	public static final String RIGHT
	public static final String START
	public static final String END
	public final String tag
	public final String text
	public final boolean isTextNode
	public final long startTimeUs
	public final long endTimeUs
	public final com.google.android.exoplayer.text.ttml.TtmlStyle style
	private String[] styleIds
	private java.util.List children
	private int start
	private int end
	public static com.google.android.exoplayer.text.ttml.TtmlNode buildTextNode (java.lang.String) 
		String text
	public static com.google.android.exoplayer.text.ttml.TtmlNode buildNode (java.lang.String, long, long, com.google.android.exoplayer.text.ttml.TtmlStyle, java.lang.String[]) 
		String tag
		long startTimeUs
		long endTimeUs
		com.google.android.exoplayer.text.ttml.TtmlStyle style
		String[] styleIds
	private void  (java.lang.String, java.lang.String, long, long, com.google.android.exoplayer.text.ttml.TtmlStyle, java.lang.String[]) 
		String tag
		String text
		long startTimeUs
		long endTimeUs
		com.google.android.exoplayer.text.ttml.TtmlStyle style
		String[] styleIds
	public boolean isActive (long) 
		long timeUs
	public void addChild (com.google.android.exoplayer.text.ttml.TtmlNode) 
		com.google.android.exoplayer.text.ttml.TtmlNode child
	public com.google.android.exoplayer.text.ttml.TtmlNode getChild (int) 
		int index
	public int getChildCount () 
	public long[] getEventTimesUs () 
		long eventTimeUs
		java.util.TreeSet eventTimeSet
		long[] eventTimes
		java.util.Iterator eventTimeIterator
		int i
	private void getEventTimes (java.util.TreeSet, boolean) 
		int i
		java.util.TreeSet out
		boolean descendsPNode
		boolean isPNode
	public java.lang.String[] getStyleIds () 
	public java.lang.CharSequence getText (long, java.util.Map) 
		int j
		int spacesToDelete
		int i
		int i
		int i
		long timeUs
		java.util.Map globalStyles
		android.text.SpannableStringBuilder builder
		int builderLength
	private android.text.SpannableStringBuilder traverseForText (long, android.text.SpannableStringBuilder, boolean) 
		int i
		boolean isPNode
		long timeUs
		android.text.SpannableStringBuilder builder
		boolean descendsPNode
	private void traverseForStyle (android.text.SpannableStringBuilder, java.util.Map) 
		int i
		com.google.android.exoplayer.text.ttml.TtmlStyle resolvedStyle
		android.text.SpannableStringBuilder builder
		java.util.Map globalStyles
}

com/google/android/exoplayer/text/ttml/TtmlRenderUtil.class
TtmlRenderUtil.java
package com.google.android.exoplayer.text.ttml
final com.google.android.exoplayer.text.ttml.TtmlRenderUtil extends java.lang.Object {
	public static com.google.android.exoplayer.text.ttml.TtmlStyle resolveStyle (com.google.android.exoplayer.text.ttml.TtmlStyle, java.lang.String[], java.util.Map) 
		int i
		com.google.android.exoplayer.text.ttml.TtmlStyle chainedStyle
		int i
		com.google.android.exoplayer.text.ttml.TtmlStyle style
		String[] styleIds
		java.util.Map globalStyles
	public static void applyStylesToSpan (android.text.SpannableStringBuilder, int, int, com.google.android.exoplayer.text.ttml.TtmlStyle) 
		android.text.SpannableStringBuilder builder
		int start
		int end
		com.google.android.exoplayer.text.ttml.TtmlStyle style
	static void endParagraph (android.text.SpannableStringBuilder) 
		android.text.SpannableStringBuilder builder
		int position
	static java.lang.String applyTextElementSpacePolicy (java.lang.String) 
		String in
		String out
	private void  () 
}

com/google/android/exoplayer/text/ttml/TtmlParser.class
TtmlParser.java
package com.google.android.exoplayer.text.ttml
public final com.google.android.exoplayer.text.ttml.TtmlParser extends java.lang.Object implements com.google.android.exoplayer.text.SubtitleParser  {
	private static final String TAG
	private static final String ATTR_BEGIN
	private static final String ATTR_DURATION
	private static final String ATTR_END
	private static final String ATTR_STYLE
	private static final java.util.regex.Pattern CLOCK_TIME
	private static final java.util.regex.Pattern OFFSET_TIME
	private static final java.util.regex.Pattern FONT_SIZE
	private static final int DEFAULT_FRAMERATE
	private static final int DEFAULT_SUBFRAMERATE
	private static final int DEFAULT_TICKRATE
	private final org.xmlpull.v1.XmlPullParserFactory xmlParserFactory
	public void  () 
		org.xmlpull.v1.XmlPullParserException e
	public boolean canParse (java.lang.String) 
		String mimeType
	public com.google.android.exoplayer.text.ttml.TtmlSubtitle parse (byte[], int, int)  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.text.ttml.TtmlNode node
		com.google.android.exoplayer.ParserException e
		String name
		com.google.android.exoplayer.text.ttml.TtmlNode parent
		org.xmlpull.v1.XmlPullParser xmlParser
		java.util.Map globalStyles
		java.io.ByteArrayInputStream inputStream
		com.google.android.exoplayer.text.ttml.TtmlSubtitle ttmlSubtitle
		java.util.LinkedList nodeStack
		int unsupportedNodeDepth
		int eventType
		org.xmlpull.v1.XmlPullParserException xppe
		java.io.IOException e
		byte[] bytes
		int offset
		int length
	private java.util.Map parseHeader (org.xmlpull.v1.XmlPullParser, java.util.Map)  throws java.io.IOException org.xmlpull.v1.XmlPullParserException 
		int i
		String[] ids
		String parentStyleId
		com.google.android.exoplayer.text.ttml.TtmlStyle style
		org.xmlpull.v1.XmlPullParser xmlParser
		java.util.Map globalStyles
	private java.lang.String[] parseStyleIds (java.lang.String) 
		String parentStyleIds
	private com.google.android.exoplayer.text.ttml.TtmlStyle parseStyleAttributes (org.xmlpull.v1.XmlPullParser, com.google.android.exoplayer.text.ttml.TtmlStyle) 
		IllegalArgumentException e
		IllegalArgumentException e
		com.google.android.exoplayer.ParserException e
		String attributeName
		String attributeValue
		int i
		org.xmlpull.v1.XmlPullParser parser
		com.google.android.exoplayer.text.ttml.TtmlStyle style
		int attributeCount
	private com.google.android.exoplayer.text.ttml.TtmlStyle createIfNull (com.google.android.exoplayer.text.ttml.TtmlStyle) 
		com.google.android.exoplayer.text.ttml.TtmlStyle style
	private com.google.android.exoplayer.text.ttml.TtmlNode parseNode (org.xmlpull.v1.XmlPullParser, com.google.android.exoplayer.text.ttml.TtmlNode)  throws com.google.android.exoplayer.ParserException 
		String[] ids
		String attr
		String value
		int i
		org.xmlpull.v1.XmlPullParser parser
		com.google.android.exoplayer.text.ttml.TtmlNode parent
		long duration
		long startTime
		long endTime
		String[] styleIds
		int attributeCount
		com.google.android.exoplayer.text.ttml.TtmlStyle style
	private static boolean isSupportedTag (java.lang.String) 
		String tag
	private static void parseFontSize (java.lang.String, com.google.android.exoplayer.text.ttml.TtmlStyle)  throws com.google.android.exoplayer.ParserException 
		java.util.regex.Matcher matcher
		java.util.regex.Matcher matcher
		String unit
		String expression
		com.google.android.exoplayer.text.ttml.TtmlStyle out
		String[] expressions
		java.util.regex.Matcher matcher
	private static long parseTimeExpression (java.lang.String, int, int, int)  throws com.google.android.exoplayer.ParserException 
		String hours
		double durationSeconds
		String minutes
		String seconds
		String fraction
		String frames
		String subframes
		String timeValue
		double offsetSeconds
		String unit
		String time
		int frameRate
		int subframeRate
		int tickRate
		java.util.regex.Matcher matcher
	public volatile com.google.android.exoplayer.text.Subtitle parse (byte[], int, int)  throws com.google.android.exoplayer.ParserException 
	static void  () 
}

com/google/android/exoplayer/text/webvtt/
com/google/android/exoplayer/text/webvtt/Mp4WebvttSubtitle.class
Mp4WebvttSubtitle.java
package com.google.android.exoplayer.text.webvtt
final com.google.android.exoplayer.text.webvtt.Mp4WebvttSubtitle extends java.lang.Object implements com.google.android.exoplayer.text.Subtitle  {
	private final java.util.List cues
	public void  (java.util.List) 
		java.util.List cueList
	public int getNextEventTimeIndex (long) 
		long timeUs
	public int getEventTimeCount () 
	public long getEventTime (int) 
		int index
	public long getLastEventTime () 
	public java.util.List getCues (long) 
		long timeUs
}

com/google/android/exoplayer/text/webvtt/WebvttCueParser$StartTag.class
WebvttCueParser.java
package com.google.android.exoplayer.text.webvtt
final com.google.android.exoplayer.text.webvtt.WebvttCueParser$StartTag extends java.lang.Object {
	public final String name
	public final int position
	public void  (java.lang.String, int) 
		String name
		int position
}

com/google/android/exoplayer/text/webvtt/WebvttCue$Builder.class
WebvttCue.java
package com.google.android.exoplayer.text.webvtt
public final com.google.android.exoplayer.text.webvtt.WebvttCue$Builder extends java.lang.Object {
	private static final String TAG
	private long startTime
	private long endTime
	private CharSequence text
	private android.text.Layout$Alignment textAlignment
	private float line
	private int lineType
	private int lineAnchor
	private float position
	private int positionAnchor
	private float width
	public void  () 
	public void reset () 
	public com.google.android.exoplayer.text.webvtt.WebvttCue build () 
	public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setStartTime (long) 
		long time
	public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setEndTime (long) 
		long time
	public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setText (java.lang.CharSequence) 
		CharSequence aText
	public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setTextAlignment (android.text.Layout$Alignment) 
		android.text.Layout$Alignment textAlignment
	public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setLine (float) 
		float line
	public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setLineType (int) 
		int lineType
	public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setLineAnchor (int) 
		int lineAnchor
	public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setPosition (float) 
		float position
	public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setPositionAnchor (int) 
		int positionAnchor
	public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setWidth (float) 
		float width
	private com.google.android.exoplayer.text.webvtt.WebvttCue$Builder derivePositionAnchorFromAlignment () 
}

com/google/android/exoplayer/text/webvtt/WebvttCueParser.class
WebvttCueParser.java
package com.google.android.exoplayer.text.webvtt
public final com.google.android.exoplayer.text.webvtt.WebvttCueParser extends java.lang.Object {
	public static final java.util.regex.Pattern CUE_HEADER_PATTERN
	private static final java.util.regex.Pattern COMMENT
	private static final java.util.regex.Pattern CUE_SETTING_PATTERN
	private static final char CHAR_LESS_THAN
	private static final char CHAR_GREATER_THAN
	private static final char CHAR_SLASH
	private static final char CHAR_AMPERSAND
	private static final char CHAR_SEMI_COLON
	private static final char CHAR_SPACE
	private static final String SPACE
	private static final String ENTITY_LESS_THAN
	private static final String ENTITY_GREATER_THAN
	private static final String ENTITY_AMPERSAND
	private static final String ENTITY_NON_BREAK_SPACE
	private static final String TAG_BOLD
	private static final String TAG_ITALIC
	private static final String TAG_UNDERLINE
	private static final String TAG_CLASS
	private static final String TAG_VOICE
	private static final String TAG_LANG
	private static final int STYLE_BOLD
	private static final int STYLE_ITALIC
	private static final String TAG
	private final StringBuilder textBuilder
	public void  () 
	boolean parseNextValidCue (com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.text.webvtt.WebvttCue$Builder) 
		com.google.android.exoplayer.util.ParsableByteArray webvttData
		com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
		java.util.regex.Matcher cueHeaderMatcher
	static void parseCueSettingsList (java.lang.String, com.google.android.exoplayer.text.webvtt.WebvttCue$Builder) 
		NumberFormatException e
		String name
		String value
		String cueSettingsList
		com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
		java.util.regex.Matcher cueSettingMatcher
	public static java.util.regex.Matcher findNextCueHeader (com.google.android.exoplayer.util.ParsableByteArray) 
		java.util.regex.Matcher cueHeaderMatcher
		com.google.android.exoplayer.util.ParsableByteArray input
		String line
	static void parseCueText (java.lang.String, com.google.android.exoplayer.text.webvtt.WebvttCue$Builder) 
		com.google.android.exoplayer.text.webvtt.WebvttCueParser$StartTag startTag
		int ltPos
		boolean isClosingTag
		boolean isVoidTag
		int semiColonEnd
		int spaceEnd
		int entityEnd
		char curr
		String markup
		com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
		android.text.SpannableStringBuilder spannedText
		java.util.Stack startTagStack
		String[] tagTokens
		int pos
	private static boolean parseCue (java.util.regex.Matcher, com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.text.webvtt.WebvttCue$Builder, java.lang.StringBuilder) 
		NumberFormatException e
		java.util.regex.Matcher cueHeaderMatcher
		com.google.android.exoplayer.util.ParsableByteArray webvttData
		com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
		StringBuilder textBuilder
		String line
	private static void parseLineAttribute (java.lang.String, com.google.android.exoplayer.text.webvtt.WebvttCue$Builder)  throws java.lang.NumberFormatException 
		String s
		com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
		int commaPosition
	private static void parsePositionAttribute (java.lang.String, com.google.android.exoplayer.text.webvtt.WebvttCue$Builder)  throws java.lang.NumberFormatException 
		String s
		com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
		int commaPosition
	private static int parsePositionAnchor (java.lang.String) 
		String s
	private static android.text.Layout$Alignment parseTextAlignment (java.lang.String) 
		String s
	private static int findEndOfTag (java.lang.String, int) 
		String markup
		int startPos
		int idx
	private static void applyEntity (java.lang.String, android.text.SpannableStringBuilder) 
		String entity
		android.text.SpannableStringBuilder spannedText
	private static boolean isSupportedTag (java.lang.String) 
		String tagName
	private static void applySpansForTag (com.google.android.exoplayer.text.webvtt.WebvttCueParser$StartTag, android.text.SpannableStringBuilder) 
		com.google.android.exoplayer.text.webvtt.WebvttCueParser$StartTag startTag
		android.text.SpannableStringBuilder spannedText
	private static java.lang.String[] tokenizeTag (java.lang.String) 
		String fullTagExpression
	static void  () 
}

com/google/android/exoplayer/text/webvtt/WebvttParser.class
WebvttParser.java
package com.google.android.exoplayer.text.webvtt
public final com.google.android.exoplayer.text.webvtt.WebvttParser extends java.lang.Object implements com.google.android.exoplayer.text.SubtitleParser  {
	private final com.google.android.exoplayer.text.webvtt.WebvttCueParser cueParser
	private final com.google.android.exoplayer.util.ParsableByteArray parsableWebvttData
	private final com.google.android.exoplayer.text.webvtt.WebvttCue$Builder webvttCueBuilder
	public void  () 
	public final boolean canParse (java.lang.String) 
		String mimeType
	public final com.google.android.exoplayer.text.webvtt.WebvttSubtitle parse (byte[], int, int)  throws com.google.android.exoplayer.ParserException 
		byte[] bytes
		int offset
		int length
		java.util.ArrayList subtitles
	public volatile com.google.android.exoplayer.text.Subtitle parse (byte[], int, int)  throws com.google.android.exoplayer.ParserException 
}

com/google/android/exoplayer/text/webvtt/WebvttCue$1.class
WebvttCue.java
package com.google.android.exoplayer.text.webvtt
 com.google.android.exoplayer.text.webvtt.WebvttCue$1 extends java.lang.Object {
	static final int[] $SwitchMap$android$text$Layout$Alignment
	static void  () 
}

com/google/android/exoplayer/text/webvtt/WebvttCue.class
WebvttCue.java
package com.google.android.exoplayer.text.webvtt
final com.google.android.exoplayer.text.webvtt.WebvttCue extends com.google.android.exoplayer.text.Cue {
	public final long startTime
	public final long endTime
	public void  (java.lang.CharSequence) 
		CharSequence text
	public void  (long, long, java.lang.CharSequence) 
		long startTime
		long endTime
		CharSequence text
	public void  (long, long, java.lang.CharSequence, android.text.Layout$Alignment, float, int, int, float, int, float) 
		long startTime
		long endTime
		CharSequence text
		android.text.Layout$Alignment textAlignment
		float line
		int lineType
		int lineAnchor
		float position
		int positionAnchor
		float width
	public boolean isNormalCue () 
}

com/google/android/exoplayer/text/webvtt/WebvttSubtitle.class
WebvttSubtitle.java
package com.google.android.exoplayer.text.webvtt
public final com.google.android.exoplayer.text.webvtt.WebvttSubtitle extends java.lang.Object implements com.google.android.exoplayer.text.Subtitle  {
	private final java.util.List cues
	private final int numCues
	private final long[] cueTimesUs
	private final long[] sortedCueTimesUs
	public void  (java.util.List) 
		com.google.android.exoplayer.text.webvtt.WebvttCue cue
		int arrayIndex
		int cueIndex
		java.util.List cues
	public int getNextEventTimeIndex (long) 
		long timeUs
		int index
	public int getEventTimeCount () 
	public long getEventTime (int) 
		int index
	public long getLastEventTime () 
	public java.util.List getCues (long) 
		com.google.android.exoplayer.text.webvtt.WebvttCue cue
		int i
		long timeUs
		java.util.ArrayList list
		com.google.android.exoplayer.text.webvtt.WebvttCue firstNormalCue
		android.text.SpannableStringBuilder normalCueTextBuilder
}

com/google/android/exoplayer/text/webvtt/WebvttParserUtil.class
WebvttParserUtil.java
package com.google.android.exoplayer.text.webvtt
public final com.google.android.exoplayer.text.webvtt.WebvttParserUtil extends java.lang.Object {
	private static final java.util.regex.Pattern HEADER
	private void  () 
	public static void validateWebvttHeaderLine (com.google.android.exoplayer.util.ParsableByteArray)  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.util.ParsableByteArray input
		String line
	public static long parseTimestampUs (java.lang.String)  throws java.lang.NumberFormatException 
		int i
		String timestamp
		long value
		String[] parts
		String[] subparts
	public static float parsePercentage (java.lang.String)  throws java.lang.NumberFormatException 
		String s
	static void  () 
}

com/google/android/exoplayer/text/webvtt/Mp4WebvttParser.class
Mp4WebvttParser.java
package com.google.android.exoplayer.text.webvtt
public final com.google.android.exoplayer.text.webvtt.Mp4WebvttParser extends java.lang.Object implements com.google.android.exoplayer.text.SubtitleParser  {
	private static final int BOX_HEADER_SIZE
	private static final int TYPE_payl
	private static final int TYPE_sttg
	private static final int TYPE_vttc
	private final com.google.android.exoplayer.util.ParsableByteArray sampleData
	private final com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
	public void  () 
	public boolean canParse (java.lang.String) 
		String mimeType
	public com.google.android.exoplayer.text.webvtt.Mp4WebvttSubtitle parse (byte[], int, int)  throws com.google.android.exoplayer.ParserException 
		int boxSize
		int boxType
		byte[] bytes
		int offset
		int length
		java.util.List resultingCueList
	private static com.google.android.exoplayer.text.Cue parseVttCueBox (com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.text.webvtt.WebvttCue$Builder, int)  throws com.google.android.exoplayer.ParserException 
		int boxSize
		int boxType
		int payloadLength
		String boxPayload
		com.google.android.exoplayer.util.ParsableByteArray sampleData
		com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
		int remainingCueBoxBytes
	public volatile com.google.android.exoplayer.text.Subtitle parse (byte[], int, int)  throws com.google.android.exoplayer.ParserException 
	static void  () 
}

com/google/android/exoplayer/text/Subtitle.class
Subtitle.java
package com.google.android.exoplayer.text
public abstract com.google.android.exoplayer.text.Subtitle extends java.lang.Object {
	public abstract int getNextEventTimeIndex (long) 
	public abstract int getEventTimeCount () 
	public abstract long getEventTime (int) 
	public abstract long getLastEventTime () 
	public abstract java.util.List getCues (long) 
}

com/google/android/exoplayer/text/SubtitleLayout.class
SubtitleLayout.java
package com.google.android.exoplayer.text
public final com.google.android.exoplayer.text.SubtitleLayout extends android.view.View {
	public static final float DEFAULT_TEXT_SIZE_FRACTION
	public static final float DEFAULT_BOTTOM_PADDING_FRACTION
	private static final int FRACTIONAL
	private static final int FRACTIONAL_IGNORE_PADDING
	private static final int ABSOLUTE
	private final java.util.List painters
	private java.util.List cues
	private int textSizeType
	private float textSize
	private boolean applyEmbeddedStyles
	private com.google.android.exoplayer.text.CaptionStyleCompat style
	private float bottomPaddingFraction
	public void  (android.content.Context) 
		android.content.Context context
	public void  (android.content.Context, android.util.AttributeSet) 
		android.content.Context context
		android.util.AttributeSet attrs
	public void setCues (java.util.List) 
		java.util.List cues
		int cueCount
	public void setFixedTextSize (int, float) 
		android.content.res.Resources resources
		int unit
		float size
		android.content.Context context
		android.content.res.Resources resources
	public void setFractionalTextSize (float) 
		float fractionOfHeight
	public void setFractionalTextSize (float, boolean) 
		float fractionOfHeight
		boolean ignorePadding
	private void setTextSize (int, float) 
		int textSizeType
		float textSize
	public void setApplyEmbeddedStyles (boolean) 
		boolean applyEmbeddedStyles
	public void setStyle (com.google.android.exoplayer.text.CaptionStyleCompat) 
		com.google.android.exoplayer.text.CaptionStyleCompat style
	public void setBottomPaddingFraction (float) 
		float bottomPaddingFraction
	public void dispatchDraw (android.graphics.Canvas) 
		int i
		android.graphics.Canvas canvas
		int cueCount
		int rawTop
		int rawBottom
		int left
		int top
		int right
		int bottom
		float textSizePx
}

com/google/android/exoplayer/text/tx3g/
com/google/android/exoplayer/text/tx3g/Tx3gSubtitle.class
Tx3gSubtitle.java
package com.google.android.exoplayer.text.tx3g
final com.google.android.exoplayer.text.tx3g.Tx3gSubtitle extends java.lang.Object implements com.google.android.exoplayer.text.Subtitle  {
	private final java.util.List cues
	public void  (com.google.android.exoplayer.text.Cue) 
		com.google.android.exoplayer.text.Cue cue
	public int getNextEventTimeIndex (long) 
		long timeUs
	public int getEventTimeCount () 
	public long getEventTime (int) 
		int index
	public long getLastEventTime () 
	public java.util.List getCues (long) 
		long timeUs
}

com/google/android/exoplayer/text/tx3g/Tx3gParser.class
Tx3gParser.java
package com.google.android.exoplayer.text.tx3g
public final com.google.android.exoplayer.text.tx3g.Tx3gParser extends java.lang.Object implements com.google.android.exoplayer.text.SubtitleParser  {
	public void  () 
	public boolean canParse (java.lang.String) 
		String mimeType
	public com.google.android.exoplayer.text.Subtitle parse (byte[], int, int) 
		byte[] bytes
		int offset
		int length
		String cueText
}

com/google/android/exoplayer/text/SubtitleParser.class
SubtitleParser.java
package com.google.android.exoplayer.text
public abstract com.google.android.exoplayer.text.SubtitleParser extends java.lang.Object {
	public abstract boolean canParse (java.lang.String) 
	public abstract com.google.android.exoplayer.text.Subtitle parse (byte[], int, int)  throws com.google.android.exoplayer.ParserException 
}

com/google/android/exoplayer/DecoderInfo.class
DecoderInfo.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.DecoderInfo extends java.lang.Object {
	public final String name
	public final boolean adaptive
	void  (java.lang.String, boolean) 
		String name
		boolean adaptive
}

com/google/android/exoplayer/DefaultLoadControl$1.class
DefaultLoadControl.java
package com.google.android.exoplayer
 com.google.android.exoplayer.DefaultLoadControl$1 extends java.lang.Object implements java.lang.Runnable  {
	final boolean val$loading
	final com.google.android.exoplayer.DefaultLoadControl this$0
	void  (com.google.android.exoplayer.DefaultLoadControl, boolean) 
		com.google.android.exoplayer.DefaultLoadControl this$0
	public void run () 
}

com/google/android/exoplayer/VideoFrameReleaseTimeHelper$VSyncSampler.class
VideoFrameReleaseTimeHelper.java
package com.google.android.exoplayer
final com.google.android.exoplayer.VideoFrameReleaseTimeHelper$VSyncSampler extends java.lang.Object implements android.view.Choreographer$FrameCallback android.os.Handler$Callback  {
	public volatile long sampledVsyncTimeNs
	private static final int CREATE_CHOREOGRAPHER
	private static final int MSG_ADD_OBSERVER
	private static final int MSG_REMOVE_OBSERVER
	private static final com.google.android.exoplayer.VideoFrameReleaseTimeHelper$VSyncSampler INSTANCE
	private final android.os.Handler handler
	private final android.os.HandlerThread choreographerOwnerThread
	private android.view.Choreographer choreographer
	private int observerCount
	public static com.google.android.exoplayer.VideoFrameReleaseTimeHelper$VSyncSampler getInstance () 
	private void  () 
	public void addObserver () 
	public void removeObserver () 
	public void doFrame (long) 
		long vsyncTimeNs
	public boolean handleMessage (android.os.Message) 
		android.os.Message message
	private void createChoreographerInstanceInternal () 
	private void addObserverInternal () 
	private void removeObserverInternal () 
	static void  () 
}

com/google/android/exoplayer/ExoPlayer$ExoPlayerComponent.class
ExoPlayer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent extends java.lang.Object {
	public abstract void handleMessage (int, java.lang.Object)  throws com.google.android.exoplayer.ExoPlaybackException 
}

com/google/android/exoplayer/ExoPlayer$Listener.class
ExoPlayer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.ExoPlayer$Listener extends java.lang.Object {
	public abstract void onPlayerStateChanged (boolean, int) 
	public abstract void onPlayWhenReadyCommitted () 
	public abstract void onPlayerError (com.google.android.exoplayer.ExoPlaybackException) 
}

com/google/android/exoplayer/MediaFormatHolder.class
MediaFormatHolder.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.MediaFormatHolder extends java.lang.Object {
	public com.google.android.exoplayer.MediaFormat format
	public com.google.android.exoplayer.drm.DrmInitData drmInitData
	public void  () 
}

com/google/android/exoplayer/chunk/
com/google/android/exoplayer/chunk/ChunkSampleSource$4.class
ChunkSampleSource.java
package com.google.android.exoplayer.chunk
 com.google.android.exoplayer.chunk.ChunkSampleSource$4 extends java.lang.Object implements java.lang.Runnable  {
	final java.io.IOException val$e
	final com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	void  (com.google.android.exoplayer.chunk.ChunkSampleSource, java.io.IOException) 
		com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	public void run () 
}

com/google/android/exoplayer/chunk/ChunkSampleSource$1.class
ChunkSampleSource.java
package com.google.android.exoplayer.chunk
 com.google.android.exoplayer.chunk.ChunkSampleSource$1 extends java.lang.Object implements java.lang.Runnable  {
	final long val$length
	final int val$type
	final int val$trigger
	final com.google.android.exoplayer.chunk.Format val$format
	final long val$mediaStartTimeUs
	final long val$mediaEndTimeUs
	final com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	void  (com.google.android.exoplayer.chunk.ChunkSampleSource, long, int, int, com.google.android.exoplayer.chunk.Format, long, long) 
		com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	public void run () 
}

com/google/android/exoplayer/chunk/FormatEvaluator$RandomEvaluator.class
FormatEvaluator.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.FormatEvaluator$RandomEvaluator extends java.lang.Object implements com.google.android.exoplayer.chunk.FormatEvaluator  {
	private final java.util.Random random
	public void  () 
	public void  (int) 
		int seed
	public void enable () 
	public void disable () 
	public void evaluate (java.util.List, long, com.google.android.exoplayer.chunk.Format[], com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation) 
		java.util.List queue
		long playbackPositionUs
		com.google.android.exoplayer.chunk.Format[] formats
		com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation evaluation
		com.google.android.exoplayer.chunk.Format newFormat
}

com/google/android/exoplayer/chunk/MediaChunk.class
MediaChunk.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.MediaChunk extends com.google.android.exoplayer.chunk.Chunk {
	public final long startTimeUs
	public final long endTimeUs
	public final int chunkIndex
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, long, long, int) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		int trigger
		com.google.android.exoplayer.chunk.Format format
		long startTimeUs
		long endTimeUs
		int chunkIndex
	public int getNextChunkIndex () 
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, long, long, int, int) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		int trigger
		com.google.android.exoplayer.chunk.Format format
		long startTimeUs
		long endTimeUs
		int chunkIndex
		int parentId
}

com/google/android/exoplayer/chunk/ContainerMediaChunk.class
ContainerMediaChunk.java
package com.google.android.exoplayer.chunk
public com.google.android.exoplayer.chunk.ContainerMediaChunk extends com.google.android.exoplayer.chunk.BaseMediaChunk implements com.google.android.exoplayer.chunk.ChunkExtractorWrapper$SingleTrackOutput  {
	private final com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractorWrapper
	private final long sampleOffsetUs
	private final int adaptiveMaxWidth
	private final int adaptiveMaxHeight
	private com.google.android.exoplayer.MediaFormat mediaFormat
	private com.google.android.exoplayer.drm.DrmInitData drmInitData
	private volatile int bytesLoaded
	private volatile boolean loadCanceled
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, long, long, int, long, com.google.android.exoplayer.chunk.ChunkExtractorWrapper, com.google.android.exoplayer.MediaFormat, int, int, com.google.android.exoplayer.drm.DrmInitData, boolean, int) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		int trigger
		com.google.android.exoplayer.chunk.Format format
		long startTimeUs
		long endTimeUs
		int chunkIndex
		long sampleOffsetUs
		com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractorWrapper
		com.google.android.exoplayer.MediaFormat mediaFormat
		int adaptiveMaxWidth
		int adaptiveMaxHeight
		com.google.android.exoplayer.drm.DrmInitData drmInitData
		boolean isMediaFormatFinal
		int parentId
	public final long bytesLoaded () 
	public final com.google.android.exoplayer.MediaFormat getMediaFormat () 
	public final com.google.android.exoplayer.drm.DrmInitData getDrmInitData () 
	public final void seekMap (com.google.android.exoplayer.extractor.SeekMap) 
		com.google.android.exoplayer.extractor.SeekMap seekMap
	public final void drmInitData (com.google.android.exoplayer.drm.DrmInitData) 
		com.google.android.exoplayer.drm.DrmInitData drmInitData
	public final void format (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat mediaFormat
	public final int sampleData (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		int length
		boolean allowEndOfInput
	public final void sampleData (com.google.android.exoplayer.util.ParsableByteArray, int) 
		com.google.android.exoplayer.util.ParsableByteArray data
		int length
	public final void sampleMetadata (long, int, int, int, byte[]) 
		long timeUs
		int flags
		int size
		int offset
		byte[] encryptionKey
	public final void cancelLoad () 
	public final boolean isLoadCanceled () 
	public final void load ()  throws java.io.IOException java.lang.InterruptedException 
		int result
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.upstream.DataSpec loadDataSpec
	private static com.google.android.exoplayer.MediaFormat getAdjustedMediaFormat (com.google.android.exoplayer.MediaFormat, long, int, int) 
		com.google.android.exoplayer.MediaFormat format
		long sampleOffsetUs
		int adaptiveMaxWidth
		int adaptiveMaxHeight
}

com/google/android/exoplayer/chunk/DataChunk.class
DataChunk.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.DataChunk extends com.google.android.exoplayer.chunk.Chunk {
	private static final int READ_GRANULARITY
	private byte[] data
	private int limit
	private volatile boolean loadCanceled
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, int, com.google.android.exoplayer.chunk.Format, int, byte[]) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		int type
		int trigger
		com.google.android.exoplayer.chunk.Format format
		int parentId
		byte[] data
	public byte[] getDataHolder () 
	public long bytesLoaded () 
	public final void cancelLoad () 
	public final boolean isLoadCanceled () 
	public final void load ()  throws java.io.IOException java.lang.InterruptedException 
		int bytesRead
	protected abstract void consume (byte[], int)  throws java.io.IOException 
	private void maybeExpandData () 
}

com/google/android/exoplayer/chunk/SingleSampleMediaChunk.class
SingleSampleMediaChunk.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.SingleSampleMediaChunk extends com.google.android.exoplayer.chunk.BaseMediaChunk {
	private final com.google.android.exoplayer.MediaFormat sampleFormat
	private final com.google.android.exoplayer.drm.DrmInitData sampleDrmInitData
	private volatile int bytesLoaded
	private volatile boolean loadCanceled
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, long, long, int, com.google.android.exoplayer.MediaFormat, com.google.android.exoplayer.drm.DrmInitData, int) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		int trigger
		com.google.android.exoplayer.chunk.Format format
		long startTimeUs
		long endTimeUs
		int chunkIndex
		com.google.android.exoplayer.MediaFormat sampleFormat
		com.google.android.exoplayer.drm.DrmInitData sampleDrmInitData
		int parentId
	public long bytesLoaded () 
	public com.google.android.exoplayer.MediaFormat getMediaFormat () 
	public com.google.android.exoplayer.drm.DrmInitData getDrmInitData () 
	public void cancelLoad () 
	public boolean isLoadCanceled () 
	public void load ()  throws java.io.IOException java.lang.InterruptedException 
		int result
		int sampleSize
		com.google.android.exoplayer.upstream.DataSpec loadDataSpec
}

com/google/android/exoplayer/chunk/Chunk.class
Chunk.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.Chunk extends java.lang.Object implements com.google.android.exoplayer.upstream.Loader$Loadable  {
	public static final int TYPE_UNSPECIFIED
	public static final int TYPE_MEDIA
	public static final int TYPE_MEDIA_INITIALIZATION
	public static final int TYPE_DRM
	public static final int TYPE_MANIFEST
	public static final int TYPE_CUSTOM_BASE
	public static final int TRIGGER_UNSPECIFIED
	public static final int TRIGGER_INITIAL
	public static final int TRIGGER_MANUAL
	public static final int TRIGGER_ADAPTIVE
	public static final int TRIGGER_TRICK_PLAY
	public static final int TRIGGER_CUSTOM_BASE
	public static final int NO_PARENT_ID
	public final int type
	public final int trigger
	public final com.google.android.exoplayer.chunk.Format format
	public final com.google.android.exoplayer.upstream.DataSpec dataSpec
	public final int parentId
	protected final com.google.android.exoplayer.upstream.DataSource dataSource
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, int, com.google.android.exoplayer.chunk.Format, int) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		int type
		int trigger
		com.google.android.exoplayer.chunk.Format format
		int parentId
	public abstract long bytesLoaded () 
}

com/google/android/exoplayer/chunk/ChunkSampleSource$2.class
ChunkSampleSource.java
package com.google.android.exoplayer.chunk
 com.google.android.exoplayer.chunk.ChunkSampleSource$2 extends java.lang.Object implements java.lang.Runnable  {
	final long val$bytesLoaded
	final int val$type
	final int val$trigger
	final com.google.android.exoplayer.chunk.Format val$format
	final long val$mediaStartTimeUs
	final long val$mediaEndTimeUs
	final long val$elapsedRealtimeMs
	final long val$loadDurationMs
	final com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	void  (com.google.android.exoplayer.chunk.ChunkSampleSource, long, int, int, com.google.android.exoplayer.chunk.Format, long, long, long, long) 
		com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	public void run () 
}

com/google/android/exoplayer/chunk/FormatEvaluator$AdaptiveEvaluator.class
FormatEvaluator.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.FormatEvaluator$AdaptiveEvaluator extends java.lang.Object implements com.google.android.exoplayer.chunk.FormatEvaluator  {
	public static final int DEFAULT_MAX_INITIAL_BITRATE
	public static final int DEFAULT_MIN_DURATION_FOR_QUALITY_INCREASE_MS
	public static final int DEFAULT_MAX_DURATION_FOR_QUALITY_DECREASE_MS
	public static final int DEFAULT_MIN_DURATION_TO_RETAIN_AFTER_DISCARD_MS
	public static final float DEFAULT_BANDWIDTH_FRACTION
	private final com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
	private final int maxInitialBitrate
	private final long minDurationForQualityIncreaseUs
	private final long maxDurationForQualityDecreaseUs
	private final long minDurationToRetainAfterDiscardUs
	private final float bandwidthFraction
	public void  (com.google.android.exoplayer.upstream.BandwidthMeter) 
		com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
	public void  (com.google.android.exoplayer.upstream.BandwidthMeter, int, int, int, int, float) 
		com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
		int maxInitialBitrate
		int minDurationForQualityIncreaseMs
		int maxDurationForQualityDecreaseMs
		int minDurationToRetainAfterDiscardMs
		float bandwidthFraction
	public void enable () 
	public void disable () 
	public void evaluate (java.util.List, long, com.google.android.exoplayer.chunk.Format[], com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation) 
		com.google.android.exoplayer.chunk.MediaChunk thisChunk
		long durationBeforeThisSegmentUs
		int i
		java.util.List queue
		long playbackPositionUs
		com.google.android.exoplayer.chunk.Format[] formats
		com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation evaluation
		long bufferedDurationUs
		com.google.android.exoplayer.chunk.Format current
		com.google.android.exoplayer.chunk.Format ideal
		boolean isHigher
		boolean isLower
	private com.google.android.exoplayer.chunk.Format determineIdealFormat (com.google.android.exoplayer.chunk.Format[], long) 
		com.google.android.exoplayer.chunk.Format format
		int i
		com.google.android.exoplayer.chunk.Format[] formats
		long bitrateEstimate
		long effectiveBitrate
}

com/google/android/exoplayer/chunk/InitializationChunk.class
InitializationChunk.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.InitializationChunk extends com.google.android.exoplayer.chunk.Chunk implements com.google.android.exoplayer.chunk.ChunkExtractorWrapper$SingleTrackOutput  {
	private final com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractorWrapper
	private com.google.android.exoplayer.MediaFormat mediaFormat
	private com.google.android.exoplayer.drm.DrmInitData drmInitData
	private com.google.android.exoplayer.extractor.SeekMap seekMap
	private volatile int bytesLoaded
	private volatile boolean loadCanceled
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.chunk.ChunkExtractorWrapper) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		int trigger
		com.google.android.exoplayer.chunk.Format format
		com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractorWrapper
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.chunk.ChunkExtractorWrapper, int) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		int trigger
		com.google.android.exoplayer.chunk.Format format
		com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractorWrapper
		int parentId
	public long bytesLoaded () 
	public boolean hasFormat () 
	public com.google.android.exoplayer.MediaFormat getFormat () 
	public boolean hasDrmInitData () 
	public com.google.android.exoplayer.drm.DrmInitData getDrmInitData () 
	public boolean hasSeekMap () 
	public com.google.android.exoplayer.extractor.SeekMap getSeekMap () 
	public void seekMap (com.google.android.exoplayer.extractor.SeekMap) 
		com.google.android.exoplayer.extractor.SeekMap seekMap
	public void drmInitData (com.google.android.exoplayer.drm.DrmInitData) 
		com.google.android.exoplayer.drm.DrmInitData drmInitData
	public void format (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat mediaFormat
	public int sampleData (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		int length
		boolean allowEndOfInput
	public void sampleData (com.google.android.exoplayer.util.ParsableByteArray, int) 
		com.google.android.exoplayer.util.ParsableByteArray data
		int length
	public void sampleMetadata (long, int, int, int, byte[]) 
		long timeUs
		int flags
		int size
		int offset
		byte[] encryptionKey
	public void cancelLoad () 
	public boolean isLoadCanceled () 
	public void load ()  throws java.io.IOException java.lang.InterruptedException 
		int result
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.upstream.DataSpec loadDataSpec
}

com/google/android/exoplayer/chunk/ChunkExtractorWrapper$SingleTrackOutput.class
ChunkExtractorWrapper.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.ChunkExtractorWrapper$SingleTrackOutput extends java.lang.Object implements com.google.android.exoplayer.extractor.TrackOutput  {
	public abstract void seekMap (com.google.android.exoplayer.extractor.SeekMap) 
	public abstract void drmInitData (com.google.android.exoplayer.drm.DrmInitData) 
}

com/google/android/exoplayer/chunk/FormatEvaluator$FixedEvaluator.class
FormatEvaluator.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.FormatEvaluator$FixedEvaluator extends java.lang.Object implements com.google.android.exoplayer.chunk.FormatEvaluator  {
	public void  () 
	public void enable () 
	public void disable () 
	public void evaluate (java.util.List, long, com.google.android.exoplayer.chunk.Format[], com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation) 
		java.util.List queue
		long playbackPositionUs
		com.google.android.exoplayer.chunk.Format[] formats
		com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation evaluation
}

com/google/android/exoplayer/chunk/FormatEvaluator.class
FormatEvaluator.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.FormatEvaluator extends java.lang.Object {
	public abstract void enable () 
	public abstract void disable () 
	public abstract void evaluate (java.util.List, long, com.google.android.exoplayer.chunk.Format[], com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation) 
}

com/google/android/exoplayer/chunk/BaseChunkSampleSourceEventListener.class
BaseChunkSampleSourceEventListener.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.BaseChunkSampleSourceEventListener extends java.lang.Object {
	public abstract void onLoadStarted (int, long, int, int, com.google.android.exoplayer.chunk.Format, long, long) 
	public abstract void onLoadCompleted (int, long, int, int, com.google.android.exoplayer.chunk.Format, long, long, long, long) 
	public abstract void onLoadCanceled (int, long) 
	public abstract void onLoadError (int, java.io.IOException) 
	public abstract void onUpstreamDiscarded (int, long, long) 
	public abstract void onDownstreamFormatChanged (int, com.google.android.exoplayer.chunk.Format, int, long) 
}

com/google/android/exoplayer/chunk/FormatWrapper.class
FormatWrapper.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.FormatWrapper extends java.lang.Object {
	public abstract com.google.android.exoplayer.chunk.Format getFormat () 
}

com/google/android/exoplayer/chunk/ChunkOperationHolder.class
ChunkOperationHolder.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.ChunkOperationHolder extends java.lang.Object {
	public int queueSize
	public com.google.android.exoplayer.chunk.Chunk chunk
	public boolean endOfStream
	public void  () 
	public void clear () 
}

com/google/android/exoplayer/chunk/ChunkSampleSource$3.class
ChunkSampleSource.java
package com.google.android.exoplayer.chunk
 com.google.android.exoplayer.chunk.ChunkSampleSource$3 extends java.lang.Object implements java.lang.Runnable  {
	final long val$bytesLoaded
	final com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	void  (com.google.android.exoplayer.chunk.ChunkSampleSource, long) 
		com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	public void run () 
}

com/google/android/exoplayer/chunk/Format.class
Format.java
package com.google.android.exoplayer.chunk
public com.google.android.exoplayer.chunk.Format extends java.lang.Object {
	public final String id
	public final String mimeType
	public final int bitrate
	public final int width
	public final int height
	public final float frameRate
	public final int audioChannels
	public final int audioSamplingRate
	public final String codecs
	public final String language
	public void  (java.lang.String, java.lang.String, int, int, float, int, int, int) 
		String id
		String mimeType
		int width
		int height
		float frameRate
		int numChannels
		int audioSamplingRate
		int bitrate
	public void  (java.lang.String, java.lang.String, int, int, float, int, int, int, java.lang.String) 
		String id
		String mimeType
		int width
		int height
		float frameRate
		int numChannels
		int audioSamplingRate
		int bitrate
		String language
	public void  (java.lang.String, java.lang.String, int, int, float, int, int, int, java.lang.String, java.lang.String) 
		String id
		String mimeType
		int width
		int height
		float frameRate
		int audioChannels
		int audioSamplingRate
		int bitrate
		String language
		String codecs
	public int hashCode () 
	public boolean equals (java.lang.Object) 
		Object obj
		com.google.android.exoplayer.chunk.Format other
}

com/google/android/exoplayer/chunk/ChunkSampleSource.class
ChunkSampleSource.java
package com.google.android.exoplayer.chunk
public com.google.android.exoplayer.chunk.ChunkSampleSource extends java.lang.Object implements com.google.android.exoplayer.SampleSource com.google.android.exoplayer.SampleSource$SampleSourceReader com.google.android.exoplayer.upstream.Loader$Callback  {
	public static final int DEFAULT_MIN_LOADABLE_RETRY_COUNT
	private static final int STATE_IDLE
	private static final int STATE_INITIALIZED
	private static final int STATE_PREPARED
	private static final int STATE_ENABLED
	private static final long NO_RESET_PENDING
	private final int eventSourceId
	private final com.google.android.exoplayer.LoadControl loadControl
	private final com.google.android.exoplayer.chunk.ChunkSource chunkSource
	private final com.google.android.exoplayer.chunk.ChunkOperationHolder currentLoadableHolder
	private final java.util.LinkedList mediaChunks
	private final java.util.List readOnlyMediaChunks
	private final com.google.android.exoplayer.extractor.DefaultTrackOutput sampleQueue
	private final int bufferSizeContribution
	private final android.os.Handler eventHandler
	private final com.google.android.exoplayer.chunk.ChunkSampleSource$EventListener eventListener
	private final int minLoadableRetryCount
	private int state
	private long downstreamPositionUs
	private long lastSeekPositionUs
	private long pendingResetPositionUs
	private long lastPerformedBufferOperation
	private boolean pendingDiscontinuity
	private com.google.android.exoplayer.upstream.Loader loader
	private boolean loadingFinished
	private java.io.IOException currentLoadableException
	private int enabledTrackCount
	private int currentLoadableExceptionCount
	private long currentLoadableExceptionTimestamp
	private long currentLoadStartTimeMs
	private com.google.android.exoplayer.MediaFormat downstreamMediaFormat
	private com.google.android.exoplayer.chunk.Format downstreamFormat
	public void  (com.google.android.exoplayer.chunk.ChunkSource, com.google.android.exoplayer.LoadControl, int) 
		com.google.android.exoplayer.chunk.ChunkSource chunkSource
		com.google.android.exoplayer.LoadControl loadControl
		int bufferSizeContribution
	public void  (com.google.android.exoplayer.chunk.ChunkSource, com.google.android.exoplayer.LoadControl, int, android.os.Handler, com.google.android.exoplayer.chunk.ChunkSampleSource$EventListener, int) 
		com.google.android.exoplayer.chunk.ChunkSource chunkSource
		com.google.android.exoplayer.LoadControl loadControl
		int bufferSizeContribution
		android.os.Handler eventHandler
		com.google.android.exoplayer.chunk.ChunkSampleSource$EventListener eventListener
		int eventSourceId
	public void  (com.google.android.exoplayer.chunk.ChunkSource, com.google.android.exoplayer.LoadControl, int, android.os.Handler, com.google.android.exoplayer.chunk.ChunkSampleSource$EventListener, int, int) 
		com.google.android.exoplayer.chunk.ChunkSource chunkSource
		com.google.android.exoplayer.LoadControl loadControl
		int bufferSizeContribution
		android.os.Handler eventHandler
		com.google.android.exoplayer.chunk.ChunkSampleSource$EventListener eventListener
		int eventSourceId
		int minLoadableRetryCount
	public com.google.android.exoplayer.SampleSource$SampleSourceReader register () 
	public boolean prepare (long) 
		long positionUs
	public int getTrackCount () 
	public com.google.android.exoplayer.MediaFormat getFormat (int) 
		int track
	public void enable (int, long) 
		int track
		long positionUs
	public void disable (int) 
		int track
	public boolean continueBuffering (int, long) 
		int track
		long positionUs
	public long readDiscontinuity (int) 
		int track
	public int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder) 
		com.google.android.exoplayer.MediaFormat mediaFormat
		boolean decodeOnly
		int track
		long positionUs
		com.google.android.exoplayer.MediaFormatHolder formatHolder
		com.google.android.exoplayer.SampleHolder sampleHolder
		boolean haveSamples
		com.google.android.exoplayer.chunk.BaseMediaChunk currentChunk
	public void seekToUs (long) 
		boolean haveSamples
		long positionUs
		long currentPositionUs
		boolean seekInsideBuffer
	public void maybeThrowError ()  throws java.io.IOException 
	public long getBufferedPositionUs () 
		long largestParsedTimestampUs
	public void release () 
	public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable) 
		com.google.android.exoplayer.chunk.BaseMediaChunk mediaChunk
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
		long now
		long loadDurationMs
		com.google.android.exoplayer.chunk.Chunk currentLoadable
	public void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
		com.google.android.exoplayer.chunk.Chunk currentLoadable
	public void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
		java.io.IOException e
	protected void onSampleRead (com.google.android.exoplayer.chunk.MediaChunk, com.google.android.exoplayer.SampleHolder) 
		com.google.android.exoplayer.chunk.MediaChunk mediaChunk
		com.google.android.exoplayer.SampleHolder sampleHolder
	private void restartFrom (long) 
		long positionUs
	private void clearCurrentLoadable () 
	private void clearCurrentLoadableException () 
	private void updateLoadControl () 
		boolean chunksDiscarded
		long elapsedMillis
		long now
		long nextLoadPositionUs
		boolean isBackedOff
		boolean loadingOrBackedOff
		boolean nextLoader
	private long getNextLoadPositionUs () 
	private void resumeFromBackOff () 
		com.google.android.exoplayer.chunk.Chunk backedOffChunk
		com.google.android.exoplayer.chunk.BaseMediaChunk removedChunk
	private void maybeStartLoading () 
		com.google.android.exoplayer.chunk.BaseMediaChunk mediaChunk
		com.google.android.exoplayer.chunk.Chunk currentLoadable
	private void doChunkOperation () 
	private boolean discardUpstreamMediaChunks (int) 
		int queueLength
		long startTimeUs
		long endTimeUs
		com.google.android.exoplayer.chunk.BaseMediaChunk removed
	private boolean isMediaChunk (com.google.android.exoplayer.chunk.Chunk) 
		com.google.android.exoplayer.chunk.Chunk chunk
	private boolean isPendingReset () 
	private long getRetryDelayMillis (long) 
		long errorCount
	protected final long usToMs (long) 
		long timeUs
	private void notifyLoadStarted (long, int, int, com.google.android.exoplayer.chunk.Format, long, long) 
		long length
		int type
		int trigger
		com.google.android.exoplayer.chunk.Format format
		long mediaStartTimeUs
		long mediaEndTimeUs
	private void notifyLoadCompleted (long, int, int, com.google.android.exoplayer.chunk.Format, long, long, long, long) 
		long bytesLoaded
		int type
		int trigger
		com.google.android.exoplayer.chunk.Format format
		long mediaStartTimeUs
		long mediaEndTimeUs
		long elapsedRealtimeMs
		long loadDurationMs
	private void notifyLoadCanceled (long) 
		long bytesLoaded
	private void notifyLoadError (java.io.IOException) 
		java.io.IOException e
	private void notifyUpstreamDiscarded (long, long) 
		long mediaStartTimeUs
		long mediaEndTimeUs
	private void notifyDownstreamFormatChanged (com.google.android.exoplayer.chunk.Format, int, long) 
		com.google.android.exoplayer.chunk.Format format
		int trigger
		long positionUs
	static int access$000 (com.google.android.exoplayer.chunk.ChunkSampleSource) 
		com.google.android.exoplayer.chunk.ChunkSampleSource x0
	static com.google.android.exoplayer.chunk.ChunkSampleSource$EventListener access$100 (com.google.android.exoplayer.chunk.ChunkSampleSource) 
		com.google.android.exoplayer.chunk.ChunkSampleSource x0
}

com/google/android/exoplayer/chunk/ChunkSource.class
ChunkSource.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.ChunkSource extends java.lang.Object {
	public abstract void maybeThrowError ()  throws java.io.IOException 
	public abstract boolean prepare () 
	public abstract int getTrackCount () 
	public abstract com.google.android.exoplayer.MediaFormat getFormat (int) 
	public abstract void enable (int) 
	public abstract void continueBuffering (long) 
	public abstract void getChunkOperation (java.util.List, long, com.google.android.exoplayer.chunk.ChunkOperationHolder) 
	public abstract void onChunkLoadCompleted (com.google.android.exoplayer.chunk.Chunk) 
	public abstract void onChunkLoadError (com.google.android.exoplayer.chunk.Chunk, java.lang.Exception) 
	public abstract void disable (java.util.List) 
}

com/google/android/exoplayer/chunk/ChunkSampleSource$EventListener.class
ChunkSampleSource.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.ChunkSampleSource$EventListener extends java.lang.Object implements com.google.android.exoplayer.chunk.BaseChunkSampleSourceEventListener  {
}

com/google/android/exoplayer/chunk/FormatEvaluator$Evaluation.class
FormatEvaluator.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation extends java.lang.Object {
	public int queueSize
	public int trigger
	public com.google.android.exoplayer.chunk.Format format
	public void  () 
}

com/google/android/exoplayer/chunk/BaseMediaChunk.class
BaseMediaChunk.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.BaseMediaChunk extends com.google.android.exoplayer.chunk.MediaChunk {
	public final boolean isMediaFormatFinal
	private com.google.android.exoplayer.extractor.DefaultTrackOutput output
	private int firstSampleIndex
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, long, long, int, boolean, int) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		int trigger
		com.google.android.exoplayer.chunk.Format format
		long startTimeUs
		long endTimeUs
		int chunkIndex
		boolean isMediaFormatFinal
		int parentId
	public void init (com.google.android.exoplayer.extractor.DefaultTrackOutput) 
		com.google.android.exoplayer.extractor.DefaultTrackOutput output
	public final int getFirstSampleIndex () 
	public abstract com.google.android.exoplayer.MediaFormat getMediaFormat () 
	public abstract com.google.android.exoplayer.drm.DrmInitData getDrmInitData () 
	protected final com.google.android.exoplayer.extractor.DefaultTrackOutput getOutput () 
}

com/google/android/exoplayer/chunk/ChunkSampleSource$6.class
ChunkSampleSource.java
package com.google.android.exoplayer.chunk
 com.google.android.exoplayer.chunk.ChunkSampleSource$6 extends java.lang.Object implements java.lang.Runnable  {
	final com.google.android.exoplayer.chunk.Format val$format
	final int val$trigger
	final long val$positionUs
	final com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	void  (com.google.android.exoplayer.chunk.ChunkSampleSource, com.google.android.exoplayer.chunk.Format, int, long) 
		com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	public void run () 
}

com/google/android/exoplayer/chunk/ChunkSampleSource$5.class
ChunkSampleSource.java
package com.google.android.exoplayer.chunk
 com.google.android.exoplayer.chunk.ChunkSampleSource$5 extends java.lang.Object implements java.lang.Runnable  {
	final long val$mediaStartTimeUs
	final long val$mediaEndTimeUs
	final com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	void  (com.google.android.exoplayer.chunk.ChunkSampleSource, long, long) 
		com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	public void run () 
}

com/google/android/exoplayer/chunk/ChunkExtractorWrapper.class
ChunkExtractorWrapper.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.ChunkExtractorWrapper extends java.lang.Object implements com.google.android.exoplayer.extractor.ExtractorOutput com.google.android.exoplayer.extractor.TrackOutput  {
	private final com.google.android.exoplayer.extractor.Extractor extractor
	private boolean extractorInitialized
	private com.google.android.exoplayer.chunk.ChunkExtractorWrapper$SingleTrackOutput output
	private boolean seenTrack
	public void  (com.google.android.exoplayer.extractor.Extractor) 
		com.google.android.exoplayer.extractor.Extractor extractor
	public void init (com.google.android.exoplayer.chunk.ChunkExtractorWrapper$SingleTrackOutput) 
		com.google.android.exoplayer.chunk.ChunkExtractorWrapper$SingleTrackOutput output
	public int read (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		int result
	public com.google.android.exoplayer.extractor.TrackOutput track (int) 
		int id
	public void endTracks () 
	public void seekMap (com.google.android.exoplayer.extractor.SeekMap) 
		com.google.android.exoplayer.extractor.SeekMap seekMap
	public void drmInitData (com.google.android.exoplayer.drm.DrmInitData) 
		com.google.android.exoplayer.drm.DrmInitData drmInitData
	public void format (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat format
	public int sampleData (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		int length
		boolean allowEndOfInput
	public void sampleData (com.google.android.exoplayer.util.ParsableByteArray, int) 
		com.google.android.exoplayer.util.ParsableByteArray data
		int length
	public void sampleMetadata (long, int, int, int, byte[]) 
		long timeUs
		int flags
		int size
		int offset
		byte[] encryptionKey
}

com/google/android/exoplayer/chunk/Format$DecreasingBandwidthComparator.class
Format.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.Format$DecreasingBandwidthComparator extends java.lang.Object implements java.util.Comparator  {
	public void  () 
	public int compare (com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.chunk.Format) 
		com.google.android.exoplayer.chunk.Format a
		com.google.android.exoplayer.chunk.Format b
	public volatile int compare (java.lang.Object, java.lang.Object) 
}

com/google/android/exoplayer/chunk/VideoFormatSelectorUtil.class
VideoFormatSelectorUtil.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.VideoFormatSelectorUtil extends java.lang.Object {
	private static final float FRACTION_TO_CONSIDER_FULLSCREEN
	public static int[] selectVideoFormatsForDefaultDisplay (android.content.Context, java.util.List, java.lang.String[], boolean)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		android.content.Context context
		java.util.List formatWrappers
		String[] allowedContainerMimeTypes
		boolean filterHdFormats
		android.graphics.Point viewportSize
	public static int[] selectVideoFormats (java.util.List, java.lang.String[], boolean, boolean, int, int)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		android.graphics.Point maxVideoSizeInViewport
		int videoPixels
		com.google.android.exoplayer.chunk.Format format
		int i
		com.google.android.exoplayer.chunk.Format format
		int i
		java.util.List formatWrappers
		String[] allowedContainerMimeTypes
		boolean filterHdFormats
		boolean orientationMayChange
		int viewportWidth
		int viewportHeight
		int maxVideoPixelsToRetain
		java.util.ArrayList selectedIndexList
		int maxDecodableFrameSize
		int formatWrapperCount
	private static boolean isFormatPlayable (com.google.android.exoplayer.chunk.Format, java.lang.String[], boolean, int)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		String videoMediaMimeType
		com.google.android.exoplayer.chunk.Format format
		String[] allowedContainerMimeTypes
		boolean filterHdFormats
		int maxDecodableFrameSize
	private static android.graphics.Point getMaxVideoSizeInViewport (boolean, int, int, int, int) 
		int tempViewportWidth
		boolean orientationMayChange
		int viewportWidth
		int viewportHeight
		int videoWidth
		int videoHeight
	private static android.graphics.Point getViewportSize (android.content.Context) 
		android.content.Context context
		android.view.WindowManager windowManager
	private static android.graphics.Point getDisplaySize (android.view.Display) 
		android.view.Display display
		android.graphics.Point displaySize
	private static void getDisplaySizeV23 (android.view.Display, android.graphics.Point) 
		android.view.Display display
		android.graphics.Point outSize
		android.view.Display$Mode mode
	private static void getDisplaySizeV17 (android.view.Display, android.graphics.Point) 
		android.view.Display display
		android.graphics.Point outSize
	private static void getDisplaySizeV16 (android.view.Display, android.graphics.Point) 
		android.view.Display display
		android.graphics.Point outSize
	private static void getDisplaySizeV9 (android.view.Display, android.graphics.Point) 
		android.view.Display display
		android.graphics.Point outSize
	private void  () 
}

com/google/android/exoplayer/FrameworkSampleSource.class
FrameworkSampleSource.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.FrameworkSampleSource extends java.lang.Object implements com.google.android.exoplayer.SampleSource com.google.android.exoplayer.SampleSource$SampleSourceReader  {
	private static final int ALLOWED_FLAGS_MASK
	private static final int TRACK_STATE_DISABLED
	private static final int TRACK_STATE_ENABLED
	private static final int TRACK_STATE_FORMAT_SENT
	private final android.content.Context context
	private final android.net.Uri uri
	private final java.util.Map headers
	private final java.io.FileDescriptor fileDescriptor
	private final long fileDescriptorOffset
	private final long fileDescriptorLength
	private java.io.IOException preparationError
	private android.media.MediaExtractor extractor
	private com.google.android.exoplayer.MediaFormat[] trackFormats
	private boolean prepared
	private int remainingReleaseCount
	private int[] trackStates
	private boolean[] pendingDiscontinuities
	private long lastSeekPositionUs
	private long pendingSeekPositionUs
	public void  (android.content.Context, android.net.Uri, java.util.Map) 
		android.content.Context context
		android.net.Uri uri
		java.util.Map headers
	public void  (java.io.FileDescriptor, long, long) 
		java.io.FileDescriptor fileDescriptor
		long fileDescriptorOffset
		long fileDescriptorLength
	public com.google.android.exoplayer.SampleSource$SampleSourceReader register () 
	public boolean prepare (long) 
		java.io.IOException e
		int i
		long positionUs
	public int getTrackCount () 
	public com.google.android.exoplayer.MediaFormat getFormat (int) 
		int track
	public void enable (int, long) 
		int track
		long positionUs
	public boolean continueBuffering (int, long) 
		int track
		long positionUs
	public long readDiscontinuity (int) 
		int track
	public int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder) 
		int offset
		int track
		long positionUs
		com.google.android.exoplayer.MediaFormatHolder formatHolder
		com.google.android.exoplayer.SampleHolder sampleHolder
		int extractorTrackIndex
	public void disable (int) 
		int track
	public void maybeThrowError ()  throws java.io.IOException 
	public void seekToUs (long) 
		long positionUs
	public long getBufferedPositionUs () 
		long sampleTime
		long bufferedDurationUs
	public void release () 
	private com.google.android.exoplayer.drm.DrmInitData getDrmInitDataV18 () 
		byte[] psshAtom
		java.util.UUID uuid
		java.util.Map psshInfo
		com.google.android.exoplayer.drm.DrmInitData$Mapped drmInitData
	private void seekToUsInternal (long, boolean) 
		int i
		long positionUs
		boolean force
	private static com.google.android.exoplayer.MediaFormat createMediaFormat (android.media.MediaFormat) 
		java.nio.ByteBuffer buffer
		byte[] data
		int i
		android.media.MediaFormat format
		String mimeType
		String language
		int maxInputSize
		int width
		int height
		int rotationDegrees
		int channelCount
		int sampleRate
		int encoderDelay
		int encoderPadding
		java.util.ArrayList initializationData
		long durationUs
		com.google.android.exoplayer.MediaFormat mediaFormat
	private static final java.lang.String getOptionalStringV16 (android.media.MediaFormat, java.lang.String) 
		android.media.MediaFormat format
		String key
	private static final int getOptionalIntegerV16 (android.media.MediaFormat, java.lang.String) 
		android.media.MediaFormat format
		String key
}

com/google/android/exoplayer/TrackRenderer.class
TrackRenderer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.TrackRenderer extends java.lang.Object implements com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent  {
	public static final long UNKNOWN_TIME_US
	public static final long MATCH_LONGEST_US
	public static final long END_OF_TRACK_US
	protected static final int STATE_RELEASED
	protected static final int STATE_UNPREPARED
	protected static final int STATE_PREPARED
	protected static final int STATE_ENABLED
	protected static final int STATE_STARTED
	private int state
	public void  () 
	protected com.google.android.exoplayer.MediaClock getMediaClock () 
	protected final int getState () 
	final int prepare (long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
	protected abstract boolean doPrepare (long)  throws com.google.android.exoplayer.ExoPlaybackException 
	protected abstract int getTrackCount () 
	protected abstract com.google.android.exoplayer.MediaFormat getFormat (int) 
	final void enable (int, long, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		int track
		long positionUs
		boolean joining
	protected void onEnabled (int, long, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		int track
		long positionUs
		boolean joining
	final void start ()  throws com.google.android.exoplayer.ExoPlaybackException 
	protected void onStarted ()  throws com.google.android.exoplayer.ExoPlaybackException 
	final void stop ()  throws com.google.android.exoplayer.ExoPlaybackException 
	protected void onStopped ()  throws com.google.android.exoplayer.ExoPlaybackException 
	final void disable ()  throws com.google.android.exoplayer.ExoPlaybackException 
	protected void onDisabled ()  throws com.google.android.exoplayer.ExoPlaybackException 
	final void release ()  throws com.google.android.exoplayer.ExoPlaybackException 
	protected void onReleased ()  throws com.google.android.exoplayer.ExoPlaybackException 
	protected abstract boolean isEnded () 
	protected abstract boolean isReady () 
	protected abstract void doSomeWork (long, long)  throws com.google.android.exoplayer.ExoPlaybackException 
	protected abstract void maybeThrowError ()  throws com.google.android.exoplayer.ExoPlaybackException 
	protected abstract long getDurationUs () 
	protected abstract long getBufferedPositionUs () 
	protected abstract void seekTo (long)  throws com.google.android.exoplayer.ExoPlaybackException 
	public void handleMessage (int, java.lang.Object)  throws com.google.android.exoplayer.ExoPlaybackException 
		int what
		Object object
}

com/google/android/exoplayer/MediaClock.class
MediaClock.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.MediaClock extends java.lang.Object {
	public abstract long getPositionUs () 
}

com/google/android/exoplayer/ExoPlayer.class
ExoPlayer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.ExoPlayer extends java.lang.Object {
	public static final int STATE_IDLE
	public static final int STATE_PREPARING
	public static final int STATE_BUFFERING
	public static final int STATE_READY
	public static final int STATE_ENDED
	public static final int TRACK_DISABLED
	public static final int TRACK_DEFAULT
	public static final long UNKNOWN_TIME
	public abstract android.os.Looper getPlaybackLooper () 
	public abstract void addListener (com.google.android.exoplayer.ExoPlayer$Listener) 
	public abstract void removeListener (com.google.android.exoplayer.ExoPlayer$Listener) 
	public abstract int getPlaybackState () 
	public transient abstract void prepare (com.google.android.exoplayer.TrackRenderer[]) 
	public abstract int getTrackCount (int) 
	public abstract com.google.android.exoplayer.MediaFormat getTrackFormat (int, int) 
	public abstract void setSelectedTrack (int, int) 
	public abstract int getSelectedTrack (int) 
	public abstract void setPlayWhenReady (boolean) 
	public abstract boolean getPlayWhenReady () 
	public abstract boolean isPlayWhenReadyCommitted () 
	public abstract void seekTo (long) 
	public abstract void stop () 
	public abstract void release () 
	public abstract void sendMessage (com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent, int, java.lang.Object) 
	public abstract void blockingSendMessage (com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent, int, java.lang.Object) 
	public abstract long getDuration () 
	public abstract long getCurrentPosition () 
	public abstract long getBufferedPosition () 
	public abstract int getBufferedPercentage () 
}

com/google/android/exoplayer/VideoFrameReleaseTimeHelper.class
VideoFrameReleaseTimeHelper.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.VideoFrameReleaseTimeHelper extends java.lang.Object {
	private static final long CHOREOGRAPHER_SAMPLE_DELAY_MILLIS
	private static final long MAX_ALLOWED_DRIFT_NS
	private static final long VSYNC_OFFSET_PERCENTAGE
	private static final int MIN_FRAMES_FOR_ADJUSTMENT
	private final com.google.android.exoplayer.VideoFrameReleaseTimeHelper$VSyncSampler vsyncSampler
	private final boolean useDefaultDisplayVsync
	private final long vsyncDurationNs
	private final long vsyncOffsetNs
	private long lastFramePresentationTimeUs
	private long adjustedLastFrameTimeNs
	private long pendingAdjustedFrameTimeNs
	private boolean haveSync
	private long syncUnadjustedReleaseTimeNs
	private long syncFramePresentationTimeNs
	private long frameCount
	public void  () 
	public void  (android.content.Context) 
		android.content.Context context
	private void  (float, boolean) 
		float defaultDisplayRefreshRate
		boolean useDefaultDisplayVsync
	public void enable () 
	public void disable () 
	public long adjustReleaseTime (long, long) 
		long averageFrameDurationNs
		long candidateAdjustedFrameTimeNs
		long framePresentationTimeUs
		long unadjustedReleaseTimeNs
		long framePresentationTimeNs
		long adjustedFrameTimeNs
		long adjustedReleaseTimeNs
		long snappedTimeNs
	protected void onSynced () 
	private boolean isDriftTooLarge (long, long) 
		long frameTimeNs
		long releaseTimeNs
		long elapsedFrameTimeNs
		long elapsedReleaseTimeNs
	private static long closestVsync (long, long, long) 
		long snappedBeforeNs
		long snappedAfterNs
		long releaseTime
		long sampledVsyncTime
		long vsyncDuration
		long vsyncCount
		long snappedTimeNs
		long snappedBeforeNs
		long snappedAfterNs
		long snappedAfterDiff
		long snappedBeforeDiff
	private static float getDefaultDisplayRefreshRate (android.content.Context) 
		android.content.Context context
		android.view.WindowManager manager
}

com/google/android/exoplayer/LoadControl.class
LoadControl.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.LoadControl extends java.lang.Object {
	public abstract void register (java.lang.Object, int) 
	public abstract void unregister (java.lang.Object) 
	public abstract com.google.android.exoplayer.upstream.Allocator getAllocator () 
	public abstract void trimAllocator () 
	public abstract boolean update (java.lang.Object, long, long, boolean) 
}

com/google/android/exoplayer/extractor/
com/google/android/exoplayer/extractor/ogg/
com/google/android/exoplayer/extractor/ogg/OggSeeker.class
OggSeeker.java
package com.google.android.exoplayer.extractor.ogg
final com.google.android.exoplayer.extractor.ogg.OggSeeker extends java.lang.Object {
	private static final int MATCH_RANGE
	private final com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader pageHeader
	private final com.google.android.exoplayer.util.ParsableByteArray headerArray
	private long audioDataLength
	private long totalSamples
	void  () 
	public void setup (long, long) 
		long audioDataLength
		long totalSamples
	public void reset () 
	public long getNextSeekPosition (long, com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		long offset
		long targetGranule
		com.google.android.exoplayer.extractor.ExtractorInput input
		long granuleDistance
}

com/google/android/exoplayer/extractor/ogg/VorbisUtil$Mode.class
VorbisUtil.java
package com.google.android.exoplayer.extractor.ogg
public final com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode extends java.lang.Object {
	public final boolean blockFlag
	public final int windowType
	public final int transformType
	public final int mapping
	public void  (boolean, int, int, int) 
		boolean blockFlag
		int windowType
		int transformType
		int mapping
}

com/google/android/exoplayer/extractor/ogg/OggUtil.class
OggUtil.java
package com.google.android.exoplayer.extractor.ogg
final com.google.android.exoplayer.extractor.ogg.OggUtil extends java.lang.Object {
	private static final int TYPE_OGGS
	void  () 
	public static int readBits (byte, int, int) 
		byte src
		int length
		int leastSignificantBitIndex
	public static void skipToNextPage (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		int i
		com.google.android.exoplayer.extractor.ExtractorInput input
		byte[] buffer
		int peekLength
	public static boolean populatePageHeader (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader, com.google.android.exoplayer.util.ParsableByteArray, boolean)  throws java.io.IOException java.lang.InterruptedException 
		int i
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader header
		com.google.android.exoplayer.util.ParsableByteArray scratch
		boolean quite
		boolean hasEnoughBytes
	public static void calculatePacketSize (com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader, int, com.google.android.exoplayer.extractor.ogg.OggUtil$PacketInfoHolder) 
		int segmentLength
		com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader header
		int startSegmentIndex
		com.google.android.exoplayer.extractor.ogg.OggUtil$PacketInfoHolder holder
	static void  () 
}

com/google/android/exoplayer/extractor/ogg/VorbisUtil$CodeBook.class
VorbisUtil.java
package com.google.android.exoplayer.extractor.ogg
public final com.google.android.exoplayer.extractor.ogg.VorbisUtil$CodeBook extends java.lang.Object {
	public final int dimensions
	public final int entries
	public final long[] lengthMap
	public final int lookupType
	public final boolean isOrdered
	public void  (int, int, long[], int, boolean) 
		int dimensions
		int entries
		long[] lengthMap
		int lookupType
		boolean isOrdered
}

com/google/android/exoplayer/extractor/ogg/VorbisBitArray.class
VorbisBitArray.java
package com.google.android.exoplayer.extractor.ogg
final com.google.android.exoplayer.extractor.ogg.VorbisBitArray extends java.lang.Object {
	public final byte[] data
	private int limit
	private int byteOffset
	private int bitOffset
	public void  (byte[]) 
		byte[] data
	public void  (byte[], int) 
		byte[] data
		int limit
	public void reset () 
	public boolean readBit () 
	public int readBits (int) 
		int mask
		int i
		int numBytes
		int bitsOnNextByte
		int mask
		int numBits
		int result
		int bitCount
	public void skipBits (int) 
		int numberOfBits
	public int getPosition () 
	public void setPosition (int) 
		int position
	public int bitsLeft () 
	public int limit () 
}

com/google/android/exoplayer/extractor/ogg/OggUtil$PacketInfoHolder.class
OggUtil.java
package com.google.android.exoplayer.extractor.ogg
public com.google.android.exoplayer.extractor.ogg.OggUtil$PacketInfoHolder extends java.lang.Object {
	public int size
	public int segmentCount
	public void  () 
}

com/google/android/exoplayer/extractor/ogg/VorbisUtil.class
VorbisUtil.java
package com.google.android.exoplayer.extractor.ogg
final com.google.android.exoplayer.extractor.ogg.VorbisUtil extends java.lang.Object {
	private static final String TAG
	void  () 
	public static int iLog (int) 
		int x
		int val
	public static com.google.android.exoplayer.extractor.ogg.VorbisUtil$VorbisIdHeader readVorbisIdentificationHeader (com.google.android.exoplayer.util.ParsableByteArray)  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.util.ParsableByteArray headerData
		long version
		int channels
		long sampleRate
		int bitrateMax
		int bitrateNominal
		int bitrateMin
		int blockSize
		int blockSize0
		int blockSize1
		boolean framingFlag
		byte[] data
	public static com.google.android.exoplayer.extractor.ogg.VorbisUtil$CommentHeader readVorbisCommentHeader (com.google.android.exoplayer.util.ParsableByteArray)  throws com.google.android.exoplayer.ParserException 
		int i
		com.google.android.exoplayer.util.ParsableByteArray headerData
		int length
		int len
		String vendor
		long commentListLen
		String[] comments
	public static boolean verifyVorbisHeaderCapturePattern (int, com.google.android.exoplayer.util.ParsableByteArray, boolean)  throws com.google.android.exoplayer.ParserException 
		int headerType
		com.google.android.exoplayer.util.ParsableByteArray header
		boolean quite
	public static com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[] readVorbisModes (com.google.android.exoplayer.util.ParsableByteArray, int)  throws com.google.android.exoplayer.ParserException 
		int i
		int i
		com.google.android.exoplayer.util.ParsableByteArray headerData
		int channels
		int numberOfBooks
		com.google.android.exoplayer.extractor.ogg.VorbisBitArray bitArray
		int timeCount
		com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[] modes
	private static com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[] readModes (com.google.android.exoplayer.extractor.ogg.VorbisBitArray) 
		boolean blockFlag
		int windowType
		int transformType
		int mapping
		int i
		com.google.android.exoplayer.extractor.ogg.VorbisBitArray bitArray
		int modeCount
		com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[] modes
	private static void readMappings (int, com.google.android.exoplayer.extractor.ogg.VorbisBitArray)  throws com.google.android.exoplayer.ParserException 
		int submaps
		int j
		int couplingSteps
		int j
		int j
		int submaps
		int mappingType
		int i
		int channels
		com.google.android.exoplayer.extractor.ogg.VorbisBitArray bitArray
		int mappingsCount
	private static void readResidues (com.google.android.exoplayer.extractor.ogg.VorbisBitArray)  throws com.google.android.exoplayer.ParserException 
		int highBits
		int lowBits
		int j
		int k
		int j
		int classifications
		int[] cascade
		int residueType
		int i
		com.google.android.exoplayer.extractor.ogg.VorbisBitArray bitArray
		int residueCount
	private static void readFloors (com.google.android.exoplayer.extractor.ogg.VorbisBitArray)  throws com.google.android.exoplayer.ParserException 
		int j
		int j
		int k
		int classSubclasses
		int j
		int idx
		int j
		int k
		int floorNumberOfBooks
		int partitions
		int maximumClass
		int[] partitionClassList
		int[] classDimensions
		int rangeBits
		int count
		int floorType
		int i
		com.google.android.exoplayer.extractor.ogg.VorbisBitArray bitArray
		int floorCount
	private static com.google.android.exoplayer.extractor.ogg.VorbisUtil$CodeBook readBook (com.google.android.exoplayer.extractor.ogg.VorbisBitArray)  throws com.google.android.exoplayer.ParserException 
		int i
		boolean isSparse
		int j
		int num
		int i
		int length
		long lookupValuesCount
		long lookupValuesCount
		int valueBits
		long lookupValuesCount
		com.google.android.exoplayer.extractor.ogg.VorbisBitArray bitArray
		int dimensions
		int entries
		long[] lengthMap
		boolean isOrdered
		int lookupType
	private static long mapType1QuantValues (long, long) 
		long entries
		long dimension
}

com/google/android/exoplayer/extractor/ogg/VorbisUtil$CommentHeader.class
VorbisUtil.java
package com.google.android.exoplayer.extractor.ogg
public final com.google.android.exoplayer.extractor.ogg.VorbisUtil$CommentHeader extends java.lang.Object {
	public final String vendor
	public final String[] comments
	public final int length
	public void  (java.lang.String, java.lang.String[], int) 
		String vendor
		String[] comments
		int length
}

com/google/android/exoplayer/extractor/ogg/OggReader.class
OggReader.java
package com.google.android.exoplayer.extractor.ogg
final com.google.android.exoplayer.extractor.ogg.OggReader extends java.lang.Object {
	public static final int OGG_MAX_SEGMENT_SIZE
	private final com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader pageHeader
	private final com.google.android.exoplayer.util.ParsableByteArray headerArray
	private final com.google.android.exoplayer.extractor.ogg.OggUtil$PacketInfoHolder holder
	private int currentSegmentIndex
	private long elapsedSamples
	void  () 
	public void reset () 
	public boolean readPacket (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.util.ParsableByteArray)  throws java.io.IOException java.lang.InterruptedException 
		int segmentIndex
		int bytesToSkip
		int segmentIndex
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.util.ParsableByteArray packetArray
		boolean packetComplete
	public long readGranuleOfLastPage (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
	public long skipToPageOfGranule (com.google.android.exoplayer.extractor.ExtractorInput, long)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		long targetGranule
		long returnValue
	public com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader getPageHeader () 
}

com/google/android/exoplayer/extractor/ogg/VorbisUtil$VorbisIdHeader.class
VorbisUtil.java
package com.google.android.exoplayer.extractor.ogg
public final com.google.android.exoplayer.extractor.ogg.VorbisUtil$VorbisIdHeader extends java.lang.Object {
	public final long version
	public final int channels
	public final long sampleRate
	public final int bitrateMax
	public final int bitrateNominal
	public final int bitrateMin
	public final int blockSize0
	public final int blockSize1
	public final boolean framingFlag
	public final byte[] data
	public void  (long, int, long, int, int, int, int, int, boolean, byte[]) 
		long version
		int channels
		long sampleRate
		int bitrateMax
		int bitrateNominal
		int bitrateMin
		int blockSize0
		int blockSize1
		boolean framingFlag
		byte[] data
	public int getApproximateBitrate () 
}

com/google/android/exoplayer/extractor/ogg/OggUtil$PageHeader.class
OggUtil.java
package com.google.android.exoplayer.extractor.ogg
public final com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader extends java.lang.Object {
	public int revision
	public int type
	public long granulePosition
	public long streamSerialNumber
	public long pageSequenceNumber
	public long pageChecksum
	public int pageSegmentCount
	public int headerSize
	public int bodySize
	public final int[] laces
	public void  () 
	public void reset () 
}

com/google/android/exoplayer/extractor/ogg/OggVorbisExtractor.class
OggVorbisExtractor.java
package com.google.android.exoplayer.extractor.ogg
public final com.google.android.exoplayer.extractor.ogg.OggVorbisExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor com.google.android.exoplayer.extractor.SeekMap  {
	private final com.google.android.exoplayer.util.ParsableByteArray scratch
	private final com.google.android.exoplayer.extractor.ogg.OggReader oggReader
	private com.google.android.exoplayer.extractor.TrackOutput trackOutput
	private com.google.android.exoplayer.extractor.ogg.OggVorbisExtractor$VorbisSetup vorbisSetup
	private int previousPacketBlockSize
	private long elapsedSamples
	private boolean seenFirstAudioPacket
	private final com.google.android.exoplayer.extractor.ogg.OggSeeker oggSeeker
	private long targetGranule
	private com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
	private com.google.android.exoplayer.extractor.ogg.VorbisUtil$VorbisIdHeader vorbisIdHeader
	private com.google.android.exoplayer.extractor.ogg.VorbisUtil$CommentHeader commentHeader
	private long inputLength
	private long audioStartPosition
	private long totalSamples
	private long duration
	public void  () 
	public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader header
		com.google.android.exoplayer.extractor.ExtractorInput input
	public void init (com.google.android.exoplayer.extractor.ExtractorOutput) 
		com.google.android.exoplayer.extractor.ExtractorOutput output
	public void seek () 
	public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder)  throws java.io.IOException java.lang.InterruptedException 
		java.util.ArrayList codecInitialisationData
		long position
		long timeUs
		int packetBlockSize
		int samplesInPacket
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.PositionHolder seekPosition
	com.google.android.exoplayer.extractor.ogg.OggVorbisExtractor$VorbisSetup readSetupHeaders (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.util.ParsableByteArray)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.util.ParsableByteArray scratch
		byte[] setupHeaderData
		com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[] modes
		int iLogModes
	static void appendNumberOfSamples (com.google.android.exoplayer.util.ParsableByteArray, long) 
		com.google.android.exoplayer.util.ParsableByteArray buffer
		long packetSampleCount
	private static int decodeBlockSize (byte, com.google.android.exoplayer.extractor.ogg.OggVorbisExtractor$VorbisSetup) 
		int currentBlockSize
		byte firstByteOfAudioPacket
		com.google.android.exoplayer.extractor.ogg.OggVorbisExtractor$VorbisSetup vorbisSetup
		int modeNumber
		int currentBlockSize
	public boolean isSeekable () 
	public long getPosition (long) 
		long timeUs
}

com/google/android/exoplayer/extractor/ogg/OggVorbisExtractor$VorbisSetup.class
OggVorbisExtractor.java
package com.google.android.exoplayer.extractor.ogg
final com.google.android.exoplayer.extractor.ogg.OggVorbisExtractor$VorbisSetup extends java.lang.Object {
	public final com.google.android.exoplayer.extractor.ogg.VorbisUtil$VorbisIdHeader idHeader
	public final com.google.android.exoplayer.extractor.ogg.VorbisUtil$CommentHeader commentHeader
	public final byte[] setupHeaderData
	public final com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[] modes
	public final int iLogModes
	public void  (com.google.android.exoplayer.extractor.ogg.VorbisUtil$VorbisIdHeader, com.google.android.exoplayer.extractor.ogg.VorbisUtil$CommentHeader, byte[], com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[], int) 
		com.google.android.exoplayer.extractor.ogg.VorbisUtil$VorbisIdHeader idHeader
		com.google.android.exoplayer.extractor.ogg.VorbisUtil$CommentHeader commentHeader
		byte[] setupHeaderData
		com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[] modes
		int iLogModes
}

com/google/android/exoplayer/extractor/TrackOutput.class
TrackOutput.java
package com.google.android.exoplayer.extractor
public abstract com.google.android.exoplayer.extractor.TrackOutput extends java.lang.Object {
	public abstract void format (com.google.android.exoplayer.MediaFormat) 
	public abstract int sampleData (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean)  throws java.io.IOException java.lang.InterruptedException 
	public abstract void sampleData (com.google.android.exoplayer.util.ParsableByteArray, int) 
	public abstract void sampleMetadata (long, int, int, int, byte[]) 
}

com/google/android/exoplayer/extractor/webm/
com/google/android/exoplayer/extractor/webm/EbmlReader.class
EbmlReader.java
package com.google.android.exoplayer.extractor.webm
abstract com.google.android.exoplayer.extractor.webm.EbmlReader extends java.lang.Object {
	public static final int TYPE_UNKNOWN
	public static final int TYPE_MASTER
	public static final int TYPE_UNSIGNED_INT
	public static final int TYPE_STRING
	public static final int TYPE_BINARY
	public static final int TYPE_FLOAT
	public abstract void init (com.google.android.exoplayer.extractor.webm.EbmlReaderOutput) 
	public abstract void reset () 
	public abstract boolean read (com.google.android.exoplayer.extractor.ExtractorInput)  throws com.google.android.exoplayer.ParserException java.io.IOException java.lang.InterruptedException 
}

com/google/android/exoplayer/extractor/webm/WebmExtractor$Track.class
WebmExtractor.java
package com.google.android.exoplayer.extractor.webm
final com.google.android.exoplayer.extractor.webm.WebmExtractor$Track extends java.lang.Object {
	private static final int DISPLAY_UNIT_PIXELS
	public String codecId
	public int number
	public int type
	public int defaultSampleDurationNs
	public boolean hasContentEncryption
	public byte[] sampleStrippedBytes
	public byte[] encryptionKeyId
	public byte[] codecPrivate
	public int width
	public int height
	public int displayWidth
	public int displayHeight
	public int displayUnit
	public int channelCount
	public int sampleRate
	public long codecDelayNs
	public long seekPreRollNs
	private String language
	public com.google.android.exoplayer.extractor.TrackOutput output
	public int nalUnitLengthFieldLength
	private void  () 
	public void initializeOutput (com.google.android.exoplayer.extractor.ExtractorOutput, int, long)  throws com.google.android.exoplayer.ParserException 
		android.util.Pair h264Data
		android.util.Pair hevcData
		com.google.android.exoplayer.MediaFormat format
		float pixelWidthHeightRatio
		com.google.android.exoplayer.MediaFormat format
		com.google.android.exoplayer.MediaFormat format
		com.google.android.exoplayer.MediaFormat format
		com.google.android.exoplayer.extractor.ExtractorOutput output
		int trackId
		long durationUs
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		int maxInputSize
		java.util.List initializationData
		com.google.android.exoplayer.MediaFormat format
	private static android.util.Pair parseAvcCodecPrivate (com.google.android.exoplayer.util.ParsableByteArray)  throws com.google.android.exoplayer.ParserException 
		int i
		int j
		int nalUnitLengthFieldLength
		java.util.List initializationData
		int numSequenceParameterSets
		int numPictureParameterSets
		ArrayIndexOutOfBoundsException e
		com.google.android.exoplayer.util.ParsableByteArray buffer
	private static android.util.Pair parseHevcCodecPrivate (com.google.android.exoplayer.util.ParsableByteArray)  throws com.google.android.exoplayer.ParserException 
		int nalUnitLength
		int j
		int numberOfNalUnits
		int i
		int nalUnitLength
		int j
		int numberOfNalUnits
		int i
		int lengthSizeMinusOne
		int numberOfArrays
		int csdLength
		int csdStartPosition
		byte[] buffer
		int bufferPosition
		java.util.List initializationData
		ArrayIndexOutOfBoundsException e
		com.google.android.exoplayer.util.ParsableByteArray parent
	private static java.util.List parseVorbisCodecPrivate (byte[])  throws com.google.android.exoplayer.ParserException 
		int offset
		int vorbisInfoLength
		int vorbisSkipLength
		byte[] vorbisInfo
		byte[] vorbisBooks
		java.util.List initializationData
		ArrayIndexOutOfBoundsException e
		byte[] codecPrivate
	void  (com.google.android.exoplayer.extractor.webm.WebmExtractor$1) 
		com.google.android.exoplayer.extractor.webm.WebmExtractor$1 x0
	static java.lang.String access$202 (com.google.android.exoplayer.extractor.webm.WebmExtractor$Track, java.lang.String) 
		com.google.android.exoplayer.extractor.webm.WebmExtractor$Track x0
		String x1
}

com/google/android/exoplayer/extractor/webm/DefaultEbmlReader$MasterElement.class
DefaultEbmlReader.java
package com.google.android.exoplayer.extractor.webm
final com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$MasterElement extends java.lang.Object {
	private final int elementId
	private final long elementEndPosition
	private void  (int, long) 
		int elementId
		long elementEndPosition
	static long access$000 (com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$MasterElement) 
		com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$MasterElement x0
	static int access$100 (com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$MasterElement) 
		com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$MasterElement x0
	void  (int, long, com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$1) 
		int x0
		long x1
		com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$1 x2
}

com/google/android/exoplayer/extractor/webm/WebmExtractor$InnerEbmlReaderOutput.class
WebmExtractor.java
package com.google.android.exoplayer.extractor.webm
final com.google.android.exoplayer.extractor.webm.WebmExtractor$InnerEbmlReaderOutput extends java.lang.Object implements com.google.android.exoplayer.extractor.webm.EbmlReaderOutput  {
	final com.google.android.exoplayer.extractor.webm.WebmExtractor this$0
	private void  (com.google.android.exoplayer.extractor.webm.WebmExtractor) 
	public int getElementType (int) 
		int id
	public boolean isLevel1Element (int) 
		int id
	public void startMasterElement (int, long, long)  throws com.google.android.exoplayer.ParserException 
		int id
		long contentPosition
		long contentSize
	public void endMasterElement (int)  throws com.google.android.exoplayer.ParserException 
		int id
	public void integerElement (int, long)  throws com.google.android.exoplayer.ParserException 
		int id
		long value
	public void floatElement (int, double)  throws com.google.android.exoplayer.ParserException 
		int id
		double value
	public void stringElement (int, java.lang.String)  throws com.google.android.exoplayer.ParserException 
		int id
		String value
	public void binaryElement (int, int, com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		int id
		int contentsSize
		com.google.android.exoplayer.extractor.ExtractorInput input
	void  (com.google.android.exoplayer.extractor.webm.WebmExtractor, com.google.android.exoplayer.extractor.webm.WebmExtractor$1) 
		com.google.android.exoplayer.extractor.webm.WebmExtractor x0
		com.google.android.exoplayer.extractor.webm.WebmExtractor$1 x1
}

com/google/android/exoplayer/extractor/webm/WebmExtractor$1.class
WebmExtractor.java
package com.google.android.exoplayer.extractor.webm
 com.google.android.exoplayer.extractor.webm.WebmExtractor$1 extends java.lang.Object {
}

com/google/android/exoplayer/extractor/webm/WebmExtractor.class
WebmExtractor.java
package com.google.android.exoplayer.extractor.webm
public final com.google.android.exoplayer.extractor.webm.WebmExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor  {
	private static final int BLOCK_STATE_START
	private static final int BLOCK_STATE_HEADER
	private static final int BLOCK_STATE_DATA
	private static final String DOC_TYPE_WEBM
	private static final String DOC_TYPE_MATROSKA
	private static final String CODEC_ID_VP8
	private static final String CODEC_ID_VP9
	private static final String CODEC_ID_MPEG2
	private static final String CODEC_ID_MPEG4_SP
	private static final String CODEC_ID_MPEG4_ASP
	private static final String CODEC_ID_MPEG4_AP
	private static final String CODEC_ID_H264
	private static final String CODEC_ID_H265
	private static final String CODEC_ID_VORBIS
	private static final String CODEC_ID_OPUS
	private static final String CODEC_ID_AAC
	private static final String CODEC_ID_MP3
	private static final String CODEC_ID_AC3
	private static final String CODEC_ID_E_AC3
	private static final String CODEC_ID_TRUEHD
	private static final String CODEC_ID_DTS
	private static final String CODEC_ID_DTS_EXPRESS
	private static final String CODEC_ID_DTS_LOSSLESS
	private static final String CODEC_ID_FLAC
	private static final String CODEC_ID_SUBRIP
	private static final String CODEC_ID_VOBSUB
	private static final String CODEC_ID_PGS
	private static final int VORBIS_MAX_INPUT_SIZE
	private static final int OPUS_MAX_INPUT_SIZE
	private static final int MP3_MAX_INPUT_SIZE
	private static final int ENCRYPTION_IV_SIZE
	private static final int TRACK_TYPE_AUDIO
	private static final int UNKNOWN
	private static final int ID_EBML
	private static final int ID_EBML_READ_VERSION
	private static final int ID_DOC_TYPE
	private static final int ID_DOC_TYPE_READ_VERSION
	private static final int ID_SEGMENT
	private static final int ID_SEGMENT_INFO
	private static final int ID_SEEK_HEAD
	private static final int ID_SEEK
	private static final int ID_SEEK_ID
	private static final int ID_SEEK_POSITION
	private static final int ID_INFO
	private static final int ID_TIMECODE_SCALE
	private static final int ID_DURATION
	private static final int ID_CLUSTER
	private static final int ID_TIME_CODE
	private static final int ID_SIMPLE_BLOCK
	private static final int ID_BLOCK_GROUP
	private static final int ID_BLOCK
	private static final int ID_BLOCK_DURATION
	private static final int ID_REFERENCE_BLOCK
	private static final int ID_TRACKS
	private static final int ID_TRACK_ENTRY
	private static final int ID_TRACK_NUMBER
	private static final int ID_TRACK_TYPE
	private static final int ID_DEFAULT_DURATION
	private static final int ID_CODEC_ID
	private static final int ID_CODEC_PRIVATE
	private static final int ID_CODEC_DELAY
	private static final int ID_SEEK_PRE_ROLL
	private static final int ID_VIDEO
	private static final int ID_PIXEL_WIDTH
	private static final int ID_PIXEL_HEIGHT
	private static final int ID_DISPLAY_WIDTH
	private static final int ID_DISPLAY_HEIGHT
	private static final int ID_DISPLAY_UNIT
	private static final int ID_AUDIO
	private static final int ID_CHANNELS
	private static final int ID_SAMPLING_FREQUENCY
	private static final int ID_CONTENT_ENCODINGS
	private static final int ID_CONTENT_ENCODING
	private static final int ID_CONTENT_ENCODING_ORDER
	private static final int ID_CONTENT_ENCODING_SCOPE
	private static final int ID_CONTENT_COMPRESSION
	private static final int ID_CONTENT_COMPRESSION_ALGORITHM
	private static final int ID_CONTENT_COMPRESSION_SETTINGS
	private static final int ID_CONTENT_ENCRYPTION
	private static final int ID_CONTENT_ENCRYPTION_ALGORITHM
	private static final int ID_CONTENT_ENCRYPTION_KEY_ID
	private static final int ID_CONTENT_ENCRYPTION_AES_SETTINGS
	private static final int ID_CONTENT_ENCRYPTION_AES_SETTINGS_CIPHER_MODE
	private static final int ID_CUES
	private static final int ID_CUE_POINT
	private static final int ID_CUE_TIME
	private static final int ID_CUE_TRACK_POSITIONS
	private static final int ID_CUE_CLUSTER_POSITION
	private static final int ID_LANGUAGE
	private static final int LACING_NONE
	private static final int LACING_XIPH
	private static final int LACING_FIXED_SIZE
	private static final int LACING_EBML
	private static final byte[] SUBRIP_PREFIX
	private static final byte[] SUBRIP_TIMECODE_EMPTY
	private static final int SUBRIP_PREFIX_END_TIMECODE_OFFSET
	private static final int SUBRIP_TIMECODE_LENGTH
	private final com.google.android.exoplayer.extractor.webm.EbmlReader reader
	private final com.google.android.exoplayer.extractor.webm.VarintReader varintReader
	private final android.util.SparseArray tracks
	private final com.google.android.exoplayer.util.ParsableByteArray nalStartCode
	private final com.google.android.exoplayer.util.ParsableByteArray nalLength
	private final com.google.android.exoplayer.util.ParsableByteArray scratch
	private final com.google.android.exoplayer.util.ParsableByteArray vorbisNumPageSamples
	private final com.google.android.exoplayer.util.ParsableByteArray seekEntryIdBytes
	private final com.google.android.exoplayer.util.ParsableByteArray sampleStrippedBytes
	private final com.google.android.exoplayer.util.ParsableByteArray subripSample
	private long segmentContentPosition
	private long segmentContentSize
	private long timecodeScale
	private long durationTimecode
	private long durationUs
	private com.google.android.exoplayer.extractor.webm.WebmExtractor$Track currentTrack
	private boolean sentDrmInitData
	private boolean sentSeekMap
	private int seekEntryId
	private long seekEntryPosition
	private boolean seekForCues
	private long cuesContentPosition
	private long seekPositionAfterBuildingCues
	private long clusterTimecodeUs
	private com.google.android.exoplayer.util.LongArray cueTimesUs
	private com.google.android.exoplayer.util.LongArray cueClusterPositions
	private boolean seenClusterPositionForCurrentCuePoint
	private int blockState
	private long blockTimeUs
	private long blockDurationUs
	private int blockLacingSampleIndex
	private int blockLacingSampleCount
	private int[] blockLacingSampleSizes
	private int blockTrackNumber
	private int blockTrackNumberLength
	private int blockFlags
	private int sampleBytesRead
	private boolean sampleEncodingHandled
	private int sampleCurrentNalBytesRemaining
	private int sampleBytesWritten
	private boolean sampleRead
	private boolean sampleSeenReferenceBlock
	private com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
	public void  () 
	void  (com.google.android.exoplayer.extractor.webm.EbmlReader) 
		com.google.android.exoplayer.extractor.webm.EbmlReader reader
	public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
	public void init (com.google.android.exoplayer.extractor.ExtractorOutput) 
		com.google.android.exoplayer.extractor.ExtractorOutput output
	public void seek () 
	public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.PositionHolder seekPosition
		boolean continueReading
	int getElementType (int) 
		int id
	boolean isLevel1Element (int) 
		int id
	void startMasterElement (int, long, long)  throws com.google.android.exoplayer.ParserException 
		int id
		long contentPosition
		long contentSize
	void endMasterElement (int)  throws com.google.android.exoplayer.ParserException 
		int id
	void integerElement (int, long)  throws com.google.android.exoplayer.ParserException 
		int id
		long value
	void floatElement (int, double) 
		int id
		double value
	void stringElement (int, java.lang.String)  throws com.google.android.exoplayer.ParserException 
		int id
		String value
	void binaryElement (int, int, com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		int blockLacingSampleSize
		int byteValue
		int sampleIndex
		int totalSamplesSize
		int headerSize
		int readPosition
		int lengthMask
		int i
		long readValue
		int intReadValue
		int sampleIndex
		int totalSamplesSize
		int headerSize
		int lacing
		int timecode
		boolean isInvisible
		boolean isKeyframe
		long sampleTimeUs
		com.google.android.exoplayer.extractor.webm.WebmExtractor$Track track
		int id
		int contentSize
		com.google.android.exoplayer.extractor.ExtractorInput input
	private void commitSampleToOutput (com.google.android.exoplayer.extractor.webm.WebmExtractor$Track, long) 
		com.google.android.exoplayer.extractor.webm.WebmExtractor$Track track
		long timeUs
	private void resetSample () 
	private void readScratch (com.google.android.exoplayer.extractor.ExtractorInput, int)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		int requiredLength
	private void writeSampleData (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.webm.WebmExtractor$Track, int)  throws java.io.IOException java.lang.InterruptedException 
		int sizeWithPrefix
		byte[] nalLengthData
		int nalUnitLengthFieldLength
		int nalUnitLengthFieldLengthDiff
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.webm.WebmExtractor$Track track
		int size
		com.google.android.exoplayer.extractor.TrackOutput output
	private void writeSubripSample (com.google.android.exoplayer.extractor.webm.WebmExtractor$Track) 
		com.google.android.exoplayer.extractor.webm.WebmExtractor$Track track
	private static void setSubripSampleEndTimecode (byte[], long) 
		byte[] timeCodeData
		int hours
		int minutes
		int seconds
		int milliseconds
		byte[] subripSampleData
		long timeUs
		byte[] timeCodeData
	private void readToTarget (com.google.android.exoplayer.extractor.ExtractorInput, byte[], int, int)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		byte[] target
		int offset
		int length
		int pendingStrippedBytes
	private int readToOutput (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.TrackOutput, int)  throws java.io.IOException java.lang.InterruptedException 
		int bytesRead
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.TrackOutput output
		int length
		int bytesRead
		int strippedBytesLeft
	private com.google.android.exoplayer.extractor.SeekMap buildSeekMap () 
		int i
		int i
		int cuePointsSize
		int[] sizes
		long[] offsets
		long[] durationsUs
		long[] timesUs
	private boolean maybeSeekForCues (com.google.android.exoplayer.extractor.PositionHolder, long) 
		com.google.android.exoplayer.extractor.PositionHolder seekPosition
		long currentPosition
	private long scaleTimecodeToUs (long)  throws com.google.android.exoplayer.ParserException 
		long unscaledTimecode
	private static boolean isCodecSupported (java.lang.String) 
		String codecId
	private static int[] ensureArrayCapacity (int[], int) 
		int[] array
		int length
	static void  () 
}

com/google/android/exoplayer/extractor/webm/DefaultEbmlReader$1.class
DefaultEbmlReader.java
package com.google.android.exoplayer.extractor.webm
 com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$1 extends java.lang.Object {
}

com/google/android/exoplayer/extractor/webm/VarintReader.class
VarintReader.java
package com.google.android.exoplayer.extractor.webm
final com.google.android.exoplayer.extractor.webm.VarintReader extends java.lang.Object {
	private static final int STATE_BEGIN_READING
	private static final int STATE_READ_CONTENTS
	private static final long[] VARINT_LENGTH_MASKS
	private final byte[] scratch
	private int state
	private int length
	public void  () 
	public void reset () 
	public long readUnsignedVarint (com.google.android.exoplayer.extractor.ExtractorInput, boolean, boolean, int)  throws java.io.IOException java.lang.InterruptedException 
		int firstByte
		com.google.android.exoplayer.extractor.ExtractorInput input
		boolean allowEndOfInput
		boolean removeLengthMask
		int maximumAllowedLength
	public int getLastLength () 
	public static int parseUnsignedVarintLength (int) 
		int i
		int firstByte
		int varIntLength
	public static long assembleVarint (byte[], int, boolean) 
		int i
		byte[] varintBytes
		int varintLength
		boolean removeLengthMask
		long varint
	static void  () 
}

com/google/android/exoplayer/extractor/webm/EbmlReaderOutput.class
EbmlReaderOutput.java
package com.google.android.exoplayer.extractor.webm
abstract com.google.android.exoplayer.extractor.webm.EbmlReaderOutput extends java.lang.Object {
	public abstract int getElementType (int) 
	public abstract boolean isLevel1Element (int) 
	public abstract void startMasterElement (int, long, long)  throws com.google.android.exoplayer.ParserException 
	public abstract void endMasterElement (int)  throws com.google.android.exoplayer.ParserException 
	public abstract void integerElement (int, long)  throws com.google.android.exoplayer.ParserException 
	public abstract void floatElement (int, double)  throws com.google.android.exoplayer.ParserException 
	public abstract void stringElement (int, java.lang.String)  throws com.google.android.exoplayer.ParserException 
	public abstract void binaryElement (int, int, com.google.android.exoplayer.extractor.ExtractorInput)  throws com.google.android.exoplayer.ParserException java.io.IOException java.lang.InterruptedException 
}

com/google/android/exoplayer/extractor/webm/Sniffer.class
Sniffer.java
package com.google.android.exoplayer.extractor.webm
final com.google.android.exoplayer.extractor.webm.Sniffer extends java.lang.Object {
	private static final int SEARCH_LENGTH
	private static final int ID_EBML
	private final com.google.android.exoplayer.util.ParsableByteArray scratch
	private int peekLength
	public void  () 
	public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		long id
		long size
		com.google.android.exoplayer.extractor.ExtractorInput input
		long inputLength
		int bytesToSearch
		long tag
		long headerSize
		long headerStart
	private long readUint (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		int i
		com.google.android.exoplayer.extractor.ExtractorInput input
		int value
		int mask
		int length
}

com/google/android/exoplayer/extractor/webm/DefaultEbmlReader.class
DefaultEbmlReader.java
package com.google.android.exoplayer.extractor.webm
final com.google.android.exoplayer.extractor.webm.DefaultEbmlReader extends java.lang.Object implements com.google.android.exoplayer.extractor.webm.EbmlReader  {
	private static final int ELEMENT_STATE_READ_ID
	private static final int ELEMENT_STATE_READ_CONTENT_SIZE
	private static final int ELEMENT_STATE_READ_CONTENT
	private static final int MAX_ID_BYTES
	private static final int MAX_LENGTH_BYTES
	private static final int MAX_INTEGER_ELEMENT_SIZE_BYTES
	private static final int VALID_FLOAT32_ELEMENT_SIZE_BYTES
	private static final int VALID_FLOAT64_ELEMENT_SIZE_BYTES
	private final byte[] scratch
	private final java.util.Stack masterElementsStack
	private final com.google.android.exoplayer.extractor.webm.VarintReader varintReader
	private com.google.android.exoplayer.extractor.webm.EbmlReaderOutput output
	private int elementState
	private int elementId
	private long elementContentSize
	void  () 
	public void init (com.google.android.exoplayer.extractor.webm.EbmlReaderOutput) 
		com.google.android.exoplayer.extractor.webm.EbmlReaderOutput eventHandler
	public void reset () 
	public boolean read (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		long result
		long elementContentPosition
		long elementEndPosition
		int type
		com.google.android.exoplayer.extractor.ExtractorInput input
	private long maybeResyncToNextLevel1Element (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.EOFException java.io.IOException java.lang.InterruptedException 
		int potentialId
		int varintLength
		com.google.android.exoplayer.extractor.ExtractorInput input
	private long readInteger (com.google.android.exoplayer.extractor.ExtractorInput, int)  throws java.io.IOException java.lang.InterruptedException 
		int i
		com.google.android.exoplayer.extractor.ExtractorInput input
		int byteLength
		long value
	private double readFloat (com.google.android.exoplayer.extractor.ExtractorInput, int)  throws java.io.IOException java.lang.InterruptedException 
		double floatValue
		com.google.android.exoplayer.extractor.ExtractorInput input
		int byteLength
		long integerValue
		double floatValue
	private java.lang.String readString (com.google.android.exoplayer.extractor.ExtractorInput, int)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		int byteLength
		byte[] stringBytes
}

com/google/android/exoplayer/extractor/ExtractorSampleSource$UnrecognizedInputFormatException.class
ExtractorSampleSource.java
package com.google.android.exoplayer.extractor
public final com.google.android.exoplayer.extractor.ExtractorSampleSource$UnrecognizedInputFormatException extends com.google.android.exoplayer.ParserException {
	public void  (com.google.android.exoplayer.extractor.Extractor[]) 
		com.google.android.exoplayer.extractor.Extractor[] extractors
}

com/google/android/exoplayer/extractor/wav/
com/google/android/exoplayer/extractor/wav/WavHeader.class
WavHeader.java
package com.google.android.exoplayer.extractor.wav
final com.google.android.exoplayer.extractor.wav.WavHeader extends java.lang.Object {
	private final int numChannels
	private final int sampleRateHz
	private final int averageBytesPerSecond
	private final int blockAlignment
	private final int bitsPerSample
	private long dataStartPosition
	private long dataSize
	public void  (int, int, int, int, int) 
		int numChannels
		int sampleRateHz
		int averageBytesPerSecond
		int blockAlignment
		int bitsPerSample
	public long getDurationUs () 
	public long getNumSamples () 
	public long getNumFrames () 
	public int getBytesPerSample () 
	public int getBytesPerFrame () 
	public int getBitrate () 
	public int getSampleRateHz () 
	public int getNumChannels () 
	public long getPosition (long) 
		long timeUs
		long unroundedPosition
	public long getTimeUs (long) 
		long position
	public boolean hasDataBounds () 
	public void setDataBounds (long, long) 
		long dataStartPosition
		long dataSize
}

com/google/android/exoplayer/extractor/wav/WavHeaderReader$ChunkHeader.class
WavHeaderReader.java
package com.google.android.exoplayer.extractor.wav
final com.google.android.exoplayer.extractor.wav.WavHeaderReader$ChunkHeader extends java.lang.Object {
	public static final int SIZE_IN_BYTES
	public final int id
	public final long size
	private void  (int, long) 
		int id
		long size
	public static com.google.android.exoplayer.extractor.wav.WavHeaderReader$ChunkHeader peek (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.util.ParsableByteArray)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.util.ParsableByteArray scratch
		int id
		long size
}

com/google/android/exoplayer/extractor/wav/WavExtractor.class
WavExtractor.java
package com.google.android.exoplayer.extractor.wav
public final com.google.android.exoplayer.extractor.wav.WavExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor com.google.android.exoplayer.extractor.SeekMap  {
	private static final int MAX_INPUT_SIZE
	private com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
	private com.google.android.exoplayer.extractor.TrackOutput trackOutput
	private com.google.android.exoplayer.extractor.wav.WavHeader wavHeader
	private int bytesPerFrame
	private int pendingBytes
	public void  () 
	public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
	public void init (com.google.android.exoplayer.extractor.ExtractorOutput) 
		com.google.android.exoplayer.extractor.ExtractorOutput output
	public void seek () 
	public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder)  throws java.io.IOException java.lang.InterruptedException 
		long sampleStartPosition
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.PositionHolder seekPosition
		int bytesAppended
		int frameBytes
	public boolean isSeekable () 
	public long getPosition (long) 
		long timeUs
}

com/google/android/exoplayer/extractor/wav/WavHeaderReader.class
WavHeaderReader.java
package com.google.android.exoplayer.extractor.wav
final com.google.android.exoplayer.extractor.wav.WavHeaderReader extends java.lang.Object {
	private static final String TAG
	private static final int TYPE_PCM
	private static final int TYPE_WAVE_FORMAT_EXTENSIBLE
	void  () 
	public static com.google.android.exoplayer.extractor.wav.WavHeader peek (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.util.ParsableByteArray scratch
		com.google.android.exoplayer.extractor.wav.WavHeaderReader$ChunkHeader riffChunkHeader
		int riffFormat
		com.google.android.exoplayer.extractor.wav.WavHeaderReader$ChunkHeader formatChunkHeader
		int type
		int numChannels
		int sampleRateHz
		int averageBytesPerSecond
		int blockAlignment
		int bitsPerSample
		int expectedBlockAlignment
	public static void skipToData (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.wav.WavHeader)  throws java.io.IOException java.lang.InterruptedException com.google.android.exoplayer.ParserException 
		long bytesToSkip
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.wav.WavHeader wavHeader
		com.google.android.exoplayer.util.ParsableByteArray scratch
		com.google.android.exoplayer.extractor.wav.WavHeaderReader$ChunkHeader chunkHeader
}

com/google/android/exoplayer/extractor/SeekMap$1.class
SeekMap.java
package com.google.android.exoplayer.extractor
final com.google.android.exoplayer.extractor.SeekMap$1 extends java.lang.Object implements com.google.android.exoplayer.extractor.SeekMap  {
	void  () 
	public boolean isSeekable () 
	public long getPosition (long) 
		long timeUs
}

com/google/android/exoplayer/extractor/ExtractorSampleSource$ExtractorHolder.class
ExtractorSampleSource.java
package com.google.android.exoplayer.extractor
final com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractorHolder extends java.lang.Object {
	private final com.google.android.exoplayer.extractor.Extractor[] extractors
	private final com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
	private com.google.android.exoplayer.extractor.Extractor extractor
	public void  (com.google.android.exoplayer.extractor.Extractor[], com.google.android.exoplayer.extractor.ExtractorOutput) 
		com.google.android.exoplayer.extractor.Extractor[] extractors
		com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
	public com.google.android.exoplayer.extractor.Extractor selectExtractor (com.google.android.exoplayer.extractor.ExtractorInput)  throws com.google.android.exoplayer.extractor.ExtractorSampleSource$UnrecognizedInputFormatException java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.Extractor extractor
		com.google.android.exoplayer.extractor.ExtractorInput input
}

com/google/android/exoplayer/extractor/DefaultTrackOutput.class
DefaultTrackOutput.java
package com.google.android.exoplayer.extractor
public com.google.android.exoplayer.extractor.DefaultTrackOutput extends java.lang.Object implements com.google.android.exoplayer.extractor.TrackOutput  {
	private final com.google.android.exoplayer.extractor.RollingSampleBuffer rollingBuffer
	private final com.google.android.exoplayer.SampleHolder sampleInfoHolder
	private boolean needKeyframe
	private long lastReadTimeUs
	private long spliceOutTimeUs
	private volatile long largestParsedTimestampUs
	private volatile com.google.android.exoplayer.MediaFormat format
	public void  (com.google.android.exoplayer.upstream.Allocator) 
		com.google.android.exoplayer.upstream.Allocator allocator
	public void clear () 
	public int getWriteIndex () 
	public void discardUpstreamSamples (int) 
		int discardFromIndex
	public int getReadIndex () 
	public boolean hasFormat () 
	public com.google.android.exoplayer.MediaFormat getFormat () 
	public long getLargestParsedTimestampUs () 
	public boolean isEmpty () 
	public boolean getSample (com.google.android.exoplayer.SampleHolder) 
		com.google.android.exoplayer.SampleHolder holder
		boolean foundEligibleSample
	public void discardUntil (long) 
		long timeUs
	public boolean skipToKeyframeBefore (long) 
		long timeUs
	public boolean configureSpliceTo (com.google.android.exoplayer.extractor.DefaultTrackOutput) 
		long firstPossibleSpliceTime
		com.google.android.exoplayer.extractor.DefaultTrackOutput nextQueue
		long firstPossibleSpliceTime
		com.google.android.exoplayer.extractor.RollingSampleBuffer nextRollingBuffer
	private boolean advanceToEligibleSample () 
		boolean haveNext
	public int sampleData (com.google.android.exoplayer.upstream.DataSource, int, boolean)  throws java.io.IOException 
		com.google.android.exoplayer.upstream.DataSource dataSource
		int length
		boolean allowEndOfInput
	public void format (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat format
	public int sampleData (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		int length
		boolean allowEndOfInput
	public void sampleData (com.google.android.exoplayer.util.ParsableByteArray, int) 
		com.google.android.exoplayer.util.ParsableByteArray buffer
		int length
	public void sampleMetadata (long, int, int, int, byte[]) 
		long timeUs
		int flags
		int size
		int offset
		byte[] encryptionKey
}

com/google/android/exoplayer/extractor/RollingSampleBuffer$InfoQueue.class
RollingSampleBuffer.java
package com.google.android.exoplayer.extractor
final com.google.android.exoplayer.extractor.RollingSampleBuffer$InfoQueue extends java.lang.Object {
	private static final int SAMPLE_CAPACITY_INCREMENT
	private int capacity
	private long[] offsets
	private int[] sizes
	private int[] flags
	private long[] timesUs
	private byte[][] encryptionKeys
	private int queueSize
	private int absoluteReadIndex
	private int relativeReadIndex
	private int relativeWriteIndex
	public void  () 
	public void clear () 
	public int getWriteIndex () 
	public long discardUpstreamSamples (int) 
		int lastWriteIndex
		int discardFromIndex
		int discardCount
	public int getReadIndex () 
	public synchronized boolean peekSample (com.google.android.exoplayer.SampleHolder, com.google.android.exoplayer.extractor.RollingSampleBuffer$SampleExtrasHolder) 
		com.google.android.exoplayer.SampleHolder holder
		com.google.android.exoplayer.extractor.RollingSampleBuffer$SampleExtrasHolder extrasHolder
	public synchronized long moveToNextSample () 
		int lastReadIndex
	public synchronized long skipToKeyframeBefore (long) 
		long timeUs
		int lastWriteIndex
		long lastTimeUs
		int sampleCount
		int sampleCountToKeyframe
		int searchIndex
	public synchronized void commitSample (long, int, long, int, byte[]) 
		int newCapacity
		long[] newOffsets
		long[] newTimesUs
		int[] newFlags
		int[] newSizes
		byte[][] newEncryptionKeys
		int beforeWrap
		int afterWrap
		long timeUs
		int sampleFlags
		long offset
		int size
		byte[] encryptionKey
}

com/google/android/exoplayer/extractor/DefaultExtractorInput.class
DefaultExtractorInput.java
package com.google.android.exoplayer.extractor
public final com.google.android.exoplayer.extractor.DefaultExtractorInput extends java.lang.Object implements com.google.android.exoplayer.extractor.ExtractorInput  {
	private static final byte[] SCRATCH_SPACE
	private final com.google.android.exoplayer.upstream.DataSource dataSource
	private final long streamLength
	private long position
	private byte[] peekBuffer
	private int peekBufferPosition
	private int peekBufferLength
	public void  (com.google.android.exoplayer.upstream.DataSource, long, long) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		long position
		long length
	public int read (byte[], int, int)  throws java.io.IOException java.lang.InterruptedException 
		byte[] target
		int offset
		int length
		int bytesRead
	public boolean readFully (byte[], int, int, boolean)  throws java.io.IOException java.lang.InterruptedException 
		byte[] target
		int offset
		int length
		boolean allowEndOfInput
		int bytesRead
	public void readFully (byte[], int, int)  throws java.io.IOException java.lang.InterruptedException 
		byte[] target
		int offset
		int length
	public int skip (int)  throws java.io.IOException java.lang.InterruptedException 
		int length
		int bytesSkipped
	public boolean skipFully (int, boolean)  throws java.io.IOException java.lang.InterruptedException 
		int length
		boolean allowEndOfInput
		int bytesSkipped
	public void skipFully (int)  throws java.io.IOException java.lang.InterruptedException 
		int length
	public boolean peekFully (byte[], int, int, boolean)  throws java.io.IOException java.lang.InterruptedException 
		byte[] target
		int offset
		int length
		boolean allowEndOfInput
	public void peekFully (byte[], int, int)  throws java.io.IOException java.lang.InterruptedException 
		byte[] target
		int offset
		int length
	public boolean advancePeekPosition (int, boolean)  throws java.io.IOException java.lang.InterruptedException 
		int length
		boolean allowEndOfInput
		int bytesPeeked
	public void advancePeekPosition (int)  throws java.io.IOException java.lang.InterruptedException 
		int length
	public void resetPeekPosition () 
	public long getPeekPosition () 
	public long getPosition () 
	public long getLength () 
	private void ensureSpaceForPeek (int) 
		int length
		int requiredLength
	private int skipFromPeekBuffer (int) 
		int length
		int bytesSkipped
	private int readFromPeekBuffer (byte[], int, int) 
		byte[] target
		int offset
		int length
		int peekBytes
	private void updatePeekBuffer (int) 
		int bytesConsumed
	private int readFromDataSource (byte[], int, int, int, boolean)  throws java.lang.InterruptedException java.io.IOException 
		byte[] target
		int offset
		int length
		int bytesAlreadyRead
		boolean allowEndOfInput
		int bytesRead
	private void commitBytesRead (int) 
		int bytesRead
	static void  () 
}

com/google/android/exoplayer/extractor/mp4/
com/google/android/exoplayer/extractor/mp4/PsshAtomUtil.class
PsshAtomUtil.java
package com.google.android.exoplayer.extractor.mp4
public final com.google.android.exoplayer.extractor.mp4.PsshAtomUtil extends java.lang.Object {
	private static final String TAG
	private void  () 
	public static byte[] buildPsshAtom (java.util.UUID, byte[]) 
		java.util.UUID uuid
		byte[] data
		int psshBoxLength
		java.nio.ByteBuffer psshBox
	public static java.util.UUID parseUuid (byte[]) 
		byte[] atom
		android.util.Pair parsedAtom
	public static byte[] parseSchemeSpecificData (byte[], java.util.UUID) 
		byte[] atom
		java.util.UUID uuid
		android.util.Pair parsedAtom
	private static android.util.Pair parsePsshAtom (byte[]) 
		int keyIdCount
		byte[] atom
		com.google.android.exoplayer.util.ParsableByteArray atomData
		int atomSize
		int atomType
		int atomVersion
		java.util.UUID uuid
		int dataSize
		byte[] data
}

com/google/android/exoplayer/extractor/mp4/Track.class
Track.java
package com.google.android.exoplayer.extractor.mp4
public final com.google.android.exoplayer.extractor.mp4.Track extends java.lang.Object {
	public static final int TYPE_vide
	public static final int TYPE_soun
	public static final int TYPE_text
	public static final int TYPE_sbtl
	public static final int TYPE_subt
	public final int id
	public final int type
	public final long timescale
	public final long movieTimescale
	public final long durationUs
	public final com.google.android.exoplayer.MediaFormat mediaFormat
	public final com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox[] sampleDescriptionEncryptionBoxes
	public final long[] editListDurations
	public final long[] editListMediaTimes
	public final int nalUnitLengthFieldLength
	public void  (int, int, long, long, long, com.google.android.exoplayer.MediaFormat, com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox[], int, long[], long[]) 
		int id
		int type
		long timescale
		long movieTimescale
		long durationUs
		com.google.android.exoplayer.MediaFormat mediaFormat
		com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox[] sampleDescriptionEncryptionBoxes
		int nalUnitLengthFieldLength
		long[] editListDurations
		long[] editListMediaTimes
	static void  () 
}

com/google/android/exoplayer/extractor/mp4/FragmentedMp4Extractor.class
FragmentedMp4Extractor.java
package com.google.android.exoplayer.extractor.mp4
public final com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor  {
	private static final String TAG
	public static final int FLAG_WORKAROUND_EVERY_VIDEO_FRAME_IS_SYNC_FRAME
	public static final int FLAG_WORKAROUND_IGNORE_TFDT_BOX
	private static final int FLAG_SIDELOADED
	private static final byte[] PIFF_SAMPLE_ENCRYPTION_BOX_EXTENDED_TYPE
	private static final int STATE_READING_ATOM_HEADER
	private static final int STATE_READING_ATOM_PAYLOAD
	private static final int STATE_READING_ENCRYPTION_DATA
	private static final int STATE_READING_SAMPLE_START
	private static final int STATE_READING_SAMPLE_CONTINUE
	private final int flags
	private final com.google.android.exoplayer.extractor.mp4.Track sideloadedTrack
	private final android.util.SparseArray trackBundles
	private final com.google.android.exoplayer.util.ParsableByteArray nalStartCode
	private final com.google.android.exoplayer.util.ParsableByteArray nalLength
	private final com.google.android.exoplayer.util.ParsableByteArray encryptionSignalByte
	private final com.google.android.exoplayer.util.ParsableByteArray atomHeader
	private final byte[] extendedTypeScratch
	private final java.util.Stack containerAtoms
	private int parserState
	private int atomType
	private long atomSize
	private int atomHeaderBytesRead
	private com.google.android.exoplayer.util.ParsableByteArray atomData
	private long endOfMdatPosition
	private com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle currentTrackBundle
	private int sampleSize
	private int sampleBytesWritten
	private int sampleCurrentNalBytesRemaining
	private com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
	private boolean haveOutputSeekMap
	public void  () 
	public void  (int) 
		int flags
	public void  (int, com.google.android.exoplayer.extractor.mp4.Track) 
		int flags
		com.google.android.exoplayer.extractor.mp4.Track sideloadedTrack
	public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
	public void init (com.google.android.exoplayer.extractor.ExtractorOutput) 
		com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle bundle
		com.google.android.exoplayer.extractor.ExtractorOutput output
	public void seek () 
	public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.PositionHolder seekPosition
	private void enterReadingAtomHeaderState () 
	private boolean readAtomHeader (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		int headerBytesRemaining
		com.google.android.exoplayer.extractor.mp4.TrackFragment fragment
		int i
		int trackCount
		long endPosition
		com.google.android.exoplayer.extractor.ExtractorInput input
		long atomPosition
	private void readAtomPayload (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		int atomPayloadSize
	private void processAtomEnded (long)  throws com.google.android.exoplayer.ParserException 
		long atomEndPosition
	private void onLeafAtomRead (com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom, long)  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.extractor.ChunkIndex segmentIndex
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom leaf
		long inputPosition
	private void onContainerAtomRead (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom)  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom container
	private void onMoovContainerAtomRead (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom) 
		byte[] psshData
		java.util.UUID uuid
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom child
		int i
		android.util.Pair trexData
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom atom
		int i
		com.google.android.exoplayer.extractor.mp4.Track track
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom atom
		int i
		int i
		com.google.android.exoplayer.extractor.mp4.Track track
		int i
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom moov
		java.util.List moovLeafChildren
		int moovLeafChildrenSize
		com.google.android.exoplayer.drm.DrmInitData$Mapped drmInitData
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom mvex
		android.util.SparseArray defaultSampleValuesArray
		int mvexChildrenSize
		android.util.SparseArray tracks
		int moovContainerChildrenSize
		int trackCount
	private void onMoofContainerAtomRead (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom)  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom moof
	private static android.util.Pair parseTrex (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray trex
		int trackId
		int defaultSampleDescriptionIndex
		int defaultSampleDuration
		int defaultSampleSize
		int defaultSampleFlags
	private static void parseMoof (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom, android.util.SparseArray, int, byte[])  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom child
		int i
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom moof
		android.util.SparseArray trackBundleArray
		int flags
		byte[] extendedTypeScratch
		int moofContainerChildrenSize
	private static void parseTraf (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom, android.util.SparseArray, int, byte[])  throws com.google.android.exoplayer.ParserException 
		long decodeTime
		com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox trackEncryptionBox
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom atom
		int i
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom traf
		android.util.SparseArray trackBundleArray
		int flags
		byte[] extendedTypeScratch
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom tfhd
		com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle trackBundle
		com.google.android.exoplayer.extractor.mp4.TrackFragment fragment
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom tfdtAtom
		long decodeTime
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom trun
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom saiz
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom saio
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom senc
		int childrenSize
	private static void parseSaiz (com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox, com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.extractor.mp4.TrackFragment)  throws com.google.android.exoplayer.ParserException 
		int sampleInfoSize
		int i
		boolean[] sampleHasSubsampleEncryptionTable
		boolean subsampleEncryption
		com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox encryptionBox
		com.google.android.exoplayer.util.ParsableByteArray saiz
		com.google.android.exoplayer.extractor.mp4.TrackFragment out
		int vectorSize
		int fullAtom
		int flags
		int defaultSampleInfoSize
		int sampleCount
		int totalSize
	private static void parseSaio (com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.extractor.mp4.TrackFragment)  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.util.ParsableByteArray saio
		com.google.android.exoplayer.extractor.mp4.TrackFragment out
		int fullAtom
		int flags
		int entryCount
		int version
	private static com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle parseTfhd (com.google.android.exoplayer.util.ParsableByteArray, android.util.SparseArray, int) 
		long baseDataPosition
		com.google.android.exoplayer.util.ParsableByteArray tfhd
		android.util.SparseArray trackBundles
		int flags
		int fullAtom
		int atomFlags
		int trackId
		com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle trackBundle
		com.google.android.exoplayer.extractor.mp4.DefaultSampleValues defaultSampleValues
		int defaultSampleDescriptionIndex
		int defaultSampleDuration
		int defaultSampleSize
		int defaultSampleFlags
	private static long parseTfdt (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray tfdt
		int fullAtom
		int version
	private static void parseTrun (com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle, long, int, com.google.android.exoplayer.util.ParsableByteArray) 
		int sampleOffset
		int sampleDuration
		int sampleSize
		int sampleFlags
		int i
		com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle trackBundle
		long decodeTime
		int flags
		com.google.android.exoplayer.util.ParsableByteArray trun
		int fullAtom
		int atomFlags
		com.google.android.exoplayer.extractor.mp4.Track track
		com.google.android.exoplayer.extractor.mp4.TrackFragment fragment
		com.google.android.exoplayer.extractor.mp4.DefaultSampleValues defaultSampleValues
		int sampleCount
		boolean firstSampleFlagsPresent
		int firstSampleFlags
		boolean sampleDurationsPresent
		boolean sampleSizesPresent
		boolean sampleFlagsPresent
		boolean sampleCompositionTimeOffsetsPresent
		long edtsOffset
		int[] sampleSizeTable
		int[] sampleCompositionTimeOffsetTable
		long[] sampleDecodingTimeTable
		boolean[] sampleIsSyncFrameTable
		long timescale
		long cumulativeTime
		boolean workaroundEveryVideoFrameIsSyncFrame
	private static void parseUuid (com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.extractor.mp4.TrackFragment, byte[])  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.util.ParsableByteArray uuid
		com.google.android.exoplayer.extractor.mp4.TrackFragment out
		byte[] extendedTypeScratch
	private static void parseSenc (com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.extractor.mp4.TrackFragment)  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.util.ParsableByteArray senc
		com.google.android.exoplayer.extractor.mp4.TrackFragment out
	private static void parseSenc (com.google.android.exoplayer.util.ParsableByteArray, int, com.google.android.exoplayer.extractor.mp4.TrackFragment)  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.util.ParsableByteArray senc
		int offset
		com.google.android.exoplayer.extractor.mp4.TrackFragment out
		int fullAtom
		int flags
		boolean subsampleEncryption
		int sampleCount
	private static com.google.android.exoplayer.extractor.ChunkIndex parseSidx (com.google.android.exoplayer.util.ParsableByteArray, long)  throws com.google.android.exoplayer.ParserException 
		long earliestPresentationTime
		int firstInt
		int type
		long referenceDuration
		int i
		com.google.android.exoplayer.util.ParsableByteArray atom
		long inputPosition
		int fullAtom
		int version
		long timescale
		long earliestPresentationTime
		long offset
		int referenceCount
		int[] sizes
		long[] offsets
		long[] durationsUs
		long[] timesUs
		long time
		long timeUs
	private void readEncryptionData (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.mp4.TrackFragment trackFragment
		int i
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle nextTrackBundle
		long nextDataOffset
		int trackBundlesSize
		int bytesToSkip
	private boolean readSample (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		int bytesToSkip
		long nextDataPosition
		int bytesToSkip
		int writtenBytes
		byte[] nalLengthData
		int nalUnitLengthFieldLength
		int nalUnitLengthFieldLengthDiff
		int writtenBytes
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.mp4.TrackFragment fragment
		com.google.android.exoplayer.extractor.mp4.Track track
		com.google.android.exoplayer.extractor.TrackOutput output
		int sampleIndex
		long sampleTimeUs
		int sampleFlags
		int sampleDescriptionIndex
		byte[] encryptionKey
	private static com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle getNextFragmentRun (android.util.SparseArray) 
		long trunOffset
		com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle trackBundle
		int i
		android.util.SparseArray trackBundles
		com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle nextTrackBundle
		long nextTrackRunOffset
		int trackBundlesSize
	private int appendSampleEncryptionData (com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle) 
		com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle trackBundle
		com.google.android.exoplayer.extractor.mp4.TrackFragment trackFragment
		com.google.android.exoplayer.util.ParsableByteArray sampleEncryptionData
		int sampleDescriptionIndex
		com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox encryptionBox
		int vectorSize
		boolean subsampleEncryption
		com.google.android.exoplayer.extractor.TrackOutput output
		int subsampleCount
		int subsampleDataLength
	private static boolean shouldParseLeafAtom (int) 
		int atom
	private static boolean shouldParseContainerAtom (int) 
		int atom
	static void  () 
}

com/google/android/exoplayer/extractor/mp4/Mp4Extractor.class
Mp4Extractor.java
package com.google.android.exoplayer.extractor.mp4
public final com.google.android.exoplayer.extractor.mp4.Mp4Extractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor com.google.android.exoplayer.extractor.SeekMap  {
	private static final int STATE_AFTER_SEEK
	private static final int STATE_READING_ATOM_HEADER
	private static final int STATE_READING_ATOM_PAYLOAD
	private static final int STATE_READING_SAMPLE
	private static final int BRAND_QUICKTIME
	private static final long RELOAD_MINIMUM_SEEK_DISTANCE
	private final com.google.android.exoplayer.util.ParsableByteArray nalStartCode
	private final com.google.android.exoplayer.util.ParsableByteArray nalLength
	private final com.google.android.exoplayer.util.ParsableByteArray atomHeader
	private final java.util.Stack containerAtoms
	private int parserState
	private int atomType
	private long atomSize
	private int atomHeaderBytesRead
	private com.google.android.exoplayer.util.ParsableByteArray atomData
	private int sampleSize
	private int sampleBytesWritten
	private int sampleCurrentNalBytesRemaining
	private com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
	private com.google.android.exoplayer.extractor.mp4.Mp4Extractor$Mp4Track[] tracks
	private boolean isQuickTime
	public void  () 
	public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
	public void init (com.google.android.exoplayer.extractor.ExtractorOutput) 
		com.google.android.exoplayer.extractor.ExtractorOutput output
	public void seek () 
	public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.PositionHolder seekPosition
	public boolean isSeekable () 
	public long getPosition (long) 
		com.google.android.exoplayer.extractor.mp4.TrackSampleTable sampleTable
		int sampleIndex
		long offset
		int trackIndex
		long timeUs
		long earliestSamplePosition
	private void enterReadingAtomHeaderState () 
	private boolean readAtomHeader (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		int headerBytesRemaining
		long endPosition
		com.google.android.exoplayer.extractor.ExtractorInput input
	private boolean readAtomPayload (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.PositionHolder positionHolder
		long atomPayloadSize
		long atomEndPosition
		boolean seekRequired
	private void processAtomEnded (long)  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom containerAtom
		long atomEndPosition
	private static boolean processFtypAtom (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray atomData
		int majorBrand
	private void processMoovAtom (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom)  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom atom
		com.google.android.exoplayer.extractor.mp4.Track track
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom stblAtom
		com.google.android.exoplayer.extractor.mp4.TrackSampleTable trackSampleTable
		com.google.android.exoplayer.extractor.mp4.Mp4Extractor$Mp4Track mp4Track
		int maxInputSize
		com.google.android.exoplayer.MediaFormat mediaFormat
		long firstSampleOffset
		int i
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom moov
		java.util.List tracks
		long earliestSampleOffset
		com.google.android.exoplayer.extractor.GaplessInfo gaplessInfo
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom udta
	private int readSample (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder)  throws java.io.IOException java.lang.InterruptedException 
		int writtenBytes
		byte[] nalLengthData
		int nalUnitLengthFieldLength
		int nalUnitLengthFieldLengthDiff
		int writtenBytes
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.PositionHolder positionHolder
		int trackIndex
		com.google.android.exoplayer.extractor.mp4.Mp4Extractor$Mp4Track track
		com.google.android.exoplayer.extractor.TrackOutput trackOutput
		int sampleIndex
		long position
		long skipAmount
	private int getTrackIndexOfEarliestCurrentSample () 
		com.google.android.exoplayer.extractor.mp4.Mp4Extractor$Mp4Track track
		int sampleIndex
		long trackSampleOffset
		int trackIndex
		int earliestSampleTrackIndex
		long earliestSampleOffset
	private static boolean shouldParseLeafAtom (int) 
		int atom
	private static boolean shouldParseContainerAtom (int) 
		int atom
	static void  () 
}

com/google/android/exoplayer/extractor/mp4/Mp4Extractor$Mp4Track.class
Mp4Extractor.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.Mp4Extractor$Mp4Track extends java.lang.Object {
	public final com.google.android.exoplayer.extractor.mp4.Track track
	public final com.google.android.exoplayer.extractor.mp4.TrackSampleTable sampleTable
	public final com.google.android.exoplayer.extractor.TrackOutput trackOutput
	public int sampleIndex
	public void  (com.google.android.exoplayer.extractor.mp4.Track, com.google.android.exoplayer.extractor.mp4.TrackSampleTable, com.google.android.exoplayer.extractor.TrackOutput) 
		com.google.android.exoplayer.extractor.mp4.Track track
		com.google.android.exoplayer.extractor.mp4.TrackSampleTable sampleTable
		com.google.android.exoplayer.extractor.TrackOutput trackOutput
}

com/google/android/exoplayer/extractor/mp4/TrackFragment.class
TrackFragment.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.TrackFragment extends java.lang.Object {
	public com.google.android.exoplayer.extractor.mp4.DefaultSampleValues header
	public long dataPosition
	public long auxiliaryDataPosition
	public int length
	public int[] sampleSizeTable
	public int[] sampleCompositionTimeOffsetTable
	public long[] sampleDecodingTimeTable
	public boolean[] sampleIsSyncFrameTable
	public boolean definesEncryptionData
	public boolean[] sampleHasSubsampleEncryptionTable
	public int sampleEncryptionDataLength
	public com.google.android.exoplayer.util.ParsableByteArray sampleEncryptionData
	public boolean sampleEncryptionDataNeedsFill
	void  () 
	public void reset () 
	public void initTables (int) 
		int tableSize
		int sampleCount
	public void initEncryptionData (int) 
		int length
	public void fillEncryptionData (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
	public void fillEncryptionData (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray source
	public long getSamplePresentationTime (int) 
		int index
}

com/google/android/exoplayer/extractor/mp4/AtomParsers$StsdData.class
AtomParsers.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData extends java.lang.Object {
	public final com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox[] trackEncryptionBoxes
	public com.google.android.exoplayer.MediaFormat mediaFormat
	public int nalUnitLengthFieldLength
	public void  (int) 
		int numberOfEntries
}

com/google/android/exoplayer/extractor/mp4/FragmentedMp4Extractor$TrackBundle.class
FragmentedMp4Extractor.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle extends java.lang.Object {
	public final com.google.android.exoplayer.extractor.mp4.TrackFragment fragment
	public final com.google.android.exoplayer.extractor.TrackOutput output
	public com.google.android.exoplayer.extractor.mp4.Track track
	public com.google.android.exoplayer.extractor.mp4.DefaultSampleValues defaultSampleValues
	public int currentSampleIndex
	public void  (com.google.android.exoplayer.extractor.TrackOutput) 
		com.google.android.exoplayer.extractor.TrackOutput output
	public void init (com.google.android.exoplayer.extractor.mp4.Track, com.google.android.exoplayer.extractor.mp4.DefaultSampleValues) 
		com.google.android.exoplayer.extractor.mp4.Track track
		com.google.android.exoplayer.extractor.mp4.DefaultSampleValues defaultSampleValues
}

com/google/android/exoplayer/extractor/mp4/AtomParsers$TkhdData.class
AtomParsers.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData extends java.lang.Object {
	private final int id
	private final long duration
	private final int rotationDegrees
	public void  (int, long, int) 
		int id
		long duration
		int rotationDegrees
	static long access$000 (com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData) 
		com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData x0
	static int access$100 (com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData) 
		com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData x0
	static int access$200 (com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData) 
		com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData x0
}

com/google/android/exoplayer/extractor/mp4/Atom$ContainerAtom.class
Atom.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom extends com.google.android.exoplayer.extractor.mp4.Atom {
	public final long endPosition
	public final java.util.List leafChildren
	public final java.util.List containerChildren
	public void  (int, long) 
		int type
		long endPosition
	public void add (com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom) 
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom atom
	public void add (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom) 
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom atom
	public com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom getLeafAtomOfType (int) 
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom atom
		int i
		int type
		int childrenSize
	public com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom getContainerAtomOfType (int) 
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom atom
		int i
		int type
		int childrenSize
	public int getChildAtomOfTypeCount (int) 
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom atom
		int i
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom atom
		int i
		int type
		int count
		int size
	public java.lang.String toString () 
}

com/google/android/exoplayer/extractor/mp4/AtomParsers.class
AtomParsers.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.AtomParsers extends java.lang.Object {
	public static com.google.android.exoplayer.extractor.mp4.Track parseTrak (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom, com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom, boolean) 
		long durationUs
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom trak
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom mvhd
		boolean isQuickTime
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom mdia
		int trackType
		com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData tkhdData
		long duration
		long movieTimescale
		long durationUs
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom stbl
		android.util.Pair mdhdData
		com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData stsdData
		android.util.Pair edtsData
	public static com.google.android.exoplayer.extractor.mp4.TrackSampleTable parseStbl (com.google.android.exoplayer.extractor.mp4.Track, com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom)  throws com.google.android.exoplayer.ParserException 
		long offsetBytes
		int i
		int i
		long duration
		int startIndex
		int endIndex
		long mediaTime
		int i
		int count
		long ptsUs
		long timeInSegmentUs
		int j
		long endMediaTime
		int startIndex
		int endIndex
		long mediaTime
		long duration
		int i
		int i
		com.google.android.exoplayer.extractor.mp4.Track track
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom stblAtom
		com.google.android.exoplayer.util.ParsableByteArray stsz
		com.google.android.exoplayer.util.ParsableByteArray chunkOffsets
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom chunkOffsetsAtom
		com.google.android.exoplayer.util.ParsableByteArray stsc
		com.google.android.exoplayer.util.ParsableByteArray stts
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom stssAtom
		com.google.android.exoplayer.util.ParsableByteArray stss
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom cttsAtom
		com.google.android.exoplayer.util.ParsableByteArray ctts
		int fixedSampleSize
		int sampleCount
		long[] offsets
		int[] sizes
		int maximumSize
		long[] timestamps
		int[] flags
		int chunkCount
		int remainingSamplesPerChunkChanges
		int samplesPerChunk
		int nextSamplesPerChunkChangeChunkIndex
		int chunkIndex
		int remainingSamplesInChunk
		int remainingTimestampDeltaChanges
		int remainingSamplesAtTimestampDelta
		int timestampDeltaInTimeUnits
		int remainingSamplesAtTimestampOffset
		int remainingTimestampOffsetChanges
		int timestampOffset
		int nextSynchronizationSampleIndex
		int remainingSynchronizationSamples
		long offsetBytes
		long timestampTimeUnits
		int editedSampleCount
		int nextSampleIndex
		boolean copyMetadata
		long[] editedOffsets
		int[] editedSizes
		int editedMaximumSize
		int[] editedFlags
		long[] editedTimestamps
		long pts
		int sampleIndex
		boolean hasSyncSample
	public static com.google.android.exoplayer.extractor.GaplessInfo parseUdta (com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom, boolean) 
		int atomSize
		int atomType
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom udtaAtom
		boolean isQuickTime
		com.google.android.exoplayer.util.ParsableByteArray udtaData
	private static com.google.android.exoplayer.extractor.GaplessInfo parseMetaAtom (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.extractor.GaplessInfo gaplessInfo
		int payloadSize
		int atomType
		com.google.android.exoplayer.util.ParsableByteArray data
		com.google.android.exoplayer.util.ParsableByteArray ilst
	private static com.google.android.exoplayer.extractor.GaplessInfo parseIlst (com.google.android.exoplayer.util.ParsableByteArray) 
		int length
		int key
		String lastCommentMean
		String lastCommentName
		String lastCommentData
		int position
		int endPosition
		int type
		com.google.android.exoplayer.util.ParsableByteArray ilst
	private static long parseMvhd (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray mvhd
		int fullAtom
		int version
	private static com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData parseTkhd (com.google.android.exoplayer.util.ParsableByteArray) 
		int i
		long duration
		int rotationDegrees
		int rotationDegrees
		int rotationDegrees
		com.google.android.exoplayer.util.ParsableByteArray tkhd
		int fullAtom
		int version
		int trackId
		boolean durationUnknown
		int durationPosition
		int durationByteCount
		long duration
		int a00
		int a01
		int a10
		int a11
		int rotationDegrees
		int fixedOne
	private static int parseHdlr (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray hdlr
	private static android.util.Pair parseMdhd (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray mdhd
		int fullAtom
		int version
		long timescale
		int languageCode
		String language
	private static com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData parseStsd (com.google.android.exoplayer.util.ParsableByteArray, int, long, int, java.lang.String, boolean) 
		int childStartPosition
		int childAtomSize
		int childAtomType
		int i
		com.google.android.exoplayer.util.ParsableByteArray stsd
		int trackId
		long durationUs
		int rotationDegrees
		String language
		boolean isQuickTime
		int numberOfEntries
		com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData out
	private static void parseVideoSampleEntry (com.google.android.exoplayer.util.ParsableByteArray, int, int, int, long, int, com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData, int) 
		com.google.android.exoplayer.extractor.mp4.AtomParsers$AvcCData avcCData
		android.util.Pair hvcCData
		android.util.Pair mimeTypeAndInitializationData
		int childStartPosition
		int childAtomSize
		int childAtomType
		com.google.android.exoplayer.util.ParsableByteArray parent
		int position
		int size
		int trackId
		long durationUs
		int rotationDegrees
		com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData out
		int entryIndex
		int width
		int height
		boolean pixelWidthHeightRatioFromPasp
		float pixelWidthHeightRatio
		java.util.List initializationData
		int childPosition
		String mimeType
	private static com.google.android.exoplayer.extractor.mp4.AtomParsers$AvcCData parseAvcCFromParent (com.google.android.exoplayer.util.ParsableByteArray, int) 
		int j
		int j
		com.google.android.exoplayer.util.ParsableBitArray spsDataBitArray
		com.google.android.exoplayer.util.ParsableByteArray parent
		int position
		int nalUnitLengthFieldLength
		java.util.List initializationData
		float pixelWidthAspectRatio
		int numSequenceParameterSets
		int numPictureParameterSets
	private static android.util.Pair parseHvcCFromParent (com.google.android.exoplayer.util.ParsableByteArray, int) 
		int nalUnitLength
		int j
		int numberOfNalUnits
		int i
		int nalUnitLength
		int j
		int numberOfNalUnits
		int i
		com.google.android.exoplayer.util.ParsableByteArray parent
		int position
		int lengthSizeMinusOne
		int numberOfArrays
		int csdLength
		int csdStartPosition
		byte[] buffer
		int bufferPosition
		java.util.List initializationData
	private static android.util.Pair parseEdts (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom) 
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom elst
		int mediaRateInteger
		int i
		com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom edtsAtom
		com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom elst
		com.google.android.exoplayer.util.ParsableByteArray elstData
		int fullAtom
		int version
		int entryCount
		long[] editListDurations
		long[] editListMediaTimes
	private static com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox parseSinfFromParent (com.google.android.exoplayer.util.ParsableByteArray, int, int) 
		int childAtomSize
		int childAtomType
		com.google.android.exoplayer.util.ParsableByteArray parent
		int position
		int size
		int childPosition
		com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox trackEncryptionBox
	private static float parsePaspFromParent (com.google.android.exoplayer.util.ParsableByteArray, int) 
		com.google.android.exoplayer.util.ParsableByteArray parent
		int position
		int hSpacing
		int vSpacing
	private static com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox parseSchiFromParent (com.google.android.exoplayer.util.ParsableByteArray, int, int) 
		int firstInt
		boolean defaultIsEncrypted
		int defaultInitVectorSize
		byte[] defaultKeyId
		int childAtomSize
		int childAtomType
		com.google.android.exoplayer.util.ParsableByteArray parent
		int position
		int size
		int childPosition
	private static void parseAudioSampleEntry (com.google.android.exoplayer.util.ParsableByteArray, int, int, int, int, long, java.lang.String, boolean, com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData, int) 
		android.util.Pair audioSpecificConfig
		android.util.Pair mimeTypeAndInitializationData
		int esdsAtomPosition
		int childAtomSize
		int childAtomType
		com.google.android.exoplayer.util.ParsableByteArray parent
		int atomType
		int position
		int size
		int trackId
		long durationUs
		String language
		boolean isQuickTime
		com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData out
		int entryIndex
		int quickTimeSoundDescriptionVersion
		int channelCount
		int sampleSize
		int sampleRate
		String mimeType
		byte[] initializationData
		int childAtomPosition
	private static int findEsdsPosition (com.google.android.exoplayer.util.ParsableByteArray, int, int) 
		int childAtomSize
		int childType
		com.google.android.exoplayer.util.ParsableByteArray parent
		int position
		int size
		int childAtomPosition
	private static android.util.Pair parseEsdsFromParent (com.google.android.exoplayer.util.ParsableByteArray, int) 
		com.google.android.exoplayer.util.ParsableByteArray parent
		int position
		int flags
		int objectTypeIndication
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		String mimeType
		int initializationDataSize
		byte[] initializationData
	private static int parseExpandableClassSize (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray data
		int currentByte
		int size
	private void  () 
}

com/google/android/exoplayer/extractor/mp4/Atom.class
Atom.java
package com.google.android.exoplayer.extractor.mp4
abstract com.google.android.exoplayer.extractor.mp4.Atom extends java.lang.Object {
	public static final int HEADER_SIZE
	public static final int FULL_HEADER_SIZE
	public static final int LONG_HEADER_SIZE
	public static final int LONG_SIZE_PREFIX
	public static final int TYPE_ftyp
	public static final int TYPE_avc1
	public static final int TYPE_avc3
	public static final int TYPE_hvc1
	public static final int TYPE_hev1
	public static final int TYPE_s263
	public static final int TYPE_d263
	public static final int TYPE_mdat
	public static final int TYPE_mp4a
	public static final int TYPE_wave
	public static final int TYPE_ac_3
	public static final int TYPE_dac3
	public static final int TYPE_ec_3
	public static final int TYPE_dec3
	public static final int TYPE_dtsc
	public static final int TYPE_dtsh
	public static final int TYPE_dtsl
	public static final int TYPE_dtse
	public static final int TYPE_ddts
	public static final int TYPE_tfdt
	public static final int TYPE_tfhd
	public static final int TYPE_trex
	public static final int TYPE_trun
	public static final int TYPE_sidx
	public static final int TYPE_moov
	public static final int TYPE_mvhd
	public static final int TYPE_trak
	public static final int TYPE_mdia
	public static final int TYPE_minf
	public static final int TYPE_stbl
	public static final int TYPE_avcC
	public static final int TYPE_hvcC
	public static final int TYPE_esds
	public static final int TYPE_moof
	public static final int TYPE_traf
	public static final int TYPE_mvex
	public static final int TYPE_tkhd
	public static final int TYPE_edts
	public static final int TYPE_elst
	public static final int TYPE_mdhd
	public static final int TYPE_hdlr
	public static final int TYPE_stsd
	public static final int TYPE_pssh
	public static final int TYPE_sinf
	public static final int TYPE_schm
	public static final int TYPE_schi
	public static final int TYPE_tenc
	public static final int TYPE_encv
	public static final int TYPE_enca
	public static final int TYPE_frma
	public static final int TYPE_saiz
	public static final int TYPE_saio
	public static final int TYPE_uuid
	public static final int TYPE_senc
	public static final int TYPE_pasp
	public static final int TYPE_TTML
	public static final int TYPE_vmhd
	public static final int TYPE_mp4v
	public static final int TYPE_stts
	public static final int TYPE_stss
	public static final int TYPE_ctts
	public static final int TYPE_stsc
	public static final int TYPE_stsz
	public static final int TYPE_stco
	public static final int TYPE_co64
	public static final int TYPE_tx3g
	public static final int TYPE_wvtt
	public static final int TYPE_stpp
	public static final int TYPE_samr
	public static final int TYPE_sawb
	public static final int TYPE_udta
	public static final int TYPE_meta
	public static final int TYPE_ilst
	public static final int TYPE_mean
	public static final int TYPE_name
	public static final int TYPE_data
	public static final int TYPE_DASHES
	public final int type
	public void  (int) 
		int type
	public java.lang.String toString () 
	public static int parseFullAtomVersion (int) 
		int fullAtomInt
	public static int parseFullAtomFlags (int) 
		int fullAtomInt
	public static java.lang.String getAtomTypeString (int) 
		int type
	static void  () 
}

com/google/android/exoplayer/extractor/mp4/Sniffer.class
Sniffer.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.Sniffer extends java.lang.Object {
	private static final int[] COMPATIBLE_BRANDS
	public static boolean sniffFragmented (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
	public static boolean sniffUnfragmented (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
	private static boolean sniffInternal (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean)  throws java.io.IOException java.lang.InterruptedException 
		int i
		int compatibleBrandsCount
		int headerSize
		long atomSize
		int atomType
		int atomDataSize
		com.google.android.exoplayer.extractor.ExtractorInput input
		int searchLength
		boolean fragmented
		long inputLength
		int bytesToSearch
		com.google.android.exoplayer.util.ParsableByteArray buffer
		int bytesSearched
		boolean foundGoodFileType
		boolean foundFragment
	private static boolean isCompatibleBrand (int) 
		int compatibleBrand
		int brand
	private void  () 
	static void  () 
}

com/google/android/exoplayer/extractor/mp4/AtomParsers$AvcCData.class
AtomParsers.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.AtomParsers$AvcCData extends java.lang.Object {
	public final java.util.List initializationData
	public final int nalUnitLengthFieldLength
	public final float pixelWidthAspectRatio
	public void  (java.util.List, int, float) 
		java.util.List initializationData
		int nalUnitLengthFieldLength
		float pixelWidthAspectRatio
}

com/google/android/exoplayer/extractor/mp4/DefaultSampleValues.class
DefaultSampleValues.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.DefaultSampleValues extends java.lang.Object {
	public final int sampleDescriptionIndex
	public final int duration
	public final int size
	public final int flags
	public void  (int, int, int, int) 
		int sampleDescriptionIndex
		int duration
		int size
		int flags
}

com/google/android/exoplayer/extractor/mp4/TrackSampleTable.class
TrackSampleTable.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.TrackSampleTable extends java.lang.Object {
	public static final int NO_SAMPLE
	public final int sampleCount
	public final long[] offsets
	public final int[] sizes
	public final int maximumSize
	public final long[] timestampsUs
	public final int[] flags
	void  (long[], int[], int, long[], int[]) 
		long[] offsets
		int[] sizes
		int maximumSize
		long[] timestampsUs
		int[] flags
	public int getIndexOfEarlierOrEqualSynchronizationSample (long) 
		int i
		long timeUs
		int startIndex
	public int getIndexOfLaterOrEqualSynchronizationSample (long) 
		int i
		long timeUs
		int startIndex
}

com/google/android/exoplayer/extractor/mp4/Atom$LeafAtom.class
Atom.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom extends com.google.android.exoplayer.extractor.mp4.Atom {
	public final com.google.android.exoplayer.util.ParsableByteArray data
	public void  (int, com.google.android.exoplayer.util.ParsableByteArray) 
		int type
		com.google.android.exoplayer.util.ParsableByteArray data
}

com/google/android/exoplayer/extractor/mp4/TrackEncryptionBox.class
TrackEncryptionBox.java
package com.google.android.exoplayer.extractor.mp4
public final com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox extends java.lang.Object {
	public final boolean isEncrypted
	public final int initializationVectorSize
	public final byte[] keyId
	public void  (boolean, int, byte[]) 
		boolean isEncrypted
		int initializationVectorSize
		byte[] keyId
}

com/google/android/exoplayer/extractor/mp3/
com/google/android/exoplayer/extractor/mp3/VbriSeeker.class
VbriSeeker.java
package com.google.android.exoplayer.extractor.mp3
final com.google.android.exoplayer.extractor.mp3.VbriSeeker extends java.lang.Object implements com.google.android.exoplayer.extractor.mp3.Mp3Extractor$Seeker  {
	private final long[] timesUs
	private final long[] positions
	private final long durationUs
	public static com.google.android.exoplayer.extractor.mp3.VbriSeeker create (com.google.android.exoplayer.util.MpegAudioHeader, com.google.android.exoplayer.util.ParsableByteArray, long, long) 
		int segmentSize
		int segmentSize
		int segmentSize
		int segmentSize
		int segmentSize
		int index
		com.google.android.exoplayer.util.MpegAudioHeader mpegAudioHeader
		com.google.android.exoplayer.util.ParsableByteArray frame
		long position
		long inputLength
		int numFrames
		int sampleRate
		long durationUs
		int entryCount
		int scale
		int entrySize
		long[] timesUs
		long[] positions
	private void  (long[], long[], long) 
		long[] timesUs
		long[] positions
		long durationUs
	public boolean isSeekable () 
	public long getPosition (long) 
		long timeUs
	public long getTimeUs (long) 
		long position
	public long getDurationUs () 
}

com/google/android/exoplayer/extractor/mp3/Mp3Extractor.class
Mp3Extractor.java
package com.google.android.exoplayer.extractor.mp3
public final com.google.android.exoplayer.extractor.mp3.Mp3Extractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor  {
	private static final int MAX_SYNC_BYTES
	private static final int MAX_SNIFF_BYTES
	private static final int HEADER_MASK
	private static final int XING_HEADER
	private static final int INFO_HEADER
	private static final int VBRI_HEADER
	private final long forcedFirstSampleTimestampUs
	private final com.google.android.exoplayer.util.ParsableByteArray scratch
	private final com.google.android.exoplayer.util.MpegAudioHeader synchronizedHeader
	private com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
	private com.google.android.exoplayer.extractor.TrackOutput trackOutput
	private int synchronizedHeaderData
	private com.google.android.exoplayer.extractor.GaplessInfo gaplessInfo
	private com.google.android.exoplayer.extractor.mp3.Mp3Extractor$Seeker seeker
	private long basisTimeUs
	private int samplesRead
	private int sampleBytesRemaining
	public void  () 
	public void  (long) 
		long forcedFirstSampleTimestampUs
	public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
	public void init (com.google.android.exoplayer.extractor.ExtractorOutput) 
		com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
	public void seek () 
	public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.MediaFormat mediaFormat
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.PositionHolder seekPosition
	private int readSample (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		long embeddedFirstSampleTimestampUs
		com.google.android.exoplayer.extractor.ExtractorInput extractorInput
		int bytesAppended
		long timeUs
	private boolean maybeResynchronize (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		int frameSize
		com.google.android.exoplayer.extractor.ExtractorInput extractorInput
		int sampleHeaderData
	private boolean synchronizeCatchingEndOfInput (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		java.io.EOFException e
		com.google.android.exoplayer.extractor.ExtractorInput input
	private boolean synchronize (com.google.android.exoplayer.extractor.ExtractorInput, boolean)  throws java.io.IOException java.lang.InterruptedException 
		int frameSize
		int headerData
		int frameSize
		com.google.android.exoplayer.extractor.ExtractorInput input
		boolean sniffing
		int searched
		int validFrameCount
		int candidateSynchronizedHeaderData
		int peekedId3Bytes
	private void setupSeeker (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.util.ParsableByteArray frame
		long position
		long length
		int xingBase
		int headerData
	static void  () 
}

com/google/android/exoplayer/extractor/mp3/XingSeeker.class
XingSeeker.java
package com.google.android.exoplayer.extractor.mp3
final com.google.android.exoplayer.extractor.mp3.XingSeeker extends java.lang.Object implements com.google.android.exoplayer.extractor.mp3.Mp3Extractor$Seeker  {
	private final long firstFramePosition
	private final long durationUs
	private final long inputLength
	private final long[] tableOfContents
	private final long sizeBytes
	private final int headerSize
	public static com.google.android.exoplayer.extractor.mp3.XingSeeker create (com.google.android.exoplayer.util.MpegAudioHeader, com.google.android.exoplayer.util.ParsableByteArray, long, long) 
		int frameCount
		int i
		com.google.android.exoplayer.util.MpegAudioHeader mpegAudioHeader
		com.google.android.exoplayer.util.ParsableByteArray frame
		long position
		long inputLength
		int samplesPerFrame
		int sampleRate
		long firstFramePosition
		int flags
		int frameCount
		long durationUs
		long sizeBytes
		long[] tableOfContents
	private void  (long, long, long) 
		long firstFramePosition
		long durationUs
		long inputLength
	private void  (long, long, long, long[], long, int) 
		long firstFramePosition
		long durationUs
		long inputLength
		long[] tableOfContents
		long sizeBytes
		int headerSize
	public boolean isSeekable () 
	public long getPosition (long) 
		float fx
		float fx
		float fa
		float fb
		int a
		float fa
		float fb
		long timeUs
		float percent
		float fx
		long position
		long maximumPosition
	public long getTimeUs (long) 
		long position
		double offsetByte
		int previousTocPosition
		long previousTime
		long previousByte
		long nextByte
		long nextTime
		long timeOffset
	public long getDurationUs () 
	private long getTimeUsForTocPosition (int) 
		int tocPosition
}

com/google/android/exoplayer/extractor/mp3/Id3Util.class
Id3Util.java
package com.google.android.exoplayer.extractor.mp3
final com.google.android.exoplayer.extractor.mp3.Id3Util extends java.lang.Object {
	private static final int MAXIMUM_METADATA_SIZE
	private static final int ID3_TAG
	private static final java.nio.charset.Charset[] CHARSET_BY_ENCODING
	public static com.google.android.exoplayer.extractor.GaplessInfo parseId3 (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		byte[] frame
		int majorVersion
		int minorVersion
		int flags
		int length
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.util.ParsableByteArray scratch
		int peekedId3Bytes
		com.google.android.exoplayer.extractor.GaplessInfo metadata
	private static boolean canParseMetadata (int, int, int, int) 
		int majorVersion
		int minorVersion
		int flags
		int length
	private static com.google.android.exoplayer.extractor.GaplessInfo parseGaplessInfo (com.google.android.exoplayer.util.ParsableByteArray, int, int) 
		int extendedHeaderSize
		int paddingSize
		int extendedHeaderSize
		com.google.android.exoplayer.extractor.GaplessInfo gaplessInfo
		com.google.android.exoplayer.util.ParsableByteArray frame
		int version
		int flags
		android.util.Pair comment
	private static android.util.Pair findNextComment (int, com.google.android.exoplayer.util.ParsableByteArray) 
		String id
		int frameSize
		String id
		int flags
		boolean compressedOrEncrypted
		int majorVersion
		com.google.android.exoplayer.util.ParsableByteArray data
		int frameSize
		int encoding
		java.nio.charset.Charset charset
		String[] commentFields
	private static boolean unescape (com.google.android.exoplayer.util.ParsableByteArray, int, int) 
		int i
		byte[] bytes
		int newLength
		com.google.android.exoplayer.util.ParsableByteArray frame
		int version
		int flags
	private static boolean canUnescapeVersion4 (com.google.android.exoplayer.util.ParsableByteArray, boolean) 
		long dataSize
		int flags
		com.google.android.exoplayer.util.ParsableByteArray frame
		boolean unsignedIntDataSizeHack
	private static void unescapeVersion4 (com.google.android.exoplayer.util.ParsableByteArray, boolean) 
		int offset
		int i
		int readOffset
		int writeOffset
		int dataSizeOffset
		int dataSize
		int flags
		int previousFlags
		com.google.android.exoplayer.util.ParsableByteArray frame
		boolean unsignedIntDataSizeHack
		byte[] bytes
	private static void writeSyncSafeInteger (byte[], int, int) 
		byte[] bytes
		int offset
		int value
	private void  () 
	static void  () 
}

com/google/android/exoplayer/extractor/mp3/ConstantBitrateSeeker.class
ConstantBitrateSeeker.java
package com.google.android.exoplayer.extractor.mp3
final com.google.android.exoplayer.extractor.mp3.ConstantBitrateSeeker extends java.lang.Object implements com.google.android.exoplayer.extractor.mp3.Mp3Extractor$Seeker  {
	private static final int BITS_PER_BYTE
	private final long firstFramePosition
	private final int bitrate
	private final long durationUs
	public void  (long, int, long) 
		long firstFramePosition
		int bitrate
		long inputLength
	public boolean isSeekable () 
	public long getPosition (long) 
		long timeUs
	public long getTimeUs (long) 
		long position
	public long getDurationUs () 
}

com/google/android/exoplayer/extractor/mp3/Mp3Extractor$Seeker.class
Mp3Extractor.java
package com.google.android.exoplayer.extractor.mp3
abstract com.google.android.exoplayer.extractor.mp3.Mp3Extractor$Seeker extends java.lang.Object implements com.google.android.exoplayer.extractor.SeekMap  {
	public abstract long getTimeUs (long) 
	public abstract long getDurationUs () 
}

com/google/android/exoplayer/extractor/GaplessInfo.class
GaplessInfo.java
package com.google.android.exoplayer.extractor
public final com.google.android.exoplayer.extractor.GaplessInfo extends java.lang.Object {
	private static final String GAPLESS_COMMENT_ID
	private static final java.util.regex.Pattern GAPLESS_COMMENT_PATTERN
	public final int encoderDelay
	public final int encoderPadding
	public static com.google.android.exoplayer.extractor.GaplessInfo createFromComment (java.lang.String, java.lang.String) 
		int encoderDelay
		int encoderPadding
		String name
		String data
		java.util.regex.Matcher matcher
	public static com.google.android.exoplayer.extractor.GaplessInfo createFromXingHeaderValue (int) 
		int value
		int encoderDelay
		int encoderPadding
	private void  (int, int) 
		int encoderDelay
		int encoderPadding
	static void  () 
}

com/google/android/exoplayer/extractor/ExtractorSampleSource$1.class
ExtractorSampleSource.java
package com.google.android.exoplayer.extractor
 com.google.android.exoplayer.extractor.ExtractorSampleSource$1 extends java.lang.Object implements java.lang.Runnable  {
	final java.io.IOException val$e
	final com.google.android.exoplayer.extractor.ExtractorSampleSource this$0
	void  (com.google.android.exoplayer.extractor.ExtractorSampleSource, java.io.IOException) 
		com.google.android.exoplayer.extractor.ExtractorSampleSource this$0
	public void run () 
}

com/google/android/exoplayer/extractor/ChunkIndex.class
ChunkIndex.java
package com.google.android.exoplayer.extractor
public final com.google.android.exoplayer.extractor.ChunkIndex extends java.lang.Object implements com.google.android.exoplayer.extractor.SeekMap  {
	public final int length
	public final int[] sizes
	public final long[] offsets
	public final long[] durationsUs
	public final long[] timesUs
	public void  (int[], long[], long[], long[]) 
		int[] sizes
		long[] offsets
		long[] durationsUs
		long[] timesUs
	public int getChunkIndex (long) 
		long timeUs
	public boolean isSeekable () 
	public long getPosition (long) 
		long timeUs
}

com/google/android/exoplayer/extractor/PositionHolder.class
PositionHolder.java
package com.google.android.exoplayer.extractor
public final com.google.android.exoplayer.extractor.PositionHolder extends java.lang.Object {
	public long position
	public void  () 
}

com/google/android/exoplayer/extractor/ts/
com/google/android/exoplayer/extractor/ts/SeiReader.class
SeiReader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.SeiReader extends java.lang.Object {
	private final com.google.android.exoplayer.extractor.TrackOutput output
	public void  (com.google.android.exoplayer.extractor.TrackOutput) 
		com.google.android.exoplayer.extractor.TrackOutput output
	public void consume (long, com.google.android.exoplayer.util.ParsableByteArray) 
		int payloadType
		int payloadSize
		int b
		long pesTimeUs
		com.google.android.exoplayer.util.ParsableByteArray seiBuffer
}

com/google/android/exoplayer/extractor/ts/TsExtractor.class
TsExtractor.java
package com.google.android.exoplayer.extractor.ts
public final com.google.android.exoplayer.extractor.ts.TsExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor  {
	public static final int WORKAROUND_ALLOW_NON_IDR_KEYFRAMES
	public static final int WORKAROUND_IGNORE_AAC_STREAM
	public static final int WORKAROUND_IGNORE_H264_STREAM
	public static final int WORKAROUND_DETECT_ACCESS_UNITS
	private static final String TAG
	private static final int TS_PACKET_SIZE
	private static final int TS_SYNC_BYTE
	private static final int TS_PAT_PID
	private static final int TS_STREAM_TYPE_MPA
	private static final int TS_STREAM_TYPE_MPA_LSF
	private static final int TS_STREAM_TYPE_AAC
	private static final int TS_STREAM_TYPE_AC3
	private static final int TS_STREAM_TYPE_DTS
	private static final int TS_STREAM_TYPE_HDMV_DTS
	private static final int TS_STREAM_TYPE_E_AC3
	private static final int TS_STREAM_TYPE_H262
	private static final int TS_STREAM_TYPE_H264
	private static final int TS_STREAM_TYPE_H265
	private static final int TS_STREAM_TYPE_ID3
	private static final int TS_STREAM_TYPE_EIA608
	private static final long AC3_FORMAT_IDENTIFIER
	private static final long E_AC3_FORMAT_IDENTIFIER
	private static final long HEVC_FORMAT_IDENTIFIER
	private final com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
	private final int workaroundFlags
	private final com.google.android.exoplayer.util.ParsableByteArray tsPacketBuffer
	private final com.google.android.exoplayer.util.ParsableBitArray tsScratch
	final android.util.SparseArray tsPayloadReaders
	final android.util.SparseBooleanArray streamTypes
	private com.google.android.exoplayer.extractor.ExtractorOutput output
	com.google.android.exoplayer.extractor.ts.Id3Reader id3Reader
	public void  () 
	public void  (com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster) 
		com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
	public void  (com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster, int) 
		com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
		int workaroundFlags
	public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		int i
		com.google.android.exoplayer.extractor.ExtractorInput input
		byte[] scratch
	public void init (com.google.android.exoplayer.extractor.ExtractorOutput) 
		com.google.android.exoplayer.extractor.ExtractorOutput output
	public void seek () 
		int i
	public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder)  throws java.io.IOException java.lang.InterruptedException 
		int adaptationFieldLength
		com.google.android.exoplayer.extractor.ts.TsExtractor$TsPayloadReader payloadReader
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.PositionHolder seekPosition
		int syncByte
		boolean payloadUnitStartIndicator
		int pid
		boolean adaptationFieldExists
		boolean payloadExists
	static int access$100 (com.google.android.exoplayer.extractor.ts.TsExtractor) 
		com.google.android.exoplayer.extractor.ts.TsExtractor x0
	static com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster access$200 (com.google.android.exoplayer.extractor.ts.TsExtractor) 
		com.google.android.exoplayer.extractor.ts.TsExtractor x0
	static long access$300 () 
	static long access$400 () 
	static long access$500 () 
	static void  () 
}

com/google/android/exoplayer/extractor/ts/H264Reader$1.class
H264Reader.java
package com.google.android.exoplayer.extractor.ts
 com.google.android.exoplayer.extractor.ts.H264Reader$1 extends java.lang.Object {
}

com/google/android/exoplayer/extractor/ts/H264Reader$SampleReader$SliceHeaderData.class
H264Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData extends java.lang.Object {
	private static final int SLICE_TYPE_I
	private static final int SLICE_TYPE_ALL_I
	private boolean isComplete
	private boolean hasSliceType
	private com.google.android.exoplayer.util.NalUnitUtil$SpsData spsData
	private int nalRefIdc
	private int sliceType
	private int frameNum
	private int picParameterSetId
	private boolean fieldPicFlag
	private boolean bottomFieldFlagPresent
	private boolean bottomFieldFlag
	private boolean idrPicFlag
	private int idrPicId
	private int picOrderCntLsb
	private int deltaPicOrderCntBottom
	private int deltaPicOrderCnt0
	private int deltaPicOrderCnt1
	private void  () 
	public void clear () 
	public void setSliceType (int) 
		int sliceType
	public void setAll (com.google.android.exoplayer.util.NalUnitUtil$SpsData, int, int, int, int, boolean, boolean, boolean, boolean, int, int, int, int, int) 
		com.google.android.exoplayer.util.NalUnitUtil$SpsData spsData
		int nalRefIdc
		int sliceType
		int frameNum
		int picParameterSetId
		boolean fieldPicFlag
		boolean bottomFieldFlagPresent
		boolean bottomFieldFlag
		boolean idrPicFlag
		int idrPicId
		int picOrderCntLsb
		int deltaPicOrderCntBottom
		int deltaPicOrderCnt0
		int deltaPicOrderCnt1
	public boolean isISlice () 
	private boolean isFirstVclNalUnitOfPicture (com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData) 
		com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData other
	void  (com.google.android.exoplayer.extractor.ts.H264Reader$1) 
		com.google.android.exoplayer.extractor.ts.H264Reader$1 x0
	static boolean access$100 (com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData, com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData) 
		com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData x0
		com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData x1
}

com/google/android/exoplayer/extractor/ts/TsExtractor$1.class
TsExtractor.java
package com.google.android.exoplayer.extractor.ts
 com.google.android.exoplayer.extractor.ts.TsExtractor$1 extends java.lang.Object {
}

com/google/android/exoplayer/extractor/ts/AdtsReader.class
AdtsReader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.AdtsReader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
	private static final String TAG
	private static final int STATE_FINDING_SAMPLE
	private static final int STATE_READING_ID3_HEADER
	private static final int STATE_READING_ADTS_HEADER
	private static final int STATE_READING_SAMPLE
	private static final int HEADER_SIZE
	private static final int CRC_SIZE
	private static final int MATCH_STATE_VALUE_SHIFT
	private static final int MATCH_STATE_START
	private static final int MATCH_STATE_FF
	private static final int MATCH_STATE_I
	private static final int MATCH_STATE_ID
	private static final int ID3_HEADER_SIZE
	private static final int ID3_SIZE_OFFSET
	private static final byte[] ID3_IDENTIFIER
	private final com.google.android.exoplayer.util.ParsableBitArray adtsScratch
	private final com.google.android.exoplayer.util.ParsableByteArray id3HeaderBuffer
	private final com.google.android.exoplayer.extractor.TrackOutput id3Output
	private int state
	private int bytesRead
	private int matchState
	private boolean hasCrc
	private boolean hasOutputFormat
	private long sampleDurationUs
	private int sampleSize
	private long timeUs
	private com.google.android.exoplayer.extractor.TrackOutput currentOutput
	private long currentSampleDuration
	public void  (com.google.android.exoplayer.extractor.TrackOutput, com.google.android.exoplayer.extractor.TrackOutput) 
		com.google.android.exoplayer.extractor.TrackOutput output
		com.google.android.exoplayer.extractor.TrackOutput id3Output
	public void seek () 
	public void packetStarted (long, boolean) 
		long pesTimeUs
		boolean dataAlignmentIndicator
	public void consume (com.google.android.exoplayer.util.ParsableByteArray) 
		int targetLength
		com.google.android.exoplayer.util.ParsableByteArray data
	public void packetFinished () 
	private boolean continueRead (com.google.android.exoplayer.util.ParsableByteArray, byte[], int) 
		com.google.android.exoplayer.util.ParsableByteArray source
		byte[] target
		int targetLength
		int bytesToRead
	private void setFindingSampleState () 
	private void setReadingId3HeaderState () 
	private void setReadingSampleState (com.google.android.exoplayer.extractor.TrackOutput, long, int, int) 
		com.google.android.exoplayer.extractor.TrackOutput outputToUse
		long currentSampleDuration
		int priorReadBytes
		int sampleSize
	private void setReadingAdtsHeaderState () 
	private void findNextSample (com.google.android.exoplayer.util.ParsableByteArray) 
		int data
		com.google.android.exoplayer.util.ParsableByteArray pesBuffer
		byte[] adtsData
		int position
		int endOffset
	private void parseId3Header () 
	private void parseAdtsHeader () 
		int audioObjectType
		int sampleRateIndex
		int channelConfig
		byte[] audioSpecificConfig
		android.util.Pair audioParams
		com.google.android.exoplayer.MediaFormat mediaFormat
		int sampleSize
	private void readSample (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray data
		int bytesToRead
	static void  () 
}

com/google/android/exoplayer/extractor/ts/H264Reader$SampleReader.class
H264Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader extends java.lang.Object {
	private static final int DEFAULT_BUFFER_SIZE
	private static final int NAL_UNIT_TYPE_NON_IDR
	private static final int NAL_UNIT_TYPE_PARTITION_A
	private static final int NAL_UNIT_TYPE_IDR
	private static final int NAL_UNIT_TYPE_AUD
	private final com.google.android.exoplayer.extractor.TrackOutput output
	private final boolean allowNonIdrKeyframes
	private final boolean detectAccessUnits
	private final com.google.android.exoplayer.util.ParsableBitArray scratch
	private final android.util.SparseArray sps
	private final android.util.SparseArray pps
	private byte[] buffer
	private int bufferLength
	private int nalUnitType
	private long nalUnitStartPosition
	private boolean isFilling
	private long nalUnitTimeUs
	private com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData previousSliceHeader
	private com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData sliceHeader
	private boolean readingSample
	private long samplePosition
	private long sampleTimeUs
	private boolean sampleIsKeyframe
	public void  (com.google.android.exoplayer.extractor.TrackOutput, boolean, boolean) 
		com.google.android.exoplayer.extractor.TrackOutput output
		boolean allowNonIdrKeyframes
		boolean detectAccessUnits
	public boolean needsSpsPps () 
	public void putSps (com.google.android.exoplayer.util.NalUnitUtil$SpsData) 
		com.google.android.exoplayer.util.NalUnitUtil$SpsData spsData
	public void putPps (com.google.android.exoplayer.util.NalUnitUtil$PpsData) 
		com.google.android.exoplayer.util.NalUnitUtil$PpsData ppsData
	public void reset () 
	public void startNalUnit (long, int, long) 
		com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData newSliceHeader
		long position
		int type
		long pesTimeUs
	public void appendToNalUnit (byte[], int, int) 
		byte[] data
		int offset
		int limit
		int readLength
		int nalRefIdc
		int sliceType
		int picParameterSetId
		com.google.android.exoplayer.util.NalUnitUtil$PpsData ppsData
		com.google.android.exoplayer.util.NalUnitUtil$SpsData spsData
		boolean fieldPicFlag
		boolean bottomFieldFlagPresent
		boolean bottomFieldFlag
		int frameNum
		boolean idrPicFlag
		int idrPicId
		int picOrderCntLsb
		int deltaPicOrderCntBottom
		int deltaPicOrderCnt0
		int deltaPicOrderCnt1
	public void endNalUnit (long, int) 
		int nalUnitLength
		long position
		int offset
	private void outputSample (int) 
		int offset
		int flags
		int size
}

com/google/android/exoplayer/extractor/ts/H265Reader$SampleReader.class
H265Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.H265Reader$SampleReader extends java.lang.Object {
	private static final int FIRST_SLICE_FLAG_OFFSET
	private final com.google.android.exoplayer.extractor.TrackOutput output
	private long nalUnitStartPosition
	private boolean nalUnitHasKeyframeData
	private int nalUnitBytesRead
	private long nalUnitTimeUs
	private boolean lookingForFirstSliceFlag
	private boolean firstSliceFlag
	private boolean readingSample
	private long samplePosition
	private long sampleTimeUs
	private boolean sampleIsKeyframe
	public void  (com.google.android.exoplayer.extractor.TrackOutput) 
		com.google.android.exoplayer.extractor.TrackOutput output
	public void reset () 
	public void startNalUnit (long, int, int, long) 
		long position
		int offset
		int nalUnitType
		long pesTimeUs
	public void readNalUnitData (byte[], int, int) 
		int headerOffset
		byte[] data
		int offset
		int limit
	public void endNalUnit (long, int) 
		int nalUnitLength
		long position
		int offset
	private void outputSample (int) 
		int offset
		int flags
		int size
}

com/google/android/exoplayer/extractor/ts/TsExtractor$PesReader.class
TsExtractor.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.TsExtractor$PesReader extends com.google.android.exoplayer.extractor.ts.TsExtractor$TsPayloadReader {
	private static final int STATE_FINDING_HEADER
	private static final int STATE_READING_HEADER
	private static final int STATE_READING_HEADER_EXTENSION
	private static final int STATE_READING_BODY
	private static final int HEADER_SIZE
	private static final int MAX_HEADER_EXTENSION_SIZE
	private static final int PES_SCRATCH_SIZE
	private final com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
	private final com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
	private final com.google.android.exoplayer.util.ParsableBitArray pesScratch
	private int state
	private int bytesRead
	private boolean ptsFlag
	private boolean dtsFlag
	private boolean seenFirstDts
	private int extendedHeaderLength
	private int payloadSize
	private boolean dataAlignmentIndicator
	private long timeUs
	public void  (com.google.android.exoplayer.extractor.ts.ElementaryStreamReader, com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster) 
		com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
		com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
	public void seek () 
	public void consume (com.google.android.exoplayer.util.ParsableByteArray, boolean, com.google.android.exoplayer.extractor.ExtractorOutput) 
		int readLength
		int readLength
		int padding
		com.google.android.exoplayer.util.ParsableByteArray data
		boolean payloadUnitStartIndicator
		com.google.android.exoplayer.extractor.ExtractorOutput output
	private void setState (int) 
		int state
	private boolean continueRead (com.google.android.exoplayer.util.ParsableByteArray, byte[], int) 
		com.google.android.exoplayer.util.ParsableByteArray source
		byte[] target
		int targetLength
		int bytesToRead
	private boolean parseHeader () 
		int startCodePrefix
		int packetLength
	private void parseHeaderExtension () 
		long dts
		long pts
}

com/google/android/exoplayer/extractor/ts/TsExtractor$PmtReader.class
TsExtractor.java
package com.google.android.exoplayer.extractor.ts
 com.google.android.exoplayer.extractor.ts.TsExtractor$PmtReader extends com.google.android.exoplayer.extractor.ts.TsExtractor$TsPayloadReader {
	private final com.google.android.exoplayer.util.ParsableBitArray pmtScratch
	private final com.google.android.exoplayer.util.ParsableByteArray sectionData
	private int sectionLength
	private int sectionBytesRead
	final com.google.android.exoplayer.extractor.ts.TsExtractor this$0
	public void  (com.google.android.exoplayer.extractor.ts.TsExtractor) 
	public void seek () 
	public void consume (com.google.android.exoplayer.util.ParsableByteArray, boolean, com.google.android.exoplayer.extractor.ExtractorOutput) 
		int pointerField
		int streamType
		int elementaryPid
		int esInfoLength
		com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
		com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
		com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
		com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
		com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
		com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
		com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
		com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
		com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
		com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
		com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
		com.google.android.exoplayer.util.ParsableByteArray data
		boolean payloadUnitStartIndicator
		com.google.android.exoplayer.extractor.ExtractorOutput output
		int bytesToRead
		int programInfoLength
		int remainingEntriesLength
	private int readPrivateDataStreamType (com.google.android.exoplayer.util.ParsableByteArray, int) 
		long formatIdentifier
		int descriptorTag
		int descriptorLength
		com.google.android.exoplayer.util.ParsableByteArray data
		int length
		int streamType
		int descriptorsEndPosition
}

com/google/android/exoplayer/extractor/ts/TsExtractor$TsPayloadReader.class
TsExtractor.java
package com.google.android.exoplayer.extractor.ts
abstract com.google.android.exoplayer.extractor.ts.TsExtractor$TsPayloadReader extends java.lang.Object {
	private void  () 
	public abstract void seek () 
	public abstract void consume (com.google.android.exoplayer.util.ParsableByteArray, boolean, com.google.android.exoplayer.extractor.ExtractorOutput) 
	void  (com.google.android.exoplayer.extractor.ts.TsExtractor$1) 
		com.google.android.exoplayer.extractor.ts.TsExtractor$1 x0
}

com/google/android/exoplayer/extractor/ts/MpegAudioReader.class
MpegAudioReader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.MpegAudioReader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
	private static final int STATE_FINDING_HEADER
	private static final int STATE_READING_HEADER
	private static final int STATE_READING_FRAME
	private static final int HEADER_SIZE
	private final com.google.android.exoplayer.util.ParsableByteArray headerScratch
	private final com.google.android.exoplayer.util.MpegAudioHeader header
	private int state
	private int frameBytesRead
	private boolean hasOutputFormat
	private boolean lastByteWasFF
	private long frameDurationUs
	private int frameSize
	private long timeUs
	public void  (com.google.android.exoplayer.extractor.TrackOutput) 
		com.google.android.exoplayer.extractor.TrackOutput output
	public void seek () 
	public void packetStarted (long, boolean) 
		long pesTimeUs
		boolean dataAlignmentIndicator
	public void consume (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray data
	public void packetFinished () 
	private void findHeader (com.google.android.exoplayer.util.ParsableByteArray) 
		boolean byteIsFF
		boolean found
		int i
		com.google.android.exoplayer.util.ParsableByteArray source
		byte[] data
		int startOffset
		int endOffset
	private void readHeaderRemainder (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.MediaFormat mediaFormat
		com.google.android.exoplayer.util.ParsableByteArray source
		int bytesToRead
		boolean parsedHeader
	private void readFrameRemainder (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray source
		int bytesToRead
}

com/google/android/exoplayer/extractor/ts/TsExtractor$PatReader.class
TsExtractor.java
package com.google.android.exoplayer.extractor.ts
 com.google.android.exoplayer.extractor.ts.TsExtractor$PatReader extends com.google.android.exoplayer.extractor.ts.TsExtractor$TsPayloadReader {
	private final com.google.android.exoplayer.util.ParsableBitArray patScratch
	final com.google.android.exoplayer.extractor.ts.TsExtractor this$0
	public void  (com.google.android.exoplayer.extractor.ts.TsExtractor) 
	public void seek () 
	public void consume (com.google.android.exoplayer.util.ParsableByteArray, boolean, com.google.android.exoplayer.extractor.ExtractorOutput) 
		int pointerField
		int pid
		int programNumber
		int i
		com.google.android.exoplayer.util.ParsableByteArray data
		boolean payloadUnitStartIndicator
		com.google.android.exoplayer.extractor.ExtractorOutput output
		int sectionLength
		int programCount
}

com/google/android/exoplayer/extractor/ts/H262Reader$CsdBuffer.class
H262Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.H262Reader$CsdBuffer extends java.lang.Object {
	private boolean isFilling
	public int length
	public int sequenceExtensionPosition
	public byte[] data
	public void  (int) 
		int initialCapacity
	public void reset () 
	public boolean onStartCode (int, int) 
		int startCodeValue
		int bytesAlreadyPassed
	public void onData (byte[], int, int) 
		byte[] newData
		int offset
		int limit
		int readLength
}

com/google/android/exoplayer/extractor/ts/Id3Reader.class
Id3Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.Id3Reader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
	private static final int ID3_HEADER_SIZE
	private final com.google.android.exoplayer.util.ParsableByteArray id3Header
	private boolean writingSample
	private long sampleTimeUs
	private int sampleSize
	private int sampleBytesRead
	public void  (com.google.android.exoplayer.extractor.TrackOutput) 
		com.google.android.exoplayer.extractor.TrackOutput output
	public void seek () 
	public void packetStarted (long, boolean) 
		long pesTimeUs
		boolean dataAlignmentIndicator
	public void consume (com.google.android.exoplayer.util.ParsableByteArray) 
		int headerBytesAvailable
		com.google.android.exoplayer.util.ParsableByteArray data
		int bytesAvailable
	public void packetFinished () 
}

com/google/android/exoplayer/extractor/ts/NalUnitTargetBuffer.class
NalUnitTargetBuffer.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer extends java.lang.Object {
	private final int targetType
	private boolean isFilling
	private boolean isCompleted
	public byte[] nalData
	public int nalLength
	public void  (int, int) 
		int targetType
		int initialCapacity
	public void reset () 
	public boolean isCompleted () 
	public void startNalUnit (int) 
		int type
	public void appendToNalUnit (byte[], int, int) 
		byte[] data
		int offset
		int limit
		int readLength
	public boolean endNalUnit (int) 
		int discardPadding
}

com/google/android/exoplayer/extractor/ts/PsExtractor$PesReader.class
PsExtractor.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.PsExtractor$PesReader extends java.lang.Object {
	private static final int PES_SCRATCH_SIZE
	private final com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
	private final com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
	private final com.google.android.exoplayer.util.ParsableBitArray pesScratch
	private boolean ptsFlag
	private boolean dtsFlag
	private boolean seenFirstDts
	private int extendedHeaderLength
	private long timeUs
	public void  (com.google.android.exoplayer.extractor.ts.ElementaryStreamReader, com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster) 
		com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
		com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
	public void seek () 
	public void consume (com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.extractor.ExtractorOutput) 
		com.google.android.exoplayer.util.ParsableByteArray data
		com.google.android.exoplayer.extractor.ExtractorOutput output
	private void parseHeader () 
	private void parseHeaderExtension () 
		long dts
		long pts
}

com/google/android/exoplayer/extractor/ts/DtsReader.class
DtsReader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.DtsReader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
	private static final int STATE_FINDING_SYNC
	private static final int STATE_READING_HEADER
	private static final int STATE_READING_SAMPLE
	private static final int HEADER_SIZE
	private static final int SYNC_VALUE
	private static final int SYNC_VALUE_SIZE
	private final com.google.android.exoplayer.util.ParsableByteArray headerScratchBytes
	private int state
	private int bytesRead
	private int syncBytes
	private long sampleDurationUs
	private com.google.android.exoplayer.MediaFormat mediaFormat
	private int sampleSize
	private long timeUs
	public void  (com.google.android.exoplayer.extractor.TrackOutput) 
		com.google.android.exoplayer.extractor.TrackOutput output
	public void seek () 
	public void packetStarted (long, boolean) 
		long pesTimeUs
		boolean dataAlignmentIndicator
	public void consume (com.google.android.exoplayer.util.ParsableByteArray) 
		int bytesToRead
		com.google.android.exoplayer.util.ParsableByteArray data
	public void packetFinished () 
	private boolean continueRead (com.google.android.exoplayer.util.ParsableByteArray, byte[], int) 
		com.google.android.exoplayer.util.ParsableByteArray source
		byte[] target
		int targetLength
		int bytesToRead
	private boolean skipToNextSync (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray pesBuffer
	private void parseHeader () 
		byte[] frameData
}

com/google/android/exoplayer/extractor/ts/H262Reader.class
H262Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.H262Reader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
	private static final int START_PICTURE
	private static final int START_SEQUENCE_HEADER
	private static final int START_EXTENSION
	private static final int START_GROUP
	private static final double[] FRAME_RATE_VALUES
	private boolean hasOutputFormat
	private long frameDurationUs
	private final boolean[] prefixFlags
	private final com.google.android.exoplayer.extractor.ts.H262Reader$CsdBuffer csdBuffer
	private boolean foundFirstFrameInGroup
	private long totalBytesWritten
	private long pesTimeUs
	private boolean pesPtsUsAvailable
	private boolean isKeyframe
	private long framePosition
	private long frameTimeUs
	public void  (com.google.android.exoplayer.extractor.TrackOutput) 
		com.google.android.exoplayer.extractor.TrackOutput output
	public void seek () 
	public void packetStarted (long, boolean) 
		long pesTimeUs
		boolean dataAlignmentIndicator
	public void consume (com.google.android.exoplayer.util.ParsableByteArray) 
		android.util.Pair result
		int lengthToStartCode
		int bytesAlreadyPassed
		int flags
		int size
		int bytesWrittenPastStartCode
		int startCodeOffset
		int startCodeValue
		int offset
		int limit
		byte[] dataArray
		int searchOffset
		com.google.android.exoplayer.util.ParsableByteArray data
	public void packetFinished () 
	private static android.util.Pair parseCsdBuffer (com.google.android.exoplayer.extractor.ts.H262Reader$CsdBuffer) 
		double frameRate
		int sequenceExtensionPosition
		int frameRateExtensionN
		int frameRateExtensionD
		com.google.android.exoplayer.extractor.ts.H262Reader$CsdBuffer csdBuffer
		byte[] csdData
		int firstByte
		int secondByte
		int thirdByte
		int width
		int height
		float pixelWidthHeightRatio
		int aspectRatioCode
		com.google.android.exoplayer.MediaFormat format
		long frameDurationUs
		int frameRateCodeMinusOne
	static void  () 
}

com/google/android/exoplayer/extractor/ts/ElementaryStreamReader.class
ElementaryStreamReader.java
package com.google.android.exoplayer.extractor.ts
abstract com.google.android.exoplayer.extractor.ts.ElementaryStreamReader extends java.lang.Object {
	protected final com.google.android.exoplayer.extractor.TrackOutput output
	protected void  (com.google.android.exoplayer.extractor.TrackOutput) 
		com.google.android.exoplayer.extractor.TrackOutput output
	public abstract void seek () 
	public abstract void packetStarted (long, boolean) 
	public abstract void consume (com.google.android.exoplayer.util.ParsableByteArray) 
	public abstract void packetFinished () 
}

com/google/android/exoplayer/extractor/ts/H264Reader.class
H264Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.H264Reader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
	private static final int NAL_UNIT_TYPE_SEI
	private static final int NAL_UNIT_TYPE_SPS
	private static final int NAL_UNIT_TYPE_PPS
	private boolean hasOutputFormat
	private final com.google.android.exoplayer.extractor.ts.SeiReader seiReader
	private final boolean[] prefixFlags
	private final com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader sampleReader
	private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer sps
	private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer pps
	private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer sei
	private long totalBytesWritten
	private long pesTimeUs
	private final com.google.android.exoplayer.util.ParsableByteArray seiWrapper
	public void  (com.google.android.exoplayer.extractor.TrackOutput, com.google.android.exoplayer.extractor.ts.SeiReader, boolean, boolean) 
		com.google.android.exoplayer.extractor.TrackOutput output
		com.google.android.exoplayer.extractor.ts.SeiReader seiReader
		boolean allowNonIdrKeyframes
		boolean detectAccessUnits
	public void seek () 
	public void packetStarted (long, boolean) 
		long pesTimeUs
		boolean dataAlignmentIndicator
	public void consume (com.google.android.exoplayer.util.ParsableByteArray) 
		int nalUnitOffset
		int nalUnitType
		int lengthToNalUnit
		int bytesWrittenPastPosition
		long absolutePosition
		int offset
		int limit
		byte[] dataArray
		com.google.android.exoplayer.util.ParsableByteArray data
	public void packetFinished () 
	private void startNalUnit (long, int, long) 
		long position
		int nalUnitType
		long pesTimeUs
	private void nalUnitData (byte[], int, int) 
		byte[] dataArray
		int offset
		int limit
	private void endNalUnit (long, int, int, long) 
		java.util.List initializationData
		com.google.android.exoplayer.util.NalUnitUtil$SpsData spsData
		com.google.android.exoplayer.util.NalUnitUtil$PpsData ppsData
		com.google.android.exoplayer.util.NalUnitUtil$SpsData spsData
		com.google.android.exoplayer.util.NalUnitUtil$PpsData ppsData
		int unescapedLength
		long position
		int offset
		int discardPadding
		long pesTimeUs
	private static com.google.android.exoplayer.util.ParsableBitArray unescape (com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer) 
		com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer buffer
		int length
		com.google.android.exoplayer.util.ParsableBitArray bitArray
}

com/google/android/exoplayer/extractor/ts/AdtsExtractor.class
AdtsExtractor.java
package com.google.android.exoplayer.extractor.ts
public final com.google.android.exoplayer.extractor.ts.AdtsExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor  {
	private static final int MAX_PACKET_SIZE
	private static final int ID3_TAG
	private static final int MAX_SNIFF_BYTES
	private final long firstSampleTimestampUs
	private final com.google.android.exoplayer.util.ParsableByteArray packetBuffer
	private com.google.android.exoplayer.extractor.ts.AdtsReader adtsReader
	private boolean startedPacket
	public void  () 
	public void  (long) 
		long firstSampleTimestampUs
	public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		int length
		int frameSize
		int syncBytes
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.util.ParsableByteArray scratch
		com.google.android.exoplayer.util.ParsableBitArray scratchBits
		int startPosition
		int headerPosition
		int validFramesSize
		int validFramesCount
	public void init (com.google.android.exoplayer.extractor.ExtractorOutput) 
		com.google.android.exoplayer.extractor.ExtractorOutput output
	public void seek () 
	public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.PositionHolder seekPosition
		int bytesRead
	static void  () 
}

com/google/android/exoplayer/extractor/ts/PtsTimestampAdjuster.class
PtsTimestampAdjuster.java
package com.google.android.exoplayer.extractor.ts
public final com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster extends java.lang.Object {
	public static final long DO_NOT_OFFSET
	private static final long MAX_PTS_PLUS_ONE
	private final long firstSampleTimestampUs
	private long timestampOffsetUs
	private volatile long lastPts
	public void  (long) 
		long firstSampleTimestampUs
	public void reset () 
	public boolean isInitialized () 
	public long adjustTimestamp (long) 
		long closestWrapCount
		long ptsWrapBelow
		long ptsWrapAbove
		long pts
		long timeUs
	public static long ptsToUs (long) 
		long pts
	public static long usToPts (long) 
		long us
}

com/google/android/exoplayer/extractor/ts/PsExtractor.class
PsExtractor.java
package com.google.android.exoplayer.extractor.ts
public final com.google.android.exoplayer.extractor.ts.PsExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor  {
	private static final int PACK_START_CODE
	private static final int SYSTEM_HEADER_START_CODE
	private static final int PACKET_START_CODE_PREFIX
	private static final int MPEG_PROGRAM_END_CODE
	private static final long MAX_SEARCH_LENGTH
	public static final int PRIVATE_STREAM_1
	public static final int AUDIO_STREAM
	public static final int AUDIO_STREAM_MASK
	public static final int VIDEO_STREAM
	public static final int VIDEO_STREAM_MASK
	private final com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
	private final android.util.SparseArray psPayloadReaders
	private final com.google.android.exoplayer.util.ParsableByteArray psPacketBuffer
	private boolean foundAllTracks
	private boolean foundAudioTrack
	private boolean foundVideoTrack
	private com.google.android.exoplayer.extractor.ExtractorOutput output
	public void  () 
	public void  (com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster) 
		com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
	public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		byte[] scratch
		int packStuffingLength
	public void init (com.google.android.exoplayer.extractor.ExtractorOutput) 
		com.google.android.exoplayer.extractor.ExtractorOutput output
	public void seek () 
		int i
	public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder)  throws java.io.IOException java.lang.InterruptedException 
		int packStuffingLength
		int systemHeaderLength
		com.google.android.exoplayer.extractor.ts.ElementaryStreamReader elementaryStreamReader
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.PositionHolder seekPosition
		int nextStartCode
		int streamId
		com.google.android.exoplayer.extractor.ts.PsExtractor$PesReader payloadReader
		int payloadLength
		int pesLength
}

com/google/android/exoplayer/extractor/ts/H265Reader.class
H265Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.H265Reader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
	private static final String TAG
	private static final int RASL_R
	private static final int BLA_W_LP
	private static final int CRA_NUT
	private static final int VPS_NUT
	private static final int SPS_NUT
	private static final int PPS_NUT
	private static final int PREFIX_SEI_NUT
	private static final int SUFFIX_SEI_NUT
	private boolean hasOutputFormat
	private final com.google.android.exoplayer.extractor.ts.SeiReader seiReader
	private final boolean[] prefixFlags
	private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer vps
	private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer sps
	private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer pps
	private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer prefixSei
	private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer suffixSei
	private final com.google.android.exoplayer.extractor.ts.H265Reader$SampleReader sampleReader
	private long totalBytesWritten
	private long pesTimeUs
	private final com.google.android.exoplayer.util.ParsableByteArray seiWrapper
	public void  (com.google.android.exoplayer.extractor.TrackOutput, com.google.android.exoplayer.extractor.ts.SeiReader) 
		com.google.android.exoplayer.extractor.TrackOutput output
		com.google.android.exoplayer.extractor.ts.SeiReader seiReader
	public void seek () 
	public void packetStarted (long, boolean) 
		long pesTimeUs
		boolean dataAlignmentIndicator
	public void consume (com.google.android.exoplayer.util.ParsableByteArray) 
		int nalUnitOffset
		int nalUnitType
		int lengthToNalUnit
		int bytesWrittenPastPosition
		long absolutePosition
		int offset
		int limit
		byte[] dataArray
		com.google.android.exoplayer.util.ParsableByteArray data
	public void packetFinished () 
	private void startNalUnit (long, int, int, long) 
		long position
		int offset
		int nalUnitType
		long pesTimeUs
	private void nalUnitData (byte[], int, int) 
		byte[] dataArray
		int offset
		int limit
	private void endNalUnit (long, int, int, long) 
		int unescapedLength
		int unescapedLength
		long position
		int offset
		int discardPadding
		long pesTimeUs
	private static com.google.android.exoplayer.MediaFormat parseMediaFormat (com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer, com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer, com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer) 
		int i
		int confWinLeftOffset
		int confWinRightOffset
		int confWinTopOffset
		int confWinBottomOffset
		int subWidthC
		int subHeightC
		int i
		int ltRefPicPocLsbSpsLength
		int i
		int sarWidth
		int sarHeight
		int aspectRatioIdc
		com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer vps
		com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer sps
		com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer pps
		byte[] csd
		com.google.android.exoplayer.util.ParsableBitArray bitArray
		int maxSubLayersMinus1
		int toSkip
		int chromaFormatIdc
		int picWidthInLumaSamples
		int picHeightInLumaSamples
		int log2MaxPicOrderCntLsbMinus4
		float pixelWidthHeightRatio
	private static void skipScalingList (com.google.android.exoplayer.util.ParsableBitArray) 
		int i
		int coefNum
		int matrixId
		int sizeId
		com.google.android.exoplayer.util.ParsableBitArray bitArray
	private static void skipShortTermRefPicSets (com.google.android.exoplayer.util.ParsableBitArray) 
		int j
		int i
		int i
		int stRpsIdx
		com.google.android.exoplayer.util.ParsableBitArray bitArray
		int numShortTermRefPicSets
		boolean interRefPicSetPredictionFlag
		int numNegativePics
		int numPositivePics
		int previousNumDeltaPocs
}

com/google/android/exoplayer/extractor/ts/Ac3Reader.class
Ac3Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.Ac3Reader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
	private static final int STATE_FINDING_SYNC
	private static final int STATE_READING_HEADER
	private static final int STATE_READING_SAMPLE
	private static final int HEADER_SIZE
	private final boolean isEac3
	private final com.google.android.exoplayer.util.ParsableBitArray headerScratchBits
	private final com.google.android.exoplayer.util.ParsableByteArray headerScratchBytes
	private int state
	private int bytesRead
	private boolean lastByteWas0B
	private long sampleDurationUs
	private com.google.android.exoplayer.MediaFormat mediaFormat
	private int sampleSize
	private long timeUs
	public void  (com.google.android.exoplayer.extractor.TrackOutput, boolean) 
		com.google.android.exoplayer.extractor.TrackOutput output
		boolean isEac3
	public void seek () 
	public void packetStarted (long, boolean) 
		long pesTimeUs
		boolean dataAlignmentIndicator
	public void consume (com.google.android.exoplayer.util.ParsableByteArray) 
		int bytesToRead
		com.google.android.exoplayer.util.ParsableByteArray data
	public void packetFinished () 
	private boolean continueRead (com.google.android.exoplayer.util.ParsableByteArray, byte[], int) 
		com.google.android.exoplayer.util.ParsableByteArray source
		byte[] target
		int targetLength
		int bytesToRead
	private boolean skipToNextSync (com.google.android.exoplayer.util.ParsableByteArray) 
		int secondByte
		com.google.android.exoplayer.util.ParsableByteArray pesBuffer
	private void parseHeader () 
		int audioSamplesPerSyncframe
}

com/google/android/exoplayer/extractor/flv/
com/google/android/exoplayer/extractor/flv/FlvExtractor.class
FlvExtractor.java
package com.google.android.exoplayer.extractor.flv
public final com.google.android.exoplayer.extractor.flv.FlvExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor com.google.android.exoplayer.extractor.SeekMap  {
	private static final int FLV_HEADER_SIZE
	private static final int FLV_TAG_HEADER_SIZE
	private static final int STATE_READING_FLV_HEADER
	private static final int STATE_SKIPPING_TO_TAG_HEADER
	private static final int STATE_READING_TAG_HEADER
	private static final int STATE_READING_TAG_DATA
	private static final int TAG_TYPE_AUDIO
	private static final int TAG_TYPE_VIDEO
	private static final int TAG_TYPE_SCRIPT_DATA
	private static final int FLV_TAG
	private final com.google.android.exoplayer.util.ParsableByteArray scratch
	private final com.google.android.exoplayer.util.ParsableByteArray headerBuffer
	private final com.google.android.exoplayer.util.ParsableByteArray tagHeaderBuffer
	private final com.google.android.exoplayer.util.ParsableByteArray tagData
	private com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
	private int parserState
	private int bytesToNextTagHeader
	public int tagType
	public int tagDataSize
	public long tagTimestampUs
	private com.google.android.exoplayer.extractor.flv.AudioTagPayloadReader audioReader
	private com.google.android.exoplayer.extractor.flv.VideoTagPayloadReader videoReader
	private com.google.android.exoplayer.extractor.flv.ScriptTagPayloadReader metadataReader
	public void  () 
	public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		int dataOffset
	public void init (com.google.android.exoplayer.extractor.ExtractorOutput) 
		com.google.android.exoplayer.extractor.ExtractorOutput output
	public void seek () 
	public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.PositionHolder seekPosition
	private boolean readFlvHeader (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		int flags
		boolean hasAudio
		boolean hasVideo
	private void skipToTagHeader (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
	private boolean readTagHeader (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
	private boolean readTagData (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		boolean wasConsumed
	private com.google.android.exoplayer.util.ParsableByteArray prepareTagData (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
	public boolean isSeekable () 
	public long getPosition (long) 
		long timeUs
	static void  () 
}

com/google/android/exoplayer/extractor/flv/TagPayloadReader.class
TagPayloadReader.java
package com.google.android.exoplayer.extractor.flv
abstract com.google.android.exoplayer.extractor.flv.TagPayloadReader extends java.lang.Object {
	protected final com.google.android.exoplayer.extractor.TrackOutput output
	private long durationUs
	protected void  (com.google.android.exoplayer.extractor.TrackOutput) 
		com.google.android.exoplayer.extractor.TrackOutput output
	public final void setDurationUs (long) 
		long durationUs
	public final long getDurationUs () 
	public abstract void seek () 
	public final void consume (com.google.android.exoplayer.util.ParsableByteArray, long)  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.util.ParsableByteArray data
		long timeUs
	protected abstract boolean parseHeader (com.google.android.exoplayer.util.ParsableByteArray)  throws com.google.android.exoplayer.ParserException 
	protected abstract void parsePayload (com.google.android.exoplayer.util.ParsableByteArray, long)  throws com.google.android.exoplayer.ParserException 
}

com/google/android/exoplayer/extractor/flv/VideoTagPayloadReader$AvcSequenceHeaderData.class
VideoTagPayloadReader.java
package com.google.android.exoplayer.extractor.flv
final com.google.android.exoplayer.extractor.flv.VideoTagPayloadReader$AvcSequenceHeaderData extends java.lang.Object {
	public final java.util.List initializationData
	public final int nalUnitLengthFieldLength
	public final float pixelWidthAspectRatio
	public final int width
	public final int height
	public void  (java.util.List, int, int, int, float) 
		java.util.List initializationData
		int nalUnitLengthFieldLength
		int width
		int height
		float pixelWidthAspectRatio
}

com/google/android/exoplayer/extractor/flv/VideoTagPayloadReader.class
VideoTagPayloadReader.java
package com.google.android.exoplayer.extractor.flv
final com.google.android.exoplayer.extractor.flv.VideoTagPayloadReader extends com.google.android.exoplayer.extractor.flv.TagPayloadReader {
	private static final int VIDEO_CODEC_AVC
	private static final int VIDEO_FRAME_KEYFRAME
	private static final int VIDEO_FRAME_VIDEO_INFO
	private static final int AVC_PACKET_TYPE_SEQUENCE_HEADER
	private static final int AVC_PACKET_TYPE_AVC_NALU
	private final com.google.android.exoplayer.util.ParsableByteArray nalStartCode
	private final com.google.android.exoplayer.util.ParsableByteArray nalLength
	private int nalUnitLengthFieldLength
	private boolean hasOutputFormat
	private int frameType
	public void  (com.google.android.exoplayer.extractor.TrackOutput) 
		com.google.android.exoplayer.extractor.TrackOutput output
	public void seek () 
	protected boolean parseHeader (com.google.android.exoplayer.util.ParsableByteArray)  throws com.google.android.exoplayer.extractor.flv.TagPayloadReader$UnsupportedFormatException 
		com.google.android.exoplayer.util.ParsableByteArray data
		int header
		int frameType
		int videoCodec
	protected void parsePayload (com.google.android.exoplayer.util.ParsableByteArray, long)  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.util.ParsableByteArray videoSequence
		com.google.android.exoplayer.extractor.flv.VideoTagPayloadReader$AvcSequenceHeaderData avcData
		com.google.android.exoplayer.MediaFormat mediaFormat
		int bytesToWrite
		byte[] nalLengthData
		int nalUnitLengthFieldLengthDiff
		int bytesWritten
		com.google.android.exoplayer.util.ParsableByteArray data
		long timeUs
		int packetType
		int compositionTimeMs
	private com.google.android.exoplayer.extractor.flv.VideoTagPayloadReader$AvcSequenceHeaderData parseAvcCodecPrivate (com.google.android.exoplayer.util.ParsableByteArray)  throws com.google.android.exoplayer.ParserException 
		int i
		int j
		com.google.android.exoplayer.util.ParsableBitArray spsDataBitArray
		com.google.android.exoplayer.util.NalUnitUtil$SpsData sps
		com.google.android.exoplayer.util.ParsableByteArray buffer
		int nalUnitLengthFieldLength
		java.util.List initializationData
		int numSequenceParameterSets
		int numPictureParameterSets
		float pixelWidthAspectRatio
		int width
		int height
}

com/google/android/exoplayer/extractor/flv/TagPayloadReader$UnsupportedFormatException.class
TagPayloadReader.java
package com.google.android.exoplayer.extractor.flv
public final com.google.android.exoplayer.extractor.flv.TagPayloadReader$UnsupportedFormatException extends com.google.android.exoplayer.ParserException {
	public void  (java.lang.String) 
		String msg
}

com/google/android/exoplayer/extractor/flv/ScriptTagPayloadReader.class
ScriptTagPayloadReader.java
package com.google.android.exoplayer.extractor.flv
final com.google.android.exoplayer.extractor.flv.ScriptTagPayloadReader extends com.google.android.exoplayer.extractor.flv.TagPayloadReader {
	private static final String NAME_METADATA
	private static final String KEY_DURATION
	private static final int AMF_TYPE_NUMBER
	private static final int AMF_TYPE_BOOLEAN
	private static final int AMF_TYPE_STRING
	private static final int AMF_TYPE_OBJECT
	private static final int AMF_TYPE_ECMA_ARRAY
	private static final int AMF_TYPE_END_MARKER
	private static final int AMF_TYPE_STRICT_ARRAY
	private static final int AMF_TYPE_DATE
	public void  (com.google.android.exoplayer.extractor.TrackOutput) 
		com.google.android.exoplayer.extractor.TrackOutput output
	public void seek () 
	protected boolean parseHeader (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray data
	protected void parsePayload (com.google.android.exoplayer.util.ParsableByteArray, long)  throws com.google.android.exoplayer.ParserException 
		double durationSeconds
		com.google.android.exoplayer.util.ParsableByteArray data
		long timeUs
		int nameType
		String name
		int type
		java.util.Map metadata
	private static int readAmfType (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray data
	private static java.lang.Boolean readAmfBoolean (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray data
	private static java.lang.Double readAmfDouble (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray data
	private static java.lang.String readAmfString (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray data
		int size
		int position
	private static java.util.ArrayList readAmfStrictArray (com.google.android.exoplayer.util.ParsableByteArray) 
		int type
		int i
		com.google.android.exoplayer.util.ParsableByteArray data
		int count
		java.util.ArrayList list
	private static java.util.HashMap readAmfObject (com.google.android.exoplayer.util.ParsableByteArray) 
		String key
		int type
		com.google.android.exoplayer.util.ParsableByteArray data
		java.util.HashMap array
	private static java.util.HashMap readAmfEcmaArray (com.google.android.exoplayer.util.ParsableByteArray) 
		String key
		int type
		int i
		com.google.android.exoplayer.util.ParsableByteArray data
		int count
		java.util.HashMap array
	private static java.util.Date readAmfDate (com.google.android.exoplayer.util.ParsableByteArray) 
		com.google.android.exoplayer.util.ParsableByteArray data
		java.util.Date date
	private static java.lang.Object readAmfData (com.google.android.exoplayer.util.ParsableByteArray, int) 
		com.google.android.exoplayer.util.ParsableByteArray data
		int type
}

com/google/android/exoplayer/extractor/flv/AudioTagPayloadReader.class
AudioTagPayloadReader.java
package com.google.android.exoplayer.extractor.flv
final com.google.android.exoplayer.extractor.flv.AudioTagPayloadReader extends com.google.android.exoplayer.extractor.flv.TagPayloadReader {
	private static final int AUDIO_FORMAT_AAC
	private static final int AAC_PACKET_TYPE_SEQUENCE_HEADER
	private static final int AAC_PACKET_TYPE_AAC_RAW
	private static final int[] AUDIO_SAMPLING_RATE_TABLE
	private boolean hasParsedAudioDataHeader
	private boolean hasOutputFormat
	public void  (com.google.android.exoplayer.extractor.TrackOutput) 
		com.google.android.exoplayer.extractor.TrackOutput output
	public void seek () 
	protected boolean parseHeader (com.google.android.exoplayer.util.ParsableByteArray)  throws com.google.android.exoplayer.extractor.flv.TagPayloadReader$UnsupportedFormatException 
		int header
		int audioFormat
		int sampleRateIndex
		com.google.android.exoplayer.util.ParsableByteArray data
	protected void parsePayload (com.google.android.exoplayer.util.ParsableByteArray, long) 
		byte[] audioSpecifiConfig
		android.util.Pair audioParams
		com.google.android.exoplayer.MediaFormat mediaFormat
		int bytesToWrite
		com.google.android.exoplayer.util.ParsableByteArray data
		long timeUs
		int packetType
	static void  () 
}

com/google/android/exoplayer/extractor/DummyTrackOutput.class
DummyTrackOutput.java
package com.google.android.exoplayer.extractor
public com.google.android.exoplayer.extractor.DummyTrackOutput extends java.lang.Object implements com.google.android.exoplayer.extractor.TrackOutput  {
	public void  () 
	public void format (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat format
	public int sampleData (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		int length
		boolean allowEndOfInput
	public void sampleData (com.google.android.exoplayer.util.ParsableByteArray, int) 
		com.google.android.exoplayer.util.ParsableByteArray data
		int length
	public void sampleMetadata (long, int, int, int, byte[]) 
		long timeUs
		int flags
		int size
		int offset
		byte[] encryptionKey
}

com/google/android/exoplayer/extractor/RollingSampleBuffer$SampleExtrasHolder.class
RollingSampleBuffer.java
package com.google.android.exoplayer.extractor
final com.google.android.exoplayer.extractor.RollingSampleBuffer$SampleExtrasHolder extends java.lang.Object {
	public long offset
	public byte[] encryptionKeyId
	private void  () 
	void  (com.google.android.exoplayer.extractor.RollingSampleBuffer$1) 
		com.google.android.exoplayer.extractor.RollingSampleBuffer$1 x0
}

com/google/android/exoplayer/extractor/ExtractorInput.class
ExtractorInput.java
package com.google.android.exoplayer.extractor
public abstract com.google.android.exoplayer.extractor.ExtractorInput extends java.lang.Object {
	public abstract int read (byte[], int, int)  throws java.io.IOException java.lang.InterruptedException 
	public abstract boolean readFully (byte[], int, int, boolean)  throws java.io.IOException java.lang.InterruptedException 
	public abstract void readFully (byte[], int, int)  throws java.io.IOException java.lang.InterruptedException 
	public abstract int skip (int)  throws java.io.IOException java.lang.InterruptedException 
	public abstract boolean skipFully (int, boolean)  throws java.io.IOException java.lang.InterruptedException 
	public abstract void skipFully (int)  throws java.io.IOException java.lang.InterruptedException 
	public abstract boolean peekFully (byte[], int, int, boolean)  throws java.io.IOException java.lang.InterruptedException 
	public abstract void peekFully (byte[], int, int)  throws java.io.IOException java.lang.InterruptedException 
	public abstract boolean advancePeekPosition (int, boolean)  throws java.io.IOException java.lang.InterruptedException 
	public abstract void advancePeekPosition (int)  throws java.io.IOException java.lang.InterruptedException 
	public abstract void resetPeekPosition () 
	public abstract long getPeekPosition () 
	public abstract long getPosition () 
	public abstract long getLength () 
}

com/google/android/exoplayer/extractor/ExtractorSampleSource$InternalTrackOutput.class
ExtractorSampleSource.java
package com.google.android.exoplayer.extractor
 com.google.android.exoplayer.extractor.ExtractorSampleSource$InternalTrackOutput extends com.google.android.exoplayer.extractor.DefaultTrackOutput {
	final com.google.android.exoplayer.extractor.ExtractorSampleSource this$0
	public void  (com.google.android.exoplayer.extractor.ExtractorSampleSource, com.google.android.exoplayer.upstream.Allocator) 
		com.google.android.exoplayer.upstream.Allocator allocator
	public void sampleMetadata (long, int, int, int, byte[]) 
		long timeUs
		int flags
		int size
		int offset
		byte[] encryptionKey
}

com/google/android/exoplayer/extractor/RollingSampleBuffer.class
RollingSampleBuffer.java
package com.google.android.exoplayer.extractor
final com.google.android.exoplayer.extractor.RollingSampleBuffer extends java.lang.Object {
	private static final int INITIAL_SCRATCH_SIZE
	private final com.google.android.exoplayer.upstream.Allocator allocator
	private final int allocationLength
	private final com.google.android.exoplayer.extractor.RollingSampleBuffer$InfoQueue infoQueue
	private final java.util.concurrent.LinkedBlockingDeque dataQueue
	private final com.google.android.exoplayer.extractor.RollingSampleBuffer$SampleExtrasHolder extrasHolder
	private final com.google.android.exoplayer.util.ParsableByteArray scratch
	private long totalBytesDropped
	private long totalBytesWritten
	private com.google.android.exoplayer.upstream.Allocation lastAllocation
	private int lastAllocationOffset
	public void  (com.google.android.exoplayer.upstream.Allocator) 
		com.google.android.exoplayer.upstream.Allocator allocator
	public void clear () 
	public int getWriteIndex () 
	public void discardUpstreamSamples (int) 
		int discardFromIndex
	private void dropUpstreamFrom (long) 
		int i
		long absolutePosition
		int relativePosition
		int allocationIndex
		int allocationOffset
		int allocationDiscardCount
	public int getReadIndex () 
	public boolean peekSample (com.google.android.exoplayer.SampleHolder) 
		com.google.android.exoplayer.SampleHolder holder
	public void skipSample () 
		long nextOffset
	public boolean skipToKeyframeBefore (long) 
		long timeUs
		long nextOffset
	public boolean readSample (com.google.android.exoplayer.SampleHolder) 
		com.google.android.exoplayer.SampleHolder sampleHolder
		boolean haveSample
		long nextOffset
	private void readEncryptionData (com.google.android.exoplayer.SampleHolder, com.google.android.exoplayer.extractor.RollingSampleBuffer$SampleExtrasHolder) 
		int subsampleCount
		int i
		int subsampleDataLength
		com.google.android.exoplayer.SampleHolder sampleHolder
		com.google.android.exoplayer.extractor.RollingSampleBuffer$SampleExtrasHolder extrasHolder
		long offset
		byte signalByte
		boolean subsampleEncryption
		int ivSize
		int subsampleCount
		int[] clearDataSizes
		int[] encryptedDataSizes
		int bytesRead
	private void readData (long, java.nio.ByteBuffer, int) 
		int positionInAllocation
		int toCopy
		com.google.android.exoplayer.upstream.Allocation allocation
		long absolutePosition
		java.nio.ByteBuffer target
		int length
		int remaining
	private void readData (long, byte[], int) 
		int positionInAllocation
		int toCopy
		com.google.android.exoplayer.upstream.Allocation allocation
		long absolutePosition
		byte[] target
		int length
		int bytesRead
	private void dropDownstreamTo (long) 
		int i
		long absolutePosition
		int relativePosition
		int allocationIndex
	private static void ensureCapacity (com.google.android.exoplayer.util.ParsableByteArray, int) 
		com.google.android.exoplayer.util.ParsableByteArray byteArray
		int limit
	public long getWritePosition () 
	public int appendData (com.google.android.exoplayer.upstream.DataSource, int, boolean)  throws java.io.IOException 
		com.google.android.exoplayer.upstream.DataSource dataSource
		int length
		boolean allowEndOfInput
		int bytesAppended
	public int appendData (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		int length
		boolean allowEndOfInput
		int bytesAppended
	public void appendData (com.google.android.exoplayer.util.ParsableByteArray, int) 
		int thisAppendLength
		com.google.android.exoplayer.util.ParsableByteArray buffer
		int length
	public void commitSample (long, int, long, int, byte[]) 
		long sampleTimeUs
		int flags
		long position
		int size
		byte[] encryptionKey
	private int prepareForAppend (int) 
		int length
}

com/google/android/exoplayer/extractor/ExtractorSampleSource.class
ExtractorSampleSource.java
package com.google.android.exoplayer.extractor
public final com.google.android.exoplayer.extractor.ExtractorSampleSource extends java.lang.Object implements com.google.android.exoplayer.SampleSource com.google.android.exoplayer.SampleSource$SampleSourceReader com.google.android.exoplayer.extractor.ExtractorOutput com.google.android.exoplayer.upstream.Loader$Callback  {
	public static final int DEFAULT_MIN_LOADABLE_RETRY_COUNT_ON_DEMAND
	public static final int DEFAULT_MIN_LOADABLE_RETRY_COUNT_LIVE
	private static final int MIN_RETRY_COUNT_DEFAULT_FOR_MEDIA
	private static final long NO_RESET_PENDING
	private static final java.util.List DEFAULT_EXTRACTOR_CLASSES
	private final com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractorHolder extractorHolder
	private final com.google.android.exoplayer.upstream.Allocator allocator
	private final int requestedBufferSize
	private final android.util.SparseArray sampleQueues
	private final int minLoadableRetryCount
	private final android.net.Uri uri
	private final com.google.android.exoplayer.upstream.DataSource dataSource
	private final android.os.Handler eventHandler
	private final com.google.android.exoplayer.extractor.ExtractorSampleSource$EventListener eventListener
	private final int eventSourceId
	private volatile boolean tracksBuilt
	private volatile com.google.android.exoplayer.extractor.SeekMap seekMap
	private volatile com.google.android.exoplayer.drm.DrmInitData drmInitData
	private boolean prepared
	private int enabledTrackCount
	private com.google.android.exoplayer.MediaFormat[] mediaFormats
	private long maxTrackDurationUs
	private boolean[] pendingMediaFormat
	private boolean[] pendingDiscontinuities
	private boolean[] trackEnabledStates
	private int remainingReleaseCount
	private long downstreamPositionUs
	private long lastSeekPositionUs
	private long pendingResetPositionUs
	private boolean havePendingNextSampleUs
	private long pendingNextSampleUs
	private long sampleTimeOffsetUs
	private com.google.android.exoplayer.upstream.Loader loader
	private com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable loadable
	private java.io.IOException currentLoadableException
	private int currentLoadableExceptionCount
	private long currentLoadableExceptionTimestamp
	private boolean loadingFinished
	private int extractedSampleCount
	private int extractedSampleCountAtStartOfLoad
	public transient void  (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.Allocator, int, com.google.android.exoplayer.extractor.Extractor[]) 
		android.net.Uri uri
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.Allocator allocator
		int requestedBufferSize
		com.google.android.exoplayer.extractor.Extractor[] extractors
	public transient void  (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.Allocator, int, android.os.Handler, com.google.android.exoplayer.extractor.ExtractorSampleSource$EventListener, int, com.google.android.exoplayer.extractor.Extractor[]) 
		android.net.Uri uri
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.Allocator allocator
		int requestedBufferSize
		android.os.Handler eventHandler
		com.google.android.exoplayer.extractor.ExtractorSampleSource$EventListener eventListener
		int eventSourceId
		com.google.android.exoplayer.extractor.Extractor[] extractors
	public transient void  (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.Allocator, int, int, com.google.android.exoplayer.extractor.Extractor[]) 
		android.net.Uri uri
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.Allocator allocator
		int requestedBufferSize
		int minLoadableRetryCount
		com.google.android.exoplayer.extractor.Extractor[] extractors
	public transient void  (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.Allocator, int, int, android.os.Handler, com.google.android.exoplayer.extractor.ExtractorSampleSource$EventListener, int, com.google.android.exoplayer.extractor.Extractor[]) 
		InstantiationException e
		IllegalAccessException e
		int i
		android.net.Uri uri
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.Allocator allocator
		int requestedBufferSize
		int minLoadableRetryCount
		android.os.Handler eventHandler
		com.google.android.exoplayer.extractor.ExtractorSampleSource$EventListener eventListener
		int eventSourceId
		com.google.android.exoplayer.extractor.Extractor[] extractors
	public com.google.android.exoplayer.SampleSource$SampleSourceReader register () 
	public boolean prepare (long) 
		com.google.android.exoplayer.MediaFormat format
		int i
		int trackCount
		long positionUs
	public int getTrackCount () 
	public com.google.android.exoplayer.MediaFormat getFormat (int) 
		int track
	public void enable (int, long) 
		int track
		long positionUs
	public void disable (int) 
		int track
	public boolean continueBuffering (int, long) 
		int track
		long playbackPositionUs
	public long readDiscontinuity (int) 
		int track
	public int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder) 
		boolean decodeOnly
		int track
		long playbackPositionUs
		com.google.android.exoplayer.MediaFormatHolder formatHolder
		com.google.android.exoplayer.SampleHolder sampleHolder
		com.google.android.exoplayer.extractor.ExtractorSampleSource$InternalTrackOutput sampleQueue
	public void maybeThrowError ()  throws java.io.IOException 
		int minLoadableRetryCountForMedia
		int minLoadableRetryCountForMedia
	public void seekToUs (long) 
		int i
		int i
		long positionUs
		long currentPositionUs
		boolean seekInsideBuffer
	public long getBufferedPositionUs () 
		int i
		long largestParsedTimestampUs
	public void release () 
	public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
	public void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
	public void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException) 
		com.google.android.exoplayer.upstream.Loader$Loadable ignored
		java.io.IOException e
	public com.google.android.exoplayer.extractor.TrackOutput track (int) 
		int id
		com.google.android.exoplayer.extractor.ExtractorSampleSource$InternalTrackOutput sampleQueue
	public void endTracks () 
	public void seekMap (com.google.android.exoplayer.extractor.SeekMap) 
		com.google.android.exoplayer.extractor.SeekMap seekMap
	public void drmInitData (com.google.android.exoplayer.drm.DrmInitData) 
		com.google.android.exoplayer.drm.DrmInitData drmInitData
	private void restartFrom (long) 
		long positionUs
	private void maybeStartLoading () 
		int i
		int i
		long elapsedMillis
	private com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable createLoadableFromStart () 
	private com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable createLoadableFromPositionUs (long) 
		long positionUs
	private boolean haveFormatsForAllTracks () 
		int i
	private void discardSamplesForDisabledTracks (long) 
		int i
		long timeUs
	private void clearState () 
		int i
	private boolean isPendingReset () 
	private boolean isCurrentLoadableExceptionFatal () 
	private long getRetryDelayMillis (long) 
		long errorCount
	private void notifyLoadError (java.io.IOException) 
		java.io.IOException e
	static int access$000 (com.google.android.exoplayer.extractor.ExtractorSampleSource) 
		com.google.android.exoplayer.extractor.ExtractorSampleSource x0
	static com.google.android.exoplayer.extractor.ExtractorSampleSource$EventListener access$100 (com.google.android.exoplayer.extractor.ExtractorSampleSource) 
		com.google.android.exoplayer.extractor.ExtractorSampleSource x0
	static int access$208 (com.google.android.exoplayer.extractor.ExtractorSampleSource) 
		com.google.android.exoplayer.extractor.ExtractorSampleSource x0
	static void  () 
}

com/google/android/exoplayer/extractor/ExtractorSampleSource$EventListener.class
ExtractorSampleSource.java
package com.google.android.exoplayer.extractor
public abstract com.google.android.exoplayer.extractor.ExtractorSampleSource$EventListener extends java.lang.Object {
	public abstract void onLoadError (int, java.io.IOException) 
}

com/google/android/exoplayer/extractor/ExtractorOutput.class
ExtractorOutput.java
package com.google.android.exoplayer.extractor
public abstract com.google.android.exoplayer.extractor.ExtractorOutput extends java.lang.Object {
	public abstract com.google.android.exoplayer.extractor.TrackOutput track (int) 
	public abstract void endTracks () 
	public abstract void seekMap (com.google.android.exoplayer.extractor.SeekMap) 
	public abstract void drmInitData (com.google.android.exoplayer.drm.DrmInitData) 
}

com/google/android/exoplayer/extractor/Extractor.class
Extractor.java
package com.google.android.exoplayer.extractor
public abstract com.google.android.exoplayer.extractor.Extractor extends java.lang.Object {
	public static final int RESULT_CONTINUE
	public static final int RESULT_SEEK
	public static final int RESULT_END_OF_INPUT
	public abstract void init (com.google.android.exoplayer.extractor.ExtractorOutput) 
	public abstract boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
	public abstract int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder)  throws java.io.IOException java.lang.InterruptedException 
	public abstract void seek () 
}

com/google/android/exoplayer/extractor/SeekMap.class
SeekMap.java
package com.google.android.exoplayer.extractor
public abstract com.google.android.exoplayer.extractor.SeekMap extends java.lang.Object {
	public static final com.google.android.exoplayer.extractor.SeekMap UNSEEKABLE
	public abstract boolean isSeekable () 
	public abstract long getPosition (long) 
	static void  () 
}

com/google/android/exoplayer/extractor/RollingSampleBuffer$1.class
RollingSampleBuffer.java
package com.google.android.exoplayer.extractor
 com.google.android.exoplayer.extractor.RollingSampleBuffer$1 extends java.lang.Object {
}

com/google/android/exoplayer/extractor/ExtractorSampleSource$ExtractingLoadable.class
ExtractorSampleSource.java
package com.google.android.exoplayer.extractor
 com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable extends java.lang.Object implements com.google.android.exoplayer.upstream.Loader$Loadable  {
	private final android.net.Uri uri
	private final com.google.android.exoplayer.upstream.DataSource dataSource
	private final com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractorHolder extractorHolder
	private final com.google.android.exoplayer.upstream.Allocator allocator
	private final int requestedBufferSize
	private final com.google.android.exoplayer.extractor.PositionHolder positionHolder
	private volatile boolean loadCanceled
	private boolean pendingExtractorSeek
	public void  (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractorHolder, com.google.android.exoplayer.upstream.Allocator, int, long) 
		android.net.Uri uri
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractorHolder extractorHolder
		com.google.android.exoplayer.upstream.Allocator allocator
		int requestedBufferSize
		long position
	public void cancelLoad () 
	public boolean isLoadCanceled () 
	public void load ()  throws java.io.IOException java.lang.InterruptedException 
		long position
		long length
		com.google.android.exoplayer.extractor.Extractor extractor
		com.google.android.exoplayer.extractor.ExtractorInput input
		int result
}

com/google/android/exoplayer/ExoPlayerImplInternal.class
ExoPlayerImplInternal.java
package com.google.android.exoplayer
final com.google.android.exoplayer.ExoPlayerImplInternal extends java.lang.Object implements android.os.Handler$Callback  {
	private static final String TAG
	public static final int MSG_PREPARED
	public static final int MSG_STATE_CHANGED
	public static final int MSG_SET_PLAY_WHEN_READY_ACK
	public static final int MSG_ERROR
	private static final int MSG_PREPARE
	private static final int MSG_INCREMENTAL_PREPARE
	private static final int MSG_SET_PLAY_WHEN_READY
	private static final int MSG_STOP
	private static final int MSG_RELEASE
	private static final int MSG_SEEK_TO
	private static final int MSG_DO_SOME_WORK
	private static final int MSG_SET_RENDERER_SELECTED_TRACK
	private static final int MSG_CUSTOM
	private static final int PREPARE_INTERVAL_MS
	private static final int RENDERING_INTERVAL_MS
	private static final int IDLE_INTERVAL_MS
	private final android.os.Handler handler
	private final android.os.HandlerThread internalPlaybackThread
	private final android.os.Handler eventHandler
	private final com.google.android.exoplayer.StandaloneMediaClock standaloneMediaClock
	private final java.util.concurrent.atomic.AtomicInteger pendingSeekCount
	private final java.util.List enabledRenderers
	private final com.google.android.exoplayer.MediaFormat[][] trackFormats
	private final int[] selectedTrackIndices
	private final long minBufferUs
	private final long minRebufferUs
	private com.google.android.exoplayer.TrackRenderer[] renderers
	private com.google.android.exoplayer.TrackRenderer rendererMediaClockSource
	private com.google.android.exoplayer.MediaClock rendererMediaClock
	private boolean released
	private boolean playWhenReady
	private boolean rebuffering
	private int state
	private int customMessagesSent
	private int customMessagesProcessed
	private long lastSeekPositionMs
	private long elapsedRealtimeUs
	private volatile long durationUs
	private volatile long positionUs
	private volatile long bufferedPositionUs
	public void  (android.os.Handler, boolean, int[], int, int) 
		android.os.Handler eventHandler
		boolean playWhenReady
		int[] selectedTrackIndices
		int minBufferMs
		int minRebufferMs
	public android.os.Looper getPlaybackLooper () 
	public long getCurrentPosition () 
	public long getBufferedPosition () 
	public long getDuration () 
	public transient void prepare (com.google.android.exoplayer.TrackRenderer[]) 
		com.google.android.exoplayer.TrackRenderer[] renderers
	public void setPlayWhenReady (boolean) 
		boolean playWhenReady
	public void seekTo (long) 
		long positionMs
	public void stop () 
	public void setRendererSelectedTrack (int, int) 
		int rendererIndex
		int trackIndex
	public void sendMessage (com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent, int, java.lang.Object) 
		com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent target
		int messageType
		Object message
	public synchronized void blockingSendMessage (com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent, int, java.lang.Object) 
		InterruptedException e
		com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent target
		int messageType
		Object message
		int messageNumber
	public synchronized void release () 
		InterruptedException e
	public boolean handleMessage (android.os.Message) 
		com.google.android.exoplayer.ExoPlaybackException e
		RuntimeException e
		android.os.Message msg
	private void setState (int) 
		int state
	private void prepareInternal (com.google.android.exoplayer.TrackRenderer[])  throws com.google.android.exoplayer.ExoPlaybackException 
		com.google.android.exoplayer.TrackRenderer[] renderers
	private void incrementalPrepareInternal ()  throws com.google.android.exoplayer.ExoPlaybackException 
		int state
		com.google.android.exoplayer.TrackRenderer renderer
		int rendererIndex
		int trackIndex
		long trackDurationUs
		int trackIndex
		com.google.android.exoplayer.TrackRenderer renderer
		int rendererTrackCount
		com.google.android.exoplayer.MediaFormat[] rendererTrackFormats
		int rendererIndex
		long operationStartTimeMs
		boolean prepared
		long durationUs
		boolean allRenderersEnded
		boolean allRenderersReadyOrEnded
	private void enableRenderer (com.google.android.exoplayer.TrackRenderer, int, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		com.google.android.exoplayer.TrackRenderer renderer
		int trackIndex
		boolean joining
		com.google.android.exoplayer.MediaClock mediaClock
	private boolean rendererReadyOrEnded (com.google.android.exoplayer.TrackRenderer) 
		com.google.android.exoplayer.TrackRenderer renderer
		long rendererDurationUs
		long rendererBufferedPositionUs
		long minBufferDurationUs
	private void setPlayWhenReadyInternal (boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		boolean playWhenReady
	private void startRenderers ()  throws com.google.android.exoplayer.ExoPlaybackException 
		int i
	private void stopRenderers ()  throws com.google.android.exoplayer.ExoPlaybackException 
		int i
	private void updatePositionUs () 
	private void doSomeWork ()  throws com.google.android.exoplayer.ExoPlaybackException 
		long rendererDurationUs
		long rendererBufferedPositionUs
		com.google.android.exoplayer.TrackRenderer renderer
		boolean rendererReadyOrEnded
		int i
		long operationStartTimeMs
		long bufferedPositionUs
		boolean allRenderersEnded
		boolean allRenderersReadyOrEnded
	private void scheduleNextOperation (int, long, long) 
		int operationType
		long thisOperationStartTimeMs
		long intervalMs
		long nextOperationStartTimeMs
		long nextOperationDelayMs
	private void seekToInternal (long)  throws com.google.android.exoplayer.ExoPlaybackException 
		com.google.android.exoplayer.TrackRenderer renderer
		int i
		long positionMs
	private void stopInternal () 
	private void releaseInternal () 
	private void resetInternal () 
		com.google.android.exoplayer.TrackRenderer renderer
		int i
	private void stopAndDisable (com.google.android.exoplayer.TrackRenderer) 
		com.google.android.exoplayer.ExoPlaybackException e
		RuntimeException e
		com.google.android.exoplayer.TrackRenderer renderer
	private void release (com.google.android.exoplayer.TrackRenderer) 
		com.google.android.exoplayer.ExoPlaybackException e
		RuntimeException e
		com.google.android.exoplayer.TrackRenderer renderer
	private void sendMessageInternal (int, java.lang.Object)  throws com.google.android.exoplayer.ExoPlaybackException 
		android.util.Pair targetAndMessage
		int what
		Object obj
	private void setRendererSelectedTrackInternal (int, int)  throws com.google.android.exoplayer.ExoPlaybackException 
		boolean playing
		boolean joining
		int rendererIndex
		int trackIndex
		com.google.android.exoplayer.TrackRenderer renderer
		int rendererState
		boolean isEnabled
		boolean shouldEnable
	private void ensureStopped (com.google.android.exoplayer.TrackRenderer)  throws com.google.android.exoplayer.ExoPlaybackException 
		com.google.android.exoplayer.TrackRenderer renderer
	private void ensureDisabled (com.google.android.exoplayer.TrackRenderer)  throws com.google.android.exoplayer.ExoPlaybackException 
		com.google.android.exoplayer.TrackRenderer renderer
}

com/google/android/exoplayer/MediaCodecAudioTrackRenderer.class
MediaCodecAudioTrackRenderer.java
package com.google.android.exoplayer
public com.google.android.exoplayer.MediaCodecAudioTrackRenderer extends com.google.android.exoplayer.MediaCodecTrackRenderer implements com.google.android.exoplayer.MediaClock  {
	public static final int MSG_SET_VOLUME
	public static final int MSG_SET_PLAYBACK_PARAMS
	private final com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener eventListener
	private final com.google.android.exoplayer.audio.AudioTrack audioTrack
	private boolean passthroughEnabled
	private android.media.MediaFormat passthroughMediaFormat
	private int audioSessionId
	private long currentPositionUs
	private boolean allowPositionDiscontinuity
	private boolean audioTrackHasData
	private long lastFeedElapsedRealtimeMs
	public void  (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector) 
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
	public void  (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.drm.DrmSessionManager, boolean) 
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
		com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
		boolean playClearSamplesWithoutKeys
	public void  (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, android.os.Handler, com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener) 
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
		android.os.Handler eventHandler
		com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener eventListener
	public void  (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.drm.DrmSessionManager, boolean, android.os.Handler, com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener) 
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
		com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
		boolean playClearSamplesWithoutKeys
		android.os.Handler eventHandler
		com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener eventListener
	public void  (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.drm.DrmSessionManager, boolean, android.os.Handler, com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener, com.google.android.exoplayer.audio.AudioCapabilities, int) 
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
		com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
		boolean playClearSamplesWithoutKeys
		android.os.Handler eventHandler
		com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener eventListener
		com.google.android.exoplayer.audio.AudioCapabilities audioCapabilities
		int streamType
	public void  (com.google.android.exoplayer.SampleSource[], com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.drm.DrmSessionManager, boolean, android.os.Handler, com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener, com.google.android.exoplayer.audio.AudioCapabilities, int) 
		com.google.android.exoplayer.SampleSource[] sources
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
		com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
		boolean playClearSamplesWithoutKeys
		android.os.Handler eventHandler
		com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener eventListener
		com.google.android.exoplayer.audio.AudioCapabilities audioCapabilities
		int streamType
	protected boolean handlesTrack (com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.MediaFormat)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
		com.google.android.exoplayer.MediaFormat mediaFormat
		String mimeType
	protected com.google.android.exoplayer.DecoderInfo getDecoderInfo (com.google.android.exoplayer.MediaCodecSelector, java.lang.String, boolean)  throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException 
		String passthroughDecoderName
		com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
		String mimeType
		boolean requiresSecureDecoder
	protected boolean allowPassthrough (java.lang.String) 
		String mimeType
	protected void configureCodec (android.media.MediaCodec, boolean, android.media.MediaFormat, android.media.MediaCrypto) 
		android.media.MediaCodec codec
		boolean codecIsAdaptive
		android.media.MediaFormat format
		android.media.MediaCrypto crypto
		String mimeType
	protected com.google.android.exoplayer.MediaClock getMediaClock () 
	protected void onOutputFormatChanged (android.media.MediaFormat) 
		android.media.MediaFormat outputFormat
		boolean passthrough
	protected void onAudioSessionId (int) 
		int audioSessionId
	protected void onStarted () 
	protected void onStopped () 
	protected boolean isEnded () 
	protected boolean isReady () 
	public long getPositionUs () 
		long newCurrentPositionUs
	protected void onDisabled ()  throws com.google.android.exoplayer.ExoPlaybackException 
	protected void onDiscontinuity (long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
	protected boolean processOutputBuffer (long, long, android.media.MediaCodec, java.nio.ByteBuffer, android.media.MediaCodec$BufferInfo, int, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		com.google.android.exoplayer.audio.AudioTrack$InitializationException e
		long elapsedSinceLastFeedMs
		long bufferSizeUs
		long bufferSizeMs
		boolean audioTrackHadData
		com.google.android.exoplayer.audio.AudioTrack$WriteException e
		long positionUs
		long elapsedRealtimeUs
		android.media.MediaCodec codec
		java.nio.ByteBuffer buffer
		android.media.MediaCodec$BufferInfo bufferInfo
		int bufferIndex
		boolean shouldSkip
		int handleBufferResult
		int handleBufferResult
	protected void onOutputStreamEnded () 
	protected void handleAudioTrackDiscontinuity () 
	public void handleMessage (int, java.lang.Object)  throws com.google.android.exoplayer.ExoPlaybackException 
		int messageType
		Object message
	private void notifyAudioTrackInitializationError (com.google.android.exoplayer.audio.AudioTrack$InitializationException) 
		com.google.android.exoplayer.audio.AudioTrack$InitializationException e
	private void notifyAudioTrackWriteError (com.google.android.exoplayer.audio.AudioTrack$WriteException) 
		com.google.android.exoplayer.audio.AudioTrack$WriteException e
	private void notifyAudioTrackUnderrun (int, long, long) 
		int bufferSize
		long bufferSizeMs
		long elapsedSinceLastFeedMs
	static com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener access$000 (com.google.android.exoplayer.MediaCodecAudioTrackRenderer) 
		com.google.android.exoplayer.MediaCodecAudioTrackRenderer x0
}

com/google/android/exoplayer/TimeRange$StaticTimeRange.class
TimeRange.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.TimeRange$StaticTimeRange extends java.lang.Object implements com.google.android.exoplayer.TimeRange  {
	private final long startTimeUs
	private final long endTimeUs
	public void  (long, long) 
		long startTimeUs
		long endTimeUs
	public boolean isStatic () 
	public long[] getCurrentBoundsMs (long[]) 
		long[] out
	public long[] getCurrentBoundsUs (long[]) 
		long[] out
	public int hashCode () 
		int result
	public boolean equals (java.lang.Object) 
		Object obj
		com.google.android.exoplayer.TimeRange$StaticTimeRange other
}

com/google/android/exoplayer/MediaCodecTrackRenderer$DecoderInitializationException.class
MediaCodecTrackRenderer.java
package com.google.android.exoplayer
public com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException extends java.lang.Exception {
	private static final int CUSTOM_ERROR_CODE_BASE
	private static final int NO_SUITABLE_DECODER_ERROR
	private static final int DECODER_QUERY_ERROR
	public final String mimeType
	public final boolean secureDecoderRequired
	public final String decoderName
	public final String diagnosticInfo
	public void  (com.google.android.exoplayer.MediaFormat, java.lang.Throwable, boolean, int) 
		com.google.android.exoplayer.MediaFormat mediaFormat
		Throwable cause
		boolean secureDecoderRequired
		int errorCode
	public void  (com.google.android.exoplayer.MediaFormat, java.lang.Throwable, boolean, java.lang.String) 
		com.google.android.exoplayer.MediaFormat mediaFormat
		Throwable cause
		boolean secureDecoderRequired
		String decoderName
	private static java.lang.String getDiagnosticInfoV21 (java.lang.Throwable) 
		Throwable cause
	private static java.lang.String buildCustomDiagnosticInfo (int) 
		int errorCode
		String sign
}

com/google/android/exoplayer/MediaFormat.class
MediaFormat.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.MediaFormat extends java.lang.Object {
	public static final int NO_VALUE
	public static final long OFFSET_SAMPLE_RELATIVE
	public final String trackId
	public final String mimeType
	public final int bitrate
	public final int maxInputSize
	public final long durationUs
	public final java.util.List initializationData
	public final boolean adaptive
	public final int width
	public final int height
	public final int maxWidth
	public final int maxHeight
	public final int rotationDegrees
	public final float pixelWidthHeightRatio
	public final int channelCount
	public final int sampleRate
	public final int encoderDelay
	public final int encoderPadding
	public final String language
	public final long subsampleOffsetUs
	private int hashCode
	private android.media.MediaFormat frameworkMediaFormat
	public static com.google.android.exoplayer.MediaFormat createVideoFormat (java.lang.String, java.lang.String, int, int, long, int, int, java.util.List) 
		String trackId
		String mimeType
		int bitrate
		int maxInputSize
		long durationUs
		int width
		int height
		java.util.List initializationData
	public static com.google.android.exoplayer.MediaFormat createVideoFormat (java.lang.String, java.lang.String, int, int, long, int, int, java.util.List, int, float) 
		String trackId
		String mimeType
		int bitrate
		int maxInputSize
		long durationUs
		int width
		int height
		java.util.List initializationData
		int rotationDegrees
		float pixelWidthHeightRatio
	public static com.google.android.exoplayer.MediaFormat createAudioFormat (java.lang.String, java.lang.String, int, int, long, int, int, java.util.List, java.lang.String) 
		String trackId
		String mimeType
		int bitrate
		int maxInputSize
		long durationUs
		int channelCount
		int sampleRate
		java.util.List initializationData
		String language
	public static com.google.android.exoplayer.MediaFormat createTextFormat (java.lang.String, java.lang.String, int, long, java.lang.String) 
		String trackId
		String mimeType
		int bitrate
		long durationUs
		String language
	public static com.google.android.exoplayer.MediaFormat createTextFormat (java.lang.String, java.lang.String, int, long, java.lang.String, long) 
		String trackId
		String mimeType
		int bitrate
		long durationUs
		String language
		long subsampleOffsetUs
	public static com.google.android.exoplayer.MediaFormat createImageFormat (java.lang.String, java.lang.String, int, long, java.util.List, java.lang.String) 
		String trackId
		String mimeType
		int bitrate
		long durationUs
		java.util.List initializationData
		String language
	public static com.google.android.exoplayer.MediaFormat createFormatForMimeType (java.lang.String, java.lang.String, int, long) 
		String trackId
		String mimeType
		int bitrate
		long durationUs
	public static com.google.android.exoplayer.MediaFormat createId3Format () 
	void  (java.lang.String, java.lang.String, int, int, long, int, int, int, float, int, int, java.lang.String, long, java.util.List, boolean, int, int, int, int) 
		String trackId
		String mimeType
		int bitrate
		int maxInputSize
		long durationUs
		int width
		int height
		int rotationDegrees
		float pixelWidthHeightRatio
		int channelCount
		int sampleRate
		String language
		long subsampleOffsetUs
		java.util.List initializationData
		boolean adaptive
		int maxWidth
		int maxHeight
		int encoderDelay
		int encoderPadding
	public com.google.android.exoplayer.MediaFormat copyWithMaxInputSize (int) 
		int maxInputSize
	public com.google.android.exoplayer.MediaFormat copyWithMaxVideoDimensions (int, int) 
		int maxWidth
		int maxHeight
	public com.google.android.exoplayer.MediaFormat copyWithSubsampleOffsetUs (long) 
		long subsampleOffsetUs
	public com.google.android.exoplayer.MediaFormat copyWithDurationUs (long) 
		long durationUs
	public com.google.android.exoplayer.MediaFormat copyWithLanguage (java.lang.String) 
		String language
	public com.google.android.exoplayer.MediaFormat copyWithFixedTrackInfo (java.lang.String, int, int, int, java.lang.String) 
		String trackId
		int bitrate
		int width
		int height
		String language
	public com.google.android.exoplayer.MediaFormat copyAsAdaptive (java.lang.String) 
		String trackId
	public com.google.android.exoplayer.MediaFormat copyWithGaplessInfo (int, int) 
		int encoderDelay
		int encoderPadding
	public final android.media.MediaFormat getFrameworkMediaFormatV16 () 
		int i
		android.media.MediaFormat format
	final void setFrameworkFormatV16 (android.media.MediaFormat) 
		android.media.MediaFormat format
	public java.lang.String toString () 
	public int hashCode () 
		int i
		int result
	public boolean equals (java.lang.Object) 
		int i
		Object obj
		com.google.android.exoplayer.MediaFormat other
	private static final void maybeSetStringV16 (android.media.MediaFormat, java.lang.String, java.lang.String) 
		android.media.MediaFormat format
		String key
		String value
	private static final void maybeSetIntegerV16 (android.media.MediaFormat, java.lang.String, int) 
		android.media.MediaFormat format
		String key
		int value
}

com/google/android/exoplayer/hls/
com/google/android/exoplayer/hls/HlsSampleSource$5.class
HlsSampleSource.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.HlsSampleSource$5 extends java.lang.Object implements java.lang.Runnable  {
	final com.google.android.exoplayer.chunk.Format val$format
	final int val$trigger
	final long val$positionUs
	final com.google.android.exoplayer.hls.HlsSampleSource this$0
	void  (com.google.android.exoplayer.hls.HlsSampleSource, com.google.android.exoplayer.chunk.Format, int, long) 
		com.google.android.exoplayer.hls.HlsSampleSource this$0
	public void run () 
}

com/google/android/exoplayer/hls/HlsSampleSource$EventListener.class
HlsSampleSource.java
package com.google.android.exoplayer.hls
public abstract com.google.android.exoplayer.hls.HlsSampleSource$EventListener extends java.lang.Object implements com.google.android.exoplayer.chunk.BaseChunkSampleSourceEventListener  {
}

com/google/android/exoplayer/hls/TsChunk.class
TsChunk.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.TsChunk extends com.google.android.exoplayer.chunk.MediaChunk {
	public final int discontinuitySequenceNumber
	public final com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
	private final boolean isEncrypted
	private int bytesLoaded
	private volatile boolean loadCanceled
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, long, long, int, int, com.google.android.exoplayer.hls.HlsExtractorWrapper, byte[], byte[]) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		int trigger
		com.google.android.exoplayer.chunk.Format format
		long startTimeUs
		long endTimeUs
		int chunkIndex
		int discontinuitySequenceNumber
		com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
		byte[] encryptionKey
		byte[] encryptionIv
	public long bytesLoaded () 
	public void cancelLoad () 
	public boolean isLoadCanceled () 
	public void load ()  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.upstream.DataSpec loadDataSpec
		boolean skipLoadedBytes
		int result
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.upstream.DataSpec loadDataSpec
		boolean skipLoadedBytes
	private static com.google.android.exoplayer.upstream.DataSource buildDataSource (com.google.android.exoplayer.upstream.DataSource, byte[], byte[]) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		byte[] encryptionKey
		byte[] encryptionIv
}

com/google/android/exoplayer/hls/HlsChunkSource$MediaPlaylistChunk.class
HlsChunkSource.java
package com.google.android.exoplayer.hls
final com.google.android.exoplayer.hls.HlsChunkSource$MediaPlaylistChunk extends com.google.android.exoplayer.chunk.DataChunk {
	public final int variantIndex
	private final com.google.android.exoplayer.hls.HlsPlaylistParser playlistParser
	private final String playlistUrl
	private com.google.android.exoplayer.hls.HlsMediaPlaylist result
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, byte[], com.google.android.exoplayer.hls.HlsPlaylistParser, int, java.lang.String) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		byte[] scratchSpace
		com.google.android.exoplayer.hls.HlsPlaylistParser playlistParser
		int variantIndex
		String playlistUrl
	protected void consume (byte[], int)  throws java.io.IOException 
		byte[] data
		int limit
	public com.google.android.exoplayer.hls.HlsMediaPlaylist getResult () 
}

com/google/android/exoplayer/hls/HlsSampleSource.class
HlsSampleSource.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.HlsSampleSource extends java.lang.Object implements com.google.android.exoplayer.SampleSource com.google.android.exoplayer.SampleSource$SampleSourceReader com.google.android.exoplayer.upstream.Loader$Callback  {
	public static final int DEFAULT_MIN_LOADABLE_RETRY_COUNT
	private static final long NO_RESET_PENDING
	private static final int PRIMARY_TYPE_NONE
	private static final int PRIMARY_TYPE_TEXT
	private static final int PRIMARY_TYPE_AUDIO
	private static final int PRIMARY_TYPE_VIDEO
	private final com.google.android.exoplayer.hls.HlsChunkSource chunkSource
	private final java.util.LinkedList extractors
	private final int minLoadableRetryCount
	private final int bufferSizeContribution
	private final com.google.android.exoplayer.chunk.ChunkOperationHolder chunkOperationHolder
	private final int eventSourceId
	private final com.google.android.exoplayer.LoadControl loadControl
	private final android.os.Handler eventHandler
	private final com.google.android.exoplayer.hls.HlsSampleSource$EventListener eventListener
	private int remainingReleaseCount
	private boolean prepared
	private boolean loadControlRegistered
	private int trackCount
	private int enabledTrackCount
	private com.google.android.exoplayer.chunk.Format downstreamFormat
	private com.google.android.exoplayer.MediaFormat[] trackFormats
	private boolean[] trackEnabledStates
	private boolean[] pendingDiscontinuities
	private com.google.android.exoplayer.MediaFormat[] downstreamMediaFormats
	private int[] chunkSourceTrackIndices
	private int[] extractorTrackIndices
	private boolean[] extractorTrackEnabledStates
	private long downstreamPositionUs
	private long lastSeekPositionUs
	private long pendingResetPositionUs
	private boolean loadingFinished
	private com.google.android.exoplayer.chunk.Chunk currentLoadable
	private com.google.android.exoplayer.hls.TsChunk currentTsLoadable
	private com.google.android.exoplayer.hls.TsChunk previousTsLoadable
	private com.google.android.exoplayer.upstream.Loader loader
	private java.io.IOException currentLoadableException
	private int currentLoadableExceptionCount
	private long currentLoadableExceptionTimestamp
	private long currentLoadStartTimeMs
	public void  (com.google.android.exoplayer.hls.HlsChunkSource, com.google.android.exoplayer.LoadControl, int) 
		com.google.android.exoplayer.hls.HlsChunkSource chunkSource
		com.google.android.exoplayer.LoadControl loadControl
		int bufferSizeContribution
	public void  (com.google.android.exoplayer.hls.HlsChunkSource, com.google.android.exoplayer.LoadControl, int, android.os.Handler, com.google.android.exoplayer.hls.HlsSampleSource$EventListener, int) 
		com.google.android.exoplayer.hls.HlsChunkSource chunkSource
		com.google.android.exoplayer.LoadControl loadControl
		int bufferSizeContribution
		android.os.Handler eventHandler
		com.google.android.exoplayer.hls.HlsSampleSource$EventListener eventListener
		int eventSourceId
	public void  (com.google.android.exoplayer.hls.HlsChunkSource, com.google.android.exoplayer.LoadControl, int, android.os.Handler, com.google.android.exoplayer.hls.HlsSampleSource$EventListener, int, int) 
		com.google.android.exoplayer.hls.HlsChunkSource chunkSource
		com.google.android.exoplayer.LoadControl loadControl
		int bufferSizeContribution
		android.os.Handler eventHandler
		com.google.android.exoplayer.hls.HlsSampleSource$EventListener eventListener
		int eventSourceId
		int minLoadableRetryCount
	public com.google.android.exoplayer.SampleSource$SampleSourceReader register () 
	public boolean prepare (long) 
		com.google.android.exoplayer.hls.HlsExtractorWrapper extractor
		long positionUs
	public int getTrackCount () 
	public com.google.android.exoplayer.MediaFormat getFormat (int) 
		int track
	public void enable (int, long) 
		int track
		long positionUs
		boolean wasLoadControlRegistered
		int chunkSourceTrack
	public void disable (int) 
		int track
	public boolean continueBuffering (int, long) 
		com.google.android.exoplayer.hls.HlsExtractorWrapper extractor
		int extractorTrack
		int extractorIndex
		int track
		long playbackPositionUs
	public long readDiscontinuity (int) 
		int track
	public int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder) 
		boolean decodeOnly
		int track
		long playbackPositionUs
		com.google.android.exoplayer.MediaFormatHolder formatHolder
		com.google.android.exoplayer.SampleHolder sampleHolder
		com.google.android.exoplayer.hls.HlsExtractorWrapper extractor
		int extractorTrack
		int extractorIndex
		com.google.android.exoplayer.MediaFormat mediaFormat
	public void maybeThrowError ()  throws java.io.IOException 
	public void seekToUs (long) 
		long positionUs
		long currentPositionUs
	public long getBufferedPositionUs () 
		long largestParsedTimestampUs
	public void release () 
	public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
		long now
		long loadDurationMs
	public void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
	public void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
		java.io.IOException e
	private void buildTracks (com.google.android.exoplayer.hls.HlsExtractorWrapper) 
		int trackType
		int trackType
		int trackType
		String mimeType
		int trackType
		int i
		com.google.android.exoplayer.hls.Variant fixedTrackVariant
		int j
		com.google.android.exoplayer.MediaFormat format
		String language
		int i
		com.google.android.exoplayer.hls.HlsExtractorWrapper extractor
		int primaryExtractorTrackType
		int primaryExtractorTrackIndex
		int extractorTrackCount
		int chunkSourceTrackCount
		boolean expandPrimaryExtractorTrack
		long durationUs
		int trackIndex
	private void setTrackEnabledState (int, boolean) 
		int track
		boolean enabledState
		int extractorTrack
	private static com.google.android.exoplayer.MediaFormat copyWithFixedTrackInfo (com.google.android.exoplayer.MediaFormat, com.google.android.exoplayer.chunk.Format, java.lang.String) 
		com.google.android.exoplayer.MediaFormat format
		com.google.android.exoplayer.chunk.Format fixedTrackFormat
		String language
		int width
		int height
	private void seekToInternal (long) 
		long positionUs
	private com.google.android.exoplayer.hls.HlsExtractorWrapper getCurrentExtractor () 
		com.google.android.exoplayer.hls.HlsExtractorWrapper extractor
	private void discardSamplesForDisabledTracks (com.google.android.exoplayer.hls.HlsExtractorWrapper, long) 
		int i
		com.google.android.exoplayer.hls.HlsExtractorWrapper extractor
		long timeUs
	private boolean haveSamplesForEnabledTracks (com.google.android.exoplayer.hls.HlsExtractorWrapper) 
		int i
		com.google.android.exoplayer.hls.HlsExtractorWrapper extractor
	private void restartFrom (long) 
		long positionUs
	private void clearState () 
		int i
	private void clearCurrentLoadable () 
	private void maybeStartLoading () 
		long elapsedMillis
		com.google.android.exoplayer.hls.TsChunk tsChunk
		com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
		long now
		long nextLoadPositionUs
		boolean isBackedOff
		boolean loadingOrBackedOff
		boolean nextLoader
		boolean endOfStream
		com.google.android.exoplayer.chunk.Chunk nextLoadable
	private long getNextLoadPositionUs () 
	private boolean isTsChunk (com.google.android.exoplayer.chunk.Chunk) 
		com.google.android.exoplayer.chunk.Chunk chunk
	private boolean isPendingReset () 
	private long getRetryDelayMillis (long) 
		long errorCount
	long usToMs (long) 
		long timeUs
	private void notifyLoadStarted (long, int, int, com.google.android.exoplayer.chunk.Format, long, long) 
		long length
		int type
		int trigger
		com.google.android.exoplayer.chunk.Format format
		long mediaStartTimeUs
		long mediaEndTimeUs
	private void notifyLoadCompleted (long, int, int, com.google.android.exoplayer.chunk.Format, long, long, long, long) 
		long bytesLoaded
		int type
		int trigger
		com.google.android.exoplayer.chunk.Format format
		long mediaStartTimeUs
		long mediaEndTimeUs
		long elapsedRealtimeMs
		long loadDurationMs
	private void notifyLoadCanceled (long) 
		long bytesLoaded
	private void notifyLoadError (java.io.IOException) 
		java.io.IOException e
	private void notifyDownstreamFormatChanged (com.google.android.exoplayer.chunk.Format, int, long) 
		com.google.android.exoplayer.chunk.Format format
		int trigger
		long positionUs
	static int access$000 (com.google.android.exoplayer.hls.HlsSampleSource) 
		com.google.android.exoplayer.hls.HlsSampleSource x0
	static com.google.android.exoplayer.hls.HlsSampleSource$EventListener access$100 (com.google.android.exoplayer.hls.HlsSampleSource) 
		com.google.android.exoplayer.hls.HlsSampleSource x0
}

com/google/android/exoplayer/hls/HlsMediaPlaylist$Segment.class
HlsMediaPlaylist.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.HlsMediaPlaylist$Segment extends java.lang.Object implements java.lang.Comparable  {
	public final String url
	public final double durationSecs
	public final int discontinuitySequenceNumber
	public final long startTimeUs
	public final boolean isEncrypted
	public final String encryptionKeyUri
	public final String encryptionIV
	public final long byterangeOffset
	public final long byterangeLength
	public void  (java.lang.String, double, int, long, boolean, java.lang.String, java.lang.String, long, long) 
		String uri
		double durationSecs
		int discontinuitySequenceNumber
		long startTimeUs
		boolean isEncrypted
		String encryptionKeyUri
		String encryptionIV
		long byterangeOffset
		long byterangeLength
	public int compareTo (java.lang.Long) 
		Long startTimeUs
	public volatile int compareTo (java.lang.Object) 
}

com/google/android/exoplayer/hls/Aes128DataSource.class
Aes128DataSource.java
package com.google.android.exoplayer.hls
final com.google.android.exoplayer.hls.Aes128DataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource  {
	private final com.google.android.exoplayer.upstream.DataSource upstream
	private final byte[] encryptionKey
	private final byte[] encryptionIv
	private javax.crypto.CipherInputStream cipherInputStream
	public void  (com.google.android.exoplayer.upstream.DataSource, byte[], byte[]) 
		com.google.android.exoplayer.upstream.DataSource upstream
		byte[] encryptionKey
		byte[] encryptionIv
	public long open (com.google.android.exoplayer.upstream.DataSpec)  throws java.io.IOException 
		java.security.NoSuchAlgorithmException e
		javax.crypto.NoSuchPaddingException e
		java.security.InvalidKeyException e
		java.security.InvalidAlgorithmParameterException e
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		javax.crypto.Cipher cipher
		javax.crypto.Cipher cipher
		java.security.Key cipherKey
		java.security.spec.AlgorithmParameterSpec cipherIV
	public void close ()  throws java.io.IOException 
	public int read (byte[], int, int)  throws java.io.IOException 
		byte[] buffer
		int offset
		int readLength
		int bytesRead
}

com/google/android/exoplayer/hls/HlsTrackSelector$Output.class
HlsTrackSelector.java
package com.google.android.exoplayer.hls
public abstract com.google.android.exoplayer.hls.HlsTrackSelector$Output extends java.lang.Object {
	public abstract void adaptiveTrack (com.google.android.exoplayer.hls.HlsMasterPlaylist, com.google.android.exoplayer.hls.Variant[]) 
	public abstract void fixedTrack (com.google.android.exoplayer.hls.HlsMasterPlaylist, com.google.android.exoplayer.hls.Variant) 
}

com/google/android/exoplayer/hls/DefaultHlsTrackSelector.class
DefaultHlsTrackSelector.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.DefaultHlsTrackSelector extends java.lang.Object implements com.google.android.exoplayer.hls.HlsTrackSelector  {
	private static final int TYPE_DEFAULT
	private static final int TYPE_AUDIO
	private static final int TYPE_SUBTITLE
	private final android.content.Context context
	private final int type
	public static com.google.android.exoplayer.hls.DefaultHlsTrackSelector newDefaultInstance (android.content.Context) 
		android.content.Context context
	public static com.google.android.exoplayer.hls.DefaultHlsTrackSelector newAudioInstance () 
	public static com.google.android.exoplayer.hls.DefaultHlsTrackSelector newSubtitleInstance () 
	private void  (android.content.Context, int) 
		android.content.Context context
		int type
	public void selectTracks (com.google.android.exoplayer.hls.HlsMasterPlaylist, com.google.android.exoplayer.hls.HlsTrackSelector$Output)  throws java.io.IOException 
		int i
		java.util.List variants
		int i
		com.google.android.exoplayer.hls.Variant variant
		int i
		com.google.android.exoplayer.hls.Variant[] enabledVariants
		int i
		com.google.android.exoplayer.hls.HlsMasterPlaylist playlist
		com.google.android.exoplayer.hls.HlsTrackSelector$Output output
		java.util.ArrayList enabledVariantList
		int[] variantIndices
		java.util.ArrayList definiteVideoVariants
		java.util.ArrayList definiteAudioOnlyVariants
	private static boolean variantHasExplicitCodecWithPrefix (com.google.android.exoplayer.hls.Variant, java.lang.String) 
		int i
		com.google.android.exoplayer.hls.Variant variant
		String prefix
		String codecs
		String[] codecArray
}

com/google/android/exoplayer/hls/HlsMasterPlaylist.class
HlsMasterPlaylist.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.HlsMasterPlaylist extends com.google.android.exoplayer.hls.HlsPlaylist {
	public final java.util.List variants
	public final java.util.List audios
	public final java.util.List subtitles
	public final String muxedAudioLanguage
	public final String muxedCaptionLanguage
	public void  (java.lang.String, java.util.List, java.util.List, java.util.List, java.lang.String, java.lang.String) 
		String baseUri
		java.util.List variants
		java.util.List audios
		java.util.List subtitles
		String muxedAudioLanguage
		String muxedCaptionLanguage
}

com/google/android/exoplayer/hls/WebvttExtractor.class
WebvttExtractor.java
package com.google.android.exoplayer.hls
final com.google.android.exoplayer.hls.WebvttExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor  {
	private static final java.util.regex.Pattern LOCAL_TIMESTAMP
	private static final java.util.regex.Pattern MEDIA_TIMESTAMP
	private final com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
	private final com.google.android.exoplayer.util.ParsableByteArray sampleDataWrapper
	private com.google.android.exoplayer.extractor.ExtractorOutput output
	private byte[] sampleData
	private int sampleSize
	public void  (com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster) 
		com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
	public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
	public void init (com.google.android.exoplayer.extractor.ExtractorOutput) 
		com.google.android.exoplayer.extractor.ExtractorOutput output
	public void seek () 
	public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		com.google.android.exoplayer.extractor.PositionHolder seekPosition
		int currentFileSize
		int bytesRead
	private void processSample ()  throws com.google.android.exoplayer.ParserException 
		java.util.regex.Matcher localTimestampMatcher
		java.util.regex.Matcher mediaTimestampMatcher
		com.google.android.exoplayer.util.ParsableByteArray webvttData
		long vttTimestampUs
		long tsTimestampUs
		String line
		java.util.regex.Matcher cueHeaderMatcher
		long firstCueTimeUs
		long sampleTimeUs
		long subsampleOffsetUs
		com.google.android.exoplayer.extractor.TrackOutput trackOutput
	private com.google.android.exoplayer.extractor.TrackOutput buildTrackOutput (long) 
		long subsampleOffsetUs
		com.google.android.exoplayer.extractor.TrackOutput trackOutput
	static void  () 
}

com/google/android/exoplayer/hls/HlsPlaylist.class
HlsPlaylist.java
package com.google.android.exoplayer.hls
public abstract com.google.android.exoplayer.hls.HlsPlaylist extends java.lang.Object {
	public static final int TYPE_MASTER
	public static final int TYPE_MEDIA
	public final String baseUri
	public final int type
	protected void  (java.lang.String, int) 
		String baseUri
		int type
}

com/google/android/exoplayer/hls/HlsSampleSource$1.class
HlsSampleSource.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.HlsSampleSource$1 extends java.lang.Object implements java.lang.Runnable  {
	final long val$length
	final int val$type
	final int val$trigger
	final com.google.android.exoplayer.chunk.Format val$format
	final long val$mediaStartTimeUs
	final long val$mediaEndTimeUs
	final com.google.android.exoplayer.hls.HlsSampleSource this$0
	void  (com.google.android.exoplayer.hls.HlsSampleSource, long, int, int, com.google.android.exoplayer.chunk.Format, long, long) 
		com.google.android.exoplayer.hls.HlsSampleSource this$0
	public void run () 
}

com/google/android/exoplayer/hls/HlsChunkSource$EventListener.class
HlsChunkSource.java
package com.google.android.exoplayer.hls
public abstract com.google.android.exoplayer.hls.HlsChunkSource$EventListener extends java.lang.Object implements com.google.android.exoplayer.chunk.BaseChunkSampleSourceEventListener  {
}

com/google/android/exoplayer/hls/HlsChunkSource$ExposedTrack.class
HlsChunkSource.java
package com.google.android.exoplayer.hls
final com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack extends java.lang.Object {
	private final com.google.android.exoplayer.hls.Variant[] variants
	private final int defaultVariantIndex
	private final int adaptiveMaxWidth
	private final int adaptiveMaxHeight
	public void  (com.google.android.exoplayer.hls.Variant) 
		com.google.android.exoplayer.hls.Variant fixedVariant
	public void  (com.google.android.exoplayer.hls.Variant[], int, int, int) 
		com.google.android.exoplayer.hls.Variant[] adaptiveVariants
		int defaultVariantIndex
		int maxWidth
		int maxHeight
	static com.google.android.exoplayer.hls.Variant[] access$000 (com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack) 
		com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack x0
	static int access$100 (com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack) 
		com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack x0
	static int access$200 (com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack) 
		com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack x0
	static int access$300 (com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack) 
		com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack x0
}

com/google/android/exoplayer/hls/HlsTrackSelector.class
HlsTrackSelector.java
package com.google.android.exoplayer.hls
public abstract com.google.android.exoplayer.hls.HlsTrackSelector extends java.lang.Object {
	public abstract void selectTracks (com.google.android.exoplayer.hls.HlsMasterPlaylist, com.google.android.exoplayer.hls.HlsTrackSelector$Output)  throws java.io.IOException 
}

com/google/android/exoplayer/hls/PtsTimestampAdjusterProvider.class
PtsTimestampAdjusterProvider.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider extends java.lang.Object {
	private final android.util.SparseArray ptsTimestampAdjusters
	public void  () 
	public com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster getAdjuster (boolean, int, long) 
		boolean isMasterSource
		int discontinuitySequence
		long startTimeUs
		com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster adjuster
	public void reset () 
}

com/google/android/exoplayer/hls/HlsChunkSource.class
HlsChunkSource.java
package com.google.android.exoplayer.hls
public com.google.android.exoplayer.hls.HlsChunkSource extends java.lang.Object implements com.google.android.exoplayer.hls.HlsTrackSelector$Output  {
	public static final int ADAPTIVE_MODE_NONE
	public static final int ADAPTIVE_MODE_SPLICE
	public static final int ADAPTIVE_MODE_ABRUPT
	public static final long DEFAULT_MIN_BUFFER_TO_SWITCH_UP_MS
	public static final long DEFAULT_MAX_BUFFER_TO_SWITCH_DOWN_MS
	public static final long DEFAULT_PLAYLIST_BLACKLIST_MS
	private static final String TAG
	private static final String AAC_FILE_EXTENSION
	private static final String MP3_FILE_EXTENSION
	private static final String VTT_FILE_EXTENSION
	private static final String WEBVTT_FILE_EXTENSION
	private static final float BANDWIDTH_FRACTION
	private final boolean isMaster
	private final com.google.android.exoplayer.upstream.DataSource dataSource
	private final com.google.android.exoplayer.hls.HlsPlaylistParser playlistParser
	private final com.google.android.exoplayer.hls.HlsMasterPlaylist masterPlaylist
	private final com.google.android.exoplayer.hls.HlsTrackSelector trackSelector
	private final com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
	private final com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider timestampAdjusterProvider
	private final int adaptiveMode
	private final String baseUri
	private final long minBufferDurationToSwitchUpUs
	private final long maxBufferDurationToSwitchDownUs
	private final java.util.ArrayList tracks
	private int selectedTrackIndex
	private com.google.android.exoplayer.hls.Variant[] variants
	private com.google.android.exoplayer.hls.HlsMediaPlaylist[] variantPlaylists
	private long[] variantLastPlaylistLoadTimesMs
	private long[] variantBlacklistTimes
	private int selectedVariantIndex
	private boolean prepareCalled
	private byte[] scratchSpace
	private boolean live
	private long durationUs
	private java.io.IOException fatalError
	private android.net.Uri encryptionKeyUri
	private byte[] encryptionKey
	private String encryptionIvString
	private byte[] encryptionIv
	public void  (boolean, com.google.android.exoplayer.upstream.DataSource, java.lang.String, com.google.android.exoplayer.hls.HlsPlaylist, com.google.android.exoplayer.hls.HlsTrackSelector, com.google.android.exoplayer.upstream.BandwidthMeter, com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider, int) 
		boolean isMaster
		com.google.android.exoplayer.upstream.DataSource dataSource
		String playlistUrl
		com.google.android.exoplayer.hls.HlsPlaylist playlist
		com.google.android.exoplayer.hls.HlsTrackSelector trackSelector
		com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
		com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider timestampAdjusterProvider
		int adaptiveMode
	public void  (boolean, com.google.android.exoplayer.upstream.DataSource, java.lang.String, com.google.android.exoplayer.hls.HlsPlaylist, com.google.android.exoplayer.hls.HlsTrackSelector, com.google.android.exoplayer.upstream.BandwidthMeter, com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider, int, long, long) 
		com.google.android.exoplayer.chunk.Format format
		java.util.List variants
		boolean isMaster
		com.google.android.exoplayer.upstream.DataSource dataSource
		String playlistUrl
		com.google.android.exoplayer.hls.HlsPlaylist playlist
		com.google.android.exoplayer.hls.HlsTrackSelector trackSelector
		com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
		com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider timestampAdjusterProvider
		int adaptiveMode
		long minBufferDurationToSwitchUpMs
		long maxBufferDurationToSwitchDownMs
	public void maybeThrowError ()  throws java.io.IOException 
	public boolean prepare () 
		java.io.IOException e
	public boolean isLive () 
	public long getDurationUs () 
	public int getTrackCount () 
	public com.google.android.exoplayer.hls.Variant getFixedTrackVariant (int) 
		int index
		com.google.android.exoplayer.hls.Variant[] variants
	public java.lang.String getMuxedAudioLanguage () 
	public java.lang.String getMuxedCaptionLanguage () 
	public int getSelectedTrackIndex () 
	public void selectTrack (int) 
		int index
		com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack selectedTrack
	public void seek () 
	public void reset () 
	public void getChunkOperation (com.google.android.exoplayer.hls.TsChunk, long, com.google.android.exoplayer.chunk.ChunkOperationHolder) 
		int nextVariantIndex
		boolean switchingVariantSpliced
		android.net.Uri keyUri
		long startTimeUs
		long startTimeUs
		long startTimeUs
		com.google.android.exoplayer.extractor.Extractor extractor
		com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
		com.google.android.exoplayer.extractor.Extractor extractor
		com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
		com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster timestampAdjuster
		com.google.android.exoplayer.extractor.Extractor extractor
		com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
		com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster timestampAdjuster
		int workaroundFlags
		String codecs
		com.google.android.exoplayer.extractor.Extractor extractor
		com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack selectedTrack
		com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
		com.google.android.exoplayer.hls.TsChunk previousTsChunk
		long playbackPositionUs
		com.google.android.exoplayer.chunk.ChunkOperationHolder out
		int nextVariantIndex
		boolean switchingVariantSpliced
		com.google.android.exoplayer.hls.HlsMediaPlaylist mediaPlaylist
		int chunkMediaSequence
		int chunkIndex
		com.google.android.exoplayer.hls.HlsMediaPlaylist$Segment segment
		android.net.Uri chunkUri
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		long startTimeUs
		long endTimeUs
		int trigger
		com.google.android.exoplayer.chunk.Format format
		com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
		String lastPathSegment
	public void onChunkLoadCompleted (com.google.android.exoplayer.chunk.Chunk) 
		com.google.android.exoplayer.hls.HlsChunkSource$MediaPlaylistChunk mediaPlaylistChunk
		com.google.android.exoplayer.hls.HlsChunkSource$EncryptionKeyChunk encryptionKeyChunk
		com.google.android.exoplayer.chunk.Chunk chunk
	public boolean onChunkLoadError (com.google.android.exoplayer.chunk.Chunk, java.io.IOException) 
		com.google.android.exoplayer.hls.TsChunk tsChunk
		int variantIndex
		com.google.android.exoplayer.hls.HlsChunkSource$MediaPlaylistChunk playlistChunk
		int variantIndex
		com.google.android.exoplayer.hls.HlsChunkSource$EncryptionKeyChunk encryptionChunk
		int variantIndex
		boolean alreadyBlacklisted
		com.google.android.exoplayer.upstream.HttpDataSource$InvalidResponseCodeException responseCodeException
		int responseCode
		com.google.android.exoplayer.chunk.Chunk chunk
		java.io.IOException e
	public void adaptiveTrack (com.google.android.exoplayer.hls.HlsMasterPlaylist, com.google.android.exoplayer.hls.Variant[]) 
		int originalVariantIndex
		com.google.android.exoplayer.chunk.Format variantFormat
		int i
		com.google.android.exoplayer.hls.HlsMasterPlaylist playlist
		com.google.android.exoplayer.hls.Variant[] variants
		int defaultVariantIndex
		int maxWidth
		int maxHeight
		int minOriginalVariantIndex
	public void fixedTrack (com.google.android.exoplayer.hls.HlsMasterPlaylist, com.google.android.exoplayer.hls.Variant) 
		com.google.android.exoplayer.hls.HlsMasterPlaylist playlist
		com.google.android.exoplayer.hls.Variant variant
	private int getNextVariantIndex (com.google.android.exoplayer.hls.TsChunk, long) 
		com.google.android.exoplayer.hls.TsChunk previousTsChunk
		long playbackPositionUs
		long bitrateEstimate
		int idealIndex
		long bufferedPositionUs
		long bufferedUs
	private int getVariantIndexForBandwidth (long) 
		int i
		long bitrateEstimate
		int effectiveBitrate
		int lowestQualityEnabledVariantIndex
	private boolean shouldRerequestLiveMediaPlaylist (int) 
		int nextVariantIndex
		com.google.android.exoplayer.hls.HlsMediaPlaylist mediaPlaylist
		long timeSinceLastMediaPlaylistLoadMs
	private int getLiveStartChunkMediaSequence (int) 
		int variantIndex
		com.google.android.exoplayer.hls.HlsMediaPlaylist mediaPlaylist
		int chunkIndex
	private com.google.android.exoplayer.hls.HlsChunkSource$MediaPlaylistChunk newMediaPlaylistChunk (int) 
		int variantIndex
		android.net.Uri mediaPlaylistUri
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	private com.google.android.exoplayer.hls.HlsChunkSource$EncryptionKeyChunk newEncryptionKeyChunk (android.net.Uri, java.lang.String, int) 
		android.net.Uri keyUri
		String iv
		int variantIndex
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	private void setEncryptionData (android.net.Uri, java.lang.String, byte[]) 
		String trimmedIv
		android.net.Uri keyUri
		String iv
		byte[] secretKey
		String trimmedIv
		byte[] ivData
		byte[] ivDataWithPadding
		int offset
	private void clearEncryptionData () 
	private void setMediaPlaylist (int, com.google.android.exoplayer.hls.HlsMediaPlaylist) 
		int variantIndex
		com.google.android.exoplayer.hls.HlsMediaPlaylist mediaPlaylist
	private boolean allVariantsBlacklisted () 
		int i
	private void clearStaleBlacklistedVariants () 
		int i
		long currentTime
	private int getVariantIndex (com.google.android.exoplayer.chunk.Format) 
		int i
		com.google.android.exoplayer.chunk.Format format
}

com/google/android/exoplayer/hls/HlsExtractorWrapper.class
HlsExtractorWrapper.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.HlsExtractorWrapper extends java.lang.Object implements com.google.android.exoplayer.extractor.ExtractorOutput  {
	public final int trigger
	public final com.google.android.exoplayer.chunk.Format format
	public final long startTimeUs
	private final com.google.android.exoplayer.extractor.Extractor extractor
	private final android.util.SparseArray sampleQueues
	private final boolean shouldSpliceIn
	private final int adaptiveMaxWidth
	private final int adaptiveMaxHeight
	private com.google.android.exoplayer.MediaFormat[] sampleQueueFormats
	private com.google.android.exoplayer.upstream.Allocator allocator
	private volatile boolean tracksBuilt
	private boolean prepared
	private boolean spliceConfigured
	public void  (int, com.google.android.exoplayer.chunk.Format, long, com.google.android.exoplayer.extractor.Extractor, boolean, int, int) 
		int trigger
		com.google.android.exoplayer.chunk.Format format
		long startTimeUs
		com.google.android.exoplayer.extractor.Extractor extractor
		boolean shouldSpliceIn
		int adaptiveMaxWidth
		int adaptiveMaxHeight
	public void init (com.google.android.exoplayer.upstream.Allocator) 
		com.google.android.exoplayer.upstream.Allocator allocator
	public boolean isPrepared () 
		int i
		com.google.android.exoplayer.MediaFormat format
		int i
	public void clear () 
		int i
	public long getLargestParsedTimestampUs () 
		int i
		long largestParsedTimestampUs
	public final void configureSpliceTo (com.google.android.exoplayer.hls.HlsExtractorWrapper) 
		com.google.android.exoplayer.extractor.DefaultTrackOutput currentSampleQueue
		com.google.android.exoplayer.extractor.DefaultTrackOutput nextSampleQueue
		int i
		com.google.android.exoplayer.hls.HlsExtractorWrapper nextExtractor
		boolean spliceConfigured
		int trackCount
	public int getTrackCount () 
	public com.google.android.exoplayer.MediaFormat getMediaFormat (int) 
		int track
	public boolean getSample (int, com.google.android.exoplayer.SampleHolder) 
		int track
		com.google.android.exoplayer.SampleHolder holder
	public void discardUntil (int, long) 
		int track
		long timeUs
	public boolean hasSamples (int) 
		int track
	public int read (com.google.android.exoplayer.extractor.ExtractorInput)  throws java.io.IOException java.lang.InterruptedException 
		com.google.android.exoplayer.extractor.ExtractorInput input
		int result
	public com.google.android.exoplayer.extractor.TrackOutput track (int) 
		int id
		com.google.android.exoplayer.extractor.DefaultTrackOutput sampleQueue
	public void endTracks () 
	public void seekMap (com.google.android.exoplayer.extractor.SeekMap) 
		com.google.android.exoplayer.extractor.SeekMap seekMap
	public void drmInitData (com.google.android.exoplayer.drm.DrmInitData) 
		com.google.android.exoplayer.drm.DrmInitData drmInit
}

com/google/android/exoplayer/hls/HlsParserUtil.class
HlsParserUtil.java
package com.google.android.exoplayer.hls
final com.google.android.exoplayer.hls.HlsParserUtil extends java.lang.Object {
	private static final String BOOLEAN_YES
	private static final String BOOLEAN_NO
	private void  () 
	public static java.lang.String parseStringAttr (java.lang.String, java.util.regex.Pattern, java.lang.String)  throws com.google.android.exoplayer.ParserException 
		String line
		java.util.regex.Pattern pattern
		String tag
		java.util.regex.Matcher matcher
	public static int parseIntAttr (java.lang.String, java.util.regex.Pattern, java.lang.String)  throws com.google.android.exoplayer.ParserException 
		String line
		java.util.regex.Pattern pattern
		String tag
	public static double parseDoubleAttr (java.lang.String, java.util.regex.Pattern, java.lang.String)  throws com.google.android.exoplayer.ParserException 
		String line
		java.util.regex.Pattern pattern
		String tag
	public static java.lang.String parseOptionalStringAttr (java.lang.String, java.util.regex.Pattern) 
		String line
		java.util.regex.Pattern pattern
		java.util.regex.Matcher matcher
	public static boolean parseOptionalBooleanAttr (java.lang.String, java.util.regex.Pattern) 
		String line
		java.util.regex.Pattern pattern
		java.util.regex.Matcher matcher
	public static java.util.regex.Pattern compileBooleanAttrPattern (java.lang.String) 
		String attrName
}

com/google/android/exoplayer/hls/HlsSampleSource$4.class
HlsSampleSource.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.HlsSampleSource$4 extends java.lang.Object implements java.lang.Runnable  {
	final java.io.IOException val$e
	final com.google.android.exoplayer.hls.HlsSampleSource this$0
	void  (com.google.android.exoplayer.hls.HlsSampleSource, java.io.IOException) 
		com.google.android.exoplayer.hls.HlsSampleSource this$0
	public void run () 
}

com/google/android/exoplayer/hls/HlsPlaylistParser$LineIterator.class
HlsPlaylistParser.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.HlsPlaylistParser$LineIterator extends java.lang.Object {
	private final java.io.BufferedReader reader
	private final java.util.Queue extraLines
	private String next
	public void  (java.util.Queue, java.io.BufferedReader) 
		java.util.Queue extraLines
		java.io.BufferedReader reader
	public boolean hasNext ()  throws java.io.IOException 
	public java.lang.String next ()  throws java.io.IOException 
		String result
}

com/google/android/exoplayer/hls/HlsChunkSource$EncryptionKeyChunk.class
HlsChunkSource.java
package com.google.android.exoplayer.hls
final com.google.android.exoplayer.hls.HlsChunkSource$EncryptionKeyChunk extends com.google.android.exoplayer.chunk.DataChunk {
	public final String iv
	public final int variantIndex
	private byte[] result
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, byte[], java.lang.String, int) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		byte[] scratchSpace
		String iv
		int variantIndex
	protected void consume (byte[], int)  throws java.io.IOException 
		byte[] data
		int limit
	public byte[] getResult () 
}

com/google/android/exoplayer/hls/HlsSampleSource$3.class
HlsSampleSource.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.HlsSampleSource$3 extends java.lang.Object implements java.lang.Runnable  {
	final long val$bytesLoaded
	final com.google.android.exoplayer.hls.HlsSampleSource this$0
	void  (com.google.android.exoplayer.hls.HlsSampleSource, long) 
		com.google.android.exoplayer.hls.HlsSampleSource this$0
	public void run () 
}

com/google/android/exoplayer/hls/Variant.class
Variant.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.Variant extends java.lang.Object implements com.google.android.exoplayer.chunk.FormatWrapper  {
	public final String url
	public final com.google.android.exoplayer.chunk.Format format
	public void  (java.lang.String, com.google.android.exoplayer.chunk.Format) 
		String url
		com.google.android.exoplayer.chunk.Format format
	public com.google.android.exoplayer.chunk.Format getFormat () 
}

com/google/android/exoplayer/hls/HlsChunkSource$1.class
HlsChunkSource.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.HlsChunkSource$1 extends java.lang.Object implements java.util.Comparator  {
	private final java.util.Comparator formatComparator
	final com.google.android.exoplayer.hls.HlsChunkSource this$0
	void  (com.google.android.exoplayer.hls.HlsChunkSource) 
		com.google.android.exoplayer.hls.HlsChunkSource this$0
	public int compare (com.google.android.exoplayer.hls.Variant, com.google.android.exoplayer.hls.Variant) 
		com.google.android.exoplayer.hls.Variant first
		com.google.android.exoplayer.hls.Variant second
	public volatile int compare (java.lang.Object, java.lang.Object) 
}

com/google/android/exoplayer/hls/HlsMediaPlaylist.class
HlsMediaPlaylist.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.HlsMediaPlaylist extends com.google.android.exoplayer.hls.HlsPlaylist {
	public static final String ENCRYPTION_METHOD_NONE
	public static final String ENCRYPTION_METHOD_AES_128
	public final int mediaSequence
	public final int targetDurationSecs
	public final int version
	public final java.util.List segments
	public final boolean live
	public final long durationUs
	public void  (java.lang.String, int, int, int, boolean, java.util.List) 
		com.google.android.exoplayer.hls.HlsMediaPlaylist$Segment last
		String baseUri
		int mediaSequence
		int targetDurationSecs
		int version
		boolean live
		java.util.List segments
}

com/google/android/exoplayer/hls/HlsPlaylistParser.class
HlsPlaylistParser.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.HlsPlaylistParser extends java.lang.Object implements com.google.android.exoplayer.upstream.UriLoadable$Parser  {
	private static final String VERSION_TAG
	private static final String STREAM_INF_TAG
	private static final String MEDIA_TAG
	private static final String DISCONTINUITY_TAG
	private static final String DISCONTINUITY_SEQUENCE_TAG
	private static final String MEDIA_DURATION_TAG
	private static final String MEDIA_SEQUENCE_TAG
	private static final String TARGET_DURATION_TAG
	private static final String ENDLIST_TAG
	private static final String KEY_TAG
	private static final String BYTERANGE_TAG
	private static final String BANDWIDTH_ATTR
	private static final String CODECS_ATTR
	private static final String RESOLUTION_ATTR
	private static final String LANGUAGE_ATTR
	private static final String NAME_ATTR
	private static final String TYPE_ATTR
	private static final String METHOD_ATTR
	private static final String URI_ATTR
	private static final String IV_ATTR
	private static final String INSTREAM_ID_ATTR
	private static final String AUDIO_TYPE
	private static final String VIDEO_TYPE
	private static final String SUBTITLES_TYPE
	private static final String CLOSED_CAPTIONS_TYPE
	private static final String METHOD_NONE
	private static final String METHOD_AES128
	private static final java.util.regex.Pattern BANDWIDTH_ATTR_REGEX
	private static final java.util.regex.Pattern CODECS_ATTR_REGEX
	private static final java.util.regex.Pattern RESOLUTION_ATTR_REGEX
	private static final java.util.regex.Pattern MEDIA_DURATION_REGEX
	private static final java.util.regex.Pattern MEDIA_SEQUENCE_REGEX
	private static final java.util.regex.Pattern TARGET_DURATION_REGEX
	private static final java.util.regex.Pattern VERSION_REGEX
	private static final java.util.regex.Pattern BYTERANGE_REGEX
	private static final java.util.regex.Pattern METHOD_ATTR_REGEX
	private static final java.util.regex.Pattern URI_ATTR_REGEX
	private static final java.util.regex.Pattern IV_ATTR_REGEX
	private static final java.util.regex.Pattern TYPE_ATTR_REGEX
	private static final java.util.regex.Pattern LANGUAGE_ATTR_REGEX
	private static final java.util.regex.Pattern NAME_ATTR_REGEX
	private static final java.util.regex.Pattern INSTREAM_ID_ATTR_REGEX
	public void  () 
	public com.google.android.exoplayer.hls.HlsPlaylist parse (java.lang.String, java.io.InputStream)  throws java.io.IOException com.google.android.exoplayer.ParserException 
		String connectionUrl
		java.io.InputStream inputStream
		java.io.BufferedReader reader
		java.util.Queue extraLines
		String line
	private static com.google.android.exoplayer.hls.HlsMasterPlaylist parseMasterPlaylist (com.google.android.exoplayer.hls.HlsPlaylistParser$LineIterator, java.lang.String)  throws java.io.IOException 
		String instreamId
		String subtitleName
		String uri
		String language
		com.google.android.exoplayer.chunk.Format format
		String audioName
		com.google.android.exoplayer.chunk.Format format
		String language
		String uri
		String type
		String[] widthAndHeight
		String resolutionString
		com.google.android.exoplayer.chunk.Format format
		String line
		com.google.android.exoplayer.hls.HlsPlaylistParser$LineIterator iterator
		String baseUri
		java.util.ArrayList variants
		java.util.ArrayList audios
		java.util.ArrayList subtitles
		int bitrate
		String codecs
		int width
		int height
		String name
		String muxedAudioLanguage
		String muxedCaptionLanguage
		boolean expectingStreamInfUrl
	private static com.google.android.exoplayer.hls.HlsMediaPlaylist parseMediaPlaylist (com.google.android.exoplayer.hls.HlsPlaylistParser$LineIterator, java.lang.String)  throws java.io.IOException 
		String method
		String byteRange
		String[] splitByteRange
		String segmentEncryptionIV
		String segmentEncryptionIV
		String segmentEncryptionIV
		String line
		com.google.android.exoplayer.hls.HlsPlaylistParser$LineIterator iterator
		String baseUri
		int mediaSequence
		int targetDurationSecs
		int version
		boolean live
		java.util.List segments
		double segmentDurationSecs
		int discontinuitySequenceNumber
		long segmentStartTimeUs
		long segmentByterangeOffset
		long segmentByterangeLength
		int segmentMediaSequence
		boolean isEncrypted
		String encryptionKeyUri
		String encryptionIV
	public volatile java.lang.Object parse (java.lang.String, java.io.InputStream)  throws com.google.android.exoplayer.ParserException java.io.IOException 
	static void  () 
}

com/google/android/exoplayer/hls/HlsSampleSource$2.class
HlsSampleSource.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.HlsSampleSource$2 extends java.lang.Object implements java.lang.Runnable  {
	final long val$bytesLoaded
	final int val$type
	final int val$trigger
	final com.google.android.exoplayer.chunk.Format val$format
	final long val$mediaStartTimeUs
	final long val$mediaEndTimeUs
	final long val$elapsedRealtimeMs
	final long val$loadDurationMs
	final com.google.android.exoplayer.hls.HlsSampleSource this$0
	void  (com.google.android.exoplayer.hls.HlsSampleSource, long, int, int, com.google.android.exoplayer.chunk.Format, long, long, long, long) 
		com.google.android.exoplayer.hls.HlsSampleSource this$0
	public void run () 
}

com/google/android/exoplayer/TimeRange$DynamicTimeRange.class
TimeRange.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.TimeRange$DynamicTimeRange extends java.lang.Object implements com.google.android.exoplayer.TimeRange  {
	private final long minStartTimeUs
	private final long maxEndTimeUs
	private final long elapsedRealtimeAtStartUs
	private final long bufferDepthUs
	private final com.google.android.exoplayer.util.Clock systemClock
	public void  (long, long, long, long, com.google.android.exoplayer.util.Clock) 
		long minStartTimeUs
		long maxEndTimeUs
		long elapsedRealtimeAtStartUs
		long bufferDepthUs
		com.google.android.exoplayer.util.Clock systemClock
	public boolean isStatic () 
	public long[] getCurrentBoundsMs (long[]) 
		long[] out
	public long[] getCurrentBoundsUs (long[]) 
		long[] out
		long currentEndTimeUs
		long currentStartTimeUs
	public int hashCode () 
		int result
	public boolean equals (java.lang.Object) 
		Object obj
		com.google.android.exoplayer.TimeRange$DynamicTimeRange other
}

com/google/android/exoplayer/MediaCodecVideoTrackRenderer$3.class
MediaCodecVideoTrackRenderer.java
package com.google.android.exoplayer
 com.google.android.exoplayer.MediaCodecVideoTrackRenderer$3 extends java.lang.Object implements java.lang.Runnable  {
	final int val$countToNotify
	final long val$elapsedToNotify
	final com.google.android.exoplayer.MediaCodecVideoTrackRenderer this$0
	void  (com.google.android.exoplayer.MediaCodecVideoTrackRenderer, int, long) 
		com.google.android.exoplayer.MediaCodecVideoTrackRenderer this$0
	public void run () 
}

com/google/android/exoplayer/smoothstreaming/
com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser$MissingFieldException.class
SmoothStreamingManifestParser.java
package com.google.android.exoplayer.smoothstreaming
public com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$MissingFieldException extends com.google.android.exoplayer.ParserException {
	public void  (java.lang.String) 
		String fieldName
}

com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifest.class
SmoothStreamingManifest.java
package com.google.android.exoplayer.smoothstreaming
public com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest extends java.lang.Object {
	public final int majorVersion
	public final int minorVersion
	public final int lookAheadCount
	public final boolean isLive
	public final com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$ProtectionElement protectionElement
	public final com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement[] streamElements
	public final long durationUs
	public final long dvrWindowLengthUs
	public void  (int, int, long, long, long, int, boolean, com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$ProtectionElement, com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement[]) 
		int majorVersion
		int minorVersion
		long timescale
		long duration
		long dvrWindowLength
		int lookAheadCount
		boolean isLive
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$ProtectionElement protectionElement
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement[] streamElements
}

com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser$ElementParser.class
SmoothStreamingManifestParser.java
package com.google.android.exoplayer.smoothstreaming
abstract com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser extends java.lang.Object {
	private final String baseUri
	private final String tag
	private final com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
	private final java.util.List normalizedAttributes
	public void  (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser, java.lang.String, java.lang.String) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
		String baseUri
		String tag
	public final java.lang.Object parse (org.xmlpull.v1.XmlPullParser)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser childElementParser
		int eventType
		org.xmlpull.v1.XmlPullParser xmlParser
		String tagName
		String tagName
		boolean foundStartTag
		int skippingElementDepth
	private com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser newChildParser (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser, java.lang.String, java.lang.String) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
		String name
		String baseUri
	protected final void putNormalizedAttribute (java.lang.String, java.lang.Object) 
		String key
		Object value
	protected final java.lang.Object getNormalizedAttribute (java.lang.String) 
		android.util.Pair pair
		int i
		String key
	protected boolean handleChildInline (java.lang.String) 
		String tagName
	protected void parseStartTag (org.xmlpull.v1.XmlPullParser)  throws com.google.android.exoplayer.ParserException 
		org.xmlpull.v1.XmlPullParser xmlParser
	protected void parseText (org.xmlpull.v1.XmlPullParser)  throws com.google.android.exoplayer.ParserException 
		org.xmlpull.v1.XmlPullParser xmlParser
	protected void parseEndTag (org.xmlpull.v1.XmlPullParser)  throws com.google.android.exoplayer.ParserException 
		org.xmlpull.v1.XmlPullParser xmlParser
	protected void addChild (java.lang.Object) 
		Object parsedChild
	protected abstract java.lang.Object build () 
	protected final java.lang.String parseRequiredString (org.xmlpull.v1.XmlPullParser, java.lang.String)  throws com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$MissingFieldException 
		org.xmlpull.v1.XmlPullParser parser
		String key
		String value
	protected final int parseInt (org.xmlpull.v1.XmlPullParser, java.lang.String, int)  throws com.google.android.exoplayer.ParserException 
		NumberFormatException e
		org.xmlpull.v1.XmlPullParser parser
		String key
		int defaultValue
		String value
	protected final int parseRequiredInt (org.xmlpull.v1.XmlPullParser, java.lang.String)  throws com.google.android.exoplayer.ParserException 
		NumberFormatException e
		org.xmlpull.v1.XmlPullParser parser
		String key
		String value
	protected final long parseLong (org.xmlpull.v1.XmlPullParser, java.lang.String, long)  throws com.google.android.exoplayer.ParserException 
		NumberFormatException e
		org.xmlpull.v1.XmlPullParser parser
		String key
		long defaultValue
		String value
	protected final long parseRequiredLong (org.xmlpull.v1.XmlPullParser, java.lang.String)  throws com.google.android.exoplayer.ParserException 
		NumberFormatException e
		org.xmlpull.v1.XmlPullParser parser
		String key
		String value
	protected final boolean parseBoolean (org.xmlpull.v1.XmlPullParser, java.lang.String, boolean) 
		org.xmlpull.v1.XmlPullParser parser
		String key
		boolean defaultValue
		String value
}

com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifest$StreamElement.class
SmoothStreamingManifest.java
package com.google.android.exoplayer.smoothstreaming
public com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement extends java.lang.Object {
	public static final int TYPE_UNKNOWN
	public static final int TYPE_AUDIO
	public static final int TYPE_VIDEO
	public static final int TYPE_TEXT
	private static final String URL_PLACEHOLDER_START_TIME
	private static final String URL_PLACEHOLDER_BITRATE
	public final int type
	public final String subType
	public final long timescale
	public final String name
	public final int qualityLevels
	public final int maxWidth
	public final int maxHeight
	public final int displayWidth
	public final int displayHeight
	public final String language
	public final com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement[] tracks
	public final int chunkCount
	private final String baseUri
	private final String chunkTemplate
	private final java.util.List chunkStartTimes
	private final long[] chunkStartTimesUs
	private final long lastChunkDurationUs
	public void  (java.lang.String, java.lang.String, int, java.lang.String, long, java.lang.String, int, int, int, int, int, java.lang.String, com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement[], java.util.List, long) 
		String baseUri
		String chunkTemplate
		int type
		String subType
		long timescale
		String name
		int qualityLevels
		int maxWidth
		int maxHeight
		int displayWidth
		int displayHeight
		String language
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement[] tracks
		java.util.List chunkStartTimes
		long lastChunkDuration
	public int getChunkIndex (long) 
		long timeUs
	public long getStartTimeUs (int) 
		int chunkIndex
	public long getChunkDurationUs (int) 
		int chunkIndex
	public android.net.Uri buildRequestUri (int, int) 
		int track
		int chunkIndex
		String chunkUrl
}

com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser.class
SmoothStreamingManifestParser.java
package com.google.android.exoplayer.smoothstreaming
public com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser extends java.lang.Object implements com.google.android.exoplayer.upstream.UriLoadable$Parser  {
	private final org.xmlpull.v1.XmlPullParserFactory xmlParserFactory
	public void  () 
		org.xmlpull.v1.XmlPullParserException e
	public com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest parse (java.lang.String, java.io.InputStream)  throws java.io.IOException com.google.android.exoplayer.ParserException 
		org.xmlpull.v1.XmlPullParser xmlParser
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$SmoothStreamMediaParser smoothStreamMediaParser
		org.xmlpull.v1.XmlPullParserException e
		String connectionUrl
		java.io.InputStream inputStream
	public volatile java.lang.Object parse (java.lang.String, java.io.InputStream)  throws com.google.android.exoplayer.ParserException java.io.IOException 
}

com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser$StreamElementParser.class
SmoothStreamingManifestParser.java
package com.google.android.exoplayer.smoothstreaming
 com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$StreamElementParser extends com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser {
	public static final String TAG
	private static final String TAG_STREAM_FRAGMENT
	private static final String KEY_TYPE
	private static final String KEY_TYPE_AUDIO
	private static final String KEY_TYPE_VIDEO
	private static final String KEY_TYPE_TEXT
	private static final String KEY_SUB_TYPE
	private static final String KEY_NAME
	private static final String KEY_QUALITY_LEVELS
	private static final String KEY_URL
	private static final String KEY_MAX_WIDTH
	private static final String KEY_MAX_HEIGHT
	private static final String KEY_DISPLAY_WIDTH
	private static final String KEY_DISPLAY_HEIGHT
	private static final String KEY_LANGUAGE
	private static final String KEY_TIME_SCALE
	private static final String KEY_FRAGMENT_DURATION
	private static final String KEY_FRAGMENT_START_TIME
	private static final String KEY_FRAGMENT_REPEAT_COUNT
	private final String baseUri
	private final java.util.List tracks
	private int type
	private String subType
	private long timescale
	private String name
	private int qualityLevels
	private String url
	private int maxWidth
	private int maxHeight
	private int displayWidth
	private int displayHeight
	private String language
	private java.util.ArrayList startTimes
	private long lastChunkDuration
	public void  (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser, java.lang.String) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
		String baseUri
	public boolean handleChildInline (java.lang.String) 
		String tag
	public void parseStartTag (org.xmlpull.v1.XmlPullParser)  throws com.google.android.exoplayer.ParserException 
		org.xmlpull.v1.XmlPullParser parser
	private void parseStreamFragmentStartTag (org.xmlpull.v1.XmlPullParser)  throws com.google.android.exoplayer.ParserException 
		int i
		org.xmlpull.v1.XmlPullParser parser
		int chunkIndex
		long startTime
		long repeatCount
	private void parseStreamElementStartTag (org.xmlpull.v1.XmlPullParser)  throws com.google.android.exoplayer.ParserException 
		org.xmlpull.v1.XmlPullParser parser
	private int parseType (org.xmlpull.v1.XmlPullParser)  throws com.google.android.exoplayer.ParserException 
		org.xmlpull.v1.XmlPullParser parser
		String value
	public void addChild (java.lang.Object) 
		Object child
	public java.lang.Object build () 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement[] trackElements
}

com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser$TrackElementParser.class
SmoothStreamingManifestParser.java
package com.google.android.exoplayer.smoothstreaming
 com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$TrackElementParser extends com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser {
	public static final String TAG
	private static final String KEY_INDEX
	private static final String KEY_BITRATE
	private static final String KEY_CODEC_PRIVATE_DATA
	private static final String KEY_SAMPLING_RATE
	private static final String KEY_CHANNELS
	private static final String KEY_FOUR_CC
	private static final String KEY_TYPE
	private static final String KEY_LANGUAGE
	private static final String KEY_MAX_WIDTH
	private static final String KEY_MAX_HEIGHT
	private final java.util.List csd
	private int index
	private int bitrate
	private String mimeType
	private int maxWidth
	private int maxHeight
	private int samplingRate
	private int channels
	private String language
	public void  (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser, java.lang.String) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
		String baseUri
	public void parseStartTag (org.xmlpull.v1.XmlPullParser)  throws com.google.android.exoplayer.ParserException 
		String fourCC
		int i
		byte[] codecPrivateData
		byte[][] split
		org.xmlpull.v1.XmlPullParser parser
		int type
		String value
	public java.lang.Object build () 
		byte[][] csdArray
	private static java.lang.String fourCCToMimeType (java.lang.String) 
		String fourCC
}

com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifest$ProtectionElement.class
SmoothStreamingManifest.java
package com.google.android.exoplayer.smoothstreaming
public com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$ProtectionElement extends java.lang.Object {
	public final java.util.UUID uuid
	public final byte[] data
	public void  (java.util.UUID, byte[]) 
		java.util.UUID uuid
		byte[] data
}

com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifest$TrackElement.class
SmoothStreamingManifest.java
package com.google.android.exoplayer.smoothstreaming
public com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement extends java.lang.Object implements com.google.android.exoplayer.chunk.FormatWrapper  {
	public final com.google.android.exoplayer.chunk.Format format
	public final byte[][] csd
	public void  (int, int, java.lang.String, byte[][], int, int, int, int, java.lang.String) 
		int index
		int bitrate
		String mimeType
		byte[][] csd
		int maxWidth
		int maxHeight
		int sampleRate
		int numChannels
		String language
	public com.google.android.exoplayer.chunk.Format getFormat () 
}

com/google/android/exoplayer/smoothstreaming/SmoothStreamingTrackSelector.class
SmoothStreamingTrackSelector.java
package com.google.android.exoplayer.smoothstreaming
public abstract com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector extends java.lang.Object {
	public abstract void selectTracks (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector$Output)  throws java.io.IOException 
}

com/google/android/exoplayer/smoothstreaming/SmoothStreamingChunkSource$ExposedTrack.class
SmoothStreamingChunkSource.java
package com.google.android.exoplayer.smoothstreaming
final com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack extends java.lang.Object {
	public final com.google.android.exoplayer.MediaFormat trackFormat
	private final int elementIndex
	private final com.google.android.exoplayer.chunk.Format fixedFormat
	private final com.google.android.exoplayer.chunk.Format[] adaptiveFormats
	private final int adaptiveMaxWidth
	private final int adaptiveMaxHeight
	public void  (com.google.android.exoplayer.MediaFormat, int, com.google.android.exoplayer.chunk.Format) 
		com.google.android.exoplayer.MediaFormat trackFormat
		int elementIndex
		com.google.android.exoplayer.chunk.Format fixedFormat
	public void  (com.google.android.exoplayer.MediaFormat, int, com.google.android.exoplayer.chunk.Format[], int, int) 
		com.google.android.exoplayer.MediaFormat trackFormat
		int elementIndex
		com.google.android.exoplayer.chunk.Format[] adaptiveFormats
		int adaptiveMaxWidth
		int adaptiveMaxHeight
	public boolean isAdaptive () 
	static int access$000 (com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack x0
	static com.google.android.exoplayer.chunk.Format[] access$100 (com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack x0
	static com.google.android.exoplayer.chunk.Format access$200 (com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack x0
	static int access$300 (com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack x0
	static int access$400 (com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack x0
}

com/google/android/exoplayer/smoothstreaming/DefaultSmoothStreamingTrackSelector.class
DefaultSmoothStreamingTrackSelector.java
package com.google.android.exoplayer.smoothstreaming
public final com.google.android.exoplayer.smoothstreaming.DefaultSmoothStreamingTrackSelector extends java.lang.Object implements com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector  {
	private final int streamElementType
	private final android.content.Context context
	private final boolean filterVideoRepresentations
	private final boolean filterProtectedHdContent
	public static com.google.android.exoplayer.smoothstreaming.DefaultSmoothStreamingTrackSelector newVideoInstance (android.content.Context, boolean, boolean) 
		android.content.Context context
		boolean filterVideoRepresentations
		boolean filterProtectedHdContent
	public static com.google.android.exoplayer.smoothstreaming.DefaultSmoothStreamingTrackSelector newAudioInstance () 
	public static com.google.android.exoplayer.smoothstreaming.DefaultSmoothStreamingTrackSelector newTextInstance () 
	private void  (int, android.content.Context, boolean, boolean) 
		int streamElementType
		android.content.Context context
		boolean filterVideoRepresentations
		boolean filterProtectedHdContent
	public void selectTracks (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector$Output)  throws java.io.IOException 
		int[] trackIndices
		int j
		int[] trackIndices
		int trackCount
		int j
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement[] tracks
		int i
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest manifest
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector$Output output
}

com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser$SmoothStreamMediaParser.class
SmoothStreamingManifestParser.java
package com.google.android.exoplayer.smoothstreaming
 com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$SmoothStreamMediaParser extends com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser {
	public static final String TAG
	private static final String KEY_MAJOR_VERSION
	private static final String KEY_MINOR_VERSION
	private static final String KEY_TIME_SCALE
	private static final String KEY_DVR_WINDOW_LENGTH
	private static final String KEY_DURATION
	private static final String KEY_LOOKAHEAD_COUNT
	private static final String KEY_IS_LIVE
	private int majorVersion
	private int minorVersion
	private long timescale
	private long duration
	private long dvrWindowLength
	private int lookAheadCount
	private boolean isLive
	private com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$ProtectionElement protectionElement
	private java.util.List streamElements
	public void  (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser, java.lang.String) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
		String baseUri
	public void parseStartTag (org.xmlpull.v1.XmlPullParser)  throws com.google.android.exoplayer.ParserException 
		org.xmlpull.v1.XmlPullParser parser
	public void addChild (java.lang.Object) 
		Object child
	public java.lang.Object build () 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement[] streamElementArray
}

com/google/android/exoplayer/smoothstreaming/SmoothStreamingTrackSelector$Output.class
SmoothStreamingTrackSelector.java
package com.google.android.exoplayer.smoothstreaming
public abstract com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector$Output extends java.lang.Object {
	public abstract void adaptiveTrack (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, int, int[]) 
	public abstract void fixedTrack (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, int, int) 
}

com/google/android/exoplayer/smoothstreaming/SmoothStreamingChunkSource.class
SmoothStreamingChunkSource.java
package com.google.android.exoplayer.smoothstreaming
public com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource extends java.lang.Object implements com.google.android.exoplayer.chunk.ChunkSource com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector$Output  {
	private static final int MINIMUM_MANIFEST_REFRESH_PERIOD_MS
	private static final int INITIALIZATION_VECTOR_SIZE
	private final com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector trackSelector
	private final com.google.android.exoplayer.upstream.DataSource dataSource
	private final com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation evaluation
	private final long liveEdgeLatencyUs
	private final com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox[] trackEncryptionBoxes
	private final com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
	private final com.google.android.exoplayer.drm.DrmInitData$Mapped drmInitData
	private final com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
	private final boolean live
	private final java.util.ArrayList tracks
	private final android.util.SparseArray extractorWrappers
	private final android.util.SparseArray mediaFormats
	private boolean prepareCalled
	private com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest currentManifest
	private int currentManifestChunkOffset
	private boolean needManifestRefresh
	private com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack enabledTrack
	private java.io.IOException fatalError
	public void  (com.google.android.exoplayer.util.ManifestFetcher, com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long) 
		com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector trackSelector
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
		long liveEdgeLatencyMs
	public void  (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest manifest
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector trackSelector
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
	private void  (com.google.android.exoplayer.util.ManifestFetcher, com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long) 
		byte[] keyId
		com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest initialManifest
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector trackSelector
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
		long liveEdgeLatencyMs
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$ProtectionElement protectionElement
	public void maybeThrowError ()  throws java.io.IOException 
	public boolean prepare () 
		java.io.IOException e
	public int getTrackCount () 
	public final com.google.android.exoplayer.MediaFormat getFormat (int) 
		int track
	public void enable (int) 
		int track
	public void continueBuffering (long) 
		long currentElementEndTimeUs
		long newElementStartTimeUs
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement currentElement
		int currentElementChunkCount
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement newElement
		long playbackPositionUs
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest newManifest
	public final void getChunkOperation (java.util.List, long, com.google.android.exoplayer.chunk.ChunkOperationHolder) 
		int chunkIndex
		com.google.android.exoplayer.chunk.MediaChunk previous
		java.util.List queue
		long playbackPositionUs
		com.google.android.exoplayer.chunk.ChunkOperationHolder out
		com.google.android.exoplayer.chunk.Format selectedFormat
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement streamElement
		int chunkIndex
		boolean isLastChunk
		long chunkStartTimeUs
		long chunkEndTimeUs
		int currentAbsoluteChunkIndex
		int manifestTrackIndex
		int manifestTrackKey
		android.net.Uri uri
		com.google.android.exoplayer.chunk.Chunk mediaChunk
	public void onChunkLoadCompleted (com.google.android.exoplayer.chunk.Chunk) 
		com.google.android.exoplayer.chunk.Chunk chunk
	public void onChunkLoadError (com.google.android.exoplayer.chunk.Chunk, java.lang.Exception) 
		com.google.android.exoplayer.chunk.Chunk chunk
		Exception e
	public void disable (java.util.List) 
		java.util.List queue
	public void adaptiveTrack (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, int, int[]) 
		int manifestTrackIndex
		com.google.android.exoplayer.MediaFormat mediaFormat
		int i
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest manifest
		int element
		int[] trackIndices
		com.google.android.exoplayer.MediaFormat maxHeightMediaFormat
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement streamElement
		int maxWidth
		int maxHeight
		com.google.android.exoplayer.chunk.Format[] formats
		com.google.android.exoplayer.MediaFormat adaptiveMediaFormat
	public void fixedTrack (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, int, int) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest manifest
		int element
		int trackIndex
		com.google.android.exoplayer.MediaFormat mediaFormat
		com.google.android.exoplayer.chunk.Format format
	private com.google.android.exoplayer.MediaFormat initManifestTrack (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, int, int) 
		java.util.List csd
		java.util.List csd
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest manifest
		int elementIndex
		int trackIndex
		int manifestTrackKey
		com.google.android.exoplayer.MediaFormat mediaFormat
		long durationUs
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement element
		com.google.android.exoplayer.chunk.Format format
		byte[][] csdArray
		int mp4TrackType
		int mp4TrackType
		int mp4TrackType
		int mp4TrackType
		com.google.android.exoplayer.extractor.mp4.Track mp4Track
		com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor mp4Extractor
	private static long getLiveSeekPosition (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, long) 
		long elementLiveEdgeTimestampUs
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement streamElement
		int i
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest manifest
		long liveEdgeLatencyUs
		long liveEdgeTimestampUs
	private static int getManifestTrackIndex (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement, com.google.android.exoplayer.chunk.Format) 
		int i
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement element
		com.google.android.exoplayer.chunk.Format format
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement[] tracks
	private static com.google.android.exoplayer.chunk.MediaChunk newMediaChunk (com.google.android.exoplayer.chunk.Format, android.net.Uri, java.lang.String, com.google.android.exoplayer.chunk.ChunkExtractorWrapper, com.google.android.exoplayer.drm.DrmInitData, com.google.android.exoplayer.upstream.DataSource, int, long, long, int, com.google.android.exoplayer.MediaFormat, int, int) 
		com.google.android.exoplayer.chunk.Format formatInfo
		android.net.Uri uri
		String cacheKey
		com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractorWrapper
		com.google.android.exoplayer.drm.DrmInitData drmInitData
		com.google.android.exoplayer.upstream.DataSource dataSource
		int chunkIndex
		long chunkStartTimeUs
		long chunkEndTimeUs
		int trigger
		com.google.android.exoplayer.MediaFormat mediaFormat
		int adaptiveMaxWidth
		int adaptiveMaxHeight
		long offset
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	private static int getManifestTrackKey (int, int) 
		int elementIndex
		int trackIndex
	private static byte[] getProtectionElementKeyId (byte[]) 
		int i
		byte[] initData
		StringBuilder initDataStringBuilder
		String initDataString
		String keyIdString
		byte[] keyId
	private static void swap (byte[], int, int) 
		byte[] data
		int firstPosition
		int secondPosition
		byte temp
}

com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser$ProtectionElementParser.class
SmoothStreamingManifestParser.java
package com.google.android.exoplayer.smoothstreaming
 com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ProtectionElementParser extends com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser {
	public static final String TAG
	public static final String TAG_PROTECTION_HEADER
	public static final String KEY_SYSTEM_ID
	private boolean inProtectionHeader
	private java.util.UUID uuid
	private byte[] initData
	public void  (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser, java.lang.String) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
		String baseUri
	public boolean handleChildInline (java.lang.String) 
		String tag
	public void parseStartTag (org.xmlpull.v1.XmlPullParser) 
		String uuidString
		org.xmlpull.v1.XmlPullParser parser
	public void parseText (org.xmlpull.v1.XmlPullParser) 
		org.xmlpull.v1.XmlPullParser parser
	public void parseEndTag (org.xmlpull.v1.XmlPullParser) 
		org.xmlpull.v1.XmlPullParser parser
	public java.lang.Object build () 
	private static java.lang.String stripCurlyBraces (java.lang.String) 
		String uuidString
}

com/google/android/exoplayer/dash/
com/google/android/exoplayer/dash/DashWrappingSegmentIndex.class
DashWrappingSegmentIndex.java
package com.google.android.exoplayer.dash
final com.google.android.exoplayer.dash.DashWrappingSegmentIndex extends java.lang.Object implements com.google.android.exoplayer.dash.DashSegmentIndex  {
	private final com.google.android.exoplayer.extractor.ChunkIndex chunkIndex
	private final String uri
	public void  (com.google.android.exoplayer.extractor.ChunkIndex, java.lang.String) 
		com.google.android.exoplayer.extractor.ChunkIndex chunkIndex
		String uri
	public int getFirstSegmentNum () 
	public int getLastSegmentNum (long) 
		long periodDurationUs
	public long getTimeUs (int) 
		int segmentNum
	public long getDurationUs (int, long) 
		int segmentNum
		long periodDurationUs
	public com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (int) 
		int segmentNum
	public int getSegmentNum (long, long) 
		long timeUs
		long periodDurationUs
	public boolean isExplicit () 
}

com/google/android/exoplayer/dash/DefaultDashTrackSelector.class
DefaultDashTrackSelector.java
package com.google.android.exoplayer.dash
public final com.google.android.exoplayer.dash.DefaultDashTrackSelector extends java.lang.Object implements com.google.android.exoplayer.dash.DashTrackSelector  {
	private final int adaptationSetType
	private final android.content.Context context
	private final boolean filterVideoRepresentations
	private final boolean filterProtectedHdContent
	public static com.google.android.exoplayer.dash.DefaultDashTrackSelector newVideoInstance (android.content.Context, boolean, boolean) 
		android.content.Context context
		boolean filterVideoRepresentations
		boolean filterProtectedHdContent
	public static com.google.android.exoplayer.dash.DefaultDashTrackSelector newAudioInstance () 
	public static com.google.android.exoplayer.dash.DefaultDashTrackSelector newTextInstance () 
	private void  (int, android.content.Context, boolean, boolean) 
		int adaptationSetType
		android.content.Context context
		boolean filterVideoRepresentations
		boolean filterProtectedHdContent
	public void selectTracks (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, com.google.android.exoplayer.dash.DashTrackSelector$Output)  throws java.io.IOException 
		int[] representations
		int j
		int[] representations
		int representationCount
		int j
		com.google.android.exoplayer.dash.mpd.AdaptationSet adaptationSet
		int i
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
		int periodIndex
		com.google.android.exoplayer.dash.DashTrackSelector$Output output
		com.google.android.exoplayer.dash.mpd.Period period
}

com/google/android/exoplayer/dash/DashChunkSource$PeriodHolder.class
DashChunkSource.java
package com.google.android.exoplayer.dash
public final com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder extends java.lang.Object {
	public final int localIndex
	public final long startTimeUs
	public final java.util.HashMap representationHolders
	private final int[] representationIndices
	private com.google.android.exoplayer.drm.DrmInitData drmInitData
	private boolean indexIsUnbounded
	private boolean indexIsExplicit
	private long availableStartTimeUs
	private long availableEndTimeUs
	public void  (int, com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack) 
		int j
		com.google.android.exoplayer.dash.mpd.Representation representation
		com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
		int i
		int localIndex
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
		int manifestIndex
		com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack selectedTrack
		com.google.android.exoplayer.dash.mpd.Period period
		long periodDurationUs
		com.google.android.exoplayer.dash.mpd.AdaptationSet adaptationSet
		java.util.List representations
	public void updatePeriod (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack)  throws com.google.android.exoplayer.BehindLiveWindowException 
		com.google.android.exoplayer.dash.mpd.Representation representation
		int j
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
		int manifestIndex
		com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack selectedTrack
		com.google.android.exoplayer.dash.mpd.Period period
		long periodDurationUs
		java.util.List representations
	public long getAvailableStartTimeUs () 
	public long getAvailableEndTimeUs () 
	public boolean isIndexUnbounded () 
	public boolean isIndexExplicit () 
	public com.google.android.exoplayer.drm.DrmInitData getDrmInitData () 
	private void updateRepresentationIndependentProperties (long, com.google.android.exoplayer.dash.mpd.Representation) 
		int firstSegmentNum
		int lastSegmentNum
		long periodDurationUs
		com.google.android.exoplayer.dash.mpd.Representation arbitaryRepresentation
		com.google.android.exoplayer.dash.DashSegmentIndex segmentIndex
	private static int getRepresentationIndex (java.util.List, java.lang.String) 
		com.google.android.exoplayer.dash.mpd.Representation representation
		int i
		java.util.List representations
		String formatId
	private static com.google.android.exoplayer.drm.DrmInitData getDrmInitData (com.google.android.exoplayer.dash.mpd.AdaptationSet) 
		com.google.android.exoplayer.dash.mpd.ContentProtection contentProtection
		int i
		com.google.android.exoplayer.drm.DrmInitData$Mapped drmInitData
		com.google.android.exoplayer.dash.mpd.AdaptationSet adaptationSet
	private static long getPeriodDurationUs (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int) 
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
		int index
		long durationMs
	static com.google.android.exoplayer.drm.DrmInitData access$200 (com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder) 
		com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder x0
	static com.google.android.exoplayer.drm.DrmInitData access$202 (com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder, com.google.android.exoplayer.drm.DrmInitData) 
		com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder x0
		com.google.android.exoplayer.drm.DrmInitData x1
}

com/google/android/exoplayer/dash/DashSegmentIndex.class
DashSegmentIndex.java
package com.google.android.exoplayer.dash
public abstract com.google.android.exoplayer.dash.DashSegmentIndex extends java.lang.Object {
	public static final int INDEX_UNBOUNDED
	public abstract int getSegmentNum (long, long) 
	public abstract long getTimeUs (int) 
	public abstract long getDurationUs (int, long) 
	public abstract com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (int) 
	public abstract int getFirstSegmentNum () 
	public abstract int getLastSegmentNum (long) 
	public abstract boolean isExplicit () 
}

com/google/android/exoplayer/dash/DashChunkSource$RepresentationHolder.class
DashChunkSource.java
package com.google.android.exoplayer.dash
public final com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder extends java.lang.Object {
	public final boolean mimeTypeIsRawText
	public final com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractorWrapper
	public com.google.android.exoplayer.dash.mpd.Representation representation
	public com.google.android.exoplayer.dash.DashSegmentIndex segmentIndex
	public com.google.android.exoplayer.MediaFormat mediaFormat
	private final long periodStartTimeUs
	private long periodDurationUs
	private int segmentNumShift
	public void  (long, long, com.google.android.exoplayer.dash.mpd.Representation) 
		long periodStartTimeUs
		long periodDurationUs
		com.google.android.exoplayer.dash.mpd.Representation representation
		String mimeType
	public void updateRepresentation (long, com.google.android.exoplayer.dash.mpd.Representation)  throws com.google.android.exoplayer.BehindLiveWindowException 
		long newPeriodDurationUs
		com.google.android.exoplayer.dash.mpd.Representation newRepresentation
		com.google.android.exoplayer.dash.DashSegmentIndex oldIndex
		com.google.android.exoplayer.dash.DashSegmentIndex newIndex
		int oldIndexLastSegmentNum
		long oldIndexEndTimeUs
		int newIndexFirstSegmentNum
		long newIndexStartTimeUs
	public int getSegmentNum (long) 
		long positionUs
	public long getSegmentStartTimeUs (int) 
		int segmentNum
	public long getSegmentEndTimeUs (int) 
		int segmentNum
	public int getLastSegmentNum () 
	public boolean isBeyondLastSegment (int) 
		int segmentNum
		int lastSegmentNum
	public int getFirstAvailableSegmentNum () 
	public com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (int) 
		int segmentNum
}

com/google/android/exoplayer/dash/DashChunkSource$EventListener.class
DashChunkSource.java
package com.google.android.exoplayer.dash
public abstract com.google.android.exoplayer.dash.DashChunkSource$EventListener extends java.lang.Object {
	public abstract void onAvailableRangeChanged (int, com.google.android.exoplayer.TimeRange) 
}

com/google/android/exoplayer/dash/DashChunkSource.class
DashChunkSource.java
package com.google.android.exoplayer.dash
public com.google.android.exoplayer.dash.DashChunkSource extends java.lang.Object implements com.google.android.exoplayer.chunk.ChunkSource com.google.android.exoplayer.dash.DashTrackSelector$Output  {
	private static final String TAG
	private final android.os.Handler eventHandler
	private final com.google.android.exoplayer.dash.DashChunkSource$EventListener eventListener
	private final com.google.android.exoplayer.upstream.DataSource dataSource
	private final com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
	private final com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation evaluation
	private final com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
	private final com.google.android.exoplayer.dash.DashTrackSelector trackSelector
	private final java.util.ArrayList tracks
	private final android.util.SparseArray periodHolders
	private final com.google.android.exoplayer.util.Clock systemClock
	private final long liveEdgeLatencyUs
	private final long elapsedRealtimeOffsetUs
	private final long[] availableRangeValues
	private final boolean live
	private final int eventSourceId
	private com.google.android.exoplayer.dash.mpd.MediaPresentationDescription currentManifest
	private com.google.android.exoplayer.dash.mpd.MediaPresentationDescription processedManifest
	private com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack enabledTrack
	private int nextPeriodHolderIndex
	private com.google.android.exoplayer.TimeRange availableRange
	private boolean prepareCalled
	private boolean startAtLiveEdge
	private boolean lastChunkWasInitialization
	private java.io.IOException fatalError
	public transient void  (com.google.android.exoplayer.dash.DashTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long, int, com.google.android.exoplayer.dash.mpd.Representation[]) 
		com.google.android.exoplayer.dash.DashTrackSelector trackSelector
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
		long durationMs
		int adaptationSetType
		com.google.android.exoplayer.dash.mpd.Representation[] representations
	public void  (com.google.android.exoplayer.dash.DashTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long, int, java.util.List) 
		com.google.android.exoplayer.dash.DashTrackSelector trackSelector
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
		long durationMs
		int adaptationSetType
		java.util.List representations
	public void  (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, com.google.android.exoplayer.dash.DashTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator) 
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
		com.google.android.exoplayer.dash.DashTrackSelector trackSelector
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
	public void  (com.google.android.exoplayer.util.ManifestFetcher, com.google.android.exoplayer.dash.DashTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long, long, android.os.Handler, com.google.android.exoplayer.dash.DashChunkSource$EventListener, int) 
		com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
		com.google.android.exoplayer.dash.DashTrackSelector trackSelector
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
		long liveEdgeLatencyMs
		long elapsedRealtimeOffsetMs
		android.os.Handler eventHandler
		com.google.android.exoplayer.dash.DashChunkSource$EventListener eventListener
		int eventSourceId
	public void  (com.google.android.exoplayer.util.ManifestFetcher, com.google.android.exoplayer.dash.DashTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long, long, boolean, android.os.Handler, com.google.android.exoplayer.dash.DashChunkSource$EventListener, int) 
		com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
		com.google.android.exoplayer.dash.DashTrackSelector trackSelector
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
		long liveEdgeLatencyMs
		long elapsedRealtimeOffsetMs
		boolean startAtLiveEdge
		android.os.Handler eventHandler
		com.google.android.exoplayer.dash.DashChunkSource$EventListener eventListener
		int eventSourceId
	void  (com.google.android.exoplayer.util.ManifestFetcher, com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, com.google.android.exoplayer.dash.DashTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, com.google.android.exoplayer.util.Clock, long, long, boolean, android.os.Handler, com.google.android.exoplayer.dash.DashChunkSource$EventListener, int) 
		com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescription initialManifest
		com.google.android.exoplayer.dash.DashTrackSelector trackSelector
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
		com.google.android.exoplayer.util.Clock systemClock
		long liveEdgeLatencyUs
		long elapsedRealtimeOffsetUs
		boolean startAtLiveEdge
		android.os.Handler eventHandler
		com.google.android.exoplayer.dash.DashChunkSource$EventListener eventListener
		int eventSourceId
	public void maybeThrowError ()  throws java.io.IOException 
	public boolean prepare () 
		java.io.IOException e
	public int getTrackCount () 
	public final com.google.android.exoplayer.MediaFormat getFormat (int) 
		int track
	public void enable (int) 
		int track
	public void continueBuffering (long) 
		long playbackPositionUs
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescription newManifest
		long minUpdatePeriod
	public final void getChunkOperation (java.util.List, long, com.google.android.exoplayer.chunk.ChunkOperationHolder) 
		boolean startingNewPeriod
		com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder periodHolder
		com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
		com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder lastPeriodHolder
		com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
		com.google.android.exoplayer.chunk.MediaChunk previous
		long nextSegmentStartTimeUs
		com.google.android.exoplayer.chunk.Chunk initializationChunk
		java.util.List queue
		long playbackPositionUs
		com.google.android.exoplayer.chunk.ChunkOperationHolder out
		com.google.android.exoplayer.chunk.Format selectedFormat
		boolean startingNewPeriod
		com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder periodHolder
		com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
		com.google.android.exoplayer.dash.mpd.Representation selectedRepresentation
		com.google.android.exoplayer.dash.mpd.RangedUri pendingInitializationUri
		com.google.android.exoplayer.dash.mpd.RangedUri pendingIndexUri
		com.google.android.exoplayer.MediaFormat mediaFormat
		int segmentNum
		com.google.android.exoplayer.chunk.Chunk nextMediaChunk
	public void onChunkLoadCompleted (com.google.android.exoplayer.chunk.Chunk) 
		com.google.android.exoplayer.chunk.InitializationChunk initializationChunk
		String formatId
		com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder periodHolder
		com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
		com.google.android.exoplayer.chunk.Chunk chunk
	public void onChunkLoadError (com.google.android.exoplayer.chunk.Chunk, java.lang.Exception) 
		com.google.android.exoplayer.chunk.Chunk chunk
		Exception e
	public void disable (java.util.List) 
		java.util.List queue
	public void adaptiveTrack (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, int, int[]) 
		com.google.android.exoplayer.chunk.Format format
		int i
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
		int periodIndex
		int adaptationSetIndex
		int[] representationIndices
		com.google.android.exoplayer.dash.mpd.AdaptationSet adaptationSet
		int maxWidth
		int maxHeight
		com.google.android.exoplayer.chunk.Format maxHeightRepresentationFormat
		com.google.android.exoplayer.chunk.Format[] representationFormats
		long trackDurationUs
		String mediaMimeType
		com.google.android.exoplayer.MediaFormat trackFormat
	public void fixedTrack (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, int, int) 
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
		int periodIndex
		int adaptationSetIndex
		int representationIndex
		java.util.List adaptationSets
		com.google.android.exoplayer.dash.mpd.AdaptationSet adaptationSet
		com.google.android.exoplayer.chunk.Format representationFormat
		String mediaMimeType
		com.google.android.exoplayer.MediaFormat trackFormat
	com.google.android.exoplayer.TimeRange getAvailableRange () 
	private static com.google.android.exoplayer.dash.mpd.MediaPresentationDescription buildManifest (long, int, java.util.List) 
		long durationMs
		int adaptationSetType
		java.util.List representations
		com.google.android.exoplayer.dash.mpd.AdaptationSet adaptationSet
		com.google.android.exoplayer.dash.mpd.Period period
	private static com.google.android.exoplayer.MediaFormat getTrackFormat (int, com.google.android.exoplayer.chunk.Format, java.lang.String, long) 
		int adaptationSetType
		com.google.android.exoplayer.chunk.Format format
		String mediaMimeType
		long durationUs
	private static java.lang.String getMediaMimeType (com.google.android.exoplayer.chunk.Format) 
		com.google.android.exoplayer.chunk.Format format
		String formatMimeType
	static boolean mimeTypeIsWebm (java.lang.String) 
		String mimeType
	static boolean mimeTypeIsRawText (java.lang.String) 
		String mimeType
	private com.google.android.exoplayer.chunk.Chunk newInitializationChunk (com.google.android.exoplayer.dash.mpd.RangedUri, com.google.android.exoplayer.dash.mpd.RangedUri, com.google.android.exoplayer.dash.mpd.Representation, com.google.android.exoplayer.chunk.ChunkExtractorWrapper, com.google.android.exoplayer.upstream.DataSource, int, int) 
		com.google.android.exoplayer.dash.mpd.RangedUri requestUri
		com.google.android.exoplayer.dash.mpd.RangedUri initializationUri
		com.google.android.exoplayer.dash.mpd.RangedUri indexUri
		com.google.android.exoplayer.dash.mpd.Representation representation
		com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractor
		com.google.android.exoplayer.upstream.DataSource dataSource
		int manifestIndex
		int trigger
		com.google.android.exoplayer.dash.mpd.RangedUri requestUri
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	protected com.google.android.exoplayer.chunk.Chunk newMediaChunk (com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder, com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.MediaFormat, com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack, int, int) 
		boolean isMediaFormatFinal
		com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder periodHolder
		com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.MediaFormat mediaFormat
		com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack enabledTrack
		int segmentNum
		int trigger
		com.google.android.exoplayer.dash.mpd.Representation representation
		com.google.android.exoplayer.chunk.Format format
		long startTimeUs
		long endTimeUs
		com.google.android.exoplayer.dash.mpd.RangedUri segmentUri
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		long sampleOffsetUs
	private long getNowUnixTimeUs () 
	private com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder findPeriodHolder (long) 
		com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder periodHolder
		int i
		long positionUs
	private void processManifest (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription) 
		com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder periodHolder
		int lastIndex
		int periodHolderCount
		com.google.android.exoplayer.BehindLiveWindowException e
		com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder holder
		int i
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
		com.google.android.exoplayer.dash.mpd.Period firstPeriod
		com.google.android.exoplayer.TimeRange newAvailableRange
	private com.google.android.exoplayer.TimeRange getAvailableRange (long) 
		long nowUnixTimeUs
		com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder firstPeriod
		com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder lastPeriod
		long minStartPositionUs
		long maxEndPositionUs
		long elapsedRealtimeAtZeroUs
		long timeShiftBufferDepthUs
	private void notifyAvailableRangeChanged (com.google.android.exoplayer.TimeRange) 
		com.google.android.exoplayer.TimeRange seekRange
	static int access$300 (com.google.android.exoplayer.dash.DashChunkSource) 
		com.google.android.exoplayer.dash.DashChunkSource x0
	static com.google.android.exoplayer.dash.DashChunkSource$EventListener access$400 (com.google.android.exoplayer.dash.DashChunkSource) 
		com.google.android.exoplayer.dash.DashChunkSource x0
}

com/google/android/exoplayer/dash/DashTrackSelector.class
DashTrackSelector.java
package com.google.android.exoplayer.dash
public abstract com.google.android.exoplayer.dash.DashTrackSelector extends java.lang.Object {
	public abstract void selectTracks (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, com.google.android.exoplayer.dash.DashTrackSelector$Output)  throws java.io.IOException 
}

com/google/android/exoplayer/dash/DashChunkSource$1.class
DashChunkSource.java
package com.google.android.exoplayer.dash
 com.google.android.exoplayer.dash.DashChunkSource$1 extends java.lang.Object implements java.lang.Runnable  {
	final com.google.android.exoplayer.TimeRange val$seekRange
	final com.google.android.exoplayer.dash.DashChunkSource this$0
	void  (com.google.android.exoplayer.dash.DashChunkSource, com.google.android.exoplayer.TimeRange) 
		com.google.android.exoplayer.dash.DashChunkSource this$0
	public void run () 
}

com/google/android/exoplayer/dash/mpd/
com/google/android/exoplayer/dash/mpd/SegmentBase.class
SegmentBase.java
package com.google.android.exoplayer.dash.mpd
public abstract com.google.android.exoplayer.dash.mpd.SegmentBase extends java.lang.Object {
	final com.google.android.exoplayer.dash.mpd.RangedUri initialization
	final long timescale
	final long presentationTimeOffset
	public void  (com.google.android.exoplayer.dash.mpd.RangedUri, long, long) 
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		long timescale
		long presentationTimeOffset
	public com.google.android.exoplayer.dash.mpd.RangedUri getInitialization (com.google.android.exoplayer.dash.mpd.Representation) 
		com.google.android.exoplayer.dash.mpd.Representation representation
	public long getPresentationTimeOffsetUs () 
}

com/google/android/exoplayer/dash/mpd/Representation.class
Representation.java
package com.google.android.exoplayer.dash.mpd
public abstract com.google.android.exoplayer.dash.mpd.Representation extends java.lang.Object implements com.google.android.exoplayer.chunk.FormatWrapper  {
	public final String contentId
	public final long revisionId
	public final com.google.android.exoplayer.chunk.Format format
	public final long presentationTimeOffsetUs
	private final String cacheKey
	private final com.google.android.exoplayer.dash.mpd.RangedUri initializationUri
	public static com.google.android.exoplayer.dash.mpd.Representation newInstance (java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase) 
		String contentId
		long revisionId
		com.google.android.exoplayer.chunk.Format format
		com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
	public static com.google.android.exoplayer.dash.mpd.Representation newInstance (java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase, java.lang.String) 
		String contentId
		long revisionId
		com.google.android.exoplayer.chunk.Format format
		com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
		String customCacheKey
	private void  (java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase, java.lang.String) 
		String contentId
		long revisionId
		com.google.android.exoplayer.chunk.Format format
		com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
		String customCacheKey
	public com.google.android.exoplayer.chunk.Format getFormat () 
	public com.google.android.exoplayer.dash.mpd.RangedUri getInitializationUri () 
	public abstract com.google.android.exoplayer.dash.mpd.RangedUri getIndexUri () 
	public abstract com.google.android.exoplayer.dash.DashSegmentIndex getIndex () 
	public java.lang.String getCacheKey () 
	void  (java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase, java.lang.String, com.google.android.exoplayer.dash.mpd.Representation$1) 
		String x0
		long x1
		com.google.android.exoplayer.chunk.Format x2
		com.google.android.exoplayer.dash.mpd.SegmentBase x3
		String x4
		com.google.android.exoplayer.dash.mpd.Representation$1 x5
}

com/google/android/exoplayer/dash/mpd/Representation$1.class
Representation.java
package com.google.android.exoplayer.dash.mpd
 com.google.android.exoplayer.dash.mpd.Representation$1 extends java.lang.Object {
}

com/google/android/exoplayer/dash/mpd/AdaptationSet.class
AdaptationSet.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.AdaptationSet extends java.lang.Object {
	public static final int TYPE_UNKNOWN
	public static final int TYPE_VIDEO
	public static final int TYPE_AUDIO
	public static final int TYPE_TEXT
	public final int id
	public final int type
	public final java.util.List representations
	public final java.util.List contentProtections
	public void  (int, int, java.util.List, java.util.List) 
		int id
		int type
		java.util.List representations
		java.util.List contentProtections
	public void  (int, int, java.util.List) 
		int id
		int type
		java.util.List representations
	public boolean hasContentProtection () 
}

com/google/android/exoplayer/dash/mpd/Period.class
Period.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.Period extends java.lang.Object {
	public final String id
	public final long startMs
	public final java.util.List adaptationSets
	public void  (java.lang.String, long, java.util.List) 
		String id
		long start
		java.util.List adaptationSets
	public int getAdaptationSetIndex (int) 
		int i
		int type
		int adaptationCount
}

com/google/android/exoplayer/dash/mpd/ContentProtection.class
ContentProtection.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.ContentProtection extends java.lang.Object {
	public final String schemeUriId
	public final java.util.UUID uuid
	public final com.google.android.exoplayer.drm.DrmInitData$SchemeInitData data
	public void  (java.lang.String, java.util.UUID, com.google.android.exoplayer.drm.DrmInitData$SchemeInitData) 
		String schemeUriId
		java.util.UUID uuid
		com.google.android.exoplayer.drm.DrmInitData$SchemeInitData data
	public boolean equals (java.lang.Object) 
		Object obj
		com.google.android.exoplayer.dash.mpd.ContentProtection other
	public int hashCode () 
		int hashCode
}

com/google/android/exoplayer/dash/mpd/UtcTimingElementResolver$XsDateTimeParser.class
UtcTimingElementResolver.java
package com.google.android.exoplayer.dash.mpd
 com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$XsDateTimeParser extends java.lang.Object implements com.google.android.exoplayer.upstream.UriLoadable$Parser  {
	private void  () 
	public java.lang.Long parse (java.lang.String, java.io.InputStream)  throws com.google.android.exoplayer.ParserException java.io.IOException 
		java.text.ParseException e
		String connectionUrl
		java.io.InputStream inputStream
		String firstLine
	public volatile java.lang.Object parse (java.lang.String, java.io.InputStream)  throws com.google.android.exoplayer.ParserException java.io.IOException 
	void  (com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$1) 
		com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$1 x0
}

com/google/android/exoplayer/dash/mpd/Representation$SingleSegmentRepresentation.class
Representation.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.Representation$SingleSegmentRepresentation extends com.google.android.exoplayer.dash.mpd.Representation {
	public final android.net.Uri uri
	public final long contentLength
	private final com.google.android.exoplayer.dash.mpd.RangedUri indexUri
	private final com.google.android.exoplayer.dash.mpd.DashSingleSegmentIndex segmentIndex
	public static com.google.android.exoplayer.dash.mpd.Representation$SingleSegmentRepresentation newInstance (java.lang.String, long, com.google.android.exoplayer.chunk.Format, java.lang.String, long, long, long, long, java.lang.String, long) 
		String contentId
		long revisionId
		com.google.android.exoplayer.chunk.Format format
		String uri
		long initializationStart
		long initializationEnd
		long indexStart
		long indexEnd
		String customCacheKey
		long contentLength
		com.google.android.exoplayer.dash.mpd.RangedUri rangedUri
		com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase segmentBase
	public void  (java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase, java.lang.String, long) 
		String contentId
		long revisionId
		com.google.android.exoplayer.chunk.Format format
		com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase segmentBase
		String customCacheKey
		long contentLength
	public com.google.android.exoplayer.dash.mpd.RangedUri getIndexUri () 
	public com.google.android.exoplayer.dash.DashSegmentIndex getIndex () 
}

com/google/android/exoplayer/dash/mpd/MediaPresentationDescription.class
MediaPresentationDescription.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.MediaPresentationDescription extends java.lang.Object implements com.google.android.exoplayer.util.ManifestFetcher$RedirectingManifest  {
	public final long availabilityStartTime
	public final long duration
	public final long minBufferTime
	public final boolean dynamic
	public final long minUpdatePeriod
	public final long timeShiftBufferDepth
	public final com.google.android.exoplayer.dash.mpd.UtcTimingElement utcTiming
	public final String location
	private final java.util.List periods
	public void  (long, long, long, boolean, long, long, com.google.android.exoplayer.dash.mpd.UtcTimingElement, java.lang.String, java.util.List) 
		long availabilityStartTime
		long duration
		long minBufferTime
		boolean dynamic
		long minUpdatePeriod
		long timeShiftBufferDepth
		com.google.android.exoplayer.dash.mpd.UtcTimingElement utcTiming
		String location
		java.util.List periods
	public final java.lang.String getNextManifestUri () 
	public final int getPeriodCount () 
	public final com.google.android.exoplayer.dash.mpd.Period getPeriod (int) 
		int index
	public final long getPeriodDuration (int) 
		int index
}

com/google/android/exoplayer/dash/mpd/RangedUri.class
RangedUri.java
package com.google.android.exoplayer.dash.mpd
public final com.google.android.exoplayer.dash.mpd.RangedUri extends java.lang.Object {
	public final long start
	public final long length
	private final String baseUri
	private final String referenceUri
	private int hashCode
	public void  (java.lang.String, java.lang.String, long, long) 
		String baseUri
		String referenceUri
		long start
		long length
	public android.net.Uri getUri () 
	public java.lang.String getUriString () 
	public com.google.android.exoplayer.dash.mpd.RangedUri attemptMerge (com.google.android.exoplayer.dash.mpd.RangedUri) 
		com.google.android.exoplayer.dash.mpd.RangedUri other
	public int hashCode () 
		int result
	public boolean equals (java.lang.Object) 
		Object obj
		com.google.android.exoplayer.dash.mpd.RangedUri other
}

com/google/android/exoplayer/dash/mpd/MediaPresentationDescriptionParser$ContentProtectionsBuilder.class
MediaPresentationDescriptionParser.java
package com.google.android.exoplayer.dash.mpd
public final com.google.android.exoplayer.dash.mpd.MediaPresentationDescriptionParser$ContentProtectionsBuilder extends java.lang.Object implements java.util.Comparator  {
	private java.util.ArrayList adaptationSetProtections
	private java.util.ArrayList representationProtections
	private java.util.ArrayList currentRepresentationProtections
	private boolean representationProtectionsSet
	protected void  () 
	public void addAdaptationSetProtection (com.google.android.exoplayer.dash.mpd.ContentProtection) 
		com.google.android.exoplayer.dash.mpd.ContentProtection contentProtection
	public void addRepresentationProtection (com.google.android.exoplayer.dash.mpd.ContentProtection) 
		com.google.android.exoplayer.dash.mpd.ContentProtection contentProtection
	public void endRepresentation () 
	public java.util.ArrayList build () 
		int i
	private void maybeAddContentProtection (java.util.List, com.google.android.exoplayer.dash.mpd.ContentProtection) 
		int i
		java.util.List contentProtections
		com.google.android.exoplayer.dash.mpd.ContentProtection contentProtection
	public int compare (com.google.android.exoplayer.dash.mpd.ContentProtection, com.google.android.exoplayer.dash.mpd.ContentProtection) 
		com.google.android.exoplayer.dash.mpd.ContentProtection first
		com.google.android.exoplayer.dash.mpd.ContentProtection second
	public volatile int compare (java.lang.Object, java.lang.Object) 
}

com/google/android/exoplayer/dash/mpd/UrlTemplate.class
UrlTemplate.java
package com.google.android.exoplayer.dash.mpd
public final com.google.android.exoplayer.dash.mpd.UrlTemplate extends java.lang.Object {
	private static final String REPRESENTATION
	private static final String NUMBER
	private static final String BANDWIDTH
	private static final String TIME
	private static final String ESCAPED_DOLLAR
	private static final String DEFAULT_FORMAT_TAG
	private static final int REPRESENTATION_ID
	private static final int NUMBER_ID
	private static final int BANDWIDTH_ID
	private static final int TIME_ID
	private final String[] urlPieces
	private final int[] identifiers
	private final String[] identifierFormatTags
	private final int identifierCount
	public static com.google.android.exoplayer.dash.mpd.UrlTemplate compile (java.lang.String) 
		String template
		String[] urlPieces
		int[] identifiers
		String[] identifierFormatTags
		int identifierCount
	private void  (java.lang.String[], int[], java.lang.String[], int) 
		String[] urlPieces
		int[] identifiers
		String[] identifierFormatTags
		int identifierCount
	public java.lang.String buildUri (java.lang.String, int, int, long) 
		int i
		String representationId
		int segmentNumber
		int bandwidth
		long time
		StringBuilder builder
	private static int parseTemplate (java.lang.String, java.lang.String[], int[], java.lang.String[]) 
		int formatTagIndex
		String formatTag
		int secondIndex
		String identifier
		int dollarIndex
		String template
		String[] urlPieces
		int[] identifiers
		String[] identifierFormatTags
		int templateIndex
		int identifierCount
}

com/google/android/exoplayer/dash/mpd/UtcTimingElementResolver$UtcTimingCallback.class
UtcTimingElementResolver.java
package com.google.android.exoplayer.dash.mpd
public abstract com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$UtcTimingCallback extends java.lang.Object {
	public abstract void onTimestampResolved (com.google.android.exoplayer.dash.mpd.UtcTimingElement, long) 
	public abstract void onTimestampError (com.google.android.exoplayer.dash.mpd.UtcTimingElement, java.io.IOException) 
}

com/google/android/exoplayer/dash/mpd/SegmentBase$SegmentList.class
SegmentBase.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentList extends com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase {
	final java.util.List mediaSegments
	public void  (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, int, long, java.util.List, java.util.List) 
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		long timescale
		long presentationTimeOffset
		int startNumber
		long duration
		java.util.List segmentTimeline
		java.util.List mediaSegments
	public com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (com.google.android.exoplayer.dash.mpd.Representation, int) 
		com.google.android.exoplayer.dash.mpd.Representation representation
		int sequenceNumber
	public int getLastSegmentNum (long) 
		long periodDurationUs
	public boolean isExplicit () 
}

com/google/android/exoplayer/dash/mpd/MediaPresentationDescriptionParser.class
MediaPresentationDescriptionParser.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.MediaPresentationDescriptionParser extends org.xml.sax.helpers.DefaultHandler implements com.google.android.exoplayer.upstream.UriLoadable$Parser  {
	private static final String TAG
	private static final java.util.regex.Pattern FRAME_RATE_PATTERN
	private final String contentId
	private final org.xmlpull.v1.XmlPullParserFactory xmlParserFactory
	public void  () 
	public void  (java.lang.String) 
		org.xmlpull.v1.XmlPullParserException e
		String contentId
	public com.google.android.exoplayer.dash.mpd.MediaPresentationDescription parse (java.lang.String, java.io.InputStream)  throws java.io.IOException com.google.android.exoplayer.ParserException 
		org.xmlpull.v1.XmlPullParser xpp
		int eventType
		org.xmlpull.v1.XmlPullParserException e
		java.text.ParseException e
		String connectionUrl
		java.io.InputStream inputStream
	protected com.google.android.exoplayer.dash.mpd.MediaPresentationDescription parseMediaPresentationDescription (org.xmlpull.v1.XmlPullParser, java.lang.String)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException java.text.ParseException 
		long periodDurationMs
		android.util.Pair periodWithDurationMs
		com.google.android.exoplayer.dash.mpd.Period period
		org.xmlpull.v1.XmlPullParser xpp
		String baseUrl
		long availabilityStartTime
		long durationMs
		long minBufferTimeMs
		String typeString
		boolean dynamic
		long minUpdateTimeMs
		long timeShiftBufferDepthMs
		com.google.android.exoplayer.dash.mpd.UtcTimingElement utcTiming
		String location
		java.util.List periods
		long nextPeriodStartMs
		boolean seenEarlyAccessPeriod
		boolean seenFirstBaseUrl
	protected com.google.android.exoplayer.dash.mpd.MediaPresentationDescription buildMediaPresentationDescription (long, long, long, boolean, long, long, com.google.android.exoplayer.dash.mpd.UtcTimingElement, java.lang.String, java.util.List) 
		long availabilityStartTime
		long durationMs
		long minBufferTimeMs
		boolean dynamic
		long minUpdateTimeMs
		long timeShiftBufferDepthMs
		com.google.android.exoplayer.dash.mpd.UtcTimingElement utcTiming
		String location
		java.util.List periods
	protected com.google.android.exoplayer.dash.mpd.UtcTimingElement parseUtcTiming (org.xmlpull.v1.XmlPullParser) 
		org.xmlpull.v1.XmlPullParser xpp
		String schemeIdUri
		String value
	protected com.google.android.exoplayer.dash.mpd.UtcTimingElement buildUtcTimingElement (java.lang.String, java.lang.String) 
		String schemeIdUri
		String value
	protected android.util.Pair parsePeriod (org.xmlpull.v1.XmlPullParser, java.lang.String, long)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		org.xmlpull.v1.XmlPullParser xpp
		String baseUrl
		long defaultStartMs
		String id
		long startMs
		long durationMs
		com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
		java.util.List adaptationSets
		boolean seenFirstBaseUrl
	protected com.google.android.exoplayer.dash.mpd.Period buildPeriod (java.lang.String, long, java.util.List) 
		String id
		long startMs
		java.util.List adaptationSets
	protected com.google.android.exoplayer.dash.mpd.AdaptationSet parseAdaptationSet (org.xmlpull.v1.XmlPullParser, java.lang.String, com.google.android.exoplayer.dash.mpd.SegmentBase)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		com.google.android.exoplayer.dash.mpd.ContentProtection contentProtection
		com.google.android.exoplayer.dash.mpd.Representation representation
		org.xmlpull.v1.XmlPullParser xpp
		String baseUrl
		com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
		int id
		int contentType
		String mimeType
		String codecs
		int width
		int height
		float frameRate
		int audioChannels
		int audioSamplingRate
		String language
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescriptionParser$ContentProtectionsBuilder contentProtectionsBuilder
		java.util.List representations
		boolean seenFirstBaseUrl
	protected com.google.android.exoplayer.dash.mpd.AdaptationSet buildAdaptationSet (int, int, java.util.List, java.util.List) 
		int id
		int contentType
		java.util.List representations
		java.util.List contentProtections
	protected int parseContentType (org.xmlpull.v1.XmlPullParser) 
		org.xmlpull.v1.XmlPullParser xpp
		String contentType
	protected int getContentType (com.google.android.exoplayer.dash.mpd.Representation) 
		String codecs
		com.google.android.exoplayer.dash.mpd.Representation representation
		String mimeType
	protected com.google.android.exoplayer.dash.mpd.ContentProtection parseContentProtection (org.xmlpull.v1.XmlPullParser)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		org.xmlpull.v1.XmlPullParser xpp
		String schemeIdUri
		java.util.UUID uuid
		com.google.android.exoplayer.drm.DrmInitData$SchemeInitData data
		boolean seenPsshElement
	protected com.google.android.exoplayer.dash.mpd.ContentProtection buildContentProtection (java.lang.String, java.util.UUID, com.google.android.exoplayer.drm.DrmInitData$SchemeInitData) 
		String schemeIdUri
		java.util.UUID uuid
		com.google.android.exoplayer.drm.DrmInitData$SchemeInitData data
	protected void parseAdaptationSetChild (org.xmlpull.v1.XmlPullParser)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		org.xmlpull.v1.XmlPullParser xpp
	protected com.google.android.exoplayer.dash.mpd.Representation parseRepresentation (org.xmlpull.v1.XmlPullParser, java.lang.String, java.lang.String, java.lang.String, int, int, float, int, int, java.lang.String, com.google.android.exoplayer.dash.mpd.SegmentBase, com.google.android.exoplayer.dash.mpd.MediaPresentationDescriptionParser$ContentProtectionsBuilder)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		com.google.android.exoplayer.dash.mpd.ContentProtection contentProtection
		org.xmlpull.v1.XmlPullParser xpp
		String baseUrl
		String adaptationSetMimeType
		String adaptationSetCodecs
		int adaptationSetWidth
		int adaptationSetHeight
		float adaptationSetFrameRate
		int adaptationSetAudioChannels
		int adaptationSetAudioSamplingRate
		String adaptationSetLanguage
		com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescriptionParser$ContentProtectionsBuilder contentProtectionsBuilder
		String id
		int bandwidth
		String mimeType
		String codecs
		int width
		int height
		float frameRate
		int audioChannels
		int audioSamplingRate
		String language
		boolean seenFirstBaseUrl
		com.google.android.exoplayer.chunk.Format format
	protected com.google.android.exoplayer.chunk.Format buildFormat (java.lang.String, java.lang.String, int, int, float, int, int, int, java.lang.String, java.lang.String) 
		String id
		String mimeType
		int width
		int height
		float frameRate
		int audioChannels
		int audioSamplingRate
		int bandwidth
		String language
		String codecs
	protected com.google.android.exoplayer.dash.mpd.Representation buildRepresentation (java.lang.String, int, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase) 
		String contentId
		int revisionId
		com.google.android.exoplayer.chunk.Format format
		com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
	protected com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase parseSegmentBase (org.xmlpull.v1.XmlPullParser, java.lang.String, com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		String[] indexRange
		org.xmlpull.v1.XmlPullParser xpp
		String baseUrl
		com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase parent
		long timescale
		long presentationTimeOffset
		long indexStart
		long indexLength
		String indexRangeText
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
	protected com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase buildSingleSegmentBase (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, java.lang.String, long, long) 
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		long timescale
		long presentationTimeOffset
		String baseUrl
		long indexStart
		long indexLength
	protected com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentList parseSegmentList (org.xmlpull.v1.XmlPullParser, java.lang.String, com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentList)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		org.xmlpull.v1.XmlPullParser xpp
		String baseUrl
		com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentList parent
		long timescale
		long presentationTimeOffset
		long duration
		int startNumber
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		java.util.List timeline
		java.util.List segments
	protected com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentList buildSegmentList (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, int, long, java.util.List, java.util.List) 
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		long timescale
		long presentationTimeOffset
		int startNumber
		long duration
		java.util.List timeline
		java.util.List segments
	protected com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTemplate parseSegmentTemplate (org.xmlpull.v1.XmlPullParser, java.lang.String, com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTemplate)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		org.xmlpull.v1.XmlPullParser xpp
		String baseUrl
		com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTemplate parent
		long timescale
		long presentationTimeOffset
		long duration
		int startNumber
		com.google.android.exoplayer.dash.mpd.UrlTemplate mediaTemplate
		com.google.android.exoplayer.dash.mpd.UrlTemplate initializationTemplate
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		java.util.List timeline
	protected com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTemplate buildSegmentTemplate (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, int, long, java.util.List, com.google.android.exoplayer.dash.mpd.UrlTemplate, com.google.android.exoplayer.dash.mpd.UrlTemplate, java.lang.String) 
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		long timescale
		long presentationTimeOffset
		int startNumber
		long duration
		java.util.List timeline
		com.google.android.exoplayer.dash.mpd.UrlTemplate initializationTemplate
		com.google.android.exoplayer.dash.mpd.UrlTemplate mediaTemplate
		String baseUrl
	protected java.util.List parseSegmentTimeline (org.xmlpull.v1.XmlPullParser)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		int i
		long duration
		int count
		org.xmlpull.v1.XmlPullParser xpp
		java.util.List segmentTimeline
		long elapsedTime
	protected com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTimelineElement buildSegmentTimelineElement (long, long) 
		long elapsedTime
		long duration
	protected com.google.android.exoplayer.dash.mpd.UrlTemplate parseUrlTemplate (org.xmlpull.v1.XmlPullParser, java.lang.String, com.google.android.exoplayer.dash.mpd.UrlTemplate) 
		org.xmlpull.v1.XmlPullParser xpp
		String name
		com.google.android.exoplayer.dash.mpd.UrlTemplate defaultValue
		String valueString
	protected com.google.android.exoplayer.dash.mpd.RangedUri parseInitialization (org.xmlpull.v1.XmlPullParser, java.lang.String) 
		org.xmlpull.v1.XmlPullParser xpp
		String baseUrl
	protected com.google.android.exoplayer.dash.mpd.RangedUri parseSegmentUrl (org.xmlpull.v1.XmlPullParser, java.lang.String) 
		org.xmlpull.v1.XmlPullParser xpp
		String baseUrl
	protected com.google.android.exoplayer.dash.mpd.RangedUri parseRangedUrl (org.xmlpull.v1.XmlPullParser, java.lang.String, java.lang.String, java.lang.String) 
		String[] rangeTextArray
		org.xmlpull.v1.XmlPullParser xpp
		String baseUrl
		String urlAttribute
		String rangeAttribute
		String urlText
		long rangeStart
		long rangeLength
		String rangeText
	protected com.google.android.exoplayer.dash.mpd.RangedUri buildRangedUri (java.lang.String, java.lang.String, long, long) 
		String baseUrl
		String urlText
		long rangeStart
		long rangeLength
	protected int parseAudioChannelConfiguration (org.xmlpull.v1.XmlPullParser)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		int audioChannels
		org.xmlpull.v1.XmlPullParser xpp
		int audioChannels
		String schemeIdUri
	private static java.lang.String checkLanguageConsistency (java.lang.String, java.lang.String) 
		String firstLanguage
		String secondLanguage
	private static int checkContentTypeConsistency (int, int) 
		int firstType
		int secondType
	protected static float parseFrameRate (org.xmlpull.v1.XmlPullParser, float) 
		int numerator
		String denominatorString
		java.util.regex.Matcher frameRateMatcher
		org.xmlpull.v1.XmlPullParser xpp
		float defaultValue
		float frameRate
		String frameRateAttribute
	protected static long parseDuration (org.xmlpull.v1.XmlPullParser, java.lang.String, long) 
		org.xmlpull.v1.XmlPullParser xpp
		String name
		long defaultValue
		String value
	protected static long parseDateTime (org.xmlpull.v1.XmlPullParser, java.lang.String, long)  throws java.text.ParseException 
		org.xmlpull.v1.XmlPullParser xpp
		String name
		long defaultValue
		String value
	protected static java.lang.String parseBaseUrl (org.xmlpull.v1.XmlPullParser, java.lang.String)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		org.xmlpull.v1.XmlPullParser xpp
		String parentBaseUrl
	protected static int parseInt (org.xmlpull.v1.XmlPullParser, java.lang.String) 
		org.xmlpull.v1.XmlPullParser xpp
		String name
	protected static int parseInt (org.xmlpull.v1.XmlPullParser, java.lang.String, int) 
		org.xmlpull.v1.XmlPullParser xpp
		String name
		int defaultValue
		String value
	protected static long parseLong (org.xmlpull.v1.XmlPullParser, java.lang.String) 
		org.xmlpull.v1.XmlPullParser xpp
		String name
	protected static long parseLong (org.xmlpull.v1.XmlPullParser, java.lang.String, long) 
		org.xmlpull.v1.XmlPullParser xpp
		String name
		long defaultValue
		String value
	protected static java.lang.String parseString (org.xmlpull.v1.XmlPullParser, java.lang.String, java.lang.String) 
		org.xmlpull.v1.XmlPullParser xpp
		String name
		String defaultValue
		String value
	public volatile java.lang.Object parse (java.lang.String, java.io.InputStream)  throws com.google.android.exoplayer.ParserException java.io.IOException 
	static void  () 
}

com/google/android/exoplayer/dash/mpd/DashSingleSegmentIndex.class
DashSingleSegmentIndex.java
package com.google.android.exoplayer.dash.mpd
final com.google.android.exoplayer.dash.mpd.DashSingleSegmentIndex extends java.lang.Object implements com.google.android.exoplayer.dash.DashSegmentIndex  {
	private final com.google.android.exoplayer.dash.mpd.RangedUri uri
	public void  (com.google.android.exoplayer.dash.mpd.RangedUri) 
		com.google.android.exoplayer.dash.mpd.RangedUri uri
	public int getSegmentNum (long, long) 
		long timeUs
		long periodDurationUs
	public long getTimeUs (int) 
		int segmentNum
	public long getDurationUs (int, long) 
		int segmentNum
		long periodDurationUs
	public com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (int) 
		int segmentNum
	public int getFirstSegmentNum () 
	public int getLastSegmentNum (long) 
		long periodDurationUs
	public boolean isExplicit () 
}

com/google/android/exoplayer/dash/mpd/SegmentBase$MultiSegmentBase.class
SegmentBase.java
package com.google.android.exoplayer.dash.mpd
public abstract com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase extends com.google.android.exoplayer.dash.mpd.SegmentBase {
	final int startNumber
	final long duration
	final java.util.List segmentTimeline
	public void  (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, int, long, java.util.List) 
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		long timescale
		long presentationTimeOffset
		int startNumber
		long duration
		java.util.List segmentTimeline
	public int getSegmentNum (long, long) 
		long durationUs
		int segmentNum
		int midIndex
		long midTimeUs
		long timeUs
		long periodDurationUs
		int firstSegmentNum
		int lowIndex
		int highIndex
	public final long getSegmentDurationUs (int, long) 
		long duration
		int sequenceNumber
		long periodDurationUs
	public final long getSegmentTimeUs (int) 
		long unscaledSegmentTime
		int sequenceNumber
		long unscaledSegmentTime
	public abstract com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (com.google.android.exoplayer.dash.mpd.Representation, int) 
	public int getFirstSegmentNum () 
	public abstract int getLastSegmentNum (long) 
	public boolean isExplicit () 
}

com/google/android/exoplayer/dash/mpd/Representation$MultiSegmentRepresentation.class
Representation.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.Representation$MultiSegmentRepresentation extends com.google.android.exoplayer.dash.mpd.Representation implements com.google.android.exoplayer.dash.DashSegmentIndex  {
	private final com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase segmentBase
	public void  (java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase, java.lang.String) 
		String contentId
		long revisionId
		com.google.android.exoplayer.chunk.Format format
		com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase segmentBase
		String customCacheKey
	public com.google.android.exoplayer.dash.mpd.RangedUri getIndexUri () 
	public com.google.android.exoplayer.dash.DashSegmentIndex getIndex () 
	public com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (int) 
		int segmentIndex
	public int getSegmentNum (long, long) 
		long timeUs
		long periodDurationUs
	public long getTimeUs (int) 
		int segmentIndex
	public long getDurationUs (int, long) 
		int segmentIndex
		long periodDurationUs
	public int getFirstSegmentNum () 
	public int getLastSegmentNum (long) 
		long periodDurationUs
	public boolean isExplicit () 
}

com/google/android/exoplayer/dash/mpd/UtcTimingElementResolver$Iso8601Parser.class
UtcTimingElementResolver.java
package com.google.android.exoplayer.dash.mpd
 com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$Iso8601Parser extends java.lang.Object implements com.google.android.exoplayer.upstream.UriLoadable$Parser  {
	private void  () 
	public java.lang.Long parse (java.lang.String, java.io.InputStream)  throws com.google.android.exoplayer.ParserException java.io.IOException 
		java.text.SimpleDateFormat format
		java.text.ParseException e
		String connectionUrl
		java.io.InputStream inputStream
		String firstLine
	public volatile java.lang.Object parse (java.lang.String, java.io.InputStream)  throws com.google.android.exoplayer.ParserException java.io.IOException 
	void  (com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$1) 
		com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$1 x0
}

com/google/android/exoplayer/dash/mpd/SegmentBase$SingleSegmentBase.class
SegmentBase.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase extends com.google.android.exoplayer.dash.mpd.SegmentBase {
	public final String uri
	final long indexStart
	final long indexLength
	public void  (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, java.lang.String, long, long) 
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		long timescale
		long presentationTimeOffset
		String uri
		long indexStart
		long indexLength
	public void  (java.lang.String) 
		String uri
	public com.google.android.exoplayer.dash.mpd.RangedUri getIndex () 
}

com/google/android/exoplayer/dash/mpd/SegmentBase$SegmentTimelineElement.class
SegmentBase.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTimelineElement extends java.lang.Object {
	long startTime
	long duration
	public void  (long, long) 
		long startTime
		long duration
}

com/google/android/exoplayer/dash/mpd/UtcTimingElementResolver$1.class
UtcTimingElementResolver.java
package com.google.android.exoplayer.dash.mpd
 com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$1 extends java.lang.Object {
}

com/google/android/exoplayer/dash/mpd/SegmentBase$SegmentTemplate.class
SegmentBase.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTemplate extends com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase {
	final com.google.android.exoplayer.dash.mpd.UrlTemplate initializationTemplate
	final com.google.android.exoplayer.dash.mpd.UrlTemplate mediaTemplate
	private final String baseUrl
	public void  (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, int, long, java.util.List, com.google.android.exoplayer.dash.mpd.UrlTemplate, com.google.android.exoplayer.dash.mpd.UrlTemplate, java.lang.String) 
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		long timescale
		long presentationTimeOffset
		int startNumber
		long duration
		java.util.List segmentTimeline
		com.google.android.exoplayer.dash.mpd.UrlTemplate initializationTemplate
		com.google.android.exoplayer.dash.mpd.UrlTemplate mediaTemplate
		String baseUrl
	public com.google.android.exoplayer.dash.mpd.RangedUri getInitialization (com.google.android.exoplayer.dash.mpd.Representation) 
		String urlString
		com.google.android.exoplayer.dash.mpd.Representation representation
	public com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (com.google.android.exoplayer.dash.mpd.Representation, int) 
		com.google.android.exoplayer.dash.mpd.Representation representation
		int sequenceNumber
		long time
		String uriString
	public int getLastSegmentNum (long) 
		long durationUs
		long periodDurationUs
}

com/google/android/exoplayer/dash/mpd/UtcTimingElementResolver.class
UtcTimingElementResolver.java
package com.google.android.exoplayer.dash.mpd
public final com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver extends java.lang.Object implements com.google.android.exoplayer.upstream.Loader$Callback  {
	private final com.google.android.exoplayer.upstream.UriDataSource uriDataSource
	private final com.google.android.exoplayer.dash.mpd.UtcTimingElement timingElement
	private final long timingElementElapsedRealtime
	private final com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$UtcTimingCallback callback
	private com.google.android.exoplayer.upstream.Loader singleUseLoader
	private com.google.android.exoplayer.upstream.UriLoadable singleUseLoadable
	public static void resolveTimingElement (com.google.android.exoplayer.upstream.UriDataSource, com.google.android.exoplayer.dash.mpd.UtcTimingElement, long, com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$UtcTimingCallback) 
		com.google.android.exoplayer.upstream.UriDataSource uriDataSource
		com.google.android.exoplayer.dash.mpd.UtcTimingElement timingElement
		long timingElementElapsedRealtime
		com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$UtcTimingCallback callback
		com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver resolver
	private void  (com.google.android.exoplayer.upstream.UriDataSource, com.google.android.exoplayer.dash.mpd.UtcTimingElement, long, com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$UtcTimingCallback) 
		com.google.android.exoplayer.upstream.UriDataSource uriDataSource
		com.google.android.exoplayer.dash.mpd.UtcTimingElement timingElement
		long timingElementElapsedRealtime
		com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$UtcTimingCallback callback
	private void resolve () 
		String scheme
	private void resolveDirect () 
		long utcTimestamp
		long elapsedRealtimeOffset
		java.text.ParseException e
	private void resolveHttp (com.google.android.exoplayer.upstream.UriLoadable$Parser) 
		com.google.android.exoplayer.upstream.UriLoadable$Parser parser
	public void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
	public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
		long elapsedRealtimeOffset
	public void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException) 
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
		java.io.IOException exception
	private void releaseLoader () 
}

com/google/android/exoplayer/dash/mpd/UtcTimingElement.class
UtcTimingElement.java
package com.google.android.exoplayer.dash.mpd
public final com.google.android.exoplayer.dash.mpd.UtcTimingElement extends java.lang.Object {
	public final String schemeIdUri
	public final String value
	public void  (java.lang.String, java.lang.String) 
		String schemeIdUri
		String value
	public java.lang.String toString () 
}

com/google/android/exoplayer/dash/DashTrackSelector$Output.class
DashTrackSelector.java
package com.google.android.exoplayer.dash
public abstract com.google.android.exoplayer.dash.DashTrackSelector$Output extends java.lang.Object {
	public abstract void adaptiveTrack (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, int, int[]) 
	public abstract void fixedTrack (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, int, int) 
}

com/google/android/exoplayer/dash/DashChunkSource$NoAdaptationSetException.class
DashChunkSource.java
package com.google.android.exoplayer.dash
public com.google.android.exoplayer.dash.DashChunkSource$NoAdaptationSetException extends java.io.IOException {
	public void  (java.lang.String) 
		String message
}

com/google/android/exoplayer/dash/DashChunkSource$ExposedTrack.class
DashChunkSource.java
package com.google.android.exoplayer.dash
public final com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack extends java.lang.Object {
	public final com.google.android.exoplayer.MediaFormat trackFormat
	public final int adaptiveMaxWidth
	public final int adaptiveMaxHeight
	private final int adaptationSetIndex
	private final com.google.android.exoplayer.chunk.Format fixedFormat
	private final com.google.android.exoplayer.chunk.Format[] adaptiveFormats
	public void  (com.google.android.exoplayer.MediaFormat, int, com.google.android.exoplayer.chunk.Format) 
		com.google.android.exoplayer.MediaFormat trackFormat
		int adaptationSetIndex
		com.google.android.exoplayer.chunk.Format fixedFormat
	public void  (com.google.android.exoplayer.MediaFormat, int, com.google.android.exoplayer.chunk.Format[], int, int) 
		com.google.android.exoplayer.MediaFormat trackFormat
		int adaptationSetIndex
		com.google.android.exoplayer.chunk.Format[] adaptiveFormats
		int maxWidth
		int maxHeight
	public boolean isAdaptive () 
	static com.google.android.exoplayer.chunk.Format[] access$000 (com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack) 
		com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack x0
	static com.google.android.exoplayer.chunk.Format access$100 (com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack) 
		com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack x0
	static int access$500 (com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack) 
		com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack x0
}