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/Ac3PassthroughAudioTrackRenderer$1.class
Ac3PassthroughAudioTrackRenderer.java
package com.google.android.exoplayer
 com.google.android.exoplayer.Ac3PassthroughAudioTrackRenderer$1 extends java.lang.Object implements java.lang.Runnable  {
	final com.google.android.exoplayer.audio.AudioTrack$InitializationException val$e
	final com.google.android.exoplayer.Ac3PassthroughAudioTrackRenderer this$0
	void  (com.google.android.exoplayer.Ac3PassthroughAudioTrackRenderer, com.google.android.exoplayer.audio.AudioTrack$InitializationException) 
	public void run () 
}

com/google/android/exoplayer/SmoothFrameReleaseTimeHelper.class
SmoothFrameReleaseTimeHelper.java
package com.google.android.exoplayer
public com.google.android.exoplayer.SmoothFrameReleaseTimeHelper extends java.lang.Object implements com.google.android.exoplayer.MediaCodecVideoTrackRenderer$FrameReleaseTimeHelper android.view.Choreographer$FrameCallback  {
	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 boolean usePrimaryDisplayVsync
	private final long vsyncDurationNs
	private final long vsyncOffsetNs
	private android.view.Choreographer choreographer
	private long sampledVsyncTimeNs
	private long lastUnadjustedFrameTimeUs
	private long adjustedLastFrameTimeNs
	private long pendingAdjustedFrameTimeNs
	private boolean haveSync
	private long syncReleaseTimeNs
	private long syncFrameTimeNs
	private int frameCount
	public void  (float, boolean) 
		float primaryDisplayRefreshRate
		boolean usePrimaryDisplayVsync
	public void enable () 
	public void disable () 
	public void doFrame (long) 
		long vsyncTimeNs
	public long adjustReleaseTime (long, long) 
		long averageFrameTimeNs
		long candidateAdjustedFrameTimeNs
		long unadjustedFrameTimeUs
		long unadjustedReleaseTimeNs
		long unadjustedFrameTimeNs
		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
}

com/google/android/exoplayer/TrackInfo.class
TrackInfo.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.TrackInfo extends java.lang.Object {
	public final String mimeType
	public final long durationUs
	public void  (java.lang.String, long) 
		String mimeType
		long durationUs
}

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 decoderName
	public final String diagnosticInfo
	public void  (com.google.android.exoplayer.MediaFormat, java.lang.Throwable, int) 
		com.google.android.exoplayer.MediaFormat mediaFormat
		Throwable cause
		int errorCode
	public void  (com.google.android.exoplayer.MediaFormat, java.lang.Throwable, java.lang.String) 
		com.google.android.exoplayer.MediaFormat mediaFormat
		Throwable cause
		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/ParserException.class
ParserException.java
package com.google.android.exoplayer
public com.google.android.exoplayer.ParserException extends java.io.IOException {
	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/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) 
	public void run () 
}

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 int DISCONTINUITY_READ
	public abstract boolean prepare ()  throws java.io.IOException 
	public abstract int getTrackCount () 
	public abstract com.google.android.exoplayer.TrackInfo getTrackInfo (int) 
	public abstract void enable (int, long) 
	public abstract void disable (int) 
	public abstract boolean continueBuffering (long)  throws java.io.IOException 
	public abstract int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder, boolean)  throws java.io.IOException 
	public abstract void seekToUs (long) 
	public abstract long getBufferedPositionUs () 
	public abstract void release () 
}

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) 
	public void run () 
}

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) 
	public void handleMessage (android.os.Message) 
		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.TrackRenderer {
	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
	public final com.google.android.exoplayer.CodecCounters codecCounters
	private final com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
	private final boolean playClearSamplesWithoutKeys
	private final com.google.android.exoplayer.SampleSource source
	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
	protected final android.os.Handler eventHandler
	private com.google.android.exoplayer.MediaFormat format
	private java.util.Map drmInitData
	private android.media.MediaCodec codec
	private boolean codecIsAdaptive
	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 trackIndex
	private int sourceState
	private boolean inputStreamEnded
	private boolean outputStreamEnded
	private boolean waitingForKeys
	private boolean waitingForFirstSyncFrame
	private long currentPositionUs
	public void  (com.google.android.exoplayer.SampleSource, 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.drm.DrmSessionManager drmSessionManager
		boolean playClearSamplesWithoutKeys
		android.os.Handler eventHandler
		com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener eventListener
	protected int doPrepare ()  throws com.google.android.exoplayer.ExoPlaybackException 
		boolean sourcePrepared
		java.io.IOException e
		int i
	protected boolean handlesMimeType (java.lang.String) 
		String mimeType
	protected void onEnabled (long, boolean) 
		long positionUs
		boolean joining
	protected void configureCodec (android.media.MediaCodec, android.media.MediaFormat, android.media.MediaCrypto) 
		android.media.MediaCodec codec
		android.media.MediaFormat x
		android.media.MediaCrypto crypto
	protected final void maybeInitCodec ()  throws com.google.android.exoplayer.ExoPlaybackException 
		int drmSessionState
		com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException e
		Exception e
		String mimeType
		android.media.MediaCrypto mediaCrypto
		boolean requiresSecureDecoder
		com.google.android.exoplayer.DecoderInfo decoderInfo
		String decoderName
	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 () 
	protected void releaseCodec () 
	protected void onReleased () 
	protected long getCurrentPositionUs () 
	protected long getDurationUs () 
	protected long getBufferedPositionUs () 
		long sourceBufferedPosition
	protected void seekTo (long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
	protected void onStarted () 
	protected void onStopped () 
	protected void doSomeWork (long, long)  throws com.google.android.exoplayer.ExoPlaybackException 
		java.io.IOException e
		long positionUs
		long elapsedRealtimeUs
	private void readFormat ()  throws java.io.IOException com.google.android.exoplayer.ExoPlaybackException 
		int result
	private void discardSamples (long)  throws java.io.IOException com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
		int result
	private void checkForDiscontinuity ()  throws java.io.IOException com.google.android.exoplayer.ExoPlaybackException 
		int result
	private void flushCodec ()  throws com.google.android.exoplayer.ExoPlaybackException 
	private boolean feedInputBuffer (boolean)  throws java.io.IOException 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
		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 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) 
		android.media.MediaFormat format
	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 () 
	private boolean drainOutputBuffer (long, long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
		long elapsedRealtimeUs
		int decodeOnlyIndex
	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 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 int getDecodeOnlyIndex (long) 
		int i
		long presentationTimeUs
		int size
	static com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener access$000 (com.google.android.exoplayer.MediaCodecTrackRenderer) 
		com.google.android.exoplayer.MediaCodecTrackRenderer x0
}

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/MediaCodecVideoTrackRenderer$FrameReleaseTimeHelper.class
MediaCodecVideoTrackRenderer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.MediaCodecVideoTrackRenderer$FrameReleaseTimeHelper extends java.lang.Object {
	public abstract void enable () 
	public abstract void disable () 
	public abstract long adjustReleaseTime (long, long) 
}

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/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) 
	public void run () 
}

com/google/android/exoplayer/Ac3PassthroughAudioTrackRenderer.class
Ac3PassthroughAudioTrackRenderer.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.Ac3PassthroughAudioTrackRenderer extends com.google.android.exoplayer.TrackRenderer {
	public static final int MSG_SET_VOLUME
	private static final int SOURCE_STATE_NOT_READY
	private static final int SOURCE_STATE_READY
	private static final int DEFAULT_BUFFER_SIZE
	private final android.os.Handler eventHandler
	private final com.google.android.exoplayer.Ac3PassthroughAudioTrackRenderer$EventListener eventListener
	private final com.google.android.exoplayer.SampleSource source
	private final com.google.android.exoplayer.SampleHolder sampleHolder
	private final com.google.android.exoplayer.MediaFormatHolder formatHolder
	private int trackIndex
	private com.google.android.exoplayer.MediaFormat format
	private int sourceState
	private boolean inputStreamEnded
	private boolean shouldReadInputBuffer
	private long currentPositionUs
	private com.google.android.exoplayer.audio.AudioTrack audioTrack
	private int audioSessionId
	public void  (com.google.android.exoplayer.SampleSource, android.os.Handler, com.google.android.exoplayer.Ac3PassthroughAudioTrackRenderer$EventListener) 
		com.google.android.exoplayer.SampleSource source
		android.os.Handler eventHandler
		com.google.android.exoplayer.Ac3PassthroughAudioTrackRenderer$EventListener eventListener
	protected boolean isTimeSource () 
	protected int doPrepare ()  throws com.google.android.exoplayer.ExoPlaybackException 
		boolean sourcePrepared
		java.io.IOException e
		int i
	private static boolean handlesMimeType (java.lang.String) 
		String mimeType
	protected void onEnabled (long, boolean) 
		long positionUs
		boolean joining
	protected void doSomeWork (long, long)  throws com.google.android.exoplayer.ExoPlaybackException 
		com.google.android.exoplayer.audio.AudioTrack$InitializationException e
		int oldAudioSessionId
		java.io.IOException e
		long positionUs
		long elapsedRealtimeUs
	private void readFormat ()  throws java.io.IOException 
		int result
	private void feedInputBuffer ()  throws java.io.IOException com.google.android.exoplayer.ExoPlaybackException 
		int result
		com.google.android.exoplayer.audio.AudioTrack$WriteException e
		int handleBufferResult
	protected void onStarted () 
	protected void onStopped () 
	protected boolean isEnded () 
	protected boolean isReady () 
	protected long getCurrentPositionUs () 
		long audioTrackCurrentPositionUs
	protected long getDurationUs () 
	protected long getBufferedPositionUs () 
		long sourceBufferedPosition
	protected void onDisabled () 
	protected void seekTo (long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
	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
	static com.google.android.exoplayer.Ac3PassthroughAudioTrackRenderer$EventListener access$000 (com.google.android.exoplayer.Ac3PassthroughAudioTrackRenderer) 
		com.google.android.exoplayer.Ac3PassthroughAudioTrackRenderer x0
}

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/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_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_ENABLED
	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.MediaClock mediaClock
	private final boolean[] rendererEnabledFlags
	private final long minBufferUs
	private final long minRebufferUs
	private final java.util.List enabledRenderers
	private com.google.android.exoplayer.TrackRenderer[] renderers
	private com.google.android.exoplayer.TrackRenderer timeSourceTrackRenderer
	private boolean released
	private boolean playWhenReady
	private boolean rebuffering
	private int state
	private int customMessagesSent
	private int customMessagesProcessed
	private long elapsedRealtimeUs
	private volatile long durationUs
	private volatile long positionUs
	private volatile long bufferedPositionUs
	public void  (android.os.Handler, boolean, boolean[], int, int) 
		int i
		android.os.Handler eventHandler
		boolean playWhenReady
		boolean[] rendererEnabledFlags
		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 setRendererEnabled (int, boolean) 
		int index
		boolean enabled
	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[]) 
		int i
		com.google.android.exoplayer.TrackRenderer[] renderers
	private void incrementalPrepareInternal ()  throws com.google.android.exoplayer.ExoPlaybackException 
		int state
		int i
		long trackDurationUs
		com.google.android.exoplayer.TrackRenderer renderer
		int i
		long operationStartTimeMs
		boolean prepared
		long durationUs
		boolean isEnded
		boolean allRenderersReadyOrEnded
	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
		int i
		long operationStartTimeMs
		long bufferedPositionUs
		boolean isEnded
		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 setRendererEnabledInternal (int, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		boolean playing
		int index
		boolean enabled
		com.google.android.exoplayer.TrackRenderer renderer
		int rendererState
	private void ensureStopped (com.google.android.exoplayer.TrackRenderer)  throws com.google.android.exoplayer.ExoPlaybackException 
		com.google.android.exoplayer.TrackRenderer renderer
}

com/google/android/exoplayer/ExoPlayerLibraryInfo.class
ExoPlayerLibraryInfo.java
package com.google.android.exoplayer
public 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/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/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 outputFormatChangedCount
	public int outputBuffersChangedCount
	public int renderedOutputBufferCount
	public int skippedOutputBufferCount
	public int droppedOutputBufferCount
	public void  () 
	public synchronized void ensureUpdated () 
	public java.lang.String getDebugString () 
		StringBuilder builder
}

com/google/android/exoplayer/Ac3PassthroughAudioTrackRenderer$EventListener.class
Ac3PassthroughAudioTrackRenderer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.Ac3PassthroughAudioTrackRenderer$EventListener extends java.lang.Object {
	public abstract void onAudioTrackInitializationError (com.google.android.exoplayer.audio.AudioTrack$InitializationException) 
	public abstract void onAudioTrackWriteError (com.google.android.exoplayer.audio.AudioTrack$WriteException) 
}

com/google/android/exoplayer/VideoSurfaceView.class
VideoSurfaceView.java
package com.google.android.exoplayer
public com.google.android.exoplayer.VideoSurfaceView extends android.view.SurfaceView {
	private static final float MAX_ASPECT_RATIO_DEFORMATION_PERCENT
	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 setVideoWidthHeightRatio (float) 
		float widthHeightRatio
	protected void onMeasure (int, int) 
		float viewAspectRatio
		float aspectDeformation
		int widthMeasureSpec
		int heightMeasureSpec
		int width
		int height
}

com/google/android/exoplayer/MediaCodecUtil$DecoderQueryException.class
MediaCodecUtil.java
package com.google.android.exoplayer
public com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException extends java.lang.Exception {
	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/DefaultLoadControl.class
DefaultLoadControl.java
package com.google.android.exoplayer
public 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_POOL_LOAD
	public static final float DEFAULT_HIGH_POOL_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 lowPoolLoad
	private final float highPoolLoad
	private int targetBufferSize
	private long maxLoadStartPositionUs
	private int bufferPoolState
	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 lowPoolLoad
		float highPoolLoad
	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, boolean) 
		Object loader
		long playbackPositionUs
		long nextLoadPositionUs
		boolean loading
		boolean failed
		int loaderBufferState
		com.google.android.exoplayer.DefaultLoadControl$LoaderState loaderState
		boolean loaderStateChanged
		int allocatedSize
		int bufferPoolState
		boolean bufferPoolStateChanged
	private int getLoaderBufferState (long, long) 
		long timeUntilNextLoadPosition
		long playbackPositionUs
		long nextLoadPositionUs
	private int getBufferPoolState (int) 
		int allocatedSize
		float bufferPoolLoad
	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 failed
		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/MediaCodecUtil$1.class
MediaCodecUtil.java
package com.google.android.exoplayer
 com.google.android.exoplayer.MediaCodecUtil$1 extends java.lang.Object {
}

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) 
	public void run () 
}

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) 
	public void run () 
}

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  {
	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 android.media.MediaExtractor extractor
	private com.google.android.exoplayer.TrackInfo[] trackInfos
	private boolean prepared
	private int remainingReleaseCount
	private int[] trackStates
	private boolean[] pendingDiscontinuities
	private long seekPositionUs
	public void  (android.content.Context, android.net.Uri, java.util.Map, int) 
		android.content.Context context
		android.net.Uri uri
		java.util.Map headers
		int downstreamRendererCount
	public void  (java.io.FileDescriptor, long, long, int) 
		java.io.FileDescriptor fileDescriptor
		long offset
		long length
		int downstreamRendererCount
	public boolean prepare ()  throws java.io.IOException 
		android.media.MediaFormat format
		long durationUs
		String mime
		int i
	public int getTrackCount () 
	public com.google.android.exoplayer.TrackInfo getTrackInfo (int) 
		int track
	public void enable (int, long) 
		int track
		long positionUs
	public boolean continueBuffering (long) 
		long positionUs
	public int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder, boolean) 
		int offset
		int track
		long positionUs
		com.google.android.exoplayer.MediaFormatHolder formatHolder
		com.google.android.exoplayer.SampleHolder sampleHolder
		boolean onlyReadDiscontinuity
		int extractorTrackIndex
	private java.util.Map getPsshInfoV18 () 
		java.util.Map psshInfo
	public void disable (int) 
		int track
	public void seekToUs (long) 
		int i
		long positionUs
	public long getBufferedPositionUs () 
		long sampleTime
		long bufferedDurationUs
	public void release () 
}

com/google/android/exoplayer/MediaFormat.class
MediaFormat.java
package com.google.android.exoplayer
public com.google.android.exoplayer.MediaFormat extends java.lang.Object {
	private static final String KEY_PIXEL_WIDTH_HEIGHT_RATIO
	public static final int NO_VALUE
	public final String mimeType
	public final int maxInputSize
	public final int width
	public final int height
	public final float pixelWidthHeightRatio
	public final int channelCount
	public final int sampleRate
	public final int bitrate
	private int maxWidth
	private int maxHeight
	public final java.util.List initializationData
	private int hashCode
	private android.media.MediaFormat frameworkMediaFormat
	public static com.google.android.exoplayer.MediaFormat createFromFrameworkMediaFormatV16 (android.media.MediaFormat) 
		android.media.MediaFormat format
	public static com.google.android.exoplayer.MediaFormat createVideoFormat (java.lang.String, int, int, int, java.util.List) 
		String mimeType
		int maxInputSize
		int width
		int height
		java.util.List initializationData
	public static com.google.android.exoplayer.MediaFormat createVideoFormat (java.lang.String, int, int, int, float, java.util.List) 
		String mimeType
		int maxInputSize
		int width
		int height
		float pixelWidthHeightRatio
		java.util.List initializationData
	public static com.google.android.exoplayer.MediaFormat createAudioFormat (java.lang.String, int, int, int, java.util.List) 
		String mimeType
		int maxInputSize
		int channelCount
		int sampleRate
		java.util.List initializationData
	public static com.google.android.exoplayer.MediaFormat createAudioFormat (java.lang.String, int, int, int, int, java.util.List) 
		String mimeType
		int maxInputSize
		int channelCount
		int sampleRate
		int bitrate
		java.util.List initializationData
	public static com.google.android.exoplayer.MediaFormat createId3Format () 
	public static com.google.android.exoplayer.MediaFormat createEia608Format () 
	public static com.google.android.exoplayer.MediaFormat createTtmlFormat () 
	public static com.google.android.exoplayer.MediaFormat createFormatForMimeType (java.lang.String) 
		String mimeType
	private void  (android.media.MediaFormat) 
		java.nio.ByteBuffer buffer
		byte[] data
		int i
		android.media.MediaFormat format
	private void  (java.lang.String, int, int, int, float, int, int, int, java.util.List) 
		String mimeType
		int maxInputSize
		int width
		int height
		float pixelWidthHeightRatio
		int channelCount
		int sampleRate
		int bitrate
		java.util.List initializationData
	public void setMaxVideoDimensions (int, int) 
		int maxWidth
		int maxHeight
	public int getMaxVideoWidth () 
	public int getMaxVideoHeight () 
	public int hashCode () 
		int i
		int result
	public boolean equals (java.lang.Object) 
		Object obj
	public boolean equals (com.google.android.exoplayer.MediaFormat, boolean) 
		com.google.android.exoplayer.MediaFormat other
		boolean ignoreMaxDimensions
	private boolean equalsInternal (com.google.android.exoplayer.MediaFormat, boolean) 
		int i
		com.google.android.exoplayer.MediaFormat other
		boolean ignoreMaxDimensions
	public java.lang.String toString () 
	public final android.media.MediaFormat getFrameworkMediaFormatV16 () 
		int i
		android.media.MediaFormat format
	private final void maybeSetMaxDimensionsV16 (android.media.MediaFormat) 
		android.media.MediaFormat format
	private static final void maybeSetIntegerV16 (android.media.MediaFormat, java.lang.String, int) 
		android.media.MediaFormat format
		String key
		int value
	private static final void maybeSetFloatV16 (android.media.MediaFormat, java.lang.String, float) 
		android.media.MediaFormat format
		String key
		float value
	private static final int getOptionalIntegerV16 (android.media.MediaFormat, java.lang.String) 
		android.media.MediaFormat format
		String key
	private static final float getOptionalFloatV16 (android.media.MediaFormat, java.lang.String) 
		android.media.MediaFormat format
		String key
}

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
	public static com.google.android.exoplayer.ExoPlayer newInstance (int, int) 
		int rendererCount
		int minRebufferMs
}

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 {
	public static final int MSG_SET_VOLUME
	private final com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener eventListener
	private final com.google.android.exoplayer.audio.AudioTrack audioTrack
	private int audioSessionId
	private long currentPositionUs
	public void  (com.google.android.exoplayer.SampleSource) 
		com.google.android.exoplayer.SampleSource source
	public void  (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.drm.DrmSessionManager, boolean) 
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
		boolean playClearSamplesWithoutKeys
	public void  (com.google.android.exoplayer.SampleSource, android.os.Handler, com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener) 
		com.google.android.exoplayer.SampleSource source
		android.os.Handler eventHandler
		com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener eventListener
	public void  (com.google.android.exoplayer.SampleSource, 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.drm.DrmSessionManager drmSessionManager
		boolean playClearSamplesWithoutKeys
		android.os.Handler eventHandler
		com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener eventListener
	protected boolean isTimeSource () 
	protected boolean handlesMimeType (java.lang.String) 
		String mimeType
	protected void onEnabled (long, boolean) 
		long positionUs
		boolean joining
	protected void onOutputFormatChanged (android.media.MediaFormat) 
		android.media.MediaFormat format
	protected void onAudioSessionId (int) 
		int audioSessionId
	protected void onStarted () 
	protected void onStopped () 
	protected boolean isEnded () 
	protected boolean isReady () 
	protected long getCurrentPositionUs () 
		long audioTrackCurrentPositionUs
	protected void onDisabled () 
	protected void seekTo (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
		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
	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
	static com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener access$000 (com.google.android.exoplayer.MediaCodecAudioTrackRenderer) 
		com.google.android.exoplayer.MediaCodecAudioTrackRenderer x0
}

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 java.util.Map drmInitData
	public void  () 
}

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

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
	public boolean decodeOnly
	private final int bufferReplacementMode
	public void  (int) 
		int bufferReplacementMode
	public boolean replaceBuffer (int) 
		int capacity
}

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) 
	public void run () 
}

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 boolean failed
	public long nextLoadPositionUs
	public void  (int) 
		int bufferSizeContribution
}

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) 
	public void run () 
}

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 float val$currentPixelWidthHeightRatio
	final com.google.android.exoplayer.MediaCodecVideoTrackRenderer this$0
	void  (com.google.android.exoplayer.MediaCodecVideoTrackRenderer, int, int, float) 
	public void run () 
}

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 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 void setRendererEnabled (int, boolean) 
	public abstract boolean getRendererEnabled (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/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/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 MICROS_PER_SECOND
	public static final int LENGTH_UNBOUNDED
	public static final String UTF8_NAME
	private void  () 
}

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/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.MediaCodecVideoTrackRenderer$FrameReleaseTimeHelper 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 currentWidth
	private int currentHeight
	private float currentPixelWidthHeightRatio
	private int lastReportedWidth
	private int lastReportedHeight
	private float lastReportedPixelWidthHeightRatio
	public void  (com.google.android.exoplayer.SampleSource, int) 
		com.google.android.exoplayer.SampleSource source
		int videoScalingMode
	public void  (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.drm.DrmSessionManager, boolean, int) 
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
		boolean playClearSamplesWithoutKeys
		int videoScalingMode
	public void  (com.google.android.exoplayer.SampleSource, int, long) 
		com.google.android.exoplayer.SampleSource source
		int videoScalingMode
		long allowedJoiningTimeMs
	public void  (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.drm.DrmSessionManager, boolean, int, long) 
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
		boolean playClearSamplesWithoutKeys
		int videoScalingMode
		long allowedJoiningTimeMs
	public void  (com.google.android.exoplayer.SampleSource, int, long, android.os.Handler, com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener, int) 
		com.google.android.exoplayer.SampleSource source
		int videoScalingMode
		long allowedJoiningTimeMs
		android.os.Handler eventHandler
		com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener eventListener
		int maxDroppedFrameCountToNotify
	public void  (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.drm.DrmSessionManager, boolean, int, long, com.google.android.exoplayer.MediaCodecVideoTrackRenderer$FrameReleaseTimeHelper, android.os.Handler, com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener, int) 
		com.google.android.exoplayer.SampleSource source
		com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
		boolean playClearSamplesWithoutKeys
		int videoScalingMode
		long allowedJoiningTimeMs
		com.google.android.exoplayer.MediaCodecVideoTrackRenderer$FrameReleaseTimeHelper frameReleaseTimeHelper
		android.os.Handler eventHandler
		com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener eventListener
		int maxDroppedFrameCountToNotify
	protected boolean handlesMimeType (java.lang.String) 
		String mimeType
	protected void onEnabled (long, boolean) 
		long positionUs
		boolean joining
	protected void seekTo (long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
	protected boolean isReady () 
	protected void onStarted () 
	protected void onStopped () 
	public void onDisabled () 
	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, android.media.MediaFormat, android.media.MediaCrypto) 
		android.media.MediaCodec codec
		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 void onOutputFormatChanged (android.media.MediaFormat) 
		android.media.MediaFormat format
		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) 
		long adjustedReleaseTimeNs
		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
	private void skipOutputBuffer (android.media.MediaCodec, int) 
		android.media.MediaCodec codec
		int bufferIndex
	private void dropOutputBuffer (android.media.MediaCodec, int) 
		android.media.MediaCodec codec
		int bufferIndex
	private void renderOutputBufferImmediate (android.media.MediaCodec, int) 
		android.media.MediaCodec codec
		int bufferIndex
	private void renderOutputBufferTimedV21 (android.media.MediaCodec, int, long) 
		android.media.MediaCodec codec
		int bufferIndex
		long releaseTimeNs
	private void maybeNotifyVideoSizeChanged () 
		int currentWidth
		int currentHeight
		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/MediaCodecUtil.class
MediaCodecUtil.java
package com.google.android.exoplayer
public com.google.android.exoplayer.MediaCodecUtil extends java.lang.Object {
	private static final String TAG
	private static final java.util.HashMap codecs
	public 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
	private 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 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 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 int avcLevelToMaxFrameSize (int) 
		int avcLevel
	static void  () 
}

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, float) 
	public abstract void onDrawnToSurface (android.view.Surface) 
}

com/google/android/exoplayer/CryptoInfo.class
CryptoInfo.java
package com.google.android.exoplayer
public 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/MediaClock.class
MediaClock.java
package com.google.android.exoplayer
 com.google.android.exoplayer.MediaClock extends java.lang.Object {
	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/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/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/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/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) 
}

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

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, boolean) 
}

com/google/android/exoplayer/ExoPlaybackException.class
ExoPlaybackException.java
package com.google.android.exoplayer
public com.google.android.exoplayer.ExoPlaybackException extends java.lang.Exception {
	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/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  {
	protected static final int STATE_RELEASED
	protected static final int STATE_IGNORE
	protected static final int STATE_UNPREPARED
	protected static final int STATE_PREPARED
	protected static final int STATE_ENABLED
	protected static final int STATE_STARTED
	public static final long UNKNOWN_TIME_US
	public static final long MATCH_LONGEST_US
	public static final long END_OF_TRACK_US
	private int state
	public void  () 
	protected boolean isTimeSource () 
	protected final int getState () 
	final int prepare ()  throws com.google.android.exoplayer.ExoPlaybackException 
	protected abstract int doPrepare ()  throws com.google.android.exoplayer.ExoPlaybackException 
	final void enable (long, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
		boolean joining
	protected void onEnabled (long, boolean)  throws com.google.android.exoplayer.ExoPlaybackException 
		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 long getDurationUs () 
	protected abstract long getCurrentPositionUs () 
	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/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 boolean[] rendererEnabledFlags
	private boolean playWhenReady
	private int playbackState
	private int pendingPlayWhenReadyAcks
	public void  (int, int, int) 
		int i
		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 void setRendererEnabled (int, boolean) 
		int index
		boolean enabled
	public boolean getRendererEnabled (int) 
		int index
	public void setPlayWhenReady (boolean) 
		com.google.android.exoplayer.ExoPlayer$Listener listener
		java.util.Iterator i$
		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
		java.util.Iterator i$
		com.google.android.exoplayer.ExoPlayer$Listener listener
		java.util.Iterator i$
		com.google.android.exoplayer.ExoPlayer$Listener listener
		java.util.Iterator i$
		com.google.android.exoplayer.ExoPlaybackException exception
		android.os.Message msg
}

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

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) 
}

com/google/android/exoplayer/upstream/
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/ByteArrayDataSink.class
ByteArrayDataSink.java
package com.google.android.exoplayer.upstream
public 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/DataSourceInputStream.class
DataSourceInputStream.java
package com.google.android.exoplayer.upstream
public 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 int read ()  throws java.io.IOException 
	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/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/ByteArrayNonBlockingInputStream.class
ByteArrayNonBlockingInputStream.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.ByteArrayNonBlockingInputStream extends java.lang.Object implements com.google.android.exoplayer.upstream.NonBlockingInputStream  {
	private final byte[] data
	private int position
	public void  (byte[]) 
		byte[] data
	public int skip (int) 
		int length
		int skipLength
	public int read (byte[], int, int) 
		byte[] buffer
		int offset
		int length
		int readLength
	public int read (java.nio.ByteBuffer, int) 
		java.nio.ByteBuffer buffer
		int length
		int readLength
	public long getAvailableByteCount () 
	public boolean isEndOfStream () 
	public void close () 
	private int getReadLength (int) 
		int requestedLength
}

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

com/google/android/exoplayer/upstream/BufferPool.class
BufferPool.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.BufferPool extends java.lang.Object implements com.google.android.exoplayer.upstream.Allocator  {
	private static final int INITIAL_RECYCLED_BUFFERS_CAPACITY
	public final int bufferLength
	private int allocatedBufferCount
	private int recycledBufferCount
	private byte[][] recycledBuffers
	public void  (int) 
		int bufferLength
	public synchronized int getAllocatedSize () 
	public synchronized void trim (int) 
		int targetSize
		int targetBufferCount
		int targetRecycledBufferCount
	public synchronized com.google.android.exoplayer.upstream.Allocation allocate (int) 
		int size
	synchronized byte[][] allocate (int, byte[][]) 
		int i
		int size
		byte[][] existing
		int requiredBufferCount
		byte[][] buffers
		int firstNewBufferIndex
	synchronized void release (com.google.android.exoplayer.upstream.BufferPool$AllocationImpl) 
		byte[][] newRecycledBuffers
		com.google.android.exoplayer.upstream.BufferPool$AllocationImpl allocation
		byte[][] buffers
		int newRecycledBufferCount
	private int requiredBufferCount (long) 
		long size
}

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

com/google/android/exoplayer/upstream/Aes128DataSource.class
Aes128DataSource.java
package com.google.android.exoplayer.upstream
public com.google.android.exoplayer.upstream.Aes128DataSource 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 final byte[] iv
	private javax.crypto.CipherInputStream cipherInputStream
	public void  (byte[], byte[], com.google.android.exoplayer.upstream.DataSource) 
		byte[] secretKey
		byte[] iv
		com.google.android.exoplayer.upstream.DataSource upstream
	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
		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/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/DefaultBandwidthMeter.class
DefaultBandwidthMeter.java
package com.google.android.exoplayer.upstream
public com.google.android.exoplayer.upstream.DefaultBandwidthMeter extends java.lang.Object implements com.google.android.exoplayer.upstream.BandwidthMeter com.google.android.exoplayer.upstream.TransferListener  {
	private static final int DEFAULT_MAX_WEIGHT
	private final android.os.Handler eventHandler
	private final com.google.android.exoplayer.upstream.DefaultBandwidthMeter$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.DefaultBandwidthMeter$EventListener) 
		android.os.Handler eventHandler
		com.google.android.exoplayer.upstream.DefaultBandwidthMeter$EventListener eventListener
	public void  (android.os.Handler, com.google.android.exoplayer.upstream.DefaultBandwidthMeter$EventListener, com.google.android.exoplayer.util.Clock) 
		android.os.Handler eventHandler
		com.google.android.exoplayer.upstream.DefaultBandwidthMeter$EventListener eventListener
		com.google.android.exoplayer.util.Clock clock
	public void  (android.os.Handler, com.google.android.exoplayer.upstream.DefaultBandwidthMeter$EventListener, int) 
		android.os.Handler eventHandler
		com.google.android.exoplayer.upstream.DefaultBandwidthMeter$EventListener eventListener
		int maxWeight
	public void  (android.os.Handler, com.google.android.exoplayer.upstream.DefaultBandwidthMeter$EventListener, com.google.android.exoplayer.util.Clock, int) 
		android.os.Handler eventHandler
		com.google.android.exoplayer.upstream.DefaultBandwidthMeter$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.DefaultBandwidthMeter$EventListener access$000 (com.google.android.exoplayer.upstream.DefaultBandwidthMeter) 
		com.google.android.exoplayer.upstream.DefaultBandwidthMeter x0
}

com/google/android/exoplayer/upstream/UnexpectedLengthException.class
UnexpectedLengthException.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.UnexpectedLengthException extends java.io.IOException {
	public final long expectedLength
	public final long actualLength
	public void  (long, long) 
		long expectedLength
		long actualLength
}

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/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/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_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/BufferPool$AllocationImpl.class
BufferPool.java
package com.google.android.exoplayer.upstream
 com.google.android.exoplayer.upstream.BufferPool$AllocationImpl extends java.lang.Object implements com.google.android.exoplayer.upstream.Allocation  {
	private byte[][] buffers
	final com.google.android.exoplayer.upstream.BufferPool this$0
	public void  (com.google.android.exoplayer.upstream.BufferPool, byte[][]) 
		byte[][] buffers
	public void ensureCapacity (int) 
		int size
	public int capacity () 
	public byte[][] getBuffers () 
	public int getFragmentOffset (int) 
		int index
	public int getFragmentLength (int) 
		int index
	public void release () 
}

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/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/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/DataSourceStream$ReadHead.class
DataSourceStream.java
package com.google.android.exoplayer.upstream
 com.google.android.exoplayer.upstream.DataSourceStream$ReadHead extends java.lang.Object {
	private int position
	private int fragmentIndex
	private int fragmentOffset
	private int fragmentRemaining
	private void  () 
	public void reset () 
	void  (com.google.android.exoplayer.upstream.DataSourceStream$1) 
		com.google.android.exoplayer.upstream.DataSourceStream$1 x0
	static int access$100 (com.google.android.exoplayer.upstream.DataSourceStream$ReadHead) 
		com.google.android.exoplayer.upstream.DataSourceStream$ReadHead x0
	static int access$202 (com.google.android.exoplayer.upstream.DataSourceStream$ReadHead, int) 
		com.google.android.exoplayer.upstream.DataSourceStream$ReadHead x0
		int x1
	static int access$302 (com.google.android.exoplayer.upstream.DataSourceStream$ReadHead, int) 
		com.google.android.exoplayer.upstream.DataSourceStream$ReadHead x0
		int x1
	static int access$402 (com.google.android.exoplayer.upstream.DataSourceStream$ReadHead, int) 
		com.google.android.exoplayer.upstream.DataSourceStream$ReadHead x0
		int x1
	static int access$400 (com.google.android.exoplayer.upstream.DataSourceStream$ReadHead) 
		com.google.android.exoplayer.upstream.DataSourceStream$ReadHead x0
	static int access$208 (com.google.android.exoplayer.upstream.DataSourceStream$ReadHead) 
		com.google.android.exoplayer.upstream.DataSourceStream$ReadHead x0
	static int access$200 (com.google.android.exoplayer.upstream.DataSourceStream$ReadHead) 
		com.google.android.exoplayer.upstream.DataSourceStream$ReadHead x0
	static int access$300 (com.google.android.exoplayer.upstream.DataSourceStream$ReadHead) 
		com.google.android.exoplayer.upstream.DataSourceStream$ReadHead x0
	static int access$112 (com.google.android.exoplayer.upstream.DataSourceStream$ReadHead, int) 
		com.google.android.exoplayer.upstream.DataSourceStream$ReadHead x0
		int x1
	static int access$312 (com.google.android.exoplayer.upstream.DataSourceStream$ReadHead, int) 
		com.google.android.exoplayer.upstream.DataSourceStream$ReadHead x0
		int x1
	static int access$420 (com.google.android.exoplayer.upstream.DataSourceStream$ReadHead, int) 
		com.google.android.exoplayer.upstream.DataSourceStream$ReadHead x0
		int x1
}

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/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) 
		Object x0
}

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 final android.net.Uri uri
	public final boolean uriIsFullStream
	public final long absoluteStreamPosition
	public final long position
	public final long length
	public final String key
	public void  (android.net.Uri) 
		android.net.Uri uri
	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, long) 
		android.net.Uri uri
		long absoluteStreamPosition
		long length
		String key
		long position
	public void  (android.net.Uri, long, long, java.lang.String, long, boolean) 
		android.net.Uri uri
		long absoluteStreamPosition
		long length
		String key
		long position
		boolean uriIsFullStream
	public java.lang.String toString () 
}

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

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.DataSource  {
	private final com.google.android.exoplayer.upstream.TransferListener listener
	private java.io.RandomAccessFile file
	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 void close ()  throws com.google.android.exoplayer.upstream.FileDataSource$FileDataSourceException 
		java.io.IOException e
}

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
	public void handleMessage (android.os.Message) 
		android.os.Message msg
	private void onFinished () 
}

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) 
	public void run () 
}

com/google/android/exoplayer/upstream/HttpDataSource.class
HttpDataSource.java
package com.google.android.exoplayer.upstream
public com.google.android.exoplayer.upstream.HttpDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource  {
	public static final com.google.android.exoplayer.util.Predicate REJECT_PAYWALL_TYPES
	public static final int DEFAULT_CONNECT_TIMEOUT_MILLIS
	public static final int DEFAULT_READ_TIMEOUT_MILLIS
	private static final String TAG
	private static final java.util.regex.Pattern CONTENT_RANGE_HEADER
	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 dataLength
	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 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
		java.io.IOException e
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		int responseCode
		String contentType
		long contentLength
	public int read (byte[], int, int)  throws com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException 
		java.io.IOException e
		byte[] buffer
		int offset
		int readLength
		int read
	public void close ()  throws com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException 
		java.io.IOException e
	private void closeConnection () 
	protected final java.net.HttpURLConnection getConnection () 
	protected final long bytesRead () 
	protected final long bytesRemaining () 
	private java.net.HttpURLConnection makeConnection (com.google.android.exoplayer.upstream.DataSpec)  throws java.io.IOException 
		java.util.Map$Entry property
		java.util.Iterator i$
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		java.net.URL url
		java.net.HttpURLConnection connection
	private void setRangeHeader (java.net.HttpURLConnection, com.google.android.exoplayer.upstream.DataSpec) 
		java.net.HttpURLConnection connection
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		String rangeRequest
	private 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
	static void  () 
}

com/google/android/exoplayer/upstream/NonBlockingInputStream.class
NonBlockingInputStream.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.NonBlockingInputStream extends java.lang.Object {
	public abstract int skip (int) 
	public abstract int read (byte[], int, int) 
	public abstract int read (java.nio.ByteBuffer, int) 
	public abstract long getAvailableByteCount () 
	public abstract boolean isEndOfStream () 
	public abstract void close () 
}

com/google/android/exoplayer/upstream/UriDataSource.class
UriDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.UriDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource  {
	private static final String FILE_URI_SCHEME
	private final com.google.android.exoplayer.upstream.DataSource fileDataSource
	private final com.google.android.exoplayer.upstream.DataSource httpDataSource
	private com.google.android.exoplayer.upstream.DataSource dataSource
	public void  (java.lang.String, com.google.android.exoplayer.upstream.TransferListener) 
		String userAgent
		com.google.android.exoplayer.upstream.TransferListener transferListener
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSource) 
		com.google.android.exoplayer.upstream.DataSource fileDataSource
		com.google.android.exoplayer.upstream.DataSource httpDataSource
	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 readLength
	public void close ()  throws java.io.IOException 
}

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/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/PriorityDataSource.class
PriorityDataSource.java
package com.google.android.exoplayer.upstream
public 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/ByteArrayDataSource.class
ByteArrayDataSource.java
package com.google.android.exoplayer.upstream
public com.google.android.exoplayer.upstream.ByteArrayDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource  {
	private final byte[] data
	private int readPosition
	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/DataSourceStream.class
DataSourceStream.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.DataSourceStream extends java.lang.Object implements com.google.android.exoplayer.upstream.Loader$Loadable com.google.android.exoplayer.upstream.NonBlockingInputStream  {
	private static final int CHUNKED_ALLOCATION_INCREMENT
	private final com.google.android.exoplayer.upstream.DataSource dataSource
	private final com.google.android.exoplayer.upstream.DataSpec dataSpec
	private final com.google.android.exoplayer.upstream.Allocator allocator
	private final com.google.android.exoplayer.upstream.DataSourceStream$ReadHead readHead
	private com.google.android.exoplayer.upstream.Allocation allocation
	private volatile boolean loadCanceled
	private volatile long loadPosition
	private volatile long resolvedLength
	private int writeFragmentIndex
	private int writeFragmentOffset
	private int writeFragmentRemainingLength
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, com.google.android.exoplayer.upstream.Allocator) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		com.google.android.exoplayer.upstream.Allocator allocator
	public void resetReadPosition () 
	public long getReadPosition () 
	public long getLoadPosition () 
	public long getLength () 
	public boolean isLoadFinished () 
	public long getAvailableByteCount () 
	public boolean isEndOfStream () 
	public void close () 
	public int skip (int) 
		int skipLength
	public int read (java.nio.ByteBuffer, int) 
		java.nio.ByteBuffer target1
		int readLength
	public int read (byte[], int, int) 
		byte[] target
		int offset
		int readLength
	private int read (java.nio.ByteBuffer, byte[], int, com.google.android.exoplayer.upstream.DataSourceStream$ReadHead, int) 
		int bufferReadLength
		java.nio.ByteBuffer target
		byte[] targetArray
		int targetArrayOffset
		com.google.android.exoplayer.upstream.DataSourceStream$ReadHead readHead
		int readLength
		int bytesToRead
		int bytesRead
		byte[][] buffers
	public void cancelLoad () 
	public boolean isLoadCanceled () 
	public void load ()  throws java.io.IOException java.lang.InterruptedException 
		long resolvedLength
		com.google.android.exoplayer.upstream.DataSpec loadDataSpec
		long remainingLength
		int initialAllocationSize
		com.google.android.exoplayer.upstream.DataSpec loadDataSpec
		int allocationCapacity
		int read
		byte[][] buffers
	private boolean maybeMoreToLoad () 
}

com/google/android/exoplayer/upstream/Allocation.class
Allocation.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.Allocation extends java.lang.Object {
	public abstract void ensureCapacity (int) 
	public abstract int capacity () 
	public abstract byte[][] getBuffers () 
	public abstract int getFragmentOffset (int) 
	public abstract int getFragmentLength (int) 
	public abstract void release () 
}

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 (int) 
	public abstract void trim (int) 
	public abstract int getAllocatedSize () 
}

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 {
	public static final long NO_ESTIMATE
	public abstract long getBitrateEstimate () 
}

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/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/cache/
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) 
	public void run () 
}

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/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/SimpleCache.class
SimpleCache.java
package com.google.android.exoplayer.upstream.cache
public 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/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/CacheDataSink.class
CacheDataSink.java
package com.google.android.exoplayer.upstream.cache
public 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 
}

com/google/android/exoplayer/upstream/cache/LeastRecentlyUsedCacheEvictor.class
LeastRecentlyUsedCacheEvictor.java
package com.google.android.exoplayer.upstream.cache
public 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) 
		Object x0
		Object x1
}

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 String SUFFIX_ESCAPED
	private static final java.util.regex.Pattern cacheFilePattern
	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
	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
	private 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) 
		Object x0
	static void  () 
}

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 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 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
		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
		InterruptedException e
	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/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/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/NoOpCacheEvictor.class
NoOpCacheEvictor.java
package com.google.android.exoplayer.upstream.cache
public 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/hls/
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 android.net.Uri baseUri
	public final int type
	protected void  (android.net.Uri, int) 
		android.net.Uri baseUri
		int type
}

com/google/android/exoplayer/hls/TsExtractor$SeiReader.class
TsExtractor.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.TsExtractor$SeiReader extends com.google.android.exoplayer.hls.TsExtractor$SampleQueue {
	private static final int NAL_UNIT_TYPE_SEI
	private final com.google.android.exoplayer.util.BitArray seiBuffer
	final com.google.android.exoplayer.hls.TsExtractor this$0
	public void  (com.google.android.exoplayer.hls.TsExtractor, com.google.android.exoplayer.hls.TsExtractor$SamplePool) 
		com.google.android.exoplayer.hls.TsExtractor$SamplePool samplePool
	public void read (byte[], int, long) 
		int seiStart
		int ccDataSize
		byte[] data
		int size
		long pesTimeUs
}

com/google/android/exoplayer/hls/TsExtractor.class
TsExtractor.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.TsExtractor extends java.lang.Object {
	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_AAC
	private static final int TS_STREAM_TYPE_H264
	private static final int TS_STREAM_TYPE_ID3
	private static final int TS_STREAM_TYPE_EIA608
	private final com.google.android.exoplayer.util.BitArray tsPacketBuffer
	private final android.util.SparseArray sampleQueues
	private final android.util.SparseArray tsPayloadReaders
	private final com.google.android.exoplayer.hls.TsExtractor$SamplePool samplePool
	private final boolean shouldSpliceIn
	final long firstSampleTimestamp
	private boolean spliceConfigured
	boolean pendingFirstSampleTimestampAdjustment
	long sampleTimestampOffsetUs
	private volatile boolean prepared
	volatile long largestParsedTimestampUs
	public void  (long, com.google.android.exoplayer.hls.TsExtractor$SamplePool, boolean) 
		long firstSampleTimestamp
		com.google.android.exoplayer.hls.TsExtractor$SamplePool samplePool
		boolean shouldSpliceIn
	public int getTrackCount () 
	public com.google.android.exoplayer.MediaFormat getFormat (int) 
		int track
	public boolean isPrepared () 
	public void release () 
		int i
	public void configureSpliceTo (com.google.android.exoplayer.hls.TsExtractor) 
		int i
		com.google.android.exoplayer.hls.TsExtractor nextExtractor
		boolean spliceConfigured
	public long getLargestSampleTimestamp () 
	public boolean getSample (int, com.google.android.exoplayer.SampleHolder) 
		int track
		com.google.android.exoplayer.SampleHolder out
		com.google.android.exoplayer.hls.TsExtractor$SampleQueue sampleQueue
		com.google.android.exoplayer.hls.TsExtractor$Sample sample
	public void discardUntil (int, long) 
		int track
		long timeUs
	public boolean hasSamples (int) 
		int track
	private boolean checkPrepared () 
		int i
		int pesPayloadReaderCount
	public int read (com.google.android.exoplayer.upstream.DataSource)  throws java.io.IOException 
		int adaptationFieldLength
		com.google.android.exoplayer.hls.TsExtractor$TsPayloadReader payloadReader
		com.google.android.exoplayer.upstream.DataSource dataSource
		int read
		int syncByte
		boolean payloadUnitStartIndicator
		int pid
		boolean adaptationFieldExists
		boolean payloadExists
	private void convert (com.google.android.exoplayer.hls.TsExtractor$Sample, com.google.android.exoplayer.SampleHolder) 
		com.google.android.exoplayer.hls.TsExtractor$Sample in
		com.google.android.exoplayer.SampleHolder out
	static android.util.SparseArray access$300 (com.google.android.exoplayer.hls.TsExtractor) 
		com.google.android.exoplayer.hls.TsExtractor x0
	static android.util.SparseArray access$400 (com.google.android.exoplayer.hls.TsExtractor) 
		com.google.android.exoplayer.hls.TsExtractor x0
	static com.google.android.exoplayer.hls.TsExtractor$SamplePool access$500 (com.google.android.exoplayer.hls.TsExtractor) 
		com.google.android.exoplayer.hls.TsExtractor x0
}

com/google/android/exoplayer/hls/TsExtractor$PmtReader.class
TsExtractor.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.TsExtractor$PmtReader extends com.google.android.exoplayer.hls.TsExtractor$TsPayloadReader {
	final com.google.android.exoplayer.hls.TsExtractor this$0
	private void  (com.google.android.exoplayer.hls.TsExtractor) 
	public void read (com.google.android.exoplayer.util.BitArray, boolean) 
		int pointerField
		com.google.android.exoplayer.hls.TsExtractor$SeiReader seiReader
		int streamType
		int elementaryPid
		int esInfoLength
		com.google.android.exoplayer.hls.TsExtractor$PesPayloadReader pesPayloadReader
		com.google.android.exoplayer.util.BitArray tsBuffer
		boolean payloadUnitStartIndicator
		int sectionLength
		int programInfoLength
		int entriesSize
	void  (com.google.android.exoplayer.hls.TsExtractor, com.google.android.exoplayer.hls.TsExtractor$1) 
		com.google.android.exoplayer.hls.TsExtractor x0
		com.google.android.exoplayer.hls.TsExtractor$1 x1
}

com/google/android/exoplayer/hls/TsExtractor$AdtsReader.class
TsExtractor.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.TsExtractor$AdtsReader extends com.google.android.exoplayer.hls.TsExtractor$PesPayloadReader {
	private final com.google.android.exoplayer.util.BitArray adtsBuffer
	private long timeUs
	private long frameDurationUs
	final com.google.android.exoplayer.hls.TsExtractor this$0
	public void  (com.google.android.exoplayer.hls.TsExtractor, com.google.android.exoplayer.hls.TsExtractor$SamplePool) 
		com.google.android.exoplayer.hls.TsExtractor$SamplePool samplePool
	public void read (com.google.android.exoplayer.util.BitArray, int, long) 
		com.google.android.exoplayer.util.BitArray pesBuffer
		int pesPayloadSize
		long pesTimeUs
		boolean needToProcessLeftOvers
		int frameIndex
	private boolean readOneAacFrame (long) 
		int audioObjectType
		int sampleRateIndex
		int channelConfig
		byte[] audioSpecificConfig
		android.util.Pair audioParams
		com.google.android.exoplayer.MediaFormat mediaFormat
		long timeUs
		int offsetToSyncWord
		int adtsStartOffset
		boolean hasCRC
		int frameSize
	public void release () 
}

com/google/android/exoplayer/hls/TsExtractor$PatReader.class
TsExtractor.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.TsExtractor$PatReader extends com.google.android.exoplayer.hls.TsExtractor$TsPayloadReader {
	final com.google.android.exoplayer.hls.TsExtractor this$0
	private void  (com.google.android.exoplayer.hls.TsExtractor) 
	public void read (com.google.android.exoplayer.util.BitArray, boolean) 
		int pointerField
		int pid
		int i
		com.google.android.exoplayer.util.BitArray tsBuffer
		boolean payloadUnitStartIndicator
		int sectionLength
		int programCount
	void  (com.google.android.exoplayer.hls.TsExtractor, com.google.android.exoplayer.hls.TsExtractor$1) 
		com.google.android.exoplayer.hls.TsExtractor x0
		com.google.android.exoplayer.hls.TsExtractor$1 x1
}

com/google/android/exoplayer/hls/TsExtractor$SampleQueue.class
TsExtractor.java
package com.google.android.exoplayer.hls
abstract com.google.android.exoplayer.hls.TsExtractor$SampleQueue extends java.lang.Object {
	private final com.google.android.exoplayer.hls.TsExtractor$SamplePool samplePool
	private final java.util.concurrent.ConcurrentLinkedQueue internalQueue
	private boolean needKeyframe
	private long lastReadTimeUs
	private long spliceOutTimeUs
	private volatile com.google.android.exoplayer.MediaFormat mediaFormat
	final com.google.android.exoplayer.hls.TsExtractor this$0
	protected void  (com.google.android.exoplayer.hls.TsExtractor, com.google.android.exoplayer.hls.TsExtractor$SamplePool) 
		com.google.android.exoplayer.hls.TsExtractor$SamplePool samplePool
	public boolean hasMediaFormat () 
	public com.google.android.exoplayer.MediaFormat getMediaFormat () 
	protected void setMediaFormat (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat mediaFormat
	public com.google.android.exoplayer.hls.TsExtractor$Sample poll () 
		com.google.android.exoplayer.hls.TsExtractor$Sample head
	public com.google.android.exoplayer.hls.TsExtractor$Sample peek () 
		com.google.android.exoplayer.hls.TsExtractor$Sample head
	public void discardUntil (long) 
		long timeUs
		com.google.android.exoplayer.hls.TsExtractor$Sample head
	public void release () 
		com.google.android.exoplayer.hls.TsExtractor$Sample toRecycle
	public void recycle (com.google.android.exoplayer.hls.TsExtractor$Sample) 
		com.google.android.exoplayer.hls.TsExtractor$Sample sample
	public boolean configureSpliceTo (com.google.android.exoplayer.hls.TsExtractor$SampleQueue) 
		long firstPossibleSpliceTime
		com.google.android.exoplayer.hls.TsExtractor$SampleQueue nextQueue
		long firstPossibleSpliceTime
		com.google.android.exoplayer.hls.TsExtractor$Sample nextSample
		java.util.concurrent.ConcurrentLinkedQueue nextInternalQueue
		com.google.android.exoplayer.hls.TsExtractor$Sample nextQueueSample
	protected com.google.android.exoplayer.hls.TsExtractor$Sample getSample (int) 
		int type
	protected void addSample (int, com.google.android.exoplayer.util.BitArray, int, long, boolean) 
		int type
		com.google.android.exoplayer.util.BitArray buffer
		int sampleSize
		long sampleTimeUs
		boolean isKeyframe
		com.google.android.exoplayer.hls.TsExtractor$Sample sample
	protected void addSample (com.google.android.exoplayer.hls.TsExtractor$Sample) 
		com.google.android.exoplayer.hls.TsExtractor$Sample sample
	protected void addToSample (com.google.android.exoplayer.hls.TsExtractor$Sample, com.google.android.exoplayer.util.BitArray, int) 
		com.google.android.exoplayer.hls.TsExtractor$Sample sample
		com.google.android.exoplayer.util.BitArray buffer
		int size
	private void adjustTimestamp (com.google.android.exoplayer.hls.TsExtractor$Sample) 
		com.google.android.exoplayer.hls.TsExtractor$Sample sample
}

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.util.ManifestParser  {
	private static final String VERSION_TAG
	private static final String STREAM_INF_TAG
	private static final String BANDWIDTH_ATTR
	private static final String CODECS_ATTR
	private static final String RESOLUTION_ATTR
	private static final String DISCONTINUITY_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 METHOD_ATTR
	private static final String URI_ATTR
	private static final String IV_ATTR
	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
	public void  () 
	public com.google.android.exoplayer.hls.HlsPlaylist parse (java.io.InputStream, java.lang.String, java.lang.String, android.net.Uri)  throws java.io.IOException 
		java.io.InputStream inputStream
		String inputEncoding
		String contentId
		android.net.Uri baseUri
		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, android.net.Uri)  throws java.io.IOException 
		String[] widthAndHeight
		String codecsString
		String resolutionString
		String line
		com.google.android.exoplayer.hls.HlsPlaylistParser$LineIterator iterator
		android.net.Uri baseUri
		java.util.List variants
		int bandwidth
		String[] codecs
		int width
		int height
		int variantIndex
	private static com.google.android.exoplayer.hls.HlsMediaPlaylist parseMediaPlaylist (com.google.android.exoplayer.hls.HlsPlaylistParser$LineIterator, android.net.Uri)  throws java.io.IOException 
		String byteRange
		String[] splitByteRange
		String line
		com.google.android.exoplayer.hls.HlsPlaylistParser$LineIterator iterator
		android.net.Uri baseUri
		int mediaSequence
		int targetDurationSecs
		int version
		boolean live
		java.util.List segments
		double segmentDurationSecs
		boolean segmentDiscontinuity
		long segmentStartTimeUs
		String segmentEncryptionMethod
		String segmentEncryptionKeyUri
		String segmentEncryptionIV
		int segmentByterangeOffset
		int segmentByterangeLength
		int segmentMediaSequence
	public volatile java.lang.Object parse (java.io.InputStream, java.lang.String, java.lang.String, android.net.Uri)  throws java.io.IOException com.google.android.exoplayer.ParserException 
		java.io.InputStream x0
		String x1
		String x2
		android.net.Uri x3
	static void  () 
}

com/google/android/exoplayer/hls/HlsSampleSource.class
HlsSampleSource.java
package com.google.android.exoplayer.hls
public com.google.android.exoplayer.hls.HlsSampleSource extends java.lang.Object implements com.google.android.exoplayer.SampleSource com.google.android.exoplayer.upstream.Loader$Callback  {
	public static final int DEFAULT_MIN_LOADABLE_RETRY_COUNT
	private static final int NO_RESET_PENDING
	private final com.google.android.exoplayer.hls.HlsChunkSource chunkSource
	private final java.util.LinkedList extractors
	private final boolean frameAccurateSeeking
	private final int minLoadableRetryCount
	private int remainingReleaseCount
	private boolean prepared
	private int trackCount
	private int enabledTrackCount
	private boolean[] trackEnabledStates
	private boolean[] pendingDiscontinuities
	private com.google.android.exoplayer.TrackInfo[] trackInfos
	private com.google.android.exoplayer.MediaFormat[] downstreamMediaFormats
	private long downstreamPositionUs
	private long lastSeekPositionUs
	private long pendingResetPositionUs
	private com.google.android.exoplayer.hls.TsChunk previousTsLoadable
	private com.google.android.exoplayer.hls.HlsChunk currentLoadable
	private boolean loadingFinished
	private com.google.android.exoplayer.upstream.Loader loader
	private java.io.IOException currentLoadableException
	private boolean currentLoadableExceptionFatal
	private int currentLoadableExceptionCount
	private long currentLoadableExceptionTimestamp
	public void  (com.google.android.exoplayer.hls.HlsChunkSource, boolean, int) 
		com.google.android.exoplayer.hls.HlsChunkSource chunkSource
		boolean frameAccurateSeeking
		int downstreamRendererCount
	public void  (com.google.android.exoplayer.hls.HlsChunkSource, boolean, int, int) 
		com.google.android.exoplayer.hls.HlsChunkSource chunkSource
		boolean frameAccurateSeeking
		int downstreamRendererCount
		int minLoadableRetryCount
	public boolean prepare ()  throws java.io.IOException 
		com.google.android.exoplayer.MediaFormat format
		int i
		com.google.android.exoplayer.hls.TsExtractor extractor
	public int getTrackCount () 
	public com.google.android.exoplayer.TrackInfo getTrackInfo (int) 
		int track
	public void enable (int, long) 
		int track
		long positionUs
	public void disable (int) 
		int track
	public boolean continueBuffering (long)  throws java.io.IOException 
		long playbackPositionUs
	private boolean continueBufferingInternal ()  throws java.io.IOException 
		boolean haveSamples
	public int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder, boolean)  throws java.io.IOException 
		int track
		long playbackPositionUs
		com.google.android.exoplayer.MediaFormatHolder formatHolder
		com.google.android.exoplayer.SampleHolder sampleHolder
		boolean onlyReadDiscontinuity
		com.google.android.exoplayer.hls.TsExtractor extractor
		int extractorIndex
		com.google.android.exoplayer.MediaFormat mediaFormat
	public void seekToUs (long) 
		int i
		long positionUs
	public long getBufferedPositionUs () 
		long largestSampleTimestamp
	public void release () 
	public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable) 
		com.google.android.exoplayer.hls.TsChunk tsChunk
		java.io.IOException e
		com.google.android.exoplayer.hls.TsChunk tsChunk
		com.google.android.exoplayer.hls.TsChunk tsChunk
		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
	private com.google.android.exoplayer.hls.TsExtractor getCurrentExtractor () 
		com.google.android.exoplayer.hls.TsExtractor extractor
	private void discardSamplesForDisabledTracks (com.google.android.exoplayer.hls.TsExtractor, long) 
		int i
		com.google.android.exoplayer.hls.TsExtractor extractor
		long timeUs
	private boolean haveSamplesForEnabledTracks (com.google.android.exoplayer.hls.TsExtractor) 
		int i
		com.google.android.exoplayer.hls.TsExtractor extractor
	private void maybeThrowLoadableException ()  throws java.io.IOException 
	private void restartFrom (long) 
		long positionUs
	private void clearState () 
		int i
	private void clearCurrentLoadable () 
	private void maybeStartLoading () 
		long elapsedMillis
		boolean isBackedOff
		com.google.android.exoplayer.hls.HlsChunk nextLoadable
	private boolean isTsChunk (com.google.android.exoplayer.hls.HlsChunk) 
		com.google.android.exoplayer.hls.HlsChunk chunk
	private boolean isPendingReset () 
	private long getRetryDelayMillis (long) 
		long errorCount
	protected final int usToMs (long) 
		long timeUs
}

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.hls.HlsChunk {
	private static final byte[] SCRATCH_SPACE
	public final int variantIndex
	public final long startTimeUs
	public final long endTimeUs
	public final int chunkIndex
	public final boolean isLastChunk
	public final com.google.android.exoplayer.hls.TsExtractor extractor
	private int loadPosition
	private volatile boolean loadFinished
	private volatile boolean loadCanceled
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, com.google.android.exoplayer.hls.TsExtractor, int, long, long, int, boolean) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		com.google.android.exoplayer.hls.TsExtractor tsExtractor
		int variantIndex
		long startTimeUs
		long endTimeUs
		int chunkIndex
		boolean isLastChunk
	public void consume ()  throws java.io.IOException 
	public boolean isLoadFinished () 
	public void cancelLoad () 
	public boolean isLoadCanceled () 
	public void load ()  throws java.io.IOException java.lang.InterruptedException 
		int skipLength
		int bytesRead
		int bytesSkipped
	static void  () 
}

com/google/android/exoplayer/hls/HlsChunk.class
HlsChunk.java
package com.google.android.exoplayer.hls
public abstract com.google.android.exoplayer.hls.HlsChunk extends java.lang.Object implements com.google.android.exoplayer.upstream.Loader$Loadable  {
	protected final com.google.android.exoplayer.upstream.DataSource dataSource
	protected final com.google.android.exoplayer.upstream.DataSpec dataSpec
	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 abstract void consume ()  throws java.io.IOException 
	public abstract boolean isLoadFinished () 
}

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

com/google/android/exoplayer/hls/TsExtractor$PesReader.class
TsExtractor.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.TsExtractor$PesReader extends com.google.android.exoplayer.hls.TsExtractor$TsPayloadReader {
	private final com.google.android.exoplayer.util.BitArray pesBuffer
	private final com.google.android.exoplayer.hls.TsExtractor$PesPayloadReader pesPayloadReader
	private int packetLength
	final com.google.android.exoplayer.hls.TsExtractor this$0
	public void  (com.google.android.exoplayer.hls.TsExtractor, com.google.android.exoplayer.hls.TsExtractor$PesPayloadReader) 
		com.google.android.exoplayer.hls.TsExtractor$PesPayloadReader pesPayloadReader
	public void read (com.google.android.exoplayer.util.BitArray, boolean) 
		com.google.android.exoplayer.util.BitArray tsBuffer
		boolean payloadUnitStartIndicator
	private void readPacketStart () 
		int startCodePrefix
	private void readPacketBody () 
		long pts
		int payloadSize
		boolean ptsFlag
		int headerDataLength
		long timeUs
		int payloadSize
}

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  (android.net.Uri, int, int, int, boolean, java.util.List) 
		com.google.android.exoplayer.hls.HlsMediaPlaylist$Segment last
		android.net.Uri baseUri
		int mediaSequence
		int targetDurationSecs
		int version
		boolean live
		java.util.List segments
}

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 {
	public final int index
	public final int bandwidth
	public final String url
	public final String[] codecs
	public final int width
	public final int height
	public void  (int, java.lang.String, int, java.lang.String[], int, int) 
		int index
		String url
		int bandwidth
		String[] codecs
		int width
		int height
}

com/google/android/exoplayer/hls/TsExtractor$TsPayloadReader.class
TsExtractor.java
package com.google.android.exoplayer.hls
abstract com.google.android.exoplayer.hls.TsExtractor$TsPayloadReader extends java.lang.Object {
	private void  () 
	public abstract void read (com.google.android.exoplayer.util.BitArray, boolean) 
	void  (com.google.android.exoplayer.hls.TsExtractor$1) 
		com.google.android.exoplayer.hls.TsExtractor$1 x0
}

com/google/android/exoplayer/hls/TsExtractor$Sample.class
TsExtractor.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.TsExtractor$Sample extends java.lang.Object {
	public static final int TYPE_VIDEO
	public static final int TYPE_AUDIO
	public static final int TYPE_MISC
	public static final int TYPE_COUNT
	public final int type
	public com.google.android.exoplayer.hls.TsExtractor$Sample nextInPool
	public byte[] data
	public boolean isKeyframe
	public int size
	public long timeUs
	public void  (int, int) 
		int type
		int length
	public void expand (int) 
		int length
		byte[] newBuffer
	public void reset () 
}

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 void  (android.net.Uri, java.util.List) 
		android.net.Uri baseUri
		java.util.List variants
}

com/google/android/exoplayer/hls/BitArrayChunk.class
BitArrayChunk.java
package com.google.android.exoplayer.hls
public abstract com.google.android.exoplayer.hls.BitArrayChunk extends com.google.android.exoplayer.hls.HlsChunk {
	private static final int READ_GRANULARITY
	private final com.google.android.exoplayer.util.BitArray bitArray
	private volatile boolean loadFinished
	private volatile boolean loadCanceled
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, com.google.android.exoplayer.util.BitArray) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		com.google.android.exoplayer.util.BitArray bitArray
	public void consume ()  throws java.io.IOException 
	protected abstract void consume (com.google.android.exoplayer.util.BitArray)  throws java.io.IOException 
	public boolean isLoadFinished () 
	public final void cancelLoad () 
	public final boolean isLoadCanceled () 
	public final void load ()  throws java.io.IOException java.lang.InterruptedException 
		int bytesRead
}

com/google/android/exoplayer/hls/TsExtractor$Id3Reader.class
TsExtractor.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.TsExtractor$Id3Reader extends com.google.android.exoplayer.hls.TsExtractor$PesPayloadReader {
	final com.google.android.exoplayer.hls.TsExtractor this$0
	public void  (com.google.android.exoplayer.hls.TsExtractor, com.google.android.exoplayer.hls.TsExtractor$SamplePool) 
		com.google.android.exoplayer.hls.TsExtractor$SamplePool samplePool
	public void read (com.google.android.exoplayer.util.BitArray, int, long) 
		com.google.android.exoplayer.util.BitArray pesBuffer
		int pesPayloadSize
		long pesTimeUs
}

com/google/android/exoplayer/hls/HlsChunkSource$MediaPlaylistChunk.class
HlsChunkSource.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.HlsChunkSource$MediaPlaylistChunk extends com.google.android.exoplayer.hls.BitArrayChunk {
	private final int variantIndex
	private final android.net.Uri playlistBaseUri
	final com.google.android.exoplayer.hls.HlsChunkSource this$0
	public void  (com.google.android.exoplayer.hls.HlsChunkSource, int, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, android.net.Uri) 
		int variantIndex
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		android.net.Uri playlistBaseUri
	protected void consume (com.google.android.exoplayer.util.BitArray)  throws java.io.IOException 
		com.google.android.exoplayer.util.BitArray data
		com.google.android.exoplayer.hls.HlsPlaylist playlist
		com.google.android.exoplayer.hls.HlsMediaPlaylist mediaPlaylist
}

com/google/android/exoplayer/hls/TsExtractor$PesPayloadReader.class
TsExtractor.java
package com.google.android.exoplayer.hls
abstract com.google.android.exoplayer.hls.TsExtractor$PesPayloadReader extends com.google.android.exoplayer.hls.TsExtractor$SampleQueue {
	final com.google.android.exoplayer.hls.TsExtractor this$0
	protected void  (com.google.android.exoplayer.hls.TsExtractor, com.google.android.exoplayer.hls.TsExtractor$SamplePool) 
		com.google.android.exoplayer.hls.TsExtractor$SamplePool samplePool
	public abstract void read (com.google.android.exoplayer.util.BitArray, int, long) 
}

com/google/android/exoplayer/hls/TsExtractor$H264Reader.class
TsExtractor.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.TsExtractor$H264Reader extends com.google.android.exoplayer.hls.TsExtractor$PesPayloadReader {
	private static final int NAL_UNIT_TYPE_IDR
	private static final int NAL_UNIT_TYPE_SPS
	private static final int NAL_UNIT_TYPE_PPS
	private static final int NAL_UNIT_TYPE_AUD
	public final com.google.android.exoplayer.hls.TsExtractor$SeiReader seiReader
	private com.google.android.exoplayer.hls.TsExtractor$Sample currentSample
	final com.google.android.exoplayer.hls.TsExtractor this$0
	public void  (com.google.android.exoplayer.hls.TsExtractor, com.google.android.exoplayer.hls.TsExtractor$SamplePool, com.google.android.exoplayer.hls.TsExtractor$SeiReader) 
		com.google.android.exoplayer.hls.TsExtractor$SamplePool samplePool
		com.google.android.exoplayer.hls.TsExtractor$SeiReader seiReader
	public void release () 
	public void read (com.google.android.exoplayer.util.BitArray, int, long) 
		com.google.android.exoplayer.util.BitArray pesBuffer
		int pesPayloadSize
		long pesTimeUs
	private int readOneH264Frame (com.google.android.exoplayer.util.BitArray, boolean) 
		int idrStart
		com.google.android.exoplayer.util.BitArray pesBuffer
		boolean remainderOnly
		int offset
		int audStart
	private void parseMediaFormat (com.google.android.exoplayer.hls.TsExtractor$Sample) 
		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
		com.google.android.exoplayer.hls.TsExtractor$Sample sample
		com.google.android.exoplayer.util.BitArray bitArray
		int spsOffset
		int ppsOffset
		int spsLength
		int ppsLength
		byte[] spsData
		byte[] ppsData
		java.util.List initializationData
		byte[] unescapedSps
		int profileIdc
		int chromaFormatIdc
		long picOrderCntType
		int picWidthInMbs
		int picHeightInMapUnits
		boolean frameMbsOnlyFlag
		int frameHeightInMbs
		int frameWidth
		int frameHeight
		boolean frameCroppingFlag
	private void skipScalingList (com.google.android.exoplayer.util.BitArray, int) 
		int deltaScale
		int i
		com.google.android.exoplayer.util.BitArray bitArray
		int size
		int lastScale
		int nextScale
	private byte[] unescapeStream (byte[], int, int) 
		int nextEscapePosition
		int copyLength
		int i
		byte[] data
		int offset
		int limit
		int position
		java.util.List escapePositions
		int escapeCount
		int escapedPosition
		int unescapedPosition
		byte[] unescapedData
		int remainingLength
	private int findNextUnescapeIndex (byte[], int, int) 
		int i
		byte[] bytes
		int offset
		int limit
}

com/google/android/exoplayer/hls/HlsChunkSource$EncryptionKeyChunk.class
HlsChunkSource.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.HlsChunkSource$EncryptionKeyChunk extends com.google.android.exoplayer.hls.BitArrayChunk {
	private final String iv
	final com.google.android.exoplayer.hls.HlsChunkSource this$0
	public void  (com.google.android.exoplayer.hls.HlsChunkSource, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, java.lang.String) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		String iv
	protected void consume (com.google.android.exoplayer.util.BitArray)  throws java.io.IOException 
		com.google.android.exoplayer.util.BitArray data
		byte[] secretKey
}

com/google/android/exoplayer/hls/HlsParserUtil.class
HlsParserUtil.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.HlsParserUtil extends java.lang.Object {
	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 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 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
}

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/TsExtractor$1.class
TsExtractor.java
package com.google.android.exoplayer.hls
 com.google.android.exoplayer.hls.TsExtractor$1 extends java.lang.Object {
}

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 boolean discontinuity
	public final double durationSecs
	public final String url
	public final long startTimeUs
	public final String encryptionMethod
	public final String encryptionKeyUri
	public final String encryptionIV
	public final int byterangeOffset
	public final int byterangeLength
	public void  (java.lang.String, double, boolean, long, java.lang.String, java.lang.String, java.lang.String, int, int) 
		String uri
		double durationSecs
		boolean discontinuity
		long startTimeUs
		String encryptionMethod
		String encryptionKeyUri
		String encryptionIV
		int byterangeOffset
		int byterangeLength
	public int compareTo (java.lang.Long) 
		Long startTimeUs
	public volatile int compareTo (java.lang.Object) 
		Object x0
}

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 {
	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_TARGET_BUFFER_DURATION_MS
	public static final long DEFAULT_MIN_BUFFER_TO_SWITCH_UP_MS
	public static final long DEFAULT_MAX_BUFFER_TO_SWITCH_DOWN_MS
	private static final float BANDWIDTH_FRACTION
	private final com.google.android.exoplayer.hls.TsExtractor$SamplePool samplePool
	private final com.google.android.exoplayer.upstream.DataSource upstreamDataSource
	private final com.google.android.exoplayer.hls.HlsPlaylistParser playlistParser
	private final com.google.android.exoplayer.hls.Variant[] enabledVariants
	private final com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
	private final com.google.android.exoplayer.util.BitArray bitArray
	private final int adaptiveMode
	private final android.net.Uri baseUri
	private final int maxWidth
	private final int maxHeight
	private final long targetBufferDurationUs
	private final long minBufferDurationToSwitchUpUs
	private final long maxBufferDurationToSwitchDownUs
	final com.google.android.exoplayer.hls.HlsMediaPlaylist[] mediaPlaylists
	final long[] lastMediaPlaylistLoadTimesMs
	boolean live
	long durationUs
	private int variantIndex
	private com.google.android.exoplayer.upstream.DataSource encryptedDataSource
	private android.net.Uri encryptionKeyUri
	private String encryptedDataSourceIv
	private byte[] encryptedDataSourceSecretKey
	public void  (com.google.android.exoplayer.upstream.DataSource, java.lang.String, com.google.android.exoplayer.hls.HlsPlaylist, com.google.android.exoplayer.upstream.BandwidthMeter, int[], int) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		String playlistUrl
		com.google.android.exoplayer.hls.HlsPlaylist playlist
		com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
		int[] variantIndices
		int adaptiveMode
	public void  (com.google.android.exoplayer.upstream.DataSource, java.lang.String, com.google.android.exoplayer.hls.HlsPlaylist, com.google.android.exoplayer.upstream.BandwidthMeter, int[], int, long, long, long) 
		int i
		com.google.android.exoplayer.upstream.DataSource dataSource
		String playlistUrl
		com.google.android.exoplayer.hls.HlsPlaylist playlist
		com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
		int[] variantIndices
		int adaptiveMode
		long targetBufferDurationMs
		long minBufferDurationToSwitchUpMs
		long maxBufferDurationToSwitchDownMs
		int maxWidth
		int maxHeight
		long minOriginalVariantIndex
	public long getDurationUs () 
	public void getMaxVideoDimensions (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat out
	public com.google.android.exoplayer.hls.HlsChunk getChunkOperation (com.google.android.exoplayer.hls.TsChunk, long, long) 
		com.google.android.exoplayer.hls.HlsChunk toReturn
		android.net.Uri keyUri
		long startTimeUs
		long startTimeUs
		long startTimeUs
		com.google.android.exoplayer.hls.TsExtractor extractor
		com.google.android.exoplayer.hls.TsChunk previousTsChunk
		long seekPositionUs
		long playbackPositionUs
		int nextVariantIndex
		boolean switchingVariant
		boolean switchingVariantSpliced
		com.google.android.exoplayer.hls.HlsMediaPlaylist mediaPlaylist
		int chunkMediaSequence
		boolean liveDiscontinuity
		int chunkIndex
		com.google.android.exoplayer.hls.HlsMediaPlaylist$Segment segment
		android.net.Uri chunkUri
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		long startTimeUs
		long endTimeUs
		boolean isLastChunk
		com.google.android.exoplayer.hls.TsExtractor extractor
	private int getNextVariantIndex (com.google.android.exoplayer.hls.TsChunk, long) 
		com.google.android.exoplayer.hls.TsChunk previousTsChunk
		long playbackPositionUs
		int idealVariantIndex
		long bufferedPositionUs
		long bufferedUs
	private int getVariantIndexForBandwdith (int) 
		int i
		int bandwidth
	private boolean shouldRerequestMediaPlaylist (int) 
		int variantIndex
		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
		android.net.Uri baseUri
	private com.google.android.exoplayer.hls.HlsChunkSource$EncryptionKeyChunk newEncryptionKeyChunk (android.net.Uri, java.lang.String) 
		android.net.Uri keyUri
		String iv
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	void initEncryptedDataSource (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 clearEncryptedDataSource () 
	void setMediaPlaylist (int, com.google.android.exoplayer.hls.HlsMediaPlaylist) 
		int variantIndex
		com.google.android.exoplayer.hls.HlsMediaPlaylist mediaPlaylist
	private static com.google.android.exoplayer.hls.Variant[] filterVariants (com.google.android.exoplayer.hls.HlsMasterPlaylist, int[]) 
		int i
		com.google.android.exoplayer.hls.Variant variant
		int i
		com.google.android.exoplayer.hls.HlsMasterPlaylist masterPlaylist
		int[] variantIndices
		java.util.List masterVariants
		java.util.ArrayList enabledVariants
		java.util.ArrayList definiteVideoVariants
		java.util.ArrayList definiteAudioOnlyVariants
		com.google.android.exoplayer.hls.Variant[] enabledVariantsArray
	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
	static com.google.android.exoplayer.util.BitArray access$000 (com.google.android.exoplayer.hls.HlsChunkSource) 
		com.google.android.exoplayer.hls.HlsChunkSource x0
	static com.google.android.exoplayer.hls.HlsPlaylistParser access$100 (com.google.android.exoplayer.hls.HlsChunkSource) 
		com.google.android.exoplayer.hls.HlsChunkSource x0
}

com/google/android/exoplayer/hls/TsExtractor$SamplePool.class
TsExtractor.java
package com.google.android.exoplayer.hls
public com.google.android.exoplayer.hls.TsExtractor$SamplePool extends java.lang.Object {
	private static final int[] DEFAULT_SAMPLE_SIZES
	private final com.google.android.exoplayer.hls.TsExtractor$Sample[] pools
	public void  () 
	synchronized com.google.android.exoplayer.hls.TsExtractor$Sample get (int) 
		int type
		com.google.android.exoplayer.hls.TsExtractor$Sample sample
	synchronized void recycle (com.google.android.exoplayer.hls.TsExtractor$Sample) 
		com.google.android.exoplayer.hls.TsExtractor$Sample sample
	static void  () 
}

com/google/android/exoplayer/dash/
com/google/android/exoplayer/dash/DashChunkSource$InitializationLoadable.class
DashChunkSource.java
package com.google.android.exoplayer.dash
 com.google.android.exoplayer.dash.DashChunkSource$InitializationLoadable extends com.google.android.exoplayer.chunk.Chunk {
	private final com.google.android.exoplayer.parser.Extractor extractor
	private final int expectedExtractorResult
	private final long indexAnchor
	private final android.net.Uri uri
	final com.google.android.exoplayer.dash.DashChunkSource this$0
	public void  (com.google.android.exoplayer.dash.DashChunkSource, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.parser.Extractor, int, long) 
		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.parser.Extractor extractor
		int expectedExtractorResult
		long indexAnchor
	protected void consumeStream (com.google.android.exoplayer.upstream.NonBlockingInputStream)  throws java.io.IOException 
		com.google.android.exoplayer.upstream.NonBlockingInputStream stream
		int result
}

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/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) 
	public abstract long getTimeUs (int) 
	public abstract long getDurationUs (int) 
	public abstract com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (int) 
	public abstract int getFirstSegmentNum () 
	public abstract int getLastSegmentNum () 
}

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  {
	public static final int USE_ALL_TRACKS
	private final com.google.android.exoplayer.TrackInfo trackInfo
	private final com.google.android.exoplayer.upstream.DataSource dataSource
	private final com.google.android.exoplayer.chunk.FormatEvaluator evaluator
	private final com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation evaluation
	private final StringBuilder headerBuilder
	private final long liveEdgeLatencyUs
	private final int maxWidth
	private final int maxHeight
	private final com.google.android.exoplayer.chunk.Format[] formats
	private final java.util.HashMap representationHolders
	private final com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
	private final int adaptationSetIndex
	private final int[] representationIndices
	private final java.util.Map psshInfo
	private com.google.android.exoplayer.dash.mpd.MediaPresentationDescription currentManifest
	private boolean finishedCurrentManifest
	private boolean lastChunkWasInitialization
	private java.io.IOException fatalError
	public transient void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, com.google.android.exoplayer.dash.mpd.Representation[]) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator formatEvaluator
		com.google.android.exoplayer.dash.mpd.Representation[] representations
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, java.util.List) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator formatEvaluator
		java.util.List representations
	public void  (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, int[], com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator) 
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
		int adaptationSetIndex
		int[] representationIndices
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator formatEvaluator
	public void  (com.google.android.exoplayer.util.ManifestFetcher, int, int[], com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long) 
		com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
		int adaptationSetIndex
		int[] representationIndices
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator formatEvaluator
		long liveEdgeLatencyMs
	private void  (com.google.android.exoplayer.util.ManifestFetcher, com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, int[], com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long) 
		com.google.android.exoplayer.parser.Extractor extractor
		int i
		com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescription initialManifest
		int adaptationSetIndex
		int[] representationIndices
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator formatEvaluator
		long liveEdgeLatencyUs
		com.google.android.exoplayer.dash.mpd.Representation[] representations
		long periodDurationUs
		int maxWidth
		int maxHeight
	public final void getMaxVideoDimensions (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat out
	public final com.google.android.exoplayer.TrackInfo getTrackInfo () 
	public void enable () 
	public void disable (java.util.List) 
		java.util.List queue
	public void continueBuffering (long) 
		com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
		com.google.android.exoplayer.dash.DashSegmentIndex oldIndex
		com.google.android.exoplayer.dash.DashSegmentIndex newIndex
		int newFirstSegmentNum
		int segmentNumShift
		com.google.android.exoplayer.dash.mpd.Representation representation
		com.google.android.exoplayer.dash.mpd.Representation[] arr$
		int len$
		int i$
		com.google.android.exoplayer.dash.mpd.Representation[] newRepresentations
		long playbackPositionUs
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescription newManifest
		long minUpdatePeriod
	public final void getChunkOperation (java.util.List, long, long, com.google.android.exoplayer.chunk.ChunkOperationHolder) 
		com.google.android.exoplayer.chunk.Chunk initializationChunk
		long bufferDepthUs
		long liveEdgeTimestampUs
		int segmentNum
		java.util.List queue
		long seekPositionUs
		long playbackPositionUs
		com.google.android.exoplayer.chunk.ChunkOperationHolder out
		com.google.android.exoplayer.chunk.Format selectedFormat
		com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
		com.google.android.exoplayer.dash.mpd.Representation selectedRepresentation
		com.google.android.exoplayer.dash.DashSegmentIndex segmentIndex
		com.google.android.exoplayer.parser.Extractor extractor
		com.google.android.exoplayer.dash.mpd.RangedUri pendingInitializationUri
		com.google.android.exoplayer.dash.mpd.RangedUri pendingIndexUri
		long nowUs
		int firstAvailableSegmentNum
		int lastAvailableSegmentNum
		boolean indexUnbounded
		int segmentNum
		com.google.android.exoplayer.chunk.Chunk nextMediaChunk
	public java.io.IOException getError () 
	public void onChunkLoadError (com.google.android.exoplayer.chunk.Chunk, java.lang.Exception) 
		com.google.android.exoplayer.chunk.Chunk chunk
		Exception e
	private boolean mimeTypeIsWebm (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.parser.Extractor, com.google.android.exoplayer.upstream.DataSource, 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.parser.Extractor extractor
		com.google.android.exoplayer.upstream.DataSource dataSource
		int trigger
		int expectedExtractorResult
		long indexAnchor
		com.google.android.exoplayer.dash.mpd.RangedUri requestUri
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	private com.google.android.exoplayer.chunk.Chunk newMediaChunk (com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder, com.google.android.exoplayer.upstream.DataSource, int, int) 
		com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
		com.google.android.exoplayer.upstream.DataSource dataSource
		int segmentNum
		int trigger
		com.google.android.exoplayer.dash.mpd.Representation representation
		com.google.android.exoplayer.dash.DashSegmentIndex segmentIndex
		long startTimeUs
		long endTimeUs
		boolean isLastSegment
		int nextAbsoluteSegmentNum
		com.google.android.exoplayer.dash.mpd.RangedUri segmentUri
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		long presentationTimeOffsetUs
	private long getLiveSeekPosition (long, boolean) 
		long liveEdgeTimestampUs
		com.google.android.exoplayer.dash.DashSegmentIndex segmentIndex
		int lastSegmentNum
		long indexLiveEdgeTimestampUs
		com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
		java.util.Iterator i$
		long nowUs
		boolean indexUnbounded
		long liveEdgeTimestampUs
	private static com.google.android.exoplayer.dash.mpd.Representation[] getFilteredRepresentations (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, int[]) 
		com.google.android.exoplayer.dash.mpd.Representation[] filteredRepresentations
		int i
		com.google.android.exoplayer.dash.mpd.Representation[] filteredRepresentations
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
		int adaptationSetIndex
		int[] representationIndices
		com.google.android.exoplayer.dash.mpd.AdaptationSet adaptationSet
		java.util.List representations
	private static java.util.Map getPsshInfo (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int) 
		com.google.android.exoplayer.dash.mpd.ContentProtection contentProtection
		java.util.Iterator i$
		java.util.Map psshInfo
		com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
		int adaptationSetIndex
		com.google.android.exoplayer.dash.mpd.AdaptationSet adaptationSet
	private static com.google.android.exoplayer.dash.mpd.MediaPresentationDescription buildManifest (java.util.List) 
		java.util.List representations
		com.google.android.exoplayer.dash.mpd.Representation firstRepresentation
		com.google.android.exoplayer.dash.mpd.AdaptationSet adaptationSet
		com.google.android.exoplayer.dash.mpd.Period period
		long duration
	static java.util.HashMap access$000 (com.google.android.exoplayer.dash.DashChunkSource) 
		com.google.android.exoplayer.dash.DashChunkSource x0
}

com/google/android/exoplayer/dash/DashChunkSource$RepresentationHolder.class
DashChunkSource.java
package com.google.android.exoplayer.dash
 com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder extends java.lang.Object {
	public final com.google.android.exoplayer.dash.mpd.Representation representation
	public final com.google.android.exoplayer.parser.Extractor extractor
	public com.google.android.exoplayer.dash.DashSegmentIndex segmentIndex
	public int segmentNumShift
	public long vttHeaderOffsetUs
	public byte[] vttHeader
	public void  (com.google.android.exoplayer.dash.mpd.Representation, com.google.android.exoplayer.parser.Extractor) 
		com.google.android.exoplayer.dash.mpd.Representation representation
		com.google.android.exoplayer.parser.Extractor extractor
}

com/google/android/exoplayer/dash/DashWrappingSegmentIndex.class
DashWrappingSegmentIndex.java
package com.google.android.exoplayer.dash
public com.google.android.exoplayer.dash.DashWrappingSegmentIndex extends java.lang.Object implements com.google.android.exoplayer.dash.DashSegmentIndex  {
	private final com.google.android.exoplayer.parser.SegmentIndex segmentIndex
	private final android.net.Uri uri
	private final long indexAnchor
	public void  (com.google.android.exoplayer.parser.SegmentIndex, android.net.Uri, long) 
		com.google.android.exoplayer.parser.SegmentIndex segmentIndex
		android.net.Uri uri
		long indexAnchor
	public int getFirstSegmentNum () 
	public int getLastSegmentNum () 
	public long getTimeUs (int) 
		int segmentNum
	public long getDurationUs (int) 
		int segmentNum
	public com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (int) 
		int segmentNum
	public int getSegmentNum (long) 
		long timeUs
}

com/google/android/exoplayer/dash/mpd/
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 {
	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 java.util.List periods
	public final com.google.android.exoplayer.dash.mpd.UtcTimingElement utcTiming
	public void  (long, long, long, boolean, long, long, com.google.android.exoplayer.dash.mpd.UtcTimingElement, java.util.List) 
		long availabilityStartTime
		long duration
		long minBufferTime
		boolean dynamic
		long minUpdatePeriod
		long timeShiftBufferDepth
		com.google.android.exoplayer.dash.mpd.UtcTimingElement utcTiming
		java.util.List periods
}

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 android.net.Uri uri
	final long indexStart
	final long indexLength
	public void  (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, android.net.Uri, long, long) 
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		long timescale
		long presentationTimeOffset
		android.net.Uri uri
		long indexStart
		long indexLength
	public com.google.android.exoplayer.dash.mpd.RangedUri getIndex () 
}

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 long durationMs
	public final java.util.List adaptationSets
	public void  (java.lang.String, long, long, java.util.List) 
		String id
		long start
		long duration
		java.util.List adaptationSets
	public int getAdaptationSetIndex (int) 
		int i
		int type
		int adaptationCount
}

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/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/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 long periodDurationMs
	final int startNumber
	final long duration
	final java.util.List segmentTimeline
	public void  (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, long, int, long, java.util.List) 
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		long timescale
		long presentationTimeOffset
		long periodDurationMs
		int startNumber
		long duration
		java.util.List segmentTimeline
	public int getSegmentNum (long) 
		long durationUs
		int midIndex
		long midTimeUs
		int lowIndex
		int highIndex
		long timeUs
	public final long getSegmentDurationUs (int) 
		long duration
		int sequenceNumber
	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 () 
}

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/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
	public static com.google.android.exoplayer.dash.mpd.Representation$SingleSegmentRepresentation newInstance (long, long, java.lang.String, long, com.google.android.exoplayer.chunk.Format, android.net.Uri, long, long, long, long, long) 
		long periodStartMs
		long periodDurationMs
		String contentId
		long revisionId
		com.google.android.exoplayer.chunk.Format format
		android.net.Uri uri
		long initializationStart
		long initializationEnd
		long indexStart
		long indexEnd
		long contentLength
		com.google.android.exoplayer.dash.mpd.RangedUri rangedUri
		com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase segmentBase
	public void  (long, long, java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase, long) 
		long periodStartMs
		long periodDurationMs
		String contentId
		long revisionId
		com.google.android.exoplayer.chunk.Format format
		com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase segmentBase
		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/UtcTimingElement.class
UtcTimingElement.java
package com.google.android.exoplayer.dash.mpd
public 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
}

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/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, long, int, long, java.util.List, java.util.List) 
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		long timescale
		long presentationTimeOffset
		long periodDurationMs
		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 () 
}

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 byte[] data
	public void  (java.lang.String, java.util.UUID, byte[]) 
		String schemeUriId
		java.util.UUID uuid
		byte[] data
}

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
}

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 android.net.Uri baseUri
	private final String stringUri
	private int hashCode
	public void  (android.net.Uri, java.lang.String, long, long) 
		android.net.Uri baseUri
		String stringUri
		long start
		long length
	public android.net.Uri getUri () 
	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/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  (long, long, java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase) 
		long periodStartMs
		long periodDurationMs
		String contentId
		long revisionId
		com.google.android.exoplayer.chunk.Format format
		com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase segmentBase
	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 timeUs
	public long getTimeUs (int) 
		int segmentIndex
	public long getDurationUs (int) 
		int segmentIndex
	public int getFirstSegmentNum () 
	public int getLastSegmentNum () 
}

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 android.net.Uri baseUrl
	public void  (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, long, int, long, java.util.List, com.google.android.exoplayer.dash.mpd.UrlTemplate, com.google.android.exoplayer.dash.mpd.UrlTemplate, android.net.Uri) 
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		long timescale
		long presentationTimeOffset
		long periodDurationMs
		int startNumber
		long duration
		java.util.List segmentTimeline
		com.google.android.exoplayer.dash.mpd.UrlTemplate initializationTemplate
		com.google.android.exoplayer.dash.mpd.UrlTemplate mediaTemplate
		android.net.Uri 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 durationMs
}

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 {
	public final String contentId
	public final long revisionId
	public final com.google.android.exoplayer.chunk.Format format
	public final long periodStartMs
	public final long periodDurationMs
	public final long presentationTimeOffsetMs
	private final com.google.android.exoplayer.dash.mpd.RangedUri initializationUri
	public static com.google.android.exoplayer.dash.mpd.Representation newInstance (long, long, java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase) 
		long periodStartMs
		long periodDurationMs
		String contentId
		long revisionId
		com.google.android.exoplayer.chunk.Format format
		com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
	private void  (long, long, java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase) 
		long periodStartMs
		long periodDurationMs
		String contentId
		long revisionId
		com.google.android.exoplayer.chunk.Format format
		com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
	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  (long, long, java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase, com.google.android.exoplayer.dash.mpd.Representation$1) 
		long x0
		long x1
		String x2
		long x3
		com.google.android.exoplayer.chunk.Format x4
		com.google.android.exoplayer.dash.mpd.SegmentBase x5
		com.google.android.exoplayer.dash.mpd.Representation$1 x6
}

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.util.ManifestParser  {
	private final org.xmlpull.v1.XmlPullParserFactory xmlParserFactory
	public void  () 
		org.xmlpull.v1.XmlPullParserException e
	public com.google.android.exoplayer.dash.mpd.MediaPresentationDescription parse (java.io.InputStream, java.lang.String, java.lang.String, android.net.Uri)  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
		java.io.InputStream inputStream
		String inputEncoding
		String contentId
		android.net.Uri baseUrl
	protected com.google.android.exoplayer.dash.mpd.MediaPresentationDescription parseMediaPresentationDescription (org.xmlpull.v1.XmlPullParser, java.lang.String, android.net.Uri)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException java.text.ParseException 
		org.xmlpull.v1.XmlPullParser xpp
		String contentId
		android.net.Uri baseUrl
		long availabilityStartTime
		long durationMs
		long minBufferTimeMs
		String typeString
		boolean dynamic
		long minUpdateTimeMs
		long timeShiftBufferDepthMs
		com.google.android.exoplayer.dash.mpd.UtcTimingElement utcTiming
		java.util.List periods
	protected com.google.android.exoplayer.dash.mpd.MediaPresentationDescription buildMediaPresentationDescription (long, long, long, boolean, long, long, com.google.android.exoplayer.dash.mpd.UtcTimingElement, java.util.List) 
		long availabilityStartTime
		long durationMs
		long minBufferTimeMs
		boolean dynamic
		long minUpdateTimeMs
		long timeShiftBufferDepthMs
		com.google.android.exoplayer.dash.mpd.UtcTimingElement utcTiming
		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 com.google.android.exoplayer.dash.mpd.Period parsePeriod (org.xmlpull.v1.XmlPullParser, java.lang.String, android.net.Uri, long)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		org.xmlpull.v1.XmlPullParser xpp
		String contentId
		android.net.Uri baseUrl
		long mpdDurationMs
		String id
		long startMs
		long durationMs
		com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
		java.util.List adaptationSets
	protected com.google.android.exoplayer.dash.mpd.Period buildPeriod (java.lang.String, long, long, java.util.List) 
		String id
		long startMs
		long durationMs
		java.util.List adaptationSets
	protected com.google.android.exoplayer.dash.mpd.AdaptationSet parseAdaptationSet (org.xmlpull.v1.XmlPullParser, java.lang.String, android.net.Uri, long, long, com.google.android.exoplayer.dash.mpd.SegmentBase)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		com.google.android.exoplayer.dash.mpd.Representation representation
		org.xmlpull.v1.XmlPullParser xpp
		String contentId
		android.net.Uri baseUrl
		long periodStartMs
		long periodDurationMs
		com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
		String mimeType
		String language
		int contentType
		int id
		java.util.List contentProtections
		java.util.List representations
	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 parseAdaptationSetType (java.lang.String) 
		String contentType
	protected int parseAdaptationSetTypeFromMimeType (java.lang.String) 
		String mimeType
	private int checkAdaptationSetTypeConsistency (int, int) 
		int firstType
		int secondType
	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
	protected com.google.android.exoplayer.dash.mpd.ContentProtection buildContentProtection (java.lang.String) 
		String schemeIdUri
	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, android.net.Uri, long, long, java.lang.String, java.lang.String, com.google.android.exoplayer.dash.mpd.SegmentBase)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		org.xmlpull.v1.XmlPullParser xpp
		String contentId
		android.net.Uri baseUrl
		long periodStartMs
		long periodDurationMs
		String mimeType
		String language
		com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
		String id
		int bandwidth
		int audioSamplingRate
		int width
		int height
		String codecs
		int numChannels
		com.google.android.exoplayer.chunk.Format format
	protected com.google.android.exoplayer.chunk.Format buildFormat (java.lang.String, java.lang.String, int, int, int, int, int, java.lang.String, java.lang.String) 
		String id
		String mimeType
		int width
		int height
		int numChannels
		int audioSamplingRate
		int bandwidth
		String language
		String codecs
	protected com.google.android.exoplayer.dash.mpd.Representation buildRepresentation (long, long, java.lang.String, int, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase) 
		long periodStartMs
		long periodDurationMs
		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, android.net.Uri, com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		String[] indexRange
		org.xmlpull.v1.XmlPullParser xpp
		android.net.Uri 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, android.net.Uri, long, long) 
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		long timescale
		long presentationTimeOffset
		android.net.Uri baseUrl
		long indexStart
		long indexLength
	protected com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentList parseSegmentList (org.xmlpull.v1.XmlPullParser, android.net.Uri, com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentList, long)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		org.xmlpull.v1.XmlPullParser xpp
		android.net.Uri baseUrl
		com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentList parent
		long periodDurationMs
		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, long, int, long, java.util.List, java.util.List) 
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		long timescale
		long presentationTimeOffset
		long periodDurationMs
		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, android.net.Uri, com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTemplate, long)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		org.xmlpull.v1.XmlPullParser xpp
		android.net.Uri baseUrl
		com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTemplate parent
		long periodDurationMs
		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, long, int, long, java.util.List, com.google.android.exoplayer.dash.mpd.UrlTemplate, com.google.android.exoplayer.dash.mpd.UrlTemplate, android.net.Uri) 
		com.google.android.exoplayer.dash.mpd.RangedUri initialization
		long timescale
		long presentationTimeOffset
		long periodDurationMs
		int startNumber
		long duration
		java.util.List timeline
		com.google.android.exoplayer.dash.mpd.UrlTemplate initializationTemplate
		com.google.android.exoplayer.dash.mpd.UrlTemplate mediaTemplate
		android.net.Uri 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, android.net.Uri) 
		org.xmlpull.v1.XmlPullParser xpp
		android.net.Uri baseUrl
	protected com.google.android.exoplayer.dash.mpd.RangedUri parseSegmentUrl (org.xmlpull.v1.XmlPullParser, android.net.Uri) 
		org.xmlpull.v1.XmlPullParser xpp
		android.net.Uri baseUrl
	protected com.google.android.exoplayer.dash.mpd.RangedUri parseRangedUrl (org.xmlpull.v1.XmlPullParser, android.net.Uri, java.lang.String, java.lang.String) 
		String[] rangeTextArray
		org.xmlpull.v1.XmlPullParser xpp
		android.net.Uri baseUrl
		String urlAttribute
		String rangeAttribute
		String urlText
		long rangeStart
		long rangeLength
		String rangeText
	protected com.google.android.exoplayer.dash.mpd.RangedUri buildRangedUri (android.net.Uri, java.lang.String, long, long) 
		android.net.Uri baseUrl
		String urlText
		long rangeStart
		long rangeLength
	protected static boolean isEndTag (org.xmlpull.v1.XmlPullParser, java.lang.String)  throws org.xmlpull.v1.XmlPullParserException 
		org.xmlpull.v1.XmlPullParser xpp
		String name
	protected static boolean isStartTag (org.xmlpull.v1.XmlPullParser, java.lang.String)  throws org.xmlpull.v1.XmlPullParserException 
		org.xmlpull.v1.XmlPullParser xpp
		String name
	protected static boolean isStartTag (org.xmlpull.v1.XmlPullParser)  throws org.xmlpull.v1.XmlPullParserException 
		org.xmlpull.v1.XmlPullParser xpp
	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 android.net.Uri parseBaseUrl (org.xmlpull.v1.XmlPullParser, android.net.Uri)  throws org.xmlpull.v1.XmlPullParserException java.io.IOException 
		org.xmlpull.v1.XmlPullParser xpp
		android.net.Uri parentBaseUrl
		String newBaseUrlText
		android.net.Uri newBaseUri
	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.io.InputStream, java.lang.String, java.lang.String, android.net.Uri)  throws java.io.IOException com.google.android.exoplayer.ParserException 
		java.io.InputStream x0
		String x1
		String x2
		android.net.Uri x3
}

com/google/android/exoplayer/text/
com/google/android/exoplayer/text/TextTrackRenderer.class
TextTrackRenderer.java
package com.google.android.exoplayer.text
public com.google.android.exoplayer.text.TextTrackRenderer extends com.google.android.exoplayer.TrackRenderer implements android.os.Handler$Callback  {
	private static final int MSG_UPDATE_OVERLAY
	private final android.os.Handler textRendererHandler
	private final com.google.android.exoplayer.text.TextRenderer textRenderer
	private final com.google.android.exoplayer.SampleSource source
	private final com.google.android.exoplayer.MediaFormatHolder formatHolder
	private final com.google.android.exoplayer.text.SubtitleParser[] subtitleParsers
	private int parserIndex
	private int trackIndex
	private long currentPositionUs
	private boolean inputStreamEnded
	private com.google.android.exoplayer.text.Subtitle subtitle
	private com.google.android.exoplayer.text.SubtitleParserHelper parserHelper
	private android.os.HandlerThread parserThread
	private int nextSubtitleEventIndex
	private boolean textRendererNeedsUpdate
	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
	protected int doPrepare ()  throws com.google.android.exoplayer.ExoPlaybackException 
		boolean sourcePrepared
		java.io.IOException e
		int j
		int i
	protected void onEnabled (long, boolean) 
		long positionUs
		boolean joining
	protected void seekTo (long) 
		long positionUs
	private void seekToInternal (long) 
		long positionUs
	protected void doSomeWork (long, long)  throws com.google.android.exoplayer.ExoPlaybackException 
		java.io.IOException e
		java.io.IOException e
		long nextEventTimeUs
		com.google.android.exoplayer.SampleHolder sampleHolder
		int result
		java.io.IOException e
		long positionUs
		long elapsedRealtimeUs
		com.google.android.exoplayer.text.Subtitle dequeuedSubtitle
	protected void onDisabled () 
	protected void onReleased () 
	protected long getCurrentPositionUs () 
	protected long getDurationUs () 
	protected long getBufferedPositionUs () 
	protected boolean isEnded () 
	protected boolean isReady () 
	private void syncNextEventIndex (long) 
		long positionUs
	private long getNextEventTime () 
	private void updateTextRenderer (long) 
		long positionUs
		String text
	private void clearTextRenderer () 
	public boolean handleMessage (android.os.Message) 
		android.os.Message msg
	private void invokeRendererInternal (java.lang.String) 
		String text
}

com/google/android/exoplayer/text/SubtitleView.class
SubtitleView.java
package com.google.android.exoplayer.text
public com.google.android.exoplayer.text.SubtitleView extends android.view.View {
	private static final float INNER_PADDING_RATIO
	private final android.graphics.RectF lineBounds
	private final StringBuilder textBuilder
	private final float cornerRadius
	private final float outlineWidth
	private final float shadowRadius
	private final float shadowOffset
	private android.text.TextPaint textPaint
	private android.graphics.Paint paint
	private int foregroundColor
	private int backgroundColor
	private int edgeColor
	private int edgeType
	private boolean hasMeasurements
	private int lastMeasuredWidth
	private android.text.StaticLayout layout
	private float spacingMult
	private float spacingAdd
	private int innerPaddingX
	public void  (android.content.Context, android.util.AttributeSet) 
		android.content.Context context
		android.util.AttributeSet attrs
	public void  (android.content.Context, android.util.AttributeSet, int) 
		android.content.Context context
		android.util.AttributeSet attrs
		int defStyleAttr
		int[] viewAttr
		android.content.res.TypedArray a
		CharSequence text
		int textSize
		android.content.res.Resources resources
		android.util.DisplayMetrics displayMetrics
		int twoDpInPx
	public void  (android.content.Context) 
		android.content.Context context
	public void setBackgroundColor (int) 
		int color
	public void setText (java.lang.CharSequence) 
		CharSequence text
	public void setTextSize (float) 
		float size
	public void setStyle (com.google.android.exoplayer.text.CaptionStyleCompat) 
		com.google.android.exoplayer.text.CaptionStyleCompat style
	private void setTypeface (android.graphics.Typeface) 
		android.graphics.Typeface typeface
	protected void onMeasure (int, int) 
		int i
		android.text.StaticLayout layout
		int paddingX
		int height
		int width
		int lineCount
		int widthMeasureSpec
		int heightMeasureSpec
		int widthSpec
	private void setTooSmallMeasureDimensionV11 () 
	public void onLayout (boolean, int, int, int, int) 
		boolean changed
		int l
		int t
		int r
		int b
		int width
	private boolean computeMeasurements (int) 
		int maxWidth
		int paddingX
	protected void onDraw (android.graphics.Canvas) 
		int i
		float cornerRadius
		float previousBottom
		boolean raised
		int colorUp
		int colorDown
		float offset
		android.graphics.Canvas c
		android.text.StaticLayout layout
		int saveCount
		int innerPaddingX
		int lineCount
		android.graphics.Paint textPaint
		android.graphics.Paint paint
		android.graphics.RectF bounds
}

com/google/android/exoplayer/text/SubtitleParserHelper.class
SubtitleParserHelper.java
package com.google.android.exoplayer.text
public com.google.android.exoplayer.text.SubtitleParserHelper extends java.lang.Object implements android.os.Handler$Callback  {
	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.Subtitle result
	private java.io.IOException error
	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 synchronized void startParseOperation () 
	public synchronized com.google.android.exoplayer.text.Subtitle getAndClearResult ()  throws java.io.IOException 
	public boolean handleMessage (android.os.Message) 
		java.io.InputStream inputStream
		java.io.IOException e
		android.os.Message msg
		com.google.android.exoplayer.text.Subtitle result
		java.io.IOException error
		com.google.android.exoplayer.SampleHolder holder
}

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 onText (java.lang.String) 
}

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 long getStartTime () 
	public abstract int getNextEventTimeIndex (long) 
	public abstract int getEventTimeCount () 
	public abstract long getEventTime (int) 
	public abstract long getLastEventTime () 
	public abstract java.lang.String getText (long) 
}

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/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 (java.io.InputStream, java.lang.String, long)  throws java.io.IOException 
}

com/google/android/exoplayer/text/webvtt/
com/google/android/exoplayer/text/webvtt/WebvttSubtitle.class
WebvttSubtitle.java
package com.google.android.exoplayer.text.webvtt
public com.google.android.exoplayer.text.webvtt.WebvttSubtitle extends java.lang.Object implements com.google.android.exoplayer.text.Subtitle  {
	private final String[] cueText
	private final long startTimeUs
	private final long[] cueTimesUs
	private final long[] sortedCueTimesUs
	public void  (java.lang.String[], long, long[]) 
		String[] cueText
		long startTimeUs
		long[] cueTimesUs
	public long getStartTime () 
	public int getNextEventTimeIndex (long) 
		long timeUs
		int index
	public int getEventTimeCount () 
	public long getEventTime (int) 
		int index
	public long getLastEventTime () 
	public java.lang.String getText (long) 
		int i
		long timeUs
		StringBuilder stringBuilder
		int stringLength
}

com/google/android/exoplayer/text/webvtt/WebvttParser.class
WebvttParser.java
package com.google.android.exoplayer.text.webvtt
public com.google.android.exoplayer.text.webvtt.WebvttParser extends java.lang.Object implements com.google.android.exoplayer.text.SubtitleParser  {
	public static final String EXO_HEADER
	public static final String OFFSET
	private static final long SAMPLING_RATE
	private static final String WEBVTT_METADATA_HEADER_STRING
	private static final java.util.regex.Pattern WEBVTT_METADATA_HEADER
	private static final String WEBVTT_TIMESTAMP_STRING
	private static final java.util.regex.Pattern WEBVTT_TIMESTAMP
	private static final java.util.regex.Pattern MEDIA_TIMESTAMP_OFFSET
	private static final java.util.regex.Pattern MEDIA_TIMESTAMP
	private final boolean strictParsing
	public void  () 
	public void  (boolean) 
		boolean strictParsing
	public com.google.android.exoplayer.text.webvtt.WebvttSubtitle parse (java.io.InputStream, java.lang.String, long)  throws java.io.IOException 
		java.util.regex.Matcher matcher
		java.util.regex.Matcher timestampMatcher
		java.util.regex.Matcher matcher
		java.util.regex.Matcher matcher
		long startTime
		long endTime
		String text
		com.google.android.exoplayer.text.webvtt.WebvttParser$WebvttCue cue
		int arrayIndex
		com.google.android.exoplayer.text.webvtt.WebvttParser$WebvttCue cue
		int subtitleIndex
		java.io.InputStream inputStream
		String inputEncoding
		long startTimeUs
		java.util.ArrayList subtitles
		long mediaTimestampUs
		long mediaTimestampOffsetUs
		java.io.BufferedReader webvttData
		String line
		String[] cueText
		long[] cueTimesUs
		com.google.android.exoplayer.text.webvtt.WebvttSubtitle subtitle
	public boolean canParse (java.lang.String) 
		String mimeType
	protected long getAdjustedStartTime (long) 
		long startTimeUs
	protected void handleNoncompliantLine (java.lang.String)  throws com.google.android.exoplayer.ParserException 
		String line
	private static long parseTimestampUs (java.lang.String)  throws java.lang.NumberFormatException 
		String group
		String[] arr$
		int len$
		int i$
		String s
		String[] parts
		long value
	public volatile com.google.android.exoplayer.text.Subtitle parse (java.io.InputStream, java.lang.String, long)  throws java.io.IOException 
		java.io.InputStream x0
		String x1
		long x2
	static void  () 
}

com/google/android/exoplayer/text/webvtt/WebvttParser$WebvttCue.class
WebvttParser.java
package com.google.android.exoplayer.text.webvtt
 com.google.android.exoplayer.text.webvtt.WebvttParser$WebvttCue extends java.lang.Object {
	public final long startTime
	public final long endTime
	public final String text
	public void  (long, long, java.lang.String) 
		long startTime
		long endTime
		String text
}

com/google/android/exoplayer/text/ttml/
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 final String tag
	public final boolean isTextNode
	public final String text
	public final long startTimeUs
	public final long endTimeUs
	private java.util.List children
	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) 
		String tag
		long startTimeUs
		long endTimeUs
	private void  (java.lang.String, java.lang.String, long, long) 
		String tag
		String text
		long startTimeUs
		long endTimeUs
	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 getText (long) 
		long timeUs
		StringBuilder builder
	private void getText (long, java.lang.StringBuilder, boolean) 
		int i
		boolean isPNode
		int length
		long timeUs
		StringBuilder builder
		boolean descendsPNode
	private static java.lang.String applySpacePolicy (java.lang.String, boolean) 
		String in
		boolean treatLineFeedAsSpace
		String out
}

com/google/android/exoplayer/text/ttml/TtmlParser.class
TtmlParser.java
package com.google.android.exoplayer.text.ttml
public 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 java.util.regex.Pattern CLOCK_TIME
	private static final java.util.regex.Pattern OFFSET_TIME
	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
	private final boolean strictParsing
	public void  () 
	public void  (boolean) 
		org.xmlpull.v1.XmlPullParserException e
		boolean strictParsing
	public com.google.android.exoplayer.text.Subtitle parse (java.io.InputStream, java.lang.String, long)  throws java.io.IOException 
		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
		com.google.android.exoplayer.text.ttml.TtmlSubtitle ttmlSubtitle
		java.util.LinkedList nodeStack
		int unsupportedNodeDepth
		int eventType
		org.xmlpull.v1.XmlPullParserException xppe
		java.io.InputStream inputStream
		String inputEncoding
		long startTimeUs
	public boolean canParse (java.lang.String) 
		String mimeType
	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 attr
		String value
		int i
		org.xmlpull.v1.XmlPullParser parser
		com.google.android.exoplayer.text.ttml.TtmlNode parent
		long duration
		long startTime
		long endTime
		int attributeCount
	private static boolean isSupportedTag (java.lang.String) 
		String tag
	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
	static void  () 
}

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 startTimeUs
	private final long[] eventTimesUs
	public void  (com.google.android.exoplayer.text.ttml.TtmlNode, long) 
		com.google.android.exoplayer.text.ttml.TtmlNode root
		long startTimeUs
	public long getStartTime () 
	public int getNextEventTimeIndex (long) 
		long timeUs
		int index
	public int getEventTimeCount () 
	public long getEventTime (int) 
		int index
	public long getLastEventTime () 
	public java.lang.String getText (long) 
		long timeUs
}

com/google/android/exoplayer/text/eia608/
com/google/android/exoplayer/text/eia608/Eia608Parser.class
Eia608Parser.java
package com.google.android.exoplayer.text.eia608
public 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
	public void  () 
	public boolean canParse (java.lang.String) 
		String mimeType
	public java.util.List parse (byte[], int, long)  throws java.io.IOException 
		boolean ccValid
		int ccType
		byte ccData1
		byte ccData2
		int i
		byte[] data
		int size
		long timeUs
		com.google.android.exoplayer.util.BitArray seiBuffer
		int ccCount
		java.util.List captions
		StringBuilder stringBuilder
	private static char getChar (byte) 
		byte ccData
		int index
	private static char getSpecialChar (byte) 
		byte ccData
		int index
	public static int parseHeader (com.google.android.exoplayer.util.BitArray) 
		com.google.android.exoplayer.util.BitArray seiBuffer
		int b
		int payloadType
		int payloadSize
		int countryCode
		int providerCode
		int userIdentifier
		int userDataTypeCode
	static void  () 
}

com/google/android/exoplayer/text/eia608/Eia608TrackRenderer.class
Eia608TrackRenderer.java
package com.google.android.exoplayer.text.eia608
public com.google.android.exoplayer.text.eia608.Eia608TrackRenderer extends com.google.android.exoplayer.TrackRenderer implements android.os.Handler$Callback  {
	private static final int MSG_INVOKE_RENDERER
	private static final int ALLOWED_CAPTIONS_TEXT_LINES_COUNT
	private final com.google.android.exoplayer.SampleSource source
	private final com.google.android.exoplayer.text.eia608.Eia608Parser eia608Parser
	private final com.google.android.exoplayer.text.TextRenderer textRenderer
	private final android.os.Handler metadataHandler
	private final com.google.android.exoplayer.MediaFormatHolder formatHolder
	private final com.google.android.exoplayer.SampleHolder sampleHolder
	private final StringBuilder closedCaptionStringBuilder
	private final java.util.List currentCaptions
	private final java.util.Queue newLineIndexes
	private int trackIndex
	private long currentPositionUs
	private boolean inputStreamEnded
	private long pendingCaptionsTimestamp
	private java.util.List pendingCaptions
	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 int doPrepare ()  throws com.google.android.exoplayer.ExoPlaybackException 
		boolean sourcePrepared
		java.io.IOException e
		int i
	protected void onEnabled (long, boolean) 
		long positionUs
		boolean joining
	protected void seekTo (long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
	private void seekToInternal (long) 
		long positionUs
	protected void doSomeWork (long, long)  throws com.google.android.exoplayer.ExoPlaybackException 
		java.io.IOException e
		int result
		java.io.IOException e
		long positionUs
		long elapsedRealtimeUs
	protected void onDisabled () 
	protected long getDurationUs () 
	protected long getCurrentPositionUs () 
	protected long getBufferedPositionUs () 
	protected boolean isEnded () 
	protected boolean isReady () 
	private void invokeRenderer (java.util.List) 
		java.util.List metadata
	public boolean handleMessage (android.os.Message) 
		android.os.Message msg
	private void invokeRendererInternal (java.util.List) 
		int cc2
		com.google.android.exoplayer.text.eia608.ClosedCaption caption
		int i
		int i
		java.util.List metadata
		int cutIndex
}

com/google/android/exoplayer/text/eia608/ClosedCaption.class
ClosedCaption.java
package com.google.android.exoplayer.text.eia608
public final com.google.android.exoplayer.text.eia608.ClosedCaption extends java.lang.Object implements java.lang.Comparable  {
	public static final int TYPE_CTRL
	public static final int TYPE_TEXT
	public final int type
	public final String text
	public final long timeUs
	public void  (int, java.lang.String, long) 
		int type
		String text
		long timeUs
	public int compareTo (com.google.android.exoplayer.text.eia608.ClosedCaption) 
		com.google.android.exoplayer.text.eia608.ClosedCaption another
		long delta
	public volatile int compareTo (java.lang.Object) 
		Object x0
}

com/google/android/exoplayer/audio/
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/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/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) 
	public void run () 
}

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 static final com.google.android.exoplayer.audio.AudioCapabilities DEFAULT_AUDIO_CAPABILITIES
	private final android.content.Context context
	private final com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$Listener listener
	private final android.content.BroadcastReceiver receiver
	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 void register () 
	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
	static void  () 
}

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 final android.media.AudioTrack audioTrack
	private final int sampleRate
	private long lastRawPlaybackHeadPosition
	private long rawPlaybackHeadWrapCount
	public void  (android.media.AudioTrack) 
		android.media.AudioTrack audioTrack
	public long getPlaybackHeadPosition () 
		long rawPlaybackHeadPosition
	public long getPlaybackHeadPositionUs () 
	public boolean updateTimestamp () 
	public long getTimestampNanoTime () 
	public long getTimestampFramePosition () 
}

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 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 UNKNOWN_AC3_BITRATE
	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
	private final android.os.ConditionVariable releasingConditionVariable
	private final long[] playheadOffsets
	private android.media.AudioTrack audioTrack
	private com.google.android.exoplayer.audio.AudioTrack$AudioTrackUtil audioTrackUtil
	private int sampleRate
	private int channelConfig
	private int encoding
	private int frameSize
	private int minBufferSize
	private int bufferSize
	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 submittedBytes
	private int startMediaTimeState
	private long startMediaTimeUs
	private long resumeSystemTimeUs
	private long latencyUs
	private float volume
	private byte[] temporaryBuffer
	private int temporaryBufferOffset
	private int temporaryBufferSize
	private boolean isAc3
	private int ac3Bitrate
	public void  () 
		NoSuchMethodException e
	public boolean isInitialized () 
	public long getCurrentPositionUs (boolean) 
		long presentationDiff
		long framesDiff
		long currentFramePosition
		long currentPositionUs
		long currentPositionUs
		boolean sourceEnded
		long systemClockUs
		long currentPositionUs
	public int initialize ()  throws com.google.android.exoplayer.audio.AudioTrack$InitializationException 
	public int initialize (int)  throws com.google.android.exoplayer.audio.AudioTrack$InitializationException 
		int sessionId
	public void reconfigure (android.media.MediaFormat) 
		android.media.MediaFormat format
	public void reconfigure (android.media.MediaFormat, int, int) 
		int multipliedBufferSize
		int minAppBufferSize
		int maxAppBufferSize
		android.media.MediaFormat format
		int encoding
		int specifiedBufferSize
		int channelCount
		int channelConfig
		int sampleRate
		boolean isAc3
	public void play () 
	public void handleDiscontinuity () 
	public int handleBuffer (java.nio.ByteBuffer, int, int, long)  throws com.google.android.exoplayer.audio.AudioTrack$WriteException 
		int unscaledAc3Bitrate
		int divisor
		long expectedBufferStartTime
		long bufferStartTime
		int bytesPending
		int bytesToWrite
		java.nio.ByteBuffer buffer
		int offset
		int size
		long presentationTimeUs
		int result
		int bytesWritten
	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 boolean hasEnoughDataToBeginPlayback () 
	public void setVolume (float) 
		float volume
	private static void setVolumeV21 (android.media.AudioTrack, float) 
		android.media.AudioTrack audioTrack
		float volume
	private static void setVolumeV3 (android.media.AudioTrack, float) 
		android.media.AudioTrack audioTrack
		float volume
	public void pause () 
	public void reset () 
		int playState
		android.media.AudioTrack toRelease
	private boolean hasCurrentPositionUs () 
	private void maybeSampleSyncParams () 
		int i
		long audioTimestampUs
		long audioTimestampFramePosition
		Exception e
		long playbackPositionUs
		long systemClockUs
	private void checkAudioTrackInitialized ()  throws com.google.android.exoplayer.audio.AudioTrack$InitializationException 
		Exception e
		int state
	private long bytesToFrames (long) 
		long byteCount
	private long framesToDurationUs (long) 
		long frameCount
	private long durationUsToFrames (long) 
		long durationUs
	private void resetSyncParams () 
	static android.os.ConditionVariable access$000 (com.google.android.exoplayer.audio.AudioTrack) 
		com.google.android.exoplayer.audio.AudioTrack 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 {
	private final java.util.Set supportedEncodings
	private final int maxChannelCount
	public void  (int[], int) 
		int i
		int[] arr$
		int len$
		int i$
		int[] supportedEncodings
		int maxChannelCount
	public boolean supportsAc3 () 
	public boolean supportsEAc3 () 
	public boolean supportsPcm () 
	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 () 
}

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  (android.media.AudioTrack) 
		android.media.AudioTrack audioTrack
	public boolean updateTimestamp () 
		long rawFramePosition
		boolean updated
	public long getTimestampNanoTime () 
	public long getTimestampFramePosition () 
}

com/google/android/exoplayer/audio/AudioTrack$WriteException.class
AudioTrack.java
package com.google.android.exoplayer.audio
public 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/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) 
		android.content.Context context
		android.content.Intent intent
		String action
	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/audio/AudioTrack$InitializationException.class
AudioTrack.java
package com.google.android.exoplayer.audio
public 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/metadata/
com/google/android/exoplayer/metadata/Id3Parser.class
Id3Parser.java
package com.google.android.exoplayer.metadata
public com.google.android.exoplayer.metadata.Id3Parser extends java.lang.Object implements com.google.android.exoplayer.metadata.MetadataParser  {
	public void  () 
	public boolean canParse (java.lang.String) 
		String mimeType
	public java.util.Map 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
		String type
		byte[] frame
		int frameId0
		int frameId1
		int frameId2
		int frameId3
		int frameSize
		byte[] data
		int size
		com.google.android.exoplayer.util.BitArray id3Buffer
		int id3Size
		java.util.Map metadata
	private static int indexOf (byte[], int, byte) 
		int i
		byte[] data
		int fromIndex
		byte key
	private static int indexOfNot (byte[], int, byte) 
		int i
		byte[] data
		int fromIndex
		byte key
	private static int parseId3Header (com.google.android.exoplayer.util.BitArray)  throws com.google.android.exoplayer.ParserException 
		int extendedHeaderSize
		com.google.android.exoplayer.util.BitArray 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 
		byte[] x0
		int x1
}

com/google/android/exoplayer/metadata/MetadataTrackRenderer.class
MetadataTrackRenderer.java
package com.google.android.exoplayer.metadata
public com.google.android.exoplayer.metadata.MetadataTrackRenderer extends com.google.android.exoplayer.TrackRenderer implements android.os.Handler$Callback  {
	private static final int MSG_INVOKE_RENDERER
	private final com.google.android.exoplayer.SampleSource source
	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 int trackIndex
	private long currentPositionUs
	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 int doPrepare ()  throws com.google.android.exoplayer.ExoPlaybackException 
		boolean sourcePrepared
		java.io.IOException e
		int i
	protected void onEnabled (long, boolean) 
		long positionUs
		boolean joining
	protected void seekTo (long)  throws com.google.android.exoplayer.ExoPlaybackException 
		long positionUs
	private void seekToInternal (long) 
		long positionUs
	protected void doSomeWork (long, long)  throws com.google.android.exoplayer.ExoPlaybackException 
		java.io.IOException e
		int result
		java.io.IOException e
		long positionUs
		long elapsedRealtimeUs
	protected void onDisabled () 
	protected long getDurationUs () 
	protected long getCurrentPositionUs () 
	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/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/TxxxMetadata.class
TxxxMetadata.java
package com.google.android.exoplayer.metadata
public com.google.android.exoplayer.metadata.TxxxMetadata extends java.lang.Object {
	public static final String TYPE
	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/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/util/
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/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_SAMPLING_RATE_TABLE
	private static final int[] AUDIO_SPECIFIC_CONFIG_CHANNEL_COUNT_TABLE
	private static final int SPS_NAL_UNIT_TYPE
	private void  () 
	public static android.util.Pair parseAudioSpecificConfig (byte[]) 
		byte[] audioSpecificConfig
		int audioObjectType
		int byteOffset
		int frequencyIndex
		int sampleRate
		int channelCount
	public static byte[] buildAudioSpecificConfig (int, int, int) 
		int audioObjectType
		int sampleRateIndex
		int channelConfig
		byte[] audioSpecificConfig
	public static byte[] buildAudioSpecificConfig (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
	public static android.util.Pair parseSpsNalUnit (byte[]) 
		byte[] spsNalUnit
	private static int parseAvcProfile (byte[]) 
		byte[] data
		int profileIdc
	private static int parseAvcLevel (byte[]) 
		byte[] data
		int levelIdc
	static void  () 
}

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
	private static final java.util.regex.Pattern XS_DATE_TIME_PATTERN
	private static final java.util.regex.Pattern XS_DURATION_PATTERN
	private void  () 
	public static boolean isUrlLocalFile (java.net.URL) 
		java.net.URL url
	public static boolean areEqual (java.lang.Object, java.lang.Object) 
		Object o1
		Object o2
	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) 
		java.io.IOException e
		com.google.android.exoplayer.upstream.DataSource dataSource
	public static java.lang.String toLowerInvariant (java.lang.String) 
		String text
	public static android.net.Uri parseBaseUri (java.lang.String) 
		String uriString
	public static android.net.Uri getMergedUri (android.net.Uri, java.lang.String) 
		android.net.Uri baseUri
		String stringUri
		android.net.Uri uri
	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 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 int[] toArray (java.util.List) 
		int i
		java.util.List list
		int length
		int[] intArray
	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 onManifest (java.lang.String, java.lang.Object) 
	public abstract void onManifestError (java.lang.String, java.io.IOException) 
}

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/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 android.os.Looper callbackLooper
	private final com.google.android.exoplayer.util.ManifestFetcher$ManifestCallback wrappedCallback
	private final com.google.android.exoplayer.upstream.Loader singleUseLoader
	private final com.google.android.exoplayer.util.ManifestFetcher$ManifestLoadable singleUseLoadable
	final com.google.android.exoplayer.util.ManifestFetcher this$0
	public void  (com.google.android.exoplayer.util.ManifestFetcher, android.os.Looper, com.google.android.exoplayer.util.ManifestFetcher$ManifestCallback) 
		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) 
		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/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) 
		Object x0
		Object x1
}

com/google/android/exoplayer/util/MimeTypes.class
MimeTypes.java
package com.google.android.exoplayer.util
public 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_MP4
	public static final String VIDEO_WEBM
	public static final String VIDEO_H264
	public static final String VIDEO_VP9
	public static final String AUDIO_MP4
	public static final String AUDIO_AAC
	public static final String AUDIO_AC3
	public static final String AUDIO_EC3
	public static final String AUDIO_WEBM
	public static final String AUDIO_VORBIS
	public static final String AUDIO_OPUS
	public static final String TEXT_VTT
	public static final String APPLICATION_ID3
	public static final String APPLICATION_EIA608
	public static final String APPLICATION_TTML
	private void  () 
	public static java.lang.String getTopLevelType (java.lang.String) 
		String mimeType
		int indexOfSlash
	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
	public static boolean isTtml (java.lang.String) 
		String mimeType
}

com/google/android/exoplayer/util/VerboseLogUtil.class
VerboseLogUtil.java
package com.google.android.exoplayer.util
public 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/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) 
	public void run () 
}

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  {
	final com.google.android.exoplayer.util.ManifestParser parser
	final String contentId
	final String userAgent
	private final android.os.Handler eventHandler
	private final com.google.android.exoplayer.util.ManifestFetcher$EventListener eventListener
	volatile String manifestUrl
	private int enabledCount
	private com.google.android.exoplayer.upstream.Loader loader
	private com.google.android.exoplayer.util.ManifestFetcher$ManifestLoadable currentLoadable
	private int loadExceptionCount
	private long loadExceptionTimestamp
	private java.io.IOException loadException
	private volatile Object manifest
	private volatile long manifestLoadTimestamp
	public void  (com.google.android.exoplayer.util.ManifestParser, java.lang.String, java.lang.String, java.lang.String) 
		com.google.android.exoplayer.util.ManifestParser parser
		String contentId
		String manifestUrl
		String userAgent
	public void  (com.google.android.exoplayer.util.ManifestParser, java.lang.String, java.lang.String, java.lang.String, android.os.Handler, com.google.android.exoplayer.util.ManifestFetcher$EventListener) 
		com.google.android.exoplayer.util.ManifestParser parser
		String contentId
		String manifestUrl
		String userAgent
		android.os.Handler eventHandler
		com.google.android.exoplayer.util.ManifestFetcher$EventListener eventListener
	public void updateManifestUrl (java.lang.String) 
		String manifestUrl
	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 getManifestLoadTimestamp () 
	public java.io.IOException getError () 
	public void enable () 
	public void disable () 
	public void requestRefresh () 
	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 exception
	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$100 (com.google.android.exoplayer.util.ManifestFetcher) 
		com.google.android.exoplayer.util.ManifestFetcher x0
	static java.lang.Object access$202 (com.google.android.exoplayer.util.ManifestFetcher, java.lang.Object) 
		com.google.android.exoplayer.util.ManifestFetcher x0
		Object x1
	static long access$302 (com.google.android.exoplayer.util.ManifestFetcher, long) 
		com.google.android.exoplayer.util.ManifestFetcher x0
		long x1
}

com/google/android/exoplayer/util/ManifestFetcher$ManifestLoadable.class
ManifestFetcher.java
package com.google.android.exoplayer.util
 com.google.android.exoplayer.util.ManifestFetcher$ManifestLoadable extends java.lang.Object implements com.google.android.exoplayer.upstream.Loader$Loadable  {
	private static final int TIMEOUT_MILLIS
	volatile Object result
	private volatile boolean isCanceled
	final com.google.android.exoplayer.util.ManifestFetcher this$0
	private void  (com.google.android.exoplayer.util.ManifestFetcher) 
	public void cancelLoad () 
	public boolean isLoadCanceled () 
	public void load ()  throws java.io.IOException java.lang.InterruptedException 
		java.net.URLConnection connection
		String inputEncoding
		java.io.InputStream inputStream
	private java.net.URLConnection configureConnection (java.net.URL)  throws java.io.IOException 
		java.net.URL url
		java.net.URLConnection connection
	void  (com.google.android.exoplayer.util.ManifestFetcher, com.google.android.exoplayer.util.ManifestFetcher$1) 
		com.google.android.exoplayer.util.ManifestFetcher x0
		com.google.android.exoplayer.util.ManifestFetcher$1 x1
}

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/BitArray.class
BitArray.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.BitArray extends java.lang.Object {
	private byte[] data
	private int limit
	private int byteOffset
	private int bitOffset
	public void  () 
	public void  (byte[], int) 
		byte[] data
		int limit
	public void reset () 
	public void reset (byte[], int) 
		byte[] data
		int limit
	public byte[] getData () 
	public int getByteOffset () 
	public void setByteOffset (int) 
		int byteOffset
	public int append (com.google.android.exoplayer.upstream.DataSource, int)  throws java.io.IOException 
		com.google.android.exoplayer.upstream.DataSource dataSource
		int length
		int bytesRead
	public void append (com.google.android.exoplayer.util.BitArray, int) 
		com.google.android.exoplayer.util.BitArray bitsArray
		int length
	private void expand (int) 
		byte[] newBuffer
		int length
	public void clearReadData () 
	public int readUnsignedByte () 
		byte b
		byte b
	public boolean readBit () 
	public int readBits (int) 
		int n
	public long readBitsLong (int) 
		int nextBit
		byte writeMask
		int n
		long retval
	private int getUnsignedByte (int) 
		int offset
	public void skipBits (int) 
		int n
	public void skipBytes (int) 
		int n
	public void readBytes (byte[], int, int) 
		byte[] out
		int offset
		int length
	public int bytesLeft () 
	public boolean isEmpty () 
	public int readUnsignedExpGolombCodedInt () 
	public int readSignedExpGolombCodedInt () 
		int codeNum
	private int readExpGolombCodeNum () 
		int leadingZeros
	public int readSynchSafeInt () 
		int b1
		int b2
		int b3
		int b4
	public int findNextAdtsSyncWord () 
		int syncBits
		int i
	public int findNextNalUnit (int, int) 
		int i
		int nalUnitType
		int offset
}

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/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/LongArray.class
LongArray.java
package com.google.android.exoplayer.util
public 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 () 
}

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) 
		Object x0
		Object x1
}

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) 
	public void run () 
}

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) 
	public void run () 
}

com/google/android/exoplayer/util/ManifestParser.class
ManifestParser.java
package com.google.android.exoplayer.util
public abstract com.google.android.exoplayer.util.ManifestParser extends java.lang.Object {
	public abstract java.lang.Object parse (java.io.InputStream, java.lang.String, java.lang.String, android.net.Uri)  throws java.io.IOException com.google.android.exoplayer.ParserException 
}

com/google/android/exoplayer/util/PriorityHandlerThread.class
PriorityHandlerThread.java
package com.google.android.exoplayer.util
public 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/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/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/SlidingPercentile.class
SlidingPercentile.java
package com.google.android.exoplayer.util
public 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/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/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/TraceUtil.class
TraceUtil.java
package com.google.android.exoplayer.util
public com.google.android.exoplayer.util.TraceUtil extends java.lang.Object {
	public 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/parser/
com/google/android/exoplayer/parser/Extractor.class
Extractor.java
package com.google.android.exoplayer.parser
public abstract com.google.android.exoplayer.parser.Extractor extends java.lang.Object {
	public static final int RESULT_NEED_MORE_DATA
	public static final int RESULT_END_OF_STREAM
	public static final int RESULT_READ_SAMPLE
	public static final int RESULT_READ_INIT
	public static final int RESULT_READ_INDEX
	public static final int RESULT_NEED_SAMPLE_HOLDER
	public abstract com.google.android.exoplayer.parser.SegmentIndex getIndex () 
	public abstract boolean hasRelativeIndexOffsets () 
	public abstract com.google.android.exoplayer.MediaFormat getFormat () 
	public abstract java.util.Map getPsshInfo () 
	public abstract int read (com.google.android.exoplayer.upstream.NonBlockingInputStream, com.google.android.exoplayer.SampleHolder)  throws com.google.android.exoplayer.ParserException 
	public abstract boolean seekTo (long, boolean) 
}

com/google/android/exoplayer/parser/SegmentIndex.class
SegmentIndex.java
package com.google.android.exoplayer.parser
public final com.google.android.exoplayer.parser.SegmentIndex extends java.lang.Object {
	public final int sizeBytes
	public final int length
	public final int[] sizes
	public final long[] offsets
	public final long[] durationsUs
	public final long[] timesUs
	public void  (int, int[], long[], long[], long[]) 
		int sizeBytes
		int[] sizes
		long[] offsets
		long[] durationsUs
		long[] timesUs
}

com/google/android/exoplayer/parser/webm/
com/google/android/exoplayer/parser/webm/WebmExtractor$InnerEbmlEventHandler.class
WebmExtractor.java
package com.google.android.exoplayer.parser.webm
final com.google.android.exoplayer.parser.webm.WebmExtractor$InnerEbmlEventHandler extends java.lang.Object implements com.google.android.exoplayer.parser.webm.EbmlEventHandler  {
	final com.google.android.exoplayer.parser.webm.WebmExtractor this$0
	private void  (com.google.android.exoplayer.parser.webm.WebmExtractor) 
	public int getElementType (int) 
		int id
	public void onMasterElementStart (int, long, int, long)  throws com.google.android.exoplayer.ParserException 
		int id
		long elementOffsetBytes
		int headerSizeBytes
		long contentsSizeBytes
	public void onMasterElementEnd (int)  throws com.google.android.exoplayer.ParserException 
		int id
	public void onIntegerElement (int, long)  throws com.google.android.exoplayer.ParserException 
		int id
		long value
	public void onFloatElement (int, double) 
		int id
		double value
	public void onStringElement (int, java.lang.String)  throws com.google.android.exoplayer.ParserException 
		int id
		String value
	public boolean onBinaryElement (int, long, int, int, com.google.android.exoplayer.upstream.NonBlockingInputStream)  throws com.google.android.exoplayer.ParserException 
		int id
		long elementOffsetBytes
		int headerSizeBytes
		int contentsSizeBytes
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
	void  (com.google.android.exoplayer.parser.webm.WebmExtractor, com.google.android.exoplayer.parser.webm.WebmExtractor$1) 
		com.google.android.exoplayer.parser.webm.WebmExtractor x0
		com.google.android.exoplayer.parser.webm.WebmExtractor$1 x1
}

com/google/android/exoplayer/parser/webm/EbmlReader.class
EbmlReader.java
package com.google.android.exoplayer.parser.webm
abstract com.google.android.exoplayer.parser.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 static final int READ_RESULT_CONTINUE
	public static final int READ_RESULT_NEED_MORE_DATA
	public static final int READ_RESULT_END_OF_STREAM
	public abstract void setEventHandler (com.google.android.exoplayer.parser.webm.EbmlEventHandler) 
	public abstract int read (com.google.android.exoplayer.upstream.NonBlockingInputStream)  throws com.google.android.exoplayer.ParserException 
	public abstract long getBytesRead () 
	public abstract void reset () 
	public abstract long readVarint (com.google.android.exoplayer.upstream.NonBlockingInputStream) 
	public abstract void readBytes (com.google.android.exoplayer.upstream.NonBlockingInputStream, java.nio.ByteBuffer, int) 
	public abstract void readBytes (com.google.android.exoplayer.upstream.NonBlockingInputStream, byte[], int) 
	public abstract void skipBytes (com.google.android.exoplayer.upstream.NonBlockingInputStream, int) 
}

com/google/android/exoplayer/parser/webm/DefaultEbmlReader.class
DefaultEbmlReader.java
package com.google.android.exoplayer.parser.webm
final com.google.android.exoplayer.parser.webm.DefaultEbmlReader extends java.lang.Object implements com.google.android.exoplayer.parser.webm.EbmlReader  {
	private static final int STATE_BEGIN_READING
	private static final int STATE_READ_CONTENTS
	private static final int STATE_FINISHED_READING
	private static final int[] VARINT_LENGTH_MASKS
	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[] tempByteArray
	private final java.util.Stack masterElementsStack
	private com.google.android.exoplayer.parser.webm.EbmlEventHandler eventHandler
	private int state
	private long bytesRead
	private long elementOffset
	private int elementId
	private int elementIdState
	private long elementContentSize
	private int elementContentSizeState
	private int varintBytesState
	private int varintBytesLength
	private int bytesState
	private byte[] stringBytes
	void  () 
	public void setEventHandler (com.google.android.exoplayer.parser.webm.EbmlEventHandler) 
		com.google.android.exoplayer.parser.webm.EbmlEventHandler eventHandler
	public int read (com.google.android.exoplayer.upstream.NonBlockingInputStream)  throws com.google.android.exoplayer.ParserException 
		int idResult
		int sizeResult
		double floatValue
		long expectedBytesRead
		int masterHeaderSize
		int intResult
		long intValue
		int floatResult
		long valueBits
		double floatValue
		int stringResult
		String stringValue
		int binaryHeaderSize
		boolean consumed
		int skipResult
		int type
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
	public long getBytesRead () 
	public void reset () 
	public long readVarint (com.google.android.exoplayer.upstream.NonBlockingInputStream) 
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		int result
	public void readBytes (com.google.android.exoplayer.upstream.NonBlockingInputStream, java.nio.ByteBuffer, int) 
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		java.nio.ByteBuffer byteBuffer
		int totalBytes
		int result
	public void readBytes (com.google.android.exoplayer.upstream.NonBlockingInputStream, byte[], int) 
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		byte[] byteArray
		int totalBytes
		int result
	public void skipBytes (com.google.android.exoplayer.upstream.NonBlockingInputStream, int) 
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		int totalBytes
		int result
	private void prepareForNextElement () 
	private int readElementId (com.google.android.exoplayer.upstream.NonBlockingInputStream) 
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		int result
	private int readElementContentSize (com.google.android.exoplayer.upstream.NonBlockingInputStream) 
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		int result
	private int readVarintBytes (com.google.android.exoplayer.upstream.NonBlockingInputStream) 
		int i
		int result
		int firstByte
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		int result
	private int readBytesInternal (com.google.android.exoplayer.upstream.NonBlockingInputStream, java.nio.ByteBuffer, int) 
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		java.nio.ByteBuffer byteBuffer
		int totalBytes
		int remainingBytes
		int additionalBytesRead
	private int readBytesInternal (com.google.android.exoplayer.upstream.NonBlockingInputStream, byte[], int) 
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		byte[] byteArray
		int totalBytes
		int remainingBytes
		int additionalBytesRead
	private int skipBytesInternal (com.google.android.exoplayer.upstream.NonBlockingInputStream, int) 
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		int totalBytes
		int remainingBytes
		int additionalBytesRead
	private int updateBytesState (int, int) 
		int additionalBytesRead
		int totalBytes
	private long getTempByteArrayValue (int, boolean) 
		int i
		int byteLength
		boolean removeLengthMask
		long varint
	static void  () 
}

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

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

com/google/android/exoplayer/parser/webm/WebmExtractor.class
WebmExtractor.java
package com.google.android.exoplayer.parser.webm
public final com.google.android.exoplayer.parser.webm.WebmExtractor extends java.lang.Object implements com.google.android.exoplayer.parser.Extractor  {
	private static final String DOC_TYPE_WEBM
	private static final String CODEC_ID_VP9
	private static final String CODEC_ID_VORBIS
	private static final String CODEC_ID_OPUS
	private static final int VORBIS_MAX_INPUT_SIZE
	private static final int OPUS_MAX_INPUT_SIZE
	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_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_TRACKS
	private static final int ID_TRACK_ENTRY
	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_AUDIO
	private static final int ID_CHANNELS
	private static final int ID_SAMPLING_FREQUENCY
	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 LACING_NONE
	private static final int LACING_XIPH
	private static final int LACING_FIXED
	private static final int LACING_EBML
	private static final int READ_TERMINATING_RESULTS
	private final com.google.android.exoplayer.parser.webm.EbmlReader reader
	private final byte[] simpleBlockTimecodeAndFlags
	private com.google.android.exoplayer.SampleHolder sampleHolder
	private int readResults
	private long segmentStartOffsetBytes
	private long segmentEndOffsetBytes
	private long timecodeScale
	private long durationUs
	private int pixelWidth
	private int pixelHeight
	private int channelCount
	private int sampleRate
	private byte[] codecPrivate
	private String codecId
	private long codecDelayNs
	private long seekPreRollNs
	private boolean seenAudioTrack
	private long cuesSizeBytes
	private long clusterTimecodeUs
	private long simpleBlockTimecodeUs
	private com.google.android.exoplayer.MediaFormat format
	private com.google.android.exoplayer.parser.SegmentIndex cues
	private com.google.android.exoplayer.util.LongArray cueTimesUs
	private com.google.android.exoplayer.util.LongArray cueClusterPositions
	public void  () 
	void  (com.google.android.exoplayer.parser.webm.EbmlReader) 
		com.google.android.exoplayer.parser.webm.EbmlReader reader
	public int read (com.google.android.exoplayer.upstream.NonBlockingInputStream, com.google.android.exoplayer.SampleHolder)  throws com.google.android.exoplayer.ParserException 
		int ebmlReadResult
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		com.google.android.exoplayer.SampleHolder sampleHolder
	public boolean seekTo (long, boolean) 
		int clusterIndex
		long seekTimeUs
		boolean allowNoop
	public com.google.android.exoplayer.parser.SegmentIndex getIndex () 
	public boolean hasRelativeIndexOffsets () 
	public com.google.android.exoplayer.MediaFormat getFormat () 
	public java.util.Map getPsshInfo () 
	int getElementType (int) 
		int id
	boolean onMasterElementStart (int, long, int, long)  throws com.google.android.exoplayer.ParserException 
		int id
		long elementOffsetBytes
		int headerSizeBytes
		long contentsSizeBytes
	boolean onMasterElementEnd (int)  throws com.google.android.exoplayer.ParserException 
		int id
	boolean onIntegerElement (int, long)  throws com.google.android.exoplayer.ParserException 
		int id
		long value
	boolean onFloatElement (int, double) 
		int id
		double value
	boolean onStringElement (int, java.lang.String)  throws com.google.android.exoplayer.ParserException 
		int id
		String value
	boolean onBinaryElement (int, long, int, int, com.google.android.exoplayer.upstream.NonBlockingInputStream)  throws com.google.android.exoplayer.ParserException 
		boolean keyframe
		long elementEndOffsetBytes
		int timecode
		long timecodeUs
		boolean keyframe
		boolean invisible
		int lacing
		java.nio.ByteBuffer outputData
		int id
		long elementOffsetBytes
		int headerSizeBytes
		int contentsSizeBytes
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
	private long scaleTimecodeToUs (long) 
		long unscaledTimecode
	private boolean isCodecSupported (java.lang.String) 
		String codecId
	private void buildVideoFormat ()  throws com.google.android.exoplayer.ParserException 
	private void buildAudioFormat ()  throws com.google.android.exoplayer.ParserException 
		java.util.ArrayList opusInitializationData
	private void buildCues ()  throws com.google.android.exoplayer.ParserException 
		int i
		int i
		int cuePointsSize
		int[] sizes
		long[] offsets
		long[] durationsUs
		long[] timesUs
	private java.util.ArrayList parseVorbisCodecPrivate ()  throws com.google.android.exoplayer.ParserException 
		int offset
		int vorbisInfoLength
		int vorbisSkipLength
		byte[] vorbisInfo
		byte[] vorbisBooks
		java.util.ArrayList initializationData
		ArrayIndexOutOfBoundsException e
}

com/google/android/exoplayer/parser/webm/EbmlEventHandler.class
EbmlEventHandler.java
package com.google.android.exoplayer.parser.webm
abstract com.google.android.exoplayer.parser.webm.EbmlEventHandler extends java.lang.Object {
	public abstract int getElementType (int) 
	public abstract void onMasterElementStart (int, long, int, long)  throws com.google.android.exoplayer.ParserException 
	public abstract void onMasterElementEnd (int)  throws com.google.android.exoplayer.ParserException 
	public abstract void onIntegerElement (int, long)  throws com.google.android.exoplayer.ParserException 
	public abstract void onFloatElement (int, double)  throws com.google.android.exoplayer.ParserException 
	public abstract void onStringElement (int, java.lang.String)  throws com.google.android.exoplayer.ParserException 
	public abstract boolean onBinaryElement (int, long, int, int, com.google.android.exoplayer.upstream.NonBlockingInputStream)  throws com.google.android.exoplayer.ParserException 
}

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

com/google/android/exoplayer/parser/mp4/
com/google/android/exoplayer/parser/mp4/DefaultSampleValues.class
DefaultSampleValues.java
package com.google.android.exoplayer.parser.mp4
final com.google.android.exoplayer.parser.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/parser/mp4/Atom$ContainerAtom.class
Atom.java
package com.google.android.exoplayer.parser.mp4
public final com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom extends com.google.android.exoplayer.parser.mp4.Atom {
	public final java.util.ArrayList children
	public final int endByteOffset
	public void  (int, int) 
		int type
		int endByteOffset
	public void add (com.google.android.exoplayer.parser.mp4.Atom) 
		com.google.android.exoplayer.parser.mp4.Atom atom
	public com.google.android.exoplayer.parser.mp4.Atom$LeafAtom getLeafAtomOfType (int) 
		com.google.android.exoplayer.parser.mp4.Atom atom
		int i
		int type
		int childrenSize
	public com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom getContainerAtomOfType (int) 
		com.google.android.exoplayer.parser.mp4.Atom atom
		int i
		int type
		int childrenSize
}

com/google/android/exoplayer/parser/mp4/FragmentedMp4Extractor.class
FragmentedMp4Extractor.java
package com.google.android.exoplayer.parser.mp4
public final com.google.android.exoplayer.parser.mp4.FragmentedMp4Extractor extends java.lang.Object implements com.google.android.exoplayer.parser.Extractor  {
	public static final int WORKAROUND_EVERY_VIDEO_FRAME_IS_SYNC_FRAME
	private static final int READ_TERMINATING_RESULTS
	private static final byte[] NAL_START_CODE
	private static final byte[] PIFF_SAMPLE_ENCRYPTION_BOX_EXTENDED_TYPE
	private static final int[] AC3_CHANNEL_COUNTS
	private static final int[] AC3_BIT_RATES
	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
	private static final int ATOM_HEADER_SIZE
	private static final int FULL_ATOM_HEADER_SIZE
	private static final java.util.Set PARSED_ATOMS
	private static final java.util.Set CONTAINER_TYPES
	private final int workaroundFlags
	private final com.google.android.exoplayer.parser.mp4.ParsableByteArray atomHeader
	private final byte[] extendedTypeScratch
	private final java.util.Stack containerAtoms
	private final com.google.android.exoplayer.parser.mp4.TrackFragment fragmentRun
	private int parserState
	private int atomBytesRead
	private int rootAtomBytesRead
	private int atomType
	private int atomSize
	private com.google.android.exoplayer.parser.mp4.ParsableByteArray atomData
	private int pendingSeekTimeMs
	private int sampleIndex
	private int pendingSeekSyncSampleIndex
	private int lastSyncSampleIndex
	private final java.util.HashMap psshData
	private com.google.android.exoplayer.parser.SegmentIndex segmentIndex
	private com.google.android.exoplayer.parser.mp4.Track track
	private com.google.android.exoplayer.parser.mp4.DefaultSampleValues extendsDefaults
	public void  () 
	public void  (int) 
		int workaroundFlags
	public void setTrack (com.google.android.exoplayer.parser.mp4.Track) 
		com.google.android.exoplayer.parser.mp4.Track track
	public java.util.Map getPsshInfo () 
	public com.google.android.exoplayer.parser.SegmentIndex getIndex () 
	public boolean hasRelativeIndexOffsets () 
	public com.google.android.exoplayer.MediaFormat getFormat () 
	public int read (com.google.android.exoplayer.upstream.NonBlockingInputStream, com.google.android.exoplayer.SampleHolder)  throws com.google.android.exoplayer.ParserException 
		int results
		Exception e
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		com.google.android.exoplayer.SampleHolder out
	public boolean seekTo (long, boolean) 
		int i
		int sampleIndexFound
		int syncSampleIndexFound
		long seekTimeUs
		boolean allowNoop
	private void enterState (int) 
		int state
	private int readAtomHeader (com.google.android.exoplayer.upstream.NonBlockingInputStream) 
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		int remainingBytes
		int bytesRead
		Integer atomTypeInteger
	private int readAtomPayload (com.google.android.exoplayer.upstream.NonBlockingInputStream) 
		int bytesRead
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		int bytesRead
		int results
	private int onLeafAtomRead (com.google.android.exoplayer.parser.mp4.Atom$LeafAtom) 
		com.google.android.exoplayer.parser.mp4.Atom$LeafAtom leaf
	private int onContainerAtomRead (com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom) 
		com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom container
	private void onMoovContainerAtomRead (com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom) 
		com.google.android.exoplayer.parser.mp4.ParsableByteArray psshAtom
		java.util.UUID uuid
		int dataSize
		byte[] data
		com.google.android.exoplayer.parser.mp4.Atom child
		int i
		com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom moov
		java.util.List moovChildren
		int moovChildrenSize
		com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom mvex
	private void onMoofContainerAtomRead (com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom) 
		int i
		com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom moof
	private static com.google.android.exoplayer.parser.mp4.DefaultSampleValues parseTrex (com.google.android.exoplayer.parser.mp4.ParsableByteArray) 
		com.google.android.exoplayer.parser.mp4.ParsableByteArray trex
		int defaultSampleDescriptionIndex
		int defaultSampleDuration
		int defaultSampleSize
		int defaultSampleFlags
	private static com.google.android.exoplayer.parser.mp4.Track parseTrak (com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom) 
		com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom trak
		com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom mdia
		int trackType
		android.util.Pair header
		int id
		long timescale
		com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom stbl
		android.util.Pair sampleDescriptions
	private static android.util.Pair parseTkhd (com.google.android.exoplayer.parser.mp4.ParsableByteArray) 
		int i
		long duration
		com.google.android.exoplayer.parser.mp4.ParsableByteArray tkhd
		int fullAtom
		int version
		int trackId
		boolean durationUnknown
		int durationPosition
		int durationByteCount
		long duration
	private static int parseHdlr (com.google.android.exoplayer.parser.mp4.ParsableByteArray) 
		com.google.android.exoplayer.parser.mp4.ParsableByteArray hdlr
	private static long parseMdhd (com.google.android.exoplayer.parser.mp4.ParsableByteArray) 
		com.google.android.exoplayer.parser.mp4.ParsableByteArray mdhd
		int fullAtom
		int version
	private static android.util.Pair parseStsd (com.google.android.exoplayer.parser.mp4.ParsableByteArray) 
		android.util.Pair avc
		android.util.Pair audioSampleEntry
		int childStartPosition
		int childAtomSize
		int childAtomType
		int i
		com.google.android.exoplayer.parser.mp4.ParsableByteArray stsd
		int numberOfEntries
		com.google.android.exoplayer.MediaFormat mediaFormat
		com.google.android.exoplayer.parser.mp4.TrackEncryptionBox[] trackEncryptionBoxes
	private static android.util.Pair parseAvcFromParent (com.google.android.exoplayer.parser.mp4.ParsableByteArray, int, int) 
		int childStartPosition
		int childAtomSize
		int childAtomType
		com.google.android.exoplayer.parser.mp4.ParsableByteArray parent
		int position
		int size
		int width
		int height
		float pixelWidthHeightRatio
		java.util.List initializationData
		com.google.android.exoplayer.parser.mp4.TrackEncryptionBox trackEncryptionBox
		int childPosition
		com.google.android.exoplayer.MediaFormat format
	private static android.util.Pair parseAudioSampleEntry (com.google.android.exoplayer.parser.mp4.ParsableByteArray, int, int, int) 
		android.util.Pair audioSpecificConfig
		com.google.android.exoplayer.parser.mp4.FragmentedMp4Extractor$Ac3Format ac3Format
		int childStartPosition
		int childAtomSize
		int childAtomType
		String mimeType
		String mimeType
		com.google.android.exoplayer.parser.mp4.ParsableByteArray parent
		int atomType
		int position
		int size
		int channelCount
		int sampleSize
		int sampleRate
		int bitrate
		byte[] initializationData
		com.google.android.exoplayer.parser.mp4.TrackEncryptionBox trackEncryptionBox
		int childPosition
		String mimeType
		com.google.android.exoplayer.MediaFormat format
	private static com.google.android.exoplayer.parser.mp4.FragmentedMp4Extractor$Ac3Format parseAc3SpecificBoxFromParent (com.google.android.exoplayer.parser.mp4.ParsableByteArray, int) 
		com.google.android.exoplayer.parser.mp4.ParsableByteArray parent
		int position
		int fscod
		int sampleRate
		int nextByte
		int channelCount
		int bitrate
	private static int parseEc3SpecificBoxFromParent (com.google.android.exoplayer.parser.mp4.ParsableByteArray, int) 
		com.google.android.exoplayer.parser.mp4.ParsableByteArray parent
		int position
	private static java.util.List parseAvcCFromParent (com.google.android.exoplayer.parser.mp4.ParsableByteArray, int) 
		int j
		int j
		com.google.android.exoplayer.parser.mp4.ParsableByteArray parent
		int position
		int nalUnitLength
		java.util.List initializationData
		int numSequenceParameterSets
		int numPictureParamterSets
	private static byte[] parseChildNalUnit (com.google.android.exoplayer.parser.mp4.ParsableByteArray) 
		com.google.android.exoplayer.parser.mp4.ParsableByteArray atom
		int length
		int offset
	private static com.google.android.exoplayer.parser.mp4.TrackEncryptionBox parseSinfFromParent (com.google.android.exoplayer.parser.mp4.ParsableByteArray, int, int) 
		int childAtomSize
		int childAtomType
		com.google.android.exoplayer.parser.mp4.ParsableByteArray parent
		int position
		int size
		int childPosition
		com.google.android.exoplayer.parser.mp4.TrackEncryptionBox trackEncryptionBox
	private static float parsePaspFromParent (com.google.android.exoplayer.parser.mp4.ParsableByteArray, int) 
		com.google.android.exoplayer.parser.mp4.ParsableByteArray parent
		int position
		int hSpacing
		int vSpacing
	private static com.google.android.exoplayer.parser.mp4.TrackEncryptionBox parseSchiFromParent (com.google.android.exoplayer.parser.mp4.ParsableByteArray, int, int) 
		int firstInt
		boolean defaultIsEncrypted
		int defaultInitVectorSize
		byte[] defaultKeyId
		int childAtomSize
		int childAtomType
		com.google.android.exoplayer.parser.mp4.ParsableByteArray parent
		int position
		int size
		int childPosition
	private static byte[] parseEsdsFromParent (com.google.android.exoplayer.parser.mp4.ParsableByteArray, int) 
		com.google.android.exoplayer.parser.mp4.ParsableByteArray parent
		int position
		int varIntByte
		int flags
		int varInt
		byte[] initializationData
	private static void parseMoof (com.google.android.exoplayer.parser.mp4.Track, com.google.android.exoplayer.parser.mp4.DefaultSampleValues, com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom, com.google.android.exoplayer.parser.mp4.TrackFragment, int, byte[]) 
		com.google.android.exoplayer.parser.mp4.Track track
		com.google.android.exoplayer.parser.mp4.DefaultSampleValues extendsDefaults
		com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom moof
		com.google.android.exoplayer.parser.mp4.TrackFragment out
		int workaroundFlags
		byte[] extendedTypeScratch
	private static void parseTraf (com.google.android.exoplayer.parser.mp4.Track, com.google.android.exoplayer.parser.mp4.DefaultSampleValues, com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom, com.google.android.exoplayer.parser.mp4.TrackFragment, int, byte[]) 
		com.google.android.exoplayer.parser.mp4.TrackEncryptionBox trackEncryptionBox
		com.google.android.exoplayer.parser.mp4.Atom atom
		int i
		com.google.android.exoplayer.parser.mp4.Track track
		com.google.android.exoplayer.parser.mp4.DefaultSampleValues extendsDefaults
		com.google.android.exoplayer.parser.mp4.Atom$ContainerAtom traf
		com.google.android.exoplayer.parser.mp4.TrackFragment out
		int workaroundFlags
		byte[] extendedTypeScratch
		com.google.android.exoplayer.parser.mp4.Atom$LeafAtom tfdtAtom
		long decodeTime
		com.google.android.exoplayer.parser.mp4.Atom$LeafAtom tfhd
		com.google.android.exoplayer.parser.mp4.DefaultSampleValues fragmentHeader
		com.google.android.exoplayer.parser.mp4.Atom$LeafAtom trun
		com.google.android.exoplayer.parser.mp4.Atom$LeafAtom saiz
		com.google.android.exoplayer.parser.mp4.Atom$LeafAtom senc
		int childrenSize
	private static void parseSaiz (com.google.android.exoplayer.parser.mp4.TrackEncryptionBox, com.google.android.exoplayer.parser.mp4.ParsableByteArray, com.google.android.exoplayer.parser.mp4.TrackFragment) 
		int sampleInfoSize
		int i
		boolean[] sampleHasSubsampleEncryptionTable
		boolean subsampleEncryption
		com.google.android.exoplayer.parser.mp4.TrackEncryptionBox encryptionBox
		com.google.android.exoplayer.parser.mp4.ParsableByteArray saiz
		com.google.android.exoplayer.parser.mp4.TrackFragment out
		int vectorSize
		int fullAtom
		int flags
		int defaultSampleInfoSize
		int sampleCount
		int totalSize
	private static com.google.android.exoplayer.parser.mp4.DefaultSampleValues parseTfhd (com.google.android.exoplayer.parser.mp4.DefaultSampleValues, com.google.android.exoplayer.parser.mp4.ParsableByteArray) 
		com.google.android.exoplayer.parser.mp4.DefaultSampleValues extendsDefaults
		com.google.android.exoplayer.parser.mp4.ParsableByteArray tfhd
		int fullAtom
		int flags
		int defaultSampleDescriptionIndex
		int defaultSampleDuration
		int defaultSampleSize
		int defaultSampleFlags
	private static long parseTfdt (com.google.android.exoplayer.parser.mp4.ParsableByteArray) 
		com.google.android.exoplayer.parser.mp4.ParsableByteArray tfdt
		int fullAtom
		int version
	private static void parseTrun (com.google.android.exoplayer.parser.mp4.Track, com.google.android.exoplayer.parser.mp4.DefaultSampleValues, long, int, com.google.android.exoplayer.parser.mp4.ParsableByteArray, com.google.android.exoplayer.parser.mp4.TrackFragment) 
		int sampleOffset
		int sampleDuration
		int sampleSize
		int sampleFlags
		int i
		com.google.android.exoplayer.parser.mp4.Track track
		com.google.android.exoplayer.parser.mp4.DefaultSampleValues defaultSampleValues
		long decodeTime
		int workaroundFlags
		com.google.android.exoplayer.parser.mp4.ParsableByteArray trun
		com.google.android.exoplayer.parser.mp4.TrackFragment out
		int fullAtom
		int flags
		int sampleCount
		boolean firstSampleFlagsPresent
		int firstSampleFlags
		boolean sampleDurationsPresent
		boolean sampleSizesPresent
		boolean sampleFlagsPresent
		boolean sampleCompositionTimeOffsetsPresent
		int[] sampleSizeTable
		int[] sampleCompositionTimeOffsetTable
		long[] sampleDecodingTimeTable
		boolean[] sampleIsSyncFrameTable
		long timescale
		long cumulativeTime
		boolean workaroundEveryVideoFrameIsSyncFrame
	private static void parseUuid (com.google.android.exoplayer.parser.mp4.ParsableByteArray, com.google.android.exoplayer.parser.mp4.TrackFragment, byte[]) 
		com.google.android.exoplayer.parser.mp4.ParsableByteArray uuid
		com.google.android.exoplayer.parser.mp4.TrackFragment out
		byte[] extendedTypeScratch
	private static void parseSenc (com.google.android.exoplayer.parser.mp4.ParsableByteArray, com.google.android.exoplayer.parser.mp4.TrackFragment) 
		com.google.android.exoplayer.parser.mp4.ParsableByteArray senc
		com.google.android.exoplayer.parser.mp4.TrackFragment out
	private static void parseSenc (com.google.android.exoplayer.parser.mp4.ParsableByteArray, int, com.google.android.exoplayer.parser.mp4.TrackFragment) 
		com.google.android.exoplayer.parser.mp4.ParsableByteArray senc
		int offset
		com.google.android.exoplayer.parser.mp4.TrackFragment out
		int fullAtom
		int flags
		boolean subsampleEncryption
		int sampleCount
	private static com.google.android.exoplayer.parser.SegmentIndex parseSidx (com.google.android.exoplayer.parser.mp4.ParsableByteArray) 
		long earliestPresentationTime
		long firstOffset
		int firstInt
		int type
		long referenceDuration
		int i
		com.google.android.exoplayer.parser.mp4.ParsableByteArray atom
		int fullAtom
		int version
		long timescale
		long earliestPresentationTime
		long firstOffset
		int referenceCount
		int[] sizes
		long[] offsets
		long[] durationsUs
		long[] timesUs
		long offset
		long time
		long timeUs
	private int readEncryptionData (com.google.android.exoplayer.upstream.NonBlockingInputStream) 
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		boolean success
	private int readOrSkipSample (com.google.android.exoplayer.upstream.NonBlockingInputStream, com.google.android.exoplayer.SampleHolder) 
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		com.google.android.exoplayer.SampleHolder out
		int sampleSize
	private int skipSample (com.google.android.exoplayer.upstream.NonBlockingInputStream, int) 
		com.google.android.exoplayer.parser.mp4.ParsableByteArray sampleEncryptionData
		com.google.android.exoplayer.parser.mp4.TrackEncryptionBox encryptionBox
		int vectorSize
		boolean subsampleEncryption
		int subsampleCount
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		int sampleSize
	private int readSample (com.google.android.exoplayer.upstream.NonBlockingInputStream, int, com.google.android.exoplayer.SampleHolder) 
		int length
		int sampleOffset
		int position
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		int sampleSize
		com.google.android.exoplayer.SampleHolder out
		java.nio.ByteBuffer outputData
	private void readSampleEncryptionData (com.google.android.exoplayer.parser.mp4.ParsableByteArray, com.google.android.exoplayer.SampleHolder) 
		int i
		com.google.android.exoplayer.parser.mp4.ParsableByteArray sampleEncryptionData
		com.google.android.exoplayer.SampleHolder out
		com.google.android.exoplayer.parser.mp4.TrackEncryptionBox encryptionBox
		byte[] keyId
		boolean isEncrypted
		int vectorSize
		boolean subsampleEncryption
		byte[] vector
		int subsampleCount
		int[] clearDataSizes
		int[] encryptedDataSizes
	private static int parseFullAtomVersion (int) 
		int fullAtomInt
	private static int parseFullAtomFlags (int) 
		int fullAtomInt
	private static int readUnsignedIntToInt (java.nio.ByteBuffer) 
		int i
		java.nio.ByteBuffer data
		int result
	static void  () 
		java.util.HashSet parsedAtoms
		java.util.HashSet atomContainerTypes
}

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

com/google/android/exoplayer/parser/mp4/Track.class
Track.java
package com.google.android.exoplayer.parser.mp4
public final com.google.android.exoplayer.parser.mp4.Track extends java.lang.Object {
	public static final int TYPE_VIDEO
	public static final int TYPE_AUDIO
	public static final int TYPE_TEXT
	public static final int TYPE_HINT
	public static final int TYPE_META
	public final int id
	public final int type
	public final long timescale
	public final com.google.android.exoplayer.MediaFormat mediaFormat
	public final com.google.android.exoplayer.parser.mp4.TrackEncryptionBox[] sampleDescriptionEncryptionBoxes
	public void  (int, int, long, com.google.android.exoplayer.MediaFormat, com.google.android.exoplayer.parser.mp4.TrackEncryptionBox[]) 
		int id
		int type
		long timescale
		com.google.android.exoplayer.MediaFormat mediaFormat
		com.google.android.exoplayer.parser.mp4.TrackEncryptionBox[] sampleDescriptionEncryptionBoxes
}

com/google/android/exoplayer/parser/mp4/TrackEncryptionBox.class
TrackEncryptionBox.java
package com.google.android.exoplayer.parser.mp4
public final com.google.android.exoplayer.parser.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/parser/mp4/TrackFragment.class
TrackFragment.java
package com.google.android.exoplayer.parser.mp4
final com.google.android.exoplayer.parser.mp4.TrackFragment extends java.lang.Object {
	public int sampleDescriptionIndex
	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.parser.mp4.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.parser.mp4.ParsableByteArray) 
		com.google.android.exoplayer.parser.mp4.ParsableByteArray source
	public boolean fillEncryptionData (com.google.android.exoplayer.upstream.NonBlockingInputStream) 
		com.google.android.exoplayer.upstream.NonBlockingInputStream source
	public long getSamplePresentationTime (int) 
		int index
}

com/google/android/exoplayer/parser/mp4/FragmentedMp4Extractor$Ac3Format.class
FragmentedMp4Extractor.java
package com.google.android.exoplayer.parser.mp4
final com.google.android.exoplayer.parser.mp4.FragmentedMp4Extractor$Ac3Format extends java.lang.Object {
	public final int channelCount
	public final int sampleRate
	public final int bitrate
	public void  (int, int, int) 
		int channelCount
		int sampleRate
		int bitrate
}

com/google/android/exoplayer/parser/mp4/Atom.class
Atom.java
package com.google.android.exoplayer.parser.mp4
abstract com.google.android.exoplayer.parser.mp4.Atom extends java.lang.Object {
	public static final int TYPE_avc1
	public static final int TYPE_avc3
	public static final int TYPE_esds
	public static final int TYPE_mdat
	public static final int TYPE_mp4a
	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_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_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_moof
	public static final int TYPE_traf
	public static final int TYPE_mvex
	public static final int TYPE_tkhd
	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_uuid
	public static final int TYPE_senc
	public static final int TYPE_pasp
	public static final int TYPE_TTML
	public final int type
	void  (int) 
		int type
}

com/google/android/exoplayer/parser/mp4/ParsableByteArray.class
ParsableByteArray.java
package com.google.android.exoplayer.parser.mp4
final com.google.android.exoplayer.parser.mp4.ParsableByteArray extends java.lang.Object {
	public byte[] data
	private int position
	public void  (int) 
		int length
	public int length () 
	public int getPosition () 
	public void setPosition (int) 
		int position
	public void skip (int) 
		int bytes
	public void rewind (int) 
		int bytes
	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 () 
		int result
	public int readUnsignedShort () 
		int result
	public long readUnsignedInt () 
		long result
	public int readInt () 
		int result
	public long readLong () 
		long result
	public int readUnsignedFixedPoint1616 () 
		int result
	public int readUnsignedIntToInt () 
		int result
	public long readUnsignedLongToLong () 
		long result
	private static int shiftIntoInt (byte[], int, int) 
		int i
		byte[] bytes
		int offset
		int length
		int result
	private static long shiftIntoLong (byte[], int, int) 
		int i
		byte[] bytes
		int offset
		int length
		long result
}

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  {
	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 String mimeType
	private byte[] schemePsshData
	private byte[] sessionId
	public void  (java.util.UUID, android.os.Looper, com.google.android.exoplayer.drm.MediaDrmCallback, android.os.Handler, com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener)  throws android.media.UnsupportedSchemeException 
		java.util.UUID uuid
		android.os.Looper playbackLooper
		com.google.android.exoplayer.drm.MediaDrmCallback callback
		android.os.Handler eventHandler
		com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener eventListener
	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 android.media.UnsupportedSchemeException 
		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 int getState () 
	public android.media.MediaCrypto getMediaCrypto () 
	public boolean requiresSecureDecoderComponent (java.lang.String) 
		String mimeType
	public java.lang.Exception getError () 
	public final java.lang.String getPropertyString (java.lang.String) 
		String key
	public final byte[] getPropertyByteArray (java.lang.String) 
		String key
	public void open (java.util.Map, java.lang.String) 
		java.util.Map psshData
		String mimeType
	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) 
		com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
	static void access$600 (com.google.android.exoplayer.drm.StreamingDrmSessionManager, java.lang.Object) 
		com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
		Object x1
	static void access$700 (com.google.android.exoplayer.drm.StreamingDrmSessionManager, java.lang.Object) 
		com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
		Object 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$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 onDrmSessionManagerError (java.lang.Exception) 
}

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
}

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 Exception val$e
	final com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
	void  (com.google.android.exoplayer.drm.StreamingDrmSessionManager, java.lang.Exception) 
	public void run () 
}

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$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/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 (java.util.Map, java.lang.String) 
	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$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/chunk/
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 void  () 
}

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 com.google.android.exoplayer.TrackInfo getTrackInfo () 
	public abstract void getMaxVideoDimensions (com.google.android.exoplayer.MediaFormat) 
	public abstract void enable () 
	public abstract void disable (java.util.List) 
	public abstract void continueBuffering (long) 
	public abstract void getChunkOperation (java.util.List, long, long, com.google.android.exoplayer.chunk.ChunkOperationHolder) 
	public abstract java.io.IOException getError () 
	public abstract void onChunkLoadError (com.google.android.exoplayer.chunk.Chunk, java.lang.Exception) 
}

com/google/android/exoplayer/chunk/FormatEvaluator$FixedEvaluator.class
FormatEvaluator.java
package com.google.android.exoplayer.chunk
public 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/MultiTrackChunkSource.class
MultiTrackChunkSource.java
package com.google.android.exoplayer.chunk
public com.google.android.exoplayer.chunk.MultiTrackChunkSource extends java.lang.Object implements com.google.android.exoplayer.chunk.ChunkSource com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent  {
	public static final int MSG_SELECT_TRACK
	private final com.google.android.exoplayer.chunk.ChunkSource[] allSources
	private com.google.android.exoplayer.chunk.ChunkSource selectedSource
	private boolean enabled
	public transient void  (com.google.android.exoplayer.chunk.ChunkSource[]) 
		com.google.android.exoplayer.chunk.ChunkSource[] sources
	public void  (java.util.List) 
		java.util.List sources
	public int getTrackCount () 
	public com.google.android.exoplayer.TrackInfo getTrackInfo () 
	public void enable () 
	public void disable (java.util.List) 
		java.util.List queue
	public void continueBuffering (long) 
		long playbackPositionUs
	public void getChunkOperation (java.util.List, long, long, com.google.android.exoplayer.chunk.ChunkOperationHolder) 
		java.util.List queue
		long seekPositionUs
		long playbackPositionUs
		com.google.android.exoplayer.chunk.ChunkOperationHolder out
	public java.io.IOException getError () 
	public void getMaxVideoDimensions (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat out
	public void handleMessage (int, java.lang.Object)  throws com.google.android.exoplayer.ExoPlaybackException 
		int what
		Object msg
	public void onChunkLoadError (com.google.android.exoplayer.chunk.Chunk, java.lang.Exception) 
		com.google.android.exoplayer.chunk.Chunk chunk
		Exception e
	private static com.google.android.exoplayer.chunk.ChunkSource[] toChunkSourceArray (java.util.List) 
		java.util.List sources
		com.google.android.exoplayer.chunk.ChunkSource[] chunkSourceArray
}

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 nextChunkIndex
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, com.google.android.exoplayer.chunk.Format, int, long, long, int) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		com.google.android.exoplayer.chunk.Format format
		int trigger
		long startTimeUs
		long endTimeUs
		int nextChunkIndex
	public final boolean isLastChunk () 
	public abstract void seekToStart () 
	public abstract boolean seekTo (long, boolean) 
	public abstract boolean prepare ()  throws com.google.android.exoplayer.ParserException 
	public abstract boolean sampleAvailable ()  throws com.google.android.exoplayer.ParserException 
	public abstract boolean read (com.google.android.exoplayer.SampleHolder)  throws com.google.android.exoplayer.ParserException 
	public abstract com.google.android.exoplayer.MediaFormat getMediaFormat () 
	public abstract java.util.Map getPsshInfo () 
}

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) 
	public void run () 
}

com/google/android/exoplayer/chunk/FormatEvaluator$AdaptiveEvaluator.class
FormatEvaluator.java
package com.google.android.exoplayer.chunk
public 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
	protected 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
	protected long computeEffectiveBitrateEstimate (long) 
		long bitrateEstimate
}

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 {
	public abstract void onLoadStarted (int, java.lang.String, int, boolean, int, int, long) 
	public abstract void onLoadCompleted (int, long) 
	public abstract void onLoadCanceled (int, long) 
	public abstract void onUpstreamDiscarded (int, int, int, long) 
	public abstract void onUpstreamError (int, java.io.IOException) 
	public abstract void onConsumptionError (int, java.io.IOException) 
	public abstract void onDownstreamDiscarded (int, int, int, long) 
	public abstract void onDownstreamFormatChanged (int, java.lang.String, int, int) 
}

com/google/android/exoplayer/chunk/Mp4MediaChunk.class
Mp4MediaChunk.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.Mp4MediaChunk extends com.google.android.exoplayer.chunk.MediaChunk {
	private final com.google.android.exoplayer.parser.Extractor extractor
	private final boolean maybeSelfContained
	private final long sampleOffsetUs
	private boolean prepared
	private com.google.android.exoplayer.MediaFormat mediaFormat
	private java.util.Map psshInfo
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, com.google.android.exoplayer.chunk.Format, int, long, long, int, com.google.android.exoplayer.parser.Extractor, boolean, long) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		com.google.android.exoplayer.chunk.Format format
		int trigger
		long startTimeUs
		long endTimeUs
		int nextChunkIndex
		com.google.android.exoplayer.parser.Extractor extractor
		boolean maybeSelfContained
		long sampleOffsetUs
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, com.google.android.exoplayer.chunk.Format, int, long, long, int, com.google.android.exoplayer.parser.Extractor, java.util.Map, boolean, long) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		com.google.android.exoplayer.chunk.Format format
		int trigger
		long startTimeUs
		long endTimeUs
		int nextChunkIndex
		com.google.android.exoplayer.parser.Extractor extractor
		java.util.Map psshInfo
		boolean maybeSelfContained
		long sampleOffsetUs
	public void seekToStart () 
	public boolean seekTo (long, boolean) 
		long positionUs
		boolean allowNoop
		long seekTimeUs
		boolean isDiscontinuous
	public boolean prepare ()  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		int result
		java.util.Map extractorPsshInfo
	public boolean sampleAvailable ()  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		int result
	public boolean read (com.google.android.exoplayer.SampleHolder)  throws com.google.android.exoplayer.ParserException 
		com.google.android.exoplayer.SampleHolder holder
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		int result
		boolean sampleRead
	public com.google.android.exoplayer.MediaFormat getMediaFormat () 
	public java.util.Map getPsshInfo () 
}

com/google/android/exoplayer/chunk/FormatEvaluator$RandomEvaluator.class
FormatEvaluator.java
package com.google.android.exoplayer.chunk
public 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 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/FormatEvaluator.class
FormatEvaluator.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.FormatEvaluator extends java.lang.Object {
	public static final int TRIGGER_INITIAL
	public static final int TRIGGER_MANUAL
	public static final int TRIGGER_ADAPTIVE
	public static final int TRIGGER_CUSTOM_BASE
	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/SingleSampleChunkSource.class
SingleSampleChunkSource.java
package com.google.android.exoplayer.chunk
public com.google.android.exoplayer.chunk.SingleSampleChunkSource extends java.lang.Object implements com.google.android.exoplayer.chunk.ChunkSource  {
	private final com.google.android.exoplayer.upstream.DataSource dataSource
	private final com.google.android.exoplayer.upstream.DataSpec dataSpec
	private final com.google.android.exoplayer.chunk.Format format
	private final long durationUs
	private final com.google.android.exoplayer.MediaFormat mediaFormat
	private final com.google.android.exoplayer.TrackInfo trackInfo
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, com.google.android.exoplayer.chunk.Format, long, com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		com.google.android.exoplayer.chunk.Format format
		long durationUs
		com.google.android.exoplayer.MediaFormat mediaFormat
	public com.google.android.exoplayer.TrackInfo getTrackInfo () 
	public void getMaxVideoDimensions (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat out
	public void enable () 
	public void continueBuffering (long) 
		long playbackPositionUs
	public void getChunkOperation (java.util.List, long, long, com.google.android.exoplayer.chunk.ChunkOperationHolder) 
		java.util.List queue
		long seekPositionUs
		long playbackPositionUs
		com.google.android.exoplayer.chunk.ChunkOperationHolder out
	public void disable (java.util.List) 
		java.util.List queue
	public java.io.IOException getError () 
	public void onChunkLoadError (com.google.android.exoplayer.chunk.Chunk, java.lang.Exception) 
		com.google.android.exoplayer.chunk.Chunk chunk
		Exception e
	private com.google.android.exoplayer.chunk.SingleSampleMediaChunk initChunk () 
}

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) 
		Object x0
		Object x1
}

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 java.io.IOException val$e
	final com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	void  (com.google.android.exoplayer.chunk.ChunkSampleSource, java.io.IOException) 
	public void run () 
}

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 final com.google.android.exoplayer.chunk.Format format
	public final int trigger
	private final com.google.android.exoplayer.upstream.DataSource dataSource
	private final com.google.android.exoplayer.upstream.DataSpec dataSpec
	private com.google.android.exoplayer.upstream.DataSourceStream dataSourceStream
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, com.google.android.exoplayer.chunk.Format, int) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		com.google.android.exoplayer.chunk.Format format
		int trigger
	public final void init (com.google.android.exoplayer.upstream.Allocator) 
		com.google.android.exoplayer.upstream.Allocator allocator
	public final void release () 
	public final long getLength () 
	public final boolean isReadFinished () 
	public final boolean isLoadFinished () 
	public final long bytesLoaded () 
	public final void consume ()  throws java.io.IOException 
	protected void consumeStream (com.google.android.exoplayer.upstream.NonBlockingInputStream)  throws java.io.IOException 
		com.google.android.exoplayer.upstream.NonBlockingInputStream stream
	protected final com.google.android.exoplayer.upstream.NonBlockingInputStream getNonBlockingInputStream () 
	protected final void resetReadPosition () 
	public final void cancelLoad () 
	public final boolean isLoadCanceled () 
	public final void load ()  throws java.io.IOException java.lang.InterruptedException 
}

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

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/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) 
	public void run () 
}

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.upstream.Loader$Callback  {
	public static final int DEFAULT_MIN_LOADABLE_RETRY_COUNT
	private static final int STATE_UNPREPARED
	private static final int STATE_PREPARED
	private static final int STATE_ENABLED
	private static final int 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 int bufferSizeContribution
	private final boolean frameAccurateSeeking
	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 java.io.IOException currentLoadableException
	private boolean currentLoadableExceptionFatal
	private int currentLoadableExceptionCount
	private long currentLoadableExceptionTimestamp
	private com.google.android.exoplayer.MediaFormat downstreamMediaFormat
	private volatile com.google.android.exoplayer.chunk.Format downstreamFormat
	public void  (com.google.android.exoplayer.chunk.ChunkSource, com.google.android.exoplayer.LoadControl, int, boolean) 
		com.google.android.exoplayer.chunk.ChunkSource chunkSource
		com.google.android.exoplayer.LoadControl loadControl
		int bufferSizeContribution
		boolean frameAccurateSeeking
	public void  (com.google.android.exoplayer.chunk.ChunkSource, com.google.android.exoplayer.LoadControl, int, boolean, 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
		boolean frameAccurateSeeking
		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, boolean, 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
		boolean frameAccurateSeeking
		android.os.Handler eventHandler
		com.google.android.exoplayer.chunk.ChunkSampleSource$EventListener eventListener
		int eventSourceId
		int minLoadableRetryCount
	public com.google.android.exoplayer.chunk.Format getFormat () 
	public boolean prepare () 
	public int getTrackCount () 
	public com.google.android.exoplayer.TrackInfo getTrackInfo (int) 
		int track
	public void enable (int, long) 
		int track
		long positionUs
	public void disable (int) 
		int track
	public boolean continueBuffering (long)  throws java.io.IOException 
		long positionUs
		boolean haveSamples
	public int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder, boolean)  throws java.io.IOException 
		java.io.IOException chunkSourceException
		java.io.IOException chunkSourceException
		int track
		long positionUs
		com.google.android.exoplayer.MediaFormatHolder formatHolder
		com.google.android.exoplayer.SampleHolder sampleHolder
		boolean onlyReadDiscontinuity
		com.google.android.exoplayer.chunk.MediaChunk mediaChunk
		com.google.android.exoplayer.MediaFormat mediaFormat
	public void seekToUs (long) 
		long positionUs
		com.google.android.exoplayer.chunk.MediaChunk mediaChunk
	private void maybeThrowLoadableException ()  throws java.io.IOException 
	private com.google.android.exoplayer.chunk.MediaChunk getMediaChunk (long) 
		com.google.android.exoplayer.chunk.MediaChunk mediaChunk
		long positionUs
		java.util.Iterator mediaChunkIterator
	public long getBufferedPositionUs () 
		long chunkLength
		com.google.android.exoplayer.chunk.MediaChunk mediaChunk
		com.google.android.exoplayer.chunk.Chunk currentLoadable
	public void release () 
	public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable) 
		java.io.IOException e
		com.google.android.exoplayer.upstream.Loader$Loadable loadable
		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 clearMediaChunks () 
	private void clearCurrentLoadable () 
	private void updateLoadControl () 
		boolean chunksDiscarded
		long elapsedMillis
		long now
		long nextLoadPositionUs
		boolean isBackedOff
		boolean loadingOrBackedOff
		boolean nextLoader
	private long getNextLoadPositionUs () 
		com.google.android.exoplayer.chunk.MediaChunk lastMediaChunk
	private void resumeFromBackOff () 
		com.google.android.exoplayer.chunk.Chunk backedOffChunk
		com.google.android.exoplayer.chunk.MediaChunk removedChunk
	private void maybeStartLoading () 
		com.google.android.exoplayer.chunk.MediaChunk mediaChunk
		com.google.android.exoplayer.chunk.Chunk currentLoadable
	private void discardDownstreamMediaChunks (com.google.android.exoplayer.chunk.MediaChunk) 
		com.google.android.exoplayer.chunk.MediaChunk removed
		com.google.android.exoplayer.chunk.MediaChunk untilChunk
		long totalBytes
		long startTimeUs
		long endTimeUs
	private void discardDownstreamMediaChunk () 
		com.google.android.exoplayer.chunk.MediaChunk removed
		long totalBytes
	private boolean discardUpstreamMediaChunks (int) 
		com.google.android.exoplayer.chunk.MediaChunk removed
		int queueLength
		long totalBytes
		long startTimeUs
		long endTimeUs
	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 int usToMs (long) 
		long timeUs
	private void notifyLoadStarted (java.lang.String, int, boolean, long, long, long) 
		String formatId
		int trigger
		boolean isInitialization
		long mediaStartTimeUs
		long mediaEndTimeUs
		long length
	private void notifyLoadCompleted (long) 
		long bytesLoaded
	private void notifyLoadCanceled (long) 
		long bytesLoaded
	private void notifyUpstreamError (java.io.IOException) 
		java.io.IOException e
	private void notifyConsumptionError (java.io.IOException) 
		java.io.IOException e
	private void notifyUpstreamDiscarded (long, long, long) 
		long mediaStartTimeUs
		long mediaEndTimeUs
		long totalBytes
	private void notifyDownstreamFormatChanged (java.lang.String, int, long) 
		String formatId
		int trigger
		long positionUs
	private void notifyDownstreamDiscarded (long, long, long) 
		long mediaStartTimeUs
		long mediaEndTimeUs
		long bytesDiscarded
	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/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 String val$formatId
	final int val$trigger
	final boolean val$isInitialization
	final long val$mediaStartTimeUs
	final long val$mediaEndTimeUs
	final long val$length
	final com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	void  (com.google.android.exoplayer.chunk.ChunkSampleSource, java.lang.String, int, boolean, long, long, long) 
	public void run () 
}

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 long val$mediaStartTimeUs
	final long val$mediaEndTimeUs
	final long val$totalBytes
	final com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	void  (com.google.android.exoplayer.chunk.ChunkSampleSource, long, long, long) 
	public void run () 
}

com/google/android/exoplayer/chunk/SingleSampleMediaChunk.class
SingleSampleMediaChunk.java
package com.google.android.exoplayer.chunk
public com.google.android.exoplayer.chunk.SingleSampleMediaChunk extends com.google.android.exoplayer.chunk.MediaChunk {
	public final byte[] headerData
	private final com.google.android.exoplayer.MediaFormat sampleFormat
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, com.google.android.exoplayer.chunk.Format, int, long, long, int, com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		com.google.android.exoplayer.chunk.Format format
		int trigger
		long startTimeUs
		long endTimeUs
		int nextChunkIndex
		com.google.android.exoplayer.MediaFormat sampleFormat
	public void  (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, com.google.android.exoplayer.chunk.Format, int, long, long, int, com.google.android.exoplayer.MediaFormat, byte[]) 
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.upstream.DataSpec dataSpec
		com.google.android.exoplayer.chunk.Format format
		int trigger
		long startTimeUs
		long endTimeUs
		int nextChunkIndex
		com.google.android.exoplayer.MediaFormat sampleFormat
		byte[] headerData
	public boolean prepare () 
	public boolean sampleAvailable () 
	public boolean read (com.google.android.exoplayer.SampleHolder) 
		int bytesRead
		com.google.android.exoplayer.SampleHolder holder
		com.google.android.exoplayer.upstream.NonBlockingInputStream inputStream
		int bytesLoaded
		int sampleSize
		int bytesRead
	public void seekToStart () 
	public boolean seekTo (long, boolean) 
		long positionUs
		boolean allowNoop
	public com.google.android.exoplayer.MediaFormat getMediaFormat () 
	public java.util.Map getPsshInfo () 
}

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 String codecs
	public final int width
	public final int height
	public final int numChannels
	public final int audioSamplingRate
	public final int bitrate
	public final String language
	public final int bandwidth
	public void  (java.lang.String, java.lang.String, int, int, int, int, int) 
		String id
		String mimeType
		int width
		int height
		int numChannels
		int audioSamplingRate
		int bitrate
	public void  (java.lang.String, java.lang.String, int, int, int, int, int, java.lang.String) 
		String id
		String mimeType
		int width
		int height
		int numChannels
		int audioSamplingRate
		int bitrate
		String language
	public void  (java.lang.String, java.lang.String, int, int, int, int, int, java.lang.String, java.lang.String) 
		String id
		String mimeType
		int width
		int height
		int numChannels
		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$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 com.google.android.exoplayer.chunk.ChunkSampleSource this$0
	void  (com.google.android.exoplayer.chunk.ChunkSampleSource, long) 
	public void run () 
}

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

com/google/android/exoplayer/smoothstreaming/
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 android.net.Uri 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, android.net.Uri) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
		android.net.Uri 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/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 android.net.Uri baseUri
	private final String chunkTemplate
	private final java.util.List chunkStartTimes
	private final long[] chunkStartTimesUs
	private final long lastChunkDurationUs
	public void  (android.net.Uri, 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) 
		android.net.Uri 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/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  {
	private static final int MINIMUM_MANIFEST_REFRESH_PERIOD_MS
	private static final int INITIALIZATION_VECTOR_SIZE
	private final com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
	private final int streamElementIndex
	private final com.google.android.exoplayer.TrackInfo trackInfo
	private final com.google.android.exoplayer.upstream.DataSource dataSource
	private final com.google.android.exoplayer.chunk.FormatEvaluator formatEvaluator
	private final com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation evaluation
	private final long liveEdgeLatencyUs
	private final int maxWidth
	private final int maxHeight
	private final android.util.SparseArray extractors
	private final java.util.Map psshInfo
	private final com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$SmoothStreamingFormat[] formats
	private com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest currentManifest
	private int currentManifestChunkOffset
	private boolean finishedCurrentManifest
	private java.io.IOException fatalError
	public void  (com.google.android.exoplayer.util.ManifestFetcher, int, int[], com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long) 
		com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
		int streamElementIndex
		int[] trackIndices
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator formatEvaluator
		long liveEdgeLatencyMs
	public void  (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, int, int[], com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest manifest
		int streamElementIndex
		int[] trackIndices
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator formatEvaluator
	private void  (com.google.android.exoplayer.util.ManifestFetcher, com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, int, int[], com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long) 
		byte[] keyId
		int trackIndex
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement trackElement
		com.google.android.exoplayer.MediaFormat mediaFormat
		int trackType
		com.google.android.exoplayer.parser.mp4.FragmentedMp4Extractor extractor
		int i
		com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest initialManifest
		int streamElementIndex
		int[] trackIndices
		com.google.android.exoplayer.upstream.DataSource dataSource
		com.google.android.exoplayer.chunk.FormatEvaluator formatEvaluator
		long liveEdgeLatencyMs
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement streamElement
		com.google.android.exoplayer.parser.mp4.TrackEncryptionBox[] trackEncryptionBoxes
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$ProtectionElement protectionElement
		int trackCount
		int maxWidth
		int maxHeight
	public final void getMaxVideoDimensions (com.google.android.exoplayer.MediaFormat) 
		com.google.android.exoplayer.MediaFormat out
	public final com.google.android.exoplayer.TrackInfo getTrackInfo () 
	public void enable () 
	public void disable (java.util.List) 
		java.util.List queue
	public void continueBuffering (long) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement currentElement
		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, long, com.google.android.exoplayer.chunk.ChunkOperationHolder) 
		int chunkIndex
		java.util.List queue
		long seekPositionUs
		long playbackPositionUs
		com.google.android.exoplayer.chunk.ChunkOperationHolder out
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$SmoothStreamingFormat selectedFormat
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement streamElement
		int chunkIndex
		boolean isLastChunk
		long chunkStartTimeUs
		long nextChunkStartTimeUs
		int currentAbsoluteChunkIndex
		android.net.Uri uri
		com.google.android.exoplayer.chunk.Chunk mediaChunk
	public java.io.IOException getError () 
	public void onChunkLoadError (com.google.android.exoplayer.chunk.Chunk, java.lang.Exception) 
		com.google.android.exoplayer.chunk.Chunk chunk
		Exception e
	private long getLiveSeekPosition () 
		long elementLiveEdgeTimestampUs
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement streamElement
		int i
		long liveEdgeTimestampUs
	private com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement getElement (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest manifest
	private static com.google.android.exoplayer.MediaFormat getMediaFormat (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement, int) 
		com.google.android.exoplayer.MediaFormat format
		java.util.List csd
		java.util.List csd
		com.google.android.exoplayer.MediaFormat format
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement streamElement
		int trackIndex
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement trackElement
		String mimeType
	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.parser.Extractor, java.util.Map, com.google.android.exoplayer.upstream.DataSource, int, boolean, long, long, int) 
		com.google.android.exoplayer.chunk.Format formatInfo
		android.net.Uri uri
		String cacheKey
		com.google.android.exoplayer.parser.Extractor extractor
		java.util.Map psshInfo
		com.google.android.exoplayer.upstream.DataSource dataSource
		int chunkIndex
		boolean isLast
		long chunkStartTimeUs
		long nextChunkStartTimeUs
		int trigger
		int nextChunkIndex
		long nextStartTimeUs
		long offset
		com.google.android.exoplayer.upstream.DataSpec dataSpec
	private static byte[] getKeyId (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$ElementParser.class
SmoothStreamingManifestParser.java
package com.google.android.exoplayer.smoothstreaming
abstract com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser extends java.lang.Object {
	private final android.net.Uri 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, android.net.Uri, java.lang.String) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
		android.net.Uri 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
		boolean foundStartTag
		int skippingElementDepth
	private com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser newChildParser (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser, java.lang.String, android.net.Uri) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
		String name
		android.net.Uri 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/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, android.net.Uri) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
		android.net.Uri 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 () 
}

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, android.net.Uri) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
		android.net.Uri 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/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/SmoothStreamingChunkSource$SmoothStreamingFormat.class
SmoothStreamingChunkSource.java
package com.google.android.exoplayer.smoothstreaming
final com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$SmoothStreamingFormat extends com.google.android.exoplayer.chunk.Format {
	public final int trackIndex
	public void  (java.lang.String, java.lang.String, int, int, int, int, int, int) 
		String id
		String mimeType
		int width
		int height
		int numChannels
		int audioSamplingRate
		int bitrate
		int trackIndex
}

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_BITS_PER_SAMPLE
	private static final String KEY_PACKET_SIZE
	private static final String KEY_AUDIO_TAG
	private static final String KEY_FOUR_CC
	private static final String KEY_NAL_UNIT_LENGTH_FIELD
	private static final String KEY_TYPE
	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 profile
	private int level
	private int maxWidth
	private int maxHeight
	private int samplingRate
	private int channels
	private int packetSize
	private int audioTag
	private int bitPerSample
	private int nalUnitLengthField
	private String content
	public void  (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser, android.net.Uri) 
		com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
		android.net.Uri baseUri
	public void parseStartTag (org.xmlpull.v1.XmlPullParser)  throws com.google.android.exoplayer.ParserException 
		String fourCC
		android.util.Pair spsParameters
		int i
		byte[] codecPrivateData
		byte[][] split
		org.xmlpull.v1.XmlPullParser parser
		int type
		String value
	public void parseText (org.xmlpull.v1.XmlPullParser) 
		org.xmlpull.v1.XmlPullParser parser
	public java.lang.Object build () 
		byte[][] csdArray
	private static java.lang.String fourCCToMimeType (java.lang.String) 
		String fourCC
	private static byte[] hexStringToByteArray (java.lang.String) 
		int stringOffset
		int i
		String hexString
		int length
		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 {
	public final int index
	public final int bitrate
	public final byte[][] csd
	public final int profile
	public final int level
	public final String mimeType
	public final int maxWidth
	public final int maxHeight
	public final int sampleRate
	public final int numChannels
	public final int packetSize
	public final int audioTag
	public final int bitPerSample
	public final int nalUnitLengthField
	public final String content
	public void  (int, int, java.lang.String, byte[][], int, int, int, int, int, int, int, int, int, int, java.lang.String) 
		int index
		int bitrate
		String mimeType
		byte[][] csd
		int profile
		int level
		int maxWidth
		int maxHeight
		int sampleRate
		int channels
		int packetSize
		int audioTag
		int bitPerSample
		int nalUnitLengthField
		String content
}

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.util.ManifestParser  {
	private final org.xmlpull.v1.XmlPullParserFactory xmlParserFactory
	public void  () 
		org.xmlpull.v1.XmlPullParserException e
	public com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest parse (java.io.InputStream, java.lang.String, java.lang.String, android.net.Uri)  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
		java.io.InputStream inputStream
		String inputEncoding
		String contentId
		android.net.Uri baseUri
	public volatile java.lang.Object parse (java.io.InputStream, java.lang.String, java.lang.String, android.net.Uri)  throws java.io.IOException com.google.android.exoplayer.ParserException 
		java.io.InputStream x0
		String x1
		String x2
		android.net.Uri x3
}

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
}