META-INF/
META-INF/MANIFEST.MF
com/
com/google/
com/google/android/
com/google/android/exoplayer/
com/google/android/exoplayer/upstream/
com/google/android/exoplayer/upstream/UriLoadable$Parser.classUriLoadable.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.UriLoadable$Parser extends java.lang.Object {
public abstract java.lang.Object parse (java.lang.String, java.io.InputStream) throws com.google.android.exoplayer.ParserException java.io.IOException
}
com/google/android/exoplayer/upstream/BandwidthMeter.classBandwidthMeter.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.BandwidthMeter extends java.lang.Object implements com.google.android.exoplayer.upstream.TransferListener {
public static final long NO_ESTIMATE
public abstract long getBitrateEstimate ()
}
com/google/android/exoplayer/upstream/cache/
com/google/android/exoplayer/upstream/cache/NoOpCacheEvictor.classNoOpCacheEvictor.java
package com.google.android.exoplayer.upstream.cache
public final com.google.android.exoplayer.upstream.cache.NoOpCacheEvictor extends java.lang.Object implements com.google.android.exoplayer.upstream.cache.CacheEvictor {
public void ()
public void onStartFile (com.google.android.exoplayer.upstream.cache.Cache, java.lang.String, long, long)
com.google.android.exoplayer.upstream.cache.Cache cache
String key
long position
long length
public void onSpanAdded (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.Cache cache
com.google.android.exoplayer.upstream.cache.CacheSpan span
public void onSpanRemoved (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.Cache cache
com.google.android.exoplayer.upstream.cache.CacheSpan span
public void onSpanTouched (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan, com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.Cache cache
com.google.android.exoplayer.upstream.cache.CacheSpan oldSpan
com.google.android.exoplayer.upstream.cache.CacheSpan newSpan
}
com/google/android/exoplayer/upstream/cache/LeastRecentlyUsedCacheEvictor.classLeastRecentlyUsedCacheEvictor.java
package com.google.android.exoplayer.upstream.cache
public final com.google.android.exoplayer.upstream.cache.LeastRecentlyUsedCacheEvictor extends java.lang.Object implements com.google.android.exoplayer.upstream.cache.CacheEvictor java.util.Comparator {
private final long maxBytes
private final java.util.TreeSet leastRecentlyUsed
private long currentSize
public void (long)
long maxBytes
public void onStartFile (com.google.android.exoplayer.upstream.cache.Cache, java.lang.String, long, long)
com.google.android.exoplayer.upstream.cache.Cache cache
String key
long position
long length
public void onSpanAdded (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.Cache cache
com.google.android.exoplayer.upstream.cache.CacheSpan span
public void onSpanRemoved (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.Cache cache
com.google.android.exoplayer.upstream.cache.CacheSpan span
public void onSpanTouched (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan, com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.Cache cache
com.google.android.exoplayer.upstream.cache.CacheSpan oldSpan
com.google.android.exoplayer.upstream.cache.CacheSpan newSpan
public int compare (com.google.android.exoplayer.upstream.cache.CacheSpan, com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.CacheSpan lhs
com.google.android.exoplayer.upstream.cache.CacheSpan rhs
long lastAccessTimestampDelta
private void evictCache (com.google.android.exoplayer.upstream.cache.Cache, long)
com.google.android.exoplayer.upstream.cache.Cache cache
long requiredSpace
public volatile int compare (java.lang.Object, java.lang.Object)
}
com/google/android/exoplayer/upstream/cache/Cache.classCache.java
package com.google.android.exoplayer.upstream.cache
public abstract com.google.android.exoplayer.upstream.cache.Cache extends java.lang.Object {
public abstract java.util.NavigableSet addListener (java.lang.String, com.google.android.exoplayer.upstream.cache.Cache$Listener)
public abstract void removeListener (java.lang.String, com.google.android.exoplayer.upstream.cache.Cache$Listener)
public abstract java.util.NavigableSet getCachedSpans (java.lang.String)
public abstract java.util.Set getKeys ()
public abstract long getCacheSpace ()
public abstract com.google.android.exoplayer.upstream.cache.CacheSpan startReadWrite (java.lang.String, long) throws java.lang.InterruptedException
public abstract com.google.android.exoplayer.upstream.cache.CacheSpan startReadWriteNonBlocking (java.lang.String, long)
public abstract java.io.File startFile (java.lang.String, long, long)
public abstract void commitFile (java.io.File)
public abstract void releaseHoleSpan (com.google.android.exoplayer.upstream.cache.CacheSpan)
public abstract void removeSpan (com.google.android.exoplayer.upstream.cache.CacheSpan)
public abstract boolean isCached (java.lang.String, long, long)
}
com/google/android/exoplayer/upstream/cache/CacheDataSink.classCacheDataSink.java
package com.google.android.exoplayer.upstream.cache
public final com.google.android.exoplayer.upstream.cache.CacheDataSink extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSink {
private final com.google.android.exoplayer.upstream.cache.Cache cache
private final long maxCacheFileSize
private com.google.android.exoplayer.upstream.DataSpec dataSpec
private java.io.File file
private java.io.FileOutputStream outputStream
private long outputStreamBytesWritten
private long dataSpecBytesWritten
public void (com.google.android.exoplayer.upstream.cache.Cache, long)
com.google.android.exoplayer.upstream.cache.Cache cache
long maxCacheFileSize
public com.google.android.exoplayer.upstream.DataSink open (com.google.android.exoplayer.upstream.DataSpec) throws com.google.android.exoplayer.upstream.cache.CacheDataSink$CacheDataSinkException
java.io.FileNotFoundException e
com.google.android.exoplayer.upstream.DataSpec dataSpec
public void write (byte[], int, int) throws com.google.android.exoplayer.upstream.cache.CacheDataSink$CacheDataSinkException
int bytesToWrite
int bytesWritten
java.io.IOException e
byte[] buffer
int offset
int length
public void close () throws com.google.android.exoplayer.upstream.cache.CacheDataSink$CacheDataSinkException
java.io.IOException e
private void openNextOutputStream () throws java.io.FileNotFoundException
private void closeCurrentOutputStream () throws java.io.IOException
boolean success
}
com/google/android/exoplayer/upstream/cache/CacheDataSource$EventListener.classCacheDataSource.java
package com.google.android.exoplayer.upstream.cache
public abstract com.google.android.exoplayer.upstream.cache.CacheDataSource$EventListener extends java.lang.Object {
public abstract void onCachedBytesRead (long, long)
}
com/google/android/exoplayer/upstream/cache/SimpleCache.classSimpleCache.java
package com.google.android.exoplayer.upstream.cache
public final com.google.android.exoplayer.upstream.cache.SimpleCache extends java.lang.Object implements com.google.android.exoplayer.upstream.cache.Cache {
private final java.io.File cacheDir
private final com.google.android.exoplayer.upstream.cache.CacheEvictor evictor
private final java.util.HashMap lockedSpans
private final java.util.HashMap cachedSpans
private final java.util.HashMap listeners
private long totalSpace
public void (java.io.File, com.google.android.exoplayer.upstream.cache.CacheEvictor)
java.io.File cacheDir
com.google.android.exoplayer.upstream.cache.CacheEvictor evictor
android.os.ConditionVariable conditionVariable
public synchronized java.util.NavigableSet addListener (java.lang.String, com.google.android.exoplayer.upstream.cache.Cache$Listener)
String key
com.google.android.exoplayer.upstream.cache.Cache$Listener listener
java.util.ArrayList listenersForKey
public synchronized void removeListener (java.lang.String, com.google.android.exoplayer.upstream.cache.Cache$Listener)
String key
com.google.android.exoplayer.upstream.cache.Cache$Listener listener
java.util.ArrayList listenersForKey
public synchronized java.util.NavigableSet getCachedSpans (java.lang.String)
String key
java.util.TreeSet spansForKey
public synchronized java.util.Set getKeys ()
public synchronized long getCacheSpace ()
public synchronized com.google.android.exoplayer.upstream.cache.CacheSpan startReadWrite (java.lang.String, long) throws java.lang.InterruptedException
com.google.android.exoplayer.upstream.cache.CacheSpan span
String key
long position
com.google.android.exoplayer.upstream.cache.CacheSpan lookupSpan
public synchronized com.google.android.exoplayer.upstream.cache.CacheSpan startReadWriteNonBlocking (java.lang.String, long)
String key
long position
private synchronized com.google.android.exoplayer.upstream.cache.CacheSpan startReadWriteNonBlocking (com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.CacheSpan oldCacheSpan
java.util.TreeSet spansForKey
com.google.android.exoplayer.upstream.cache.CacheSpan lookupSpan
com.google.android.exoplayer.upstream.cache.CacheSpan spanningRegion
public synchronized java.io.File startFile (java.lang.String, long, long)
String key
long position
long length
public synchronized void commitFile (java.io.File)
java.io.File file
com.google.android.exoplayer.upstream.cache.CacheSpan span
long length
public synchronized void releaseHoleSpan (com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.CacheSpan holeSpan
private com.google.android.exoplayer.upstream.cache.CacheSpan getSpan (com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.CacheSpan lookupSpan
String key
long offset
java.util.TreeSet entries
com.google.android.exoplayer.upstream.cache.CacheSpan floorSpan
com.google.android.exoplayer.upstream.cache.CacheSpan ceilEntry
private void initialize ()
com.google.android.exoplayer.upstream.cache.CacheSpan span
java.io.File file
int i
java.io.File[] files
private void addSpan (com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.CacheSpan span
java.util.TreeSet spansForKey
public synchronized void removeSpan (com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.CacheSpan span
java.util.TreeSet spansForKey
private void removeStaleSpans ()
com.google.android.exoplayer.upstream.cache.CacheSpan span
java.util.Map$Entry next
java.util.Iterator spanIterator
boolean isEmpty
java.util.Iterator iterator
private void notifySpanRemoved (com.google.android.exoplayer.upstream.cache.CacheSpan)
int i
com.google.android.exoplayer.upstream.cache.CacheSpan span
java.util.ArrayList keyListeners
private void notifySpanAdded (com.google.android.exoplayer.upstream.cache.CacheSpan)
int i
com.google.android.exoplayer.upstream.cache.CacheSpan span
java.util.ArrayList keyListeners
private void notifySpanTouched (com.google.android.exoplayer.upstream.cache.CacheSpan, com.google.android.exoplayer.upstream.cache.CacheSpan)
int i
com.google.android.exoplayer.upstream.cache.CacheSpan oldSpan
com.google.android.exoplayer.upstream.cache.CacheSpan newSpan
java.util.ArrayList keyListeners
public synchronized boolean isCached (java.lang.String, long, long)
com.google.android.exoplayer.upstream.cache.CacheSpan next
String key
long position
long length
java.util.TreeSet entries
com.google.android.exoplayer.upstream.cache.CacheSpan lookupSpan
com.google.android.exoplayer.upstream.cache.CacheSpan floorSpan
long queryEndPosition
long currentEndPosition
java.util.Iterator iterator
static void access$000 (com.google.android.exoplayer.upstream.cache.SimpleCache)
com.google.android.exoplayer.upstream.cache.SimpleCache x0
}
com/google/android/exoplayer/upstream/cache/CacheEvictor.classCacheEvictor.java
package com.google.android.exoplayer.upstream.cache
public abstract com.google.android.exoplayer.upstream.cache.CacheEvictor extends java.lang.Object implements com.google.android.exoplayer.upstream.cache.Cache$Listener {
public abstract void onStartFile (com.google.android.exoplayer.upstream.cache.Cache, java.lang.String, long, long)
}
com/google/android/exoplayer/upstream/cache/CacheDataSink$CacheDataSinkException.classCacheDataSink.java
package com.google.android.exoplayer.upstream.cache
public com.google.android.exoplayer.upstream.cache.CacheDataSink$CacheDataSinkException extends java.io.IOException {
public void (java.io.IOException)
java.io.IOException cause
}
com/google/android/exoplayer/upstream/cache/CacheDataSource.classCacheDataSource.java
package com.google.android.exoplayer.upstream.cache
public final com.google.android.exoplayer.upstream.cache.CacheDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource {
private static final String TAG
private final com.google.android.exoplayer.upstream.cache.Cache cache
private final com.google.android.exoplayer.upstream.DataSource cacheReadDataSource
private final com.google.android.exoplayer.upstream.DataSource cacheWriteDataSource
private final com.google.android.exoplayer.upstream.DataSource upstreamDataSource
private final com.google.android.exoplayer.upstream.cache.CacheDataSource$EventListener eventListener
private final boolean blockOnCache
private final boolean ignoreCacheOnError
private com.google.android.exoplayer.upstream.DataSource currentDataSource
private android.net.Uri uri
private int flags
private String key
private long readPosition
private long bytesRemaining
private com.google.android.exoplayer.upstream.cache.CacheSpan lockedSpan
private boolean ignoreCache
private long totalCachedBytesRead
public void (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.DataSource, boolean, boolean)
com.google.android.exoplayer.upstream.cache.Cache cache
com.google.android.exoplayer.upstream.DataSource upstream
boolean blockOnCache
boolean ignoreCacheOnError
public void (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.DataSource, boolean, boolean, long)
com.google.android.exoplayer.upstream.cache.Cache cache
com.google.android.exoplayer.upstream.DataSource upstream
boolean blockOnCache
boolean ignoreCacheOnError
long maxCacheFileSize
public void (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSink, boolean, boolean, com.google.android.exoplayer.upstream.cache.CacheDataSource$EventListener)
com.google.android.exoplayer.upstream.cache.Cache cache
com.google.android.exoplayer.upstream.DataSource upstream
com.google.android.exoplayer.upstream.DataSource cacheReadDataSource
com.google.android.exoplayer.upstream.DataSink cacheWriteDataSink
boolean blockOnCache
boolean ignoreCacheOnError
com.google.android.exoplayer.upstream.cache.CacheDataSource$EventListener eventListener
public long open (com.google.android.exoplayer.upstream.DataSpec) throws java.io.IOException
java.io.IOException e
com.google.android.exoplayer.upstream.DataSpec dataSpec
public int read (byte[], int, int) throws java.io.IOException
int bytesRead
java.io.IOException e
byte[] buffer
int offset
int max
public void close () throws java.io.IOException
java.io.IOException e
private void openNextSource () throws java.io.IOException
com.google.android.exoplayer.upstream.cache.CacheSpan span
com.google.android.exoplayer.upstream.cache.CacheSpan span
InterruptedException e
com.google.android.exoplayer.upstream.DataSpec dataSpec
android.net.Uri fileUri
long filePosition
long length
com.google.android.exoplayer.upstream.DataSpec dataSpec
long length
com.google.android.exoplayer.upstream.DataSpec dataSpec
com.google.android.exoplayer.upstream.cache.CacheSpan span
com.google.android.exoplayer.upstream.cache.CacheSpan span
private void closeCurrentSource () throws java.io.IOException
private void handleBeforeThrow (java.io.IOException)
java.io.IOException exception
private void notifyBytesRead ()
}
com/google/android/exoplayer/upstream/cache/CachedRegionTracker.classCachedRegionTracker.java
package com.google.android.exoplayer.upstream.cache
public final com.google.android.exoplayer.upstream.cache.CachedRegionTracker extends java.lang.Object implements com.google.android.exoplayer.upstream.cache.Cache$Listener {
private static final String TAG
public static final int NOT_CACHED
public static final int CACHED_TO_END
private final com.google.android.exoplayer.upstream.cache.Cache cache
private final String cacheKey
private final com.google.android.exoplayer.extractor.ChunkIndex chunkIndex
private final java.util.TreeSet regions
private final com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region lookupRegion
public void (com.google.android.exoplayer.upstream.cache.Cache, java.lang.String, com.google.android.exoplayer.extractor.ChunkIndex)
com.google.android.exoplayer.upstream.cache.CacheSpan span
java.util.Iterator spanIterator
java.util.NavigableSet cacheSpans
com.google.android.exoplayer.upstream.cache.Cache cache
String cacheKey
com.google.android.exoplayer.extractor.ChunkIndex chunkIndex
public void release ()
public synchronized int getRegionEndTimeMs (long)
long byteOffset
com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region floorRegion
int index
long segmentFractionUs
public synchronized void onSpanAdded (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.Cache cache
com.google.android.exoplayer.upstream.cache.CacheSpan span
public synchronized void onSpanRemoved (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region newFloorRegion
int index
com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region newCeilingRegion
com.google.android.exoplayer.upstream.cache.Cache cache
com.google.android.exoplayer.upstream.cache.CacheSpan span
com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region removedRegion
com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region floorRegion
public void onSpanTouched (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan, com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.Cache cache
com.google.android.exoplayer.upstream.cache.CacheSpan oldSpan
com.google.android.exoplayer.upstream.cache.CacheSpan newSpan
private void mergeSpan (com.google.android.exoplayer.upstream.cache.CacheSpan)
int index
int index
com.google.android.exoplayer.upstream.cache.CacheSpan span
com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region newRegion
com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region floorRegion
com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region ceilingRegion
boolean floorConnects
boolean ceilingConnects
private boolean regionsConnect (com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region, com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region)
com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region lower
com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region upper
}
com/google/android/exoplayer/upstream/cache/CacheSpan.classCacheSpan.java
package com.google.android.exoplayer.upstream.cache
public final com.google.android.exoplayer.upstream.cache.CacheSpan extends java.lang.Object implements java.lang.Comparable {
private static final String SUFFIX
private static final java.util.regex.Pattern CACHE_FILE_PATTERN_V1
private static final java.util.regex.Pattern CACHE_FILE_PATTERN_V2
public final String key
public final long position
public final long length
public final boolean isCached
public final java.io.File file
public final long lastAccessTimestamp
public static java.io.File getCacheFileName (java.io.File, java.lang.String, long, long)
java.io.File cacheDir
String key
long offset
long lastAccessTimestamp
public static com.google.android.exoplayer.upstream.cache.CacheSpan createLookup (java.lang.String, long)
String key
long position
public static com.google.android.exoplayer.upstream.cache.CacheSpan createOpenHole (java.lang.String, long)
String key
long position
public static com.google.android.exoplayer.upstream.cache.CacheSpan createClosedHole (java.lang.String, long, long)
String key
long position
long length
public static com.google.android.exoplayer.upstream.cache.CacheSpan createCacheEntry (java.io.File)
java.io.File file
java.util.regex.Matcher matcher
String key
static java.io.File upgradeIfNeeded (java.io.File)
java.io.File file
java.util.regex.Matcher matcher
String key
java.io.File newCacheFile
private static com.google.android.exoplayer.upstream.cache.CacheSpan createCacheEntry (java.lang.String, long, long, java.io.File)
String key
long position
long lastAccessTimestamp
java.io.File file
void (java.lang.String, long, long, boolean, long, java.io.File)
String key
long position
long length
boolean isCached
long lastAccessTimestamp
java.io.File file
public boolean isOpenEnded ()
public com.google.android.exoplayer.upstream.cache.CacheSpan touch ()
long now
java.io.File newCacheFile
public int compareTo (com.google.android.exoplayer.upstream.cache.CacheSpan)
com.google.android.exoplayer.upstream.cache.CacheSpan another
long startOffsetDiff
public volatile int compareTo (java.lang.Object)
static void ()
}
com/google/android/exoplayer/upstream/cache/Cache$Listener.classCache.java
package com.google.android.exoplayer.upstream.cache
public abstract com.google.android.exoplayer.upstream.cache.Cache$Listener extends java.lang.Object {
public abstract void onSpanAdded (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan)
public abstract void onSpanRemoved (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan)
public abstract void onSpanTouched (com.google.android.exoplayer.upstream.cache.Cache, com.google.android.exoplayer.upstream.cache.CacheSpan, com.google.android.exoplayer.upstream.cache.CacheSpan)
}
com/google/android/exoplayer/upstream/cache/SimpleCache$1.classSimpleCache.java
package com.google.android.exoplayer.upstream.cache
com.google.android.exoplayer.upstream.cache.SimpleCache$1 extends java.lang.Thread {
final android.os.ConditionVariable val$conditionVariable
final com.google.android.exoplayer.upstream.cache.SimpleCache this$0
void (com.google.android.exoplayer.upstream.cache.SimpleCache, android.os.ConditionVariable)
com.google.android.exoplayer.upstream.cache.SimpleCache this$0
public void run ()
}
com/google/android/exoplayer/upstream/cache/CachedRegionTracker$Region.classCachedRegionTracker.java
package com.google.android.exoplayer.upstream.cache
com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region extends java.lang.Object implements java.lang.Comparable {
public long startOffset
public long endOffset
public int endOffsetIndex
public void (long, long)
long position
long endOffset
public int compareTo (com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region)
com.google.android.exoplayer.upstream.cache.CachedRegionTracker$Region another
public volatile int compareTo (java.lang.Object)
}
com/google/android/exoplayer/upstream/UdpDataSource$UdpDataSourceException.classUdpDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.UdpDataSource$UdpDataSourceException extends java.io.IOException {
public void (java.lang.String)
String message
public void (java.io.IOException)
java.io.IOException cause
}
com/google/android/exoplayer/upstream/HttpDataSource$1.classHttpDataSource.java
package com.google.android.exoplayer.upstream
final com.google.android.exoplayer.upstream.HttpDataSource$1 extends java.lang.Object implements com.google.android.exoplayer.util.Predicate {
void ()
public boolean evaluate (java.lang.String)
String contentType
public volatile boolean evaluate (java.lang.Object)
}
com/google/android/exoplayer/upstream/Loader$Loadable.classLoader.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.Loader$Loadable extends java.lang.Object {
public abstract void cancelLoad ()
public abstract boolean isLoadCanceled ()
public abstract void load () throws java.io.IOException java.lang.InterruptedException
}
com/google/android/exoplayer/upstream/BandwidthMeter$EventListener.classBandwidthMeter.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.BandwidthMeter$EventListener extends java.lang.Object {
public abstract void onBandwidthSample (int, long, long)
}
com/google/android/exoplayer/upstream/Loader.classLoader.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.Loader extends java.lang.Object {
private static final int MSG_END_OF_SOURCE
private static final int MSG_IO_EXCEPTION
private static final int MSG_FATAL_ERROR
private final java.util.concurrent.ExecutorService downloadExecutorService
private com.google.android.exoplayer.upstream.Loader$LoadTask currentTask
private boolean loading
public void (java.lang.String)
String threadName
public void startLoading (com.google.android.exoplayer.upstream.Loader$Loadable, com.google.android.exoplayer.upstream.Loader$Callback)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
com.google.android.exoplayer.upstream.Loader$Callback callback
android.os.Looper myLooper
public void startLoading (android.os.Looper, com.google.android.exoplayer.upstream.Loader$Loadable, com.google.android.exoplayer.upstream.Loader$Callback)
android.os.Looper looper
com.google.android.exoplayer.upstream.Loader$Loadable loadable
com.google.android.exoplayer.upstream.Loader$Callback callback
public boolean isLoading ()
public void cancelLoading ()
public void release ()
static boolean access$002 (com.google.android.exoplayer.upstream.Loader, boolean)
com.google.android.exoplayer.upstream.Loader x0
boolean x1
static com.google.android.exoplayer.upstream.Loader$LoadTask access$102 (com.google.android.exoplayer.upstream.Loader, com.google.android.exoplayer.upstream.Loader$LoadTask)
com.google.android.exoplayer.upstream.Loader x0
com.google.android.exoplayer.upstream.Loader$LoadTask x1
}
com/google/android/exoplayer/upstream/UriDataSource.classUriDataSource.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.UriDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource {
public abstract java.lang.String getUri ()
}
com/google/android/exoplayer/upstream/DefaultBandwidthMeter$1.classDefaultBandwidthMeter.java
package com.google.android.exoplayer.upstream
com.google.android.exoplayer.upstream.DefaultBandwidthMeter$1 extends java.lang.Object implements java.lang.Runnable {
final int val$elapsedMs
final long val$bytes
final long val$bitrate
final com.google.android.exoplayer.upstream.DefaultBandwidthMeter this$0
void (com.google.android.exoplayer.upstream.DefaultBandwidthMeter, int, long, long)
com.google.android.exoplayer.upstream.DefaultBandwidthMeter this$0
public void run ()
}
com/google/android/exoplayer/upstream/DataSourceInputStream.classDataSourceInputStream.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.DataSourceInputStream extends java.io.InputStream {
private final com.google.android.exoplayer.upstream.DataSource dataSource
private final com.google.android.exoplayer.upstream.DataSpec dataSpec
private final byte[] singleByteArray
private boolean opened
private boolean closed
public void (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec)
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.DataSpec dataSpec
public void open () throws java.io.IOException
public int read () throws java.io.IOException
int length
public int read (byte[]) throws java.io.IOException
byte[] buffer
public int read (byte[], int, int) throws java.io.IOException
byte[] buffer
int offset
int length
public long skip (long) throws java.io.IOException
long byteCount
public void close () throws java.io.IOException
private void checkOpened () throws java.io.IOException
}
com/google/android/exoplayer/upstream/ContentDataSource$ContentDataSourceException.classContentDataSource.java
package com.google.android.exoplayer.upstream
public com.google.android.exoplayer.upstream.ContentDataSource$ContentDataSourceException extends java.io.IOException {
public void (java.io.IOException)
java.io.IOException cause
}
com/google/android/exoplayer/upstream/HttpDataSource.classHttpDataSource.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.HttpDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.UriDataSource {
public static final com.google.android.exoplayer.util.Predicate REJECT_PAYWALL_TYPES
public abstract long open (com.google.android.exoplayer.upstream.DataSpec) throws com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException
public abstract void close () throws com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException
public abstract int read (byte[], int, int) throws com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException
public abstract void setRequestProperty (java.lang.String, java.lang.String)
public abstract void clearRequestProperty (java.lang.String)
public abstract void clearAllRequestProperties ()
public abstract java.util.Map getResponseHeaders ()
static void ()
}
com/google/android/exoplayer/upstream/AssetDataSource$AssetDataSourceException.classAssetDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.AssetDataSource$AssetDataSourceException extends java.io.IOException {
public void (java.io.IOException)
java.io.IOException cause
}
com/google/android/exoplayer/upstream/TeeDataSource.classTeeDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.TeeDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource {
private final com.google.android.exoplayer.upstream.DataSource upstream
private final com.google.android.exoplayer.upstream.DataSink dataSink
public void (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSink)
com.google.android.exoplayer.upstream.DataSource upstream
com.google.android.exoplayer.upstream.DataSink dataSink
public long open (com.google.android.exoplayer.upstream.DataSpec) throws java.io.IOException
com.google.android.exoplayer.upstream.DataSpec dataSpec
long dataLength
public int read (byte[], int, int) throws java.io.IOException
byte[] buffer
int offset
int max
int num
public void close () throws java.io.IOException
}
com/google/android/exoplayer/upstream/DataSink.classDataSink.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.DataSink extends java.lang.Object {
public abstract com.google.android.exoplayer.upstream.DataSink open (com.google.android.exoplayer.upstream.DataSpec) throws java.io.IOException
public abstract void close () throws java.io.IOException
public abstract void write (byte[], int, int) throws java.io.IOException
}
com/google/android/exoplayer/upstream/FileDataSource$FileDataSourceException.classFileDataSource.java
package com.google.android.exoplayer.upstream
public com.google.android.exoplayer.upstream.FileDataSource$FileDataSourceException extends java.io.IOException {
public void (java.io.IOException)
java.io.IOException cause
}
com/google/android/exoplayer/upstream/HttpDataSource$InvalidContentTypeException.classHttpDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.HttpDataSource$InvalidContentTypeException extends com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException {
public final String contentType
public void (java.lang.String, com.google.android.exoplayer.upstream.DataSpec)
String contentType
com.google.android.exoplayer.upstream.DataSpec dataSpec
}
com/google/android/exoplayer/upstream/ContentDataSource.classContentDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.ContentDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.UriDataSource {
private final android.content.ContentResolver resolver
private final com.google.android.exoplayer.upstream.TransferListener listener
private java.io.InputStream inputStream
private String uriString
private long bytesRemaining
private boolean opened
public void (android.content.Context)
android.content.Context context
public void (android.content.Context, com.google.android.exoplayer.upstream.TransferListener)
android.content.Context context
com.google.android.exoplayer.upstream.TransferListener listener
public long open (com.google.android.exoplayer.upstream.DataSpec) throws com.google.android.exoplayer.upstream.ContentDataSource$ContentDataSourceException
android.content.res.AssetFileDescriptor assetFd
long skipped
java.io.IOException e
com.google.android.exoplayer.upstream.DataSpec dataSpec
public int read (byte[], int, int) throws com.google.android.exoplayer.upstream.ContentDataSource$ContentDataSourceException
int bytesToRead
java.io.IOException e
int bytesRead
byte[] buffer
int offset
int readLength
public java.lang.String getUri ()
public void close () throws com.google.android.exoplayer.upstream.ContentDataSource$ContentDataSourceException
java.io.IOException e
}
com/google/android/exoplayer/upstream/Loader$UnexpectedLoaderException.classLoader.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.Loader$UnexpectedLoaderException extends java.io.IOException {
public void (java.lang.Exception)
Exception cause
}
com/google/android/exoplayer/upstream/Allocation.classAllocation.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.Allocation extends java.lang.Object {
public final byte[] data
private final int offset
public void (byte[], int)
byte[] data
int offset
public int translateOffset (int)
int offset
}
com/google/android/exoplayer/upstream/NetworkLock.classNetworkLock.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.NetworkLock extends java.lang.Object {
public static final com.google.android.exoplayer.upstream.NetworkLock instance
public static final int STREAMING_PRIORITY
public static final int DOWNLOAD_PRIORITY
private final Object lock
private final java.util.PriorityQueue queue
private int highestPriority
private void ()
public void proceed (int) throws java.lang.InterruptedException
int priority
public boolean proceedNonBlocking (int)
int priority
public void proceedOrThrow (int) throws com.google.android.exoplayer.upstream.NetworkLock$PriorityTooLowException
int priority
public void add (int)
int priority
public void remove (int)
int priority
static void ()
}
com/google/android/exoplayer/upstream/PriorityDataSource.classPriorityDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.PriorityDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource {
private final com.google.android.exoplayer.upstream.DataSource upstream
private final int priority
public void (int, com.google.android.exoplayer.upstream.DataSource)
int priority
com.google.android.exoplayer.upstream.DataSource upstream
public long open (com.google.android.exoplayer.upstream.DataSpec) throws java.io.IOException
com.google.android.exoplayer.upstream.DataSpec dataSpec
public int read (byte[], int, int) throws java.io.IOException
byte[] buffer
int offset
int max
public void close () throws java.io.IOException
}
com/google/android/exoplayer/upstream/UriLoadable.classUriLoadable.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.UriLoadable extends java.lang.Object implements com.google.android.exoplayer.upstream.Loader$Loadable {
private final com.google.android.exoplayer.upstream.DataSpec dataSpec
private final com.google.android.exoplayer.upstream.UriDataSource uriDataSource
private final com.google.android.exoplayer.upstream.UriLoadable$Parser parser
private volatile Object result
private volatile boolean isCanceled
public void (java.lang.String, com.google.android.exoplayer.upstream.UriDataSource, com.google.android.exoplayer.upstream.UriLoadable$Parser)
String url
com.google.android.exoplayer.upstream.UriDataSource uriDataSource
com.google.android.exoplayer.upstream.UriLoadable$Parser parser
public final java.lang.Object getResult ()
public final void cancelLoad ()
public final boolean isLoadCanceled ()
public final void load () throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.upstream.DataSourceInputStream inputStream
}
com/google/android/exoplayer/upstream/crypto/
com/google/android/exoplayer/upstream/crypto/AesCipherDataSink.classAesCipherDataSink.java
package com.google.android.exoplayer.upstream.crypto
public final com.google.android.exoplayer.upstream.crypto.AesCipherDataSink extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSink {
private final com.google.android.exoplayer.upstream.DataSink wrappedDataSink
private final byte[] secretKey
private final byte[] scratch
private com.google.android.exoplayer.upstream.crypto.AesFlushingCipher cipher
public void (byte[], com.google.android.exoplayer.upstream.DataSink)
byte[] secretKey
com.google.android.exoplayer.upstream.DataSink wrappedDataSink
public void (byte[], byte[], com.google.android.exoplayer.upstream.DataSink)
byte[] secretKey
byte[] scratch
com.google.android.exoplayer.upstream.DataSink wrappedDataSink
public com.google.android.exoplayer.upstream.DataSink open (com.google.android.exoplayer.upstream.DataSpec) throws java.io.IOException
com.google.android.exoplayer.upstream.DataSpec dataSpec
long nonce
public void write (byte[], int, int) throws java.io.IOException
int bytesToProcess
int bytesProcessed
byte[] data
int offset
int length
public void close () throws java.io.IOException
}
com/google/android/exoplayer/upstream/crypto/CryptoUtil.classCryptoUtil.java
package com.google.android.exoplayer.upstream.crypto
final com.google.android.exoplayer.upstream.crypto.CryptoUtil extends java.lang.Object {
private void ()
public static long getFNV64Hash (java.lang.String)
int i
String input
long hash
}
com/google/android/exoplayer/upstream/crypto/AesCipherDataSource.classAesCipherDataSource.java
package com.google.android.exoplayer.upstream.crypto
public final com.google.android.exoplayer.upstream.crypto.AesCipherDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource {
private final com.google.android.exoplayer.upstream.DataSource upstream
private final byte[] secretKey
private com.google.android.exoplayer.upstream.crypto.AesFlushingCipher cipher
public void (byte[], com.google.android.exoplayer.upstream.DataSource)
byte[] secretKey
com.google.android.exoplayer.upstream.DataSource upstream
public long open (com.google.android.exoplayer.upstream.DataSpec) throws java.io.IOException
com.google.android.exoplayer.upstream.DataSpec dataSpec
long dataLength
long nonce
public int read (byte[], int, int) throws java.io.IOException
byte[] data
int offset
int length
int read
public void close () throws java.io.IOException
}
com/google/android/exoplayer/upstream/crypto/AesFlushingCipher.classAesFlushingCipher.java
package com.google.android.exoplayer.upstream.crypto
public final com.google.android.exoplayer.upstream.crypto.AesFlushingCipher extends java.lang.Object {
private final javax.crypto.Cipher cipher
private final int blockSize
private final byte[] zerosBlock
private final byte[] flushedBlock
private int pendingXorBytes
public void (int, byte[], long, long)
long counter
int startPadding
java.security.NoSuchAlgorithmException e
javax.crypto.NoSuchPaddingException e
java.security.InvalidKeyException e
java.security.InvalidAlgorithmParameterException e
int mode
byte[] secretKey
long nonce
long offset
public void updateInPlace (byte[], int, int)
byte[] data
int offset
int length
public void update (byte[], int, int, byte[], int)
int i
byte[] in
int inOffset
int length
byte[] out
int outOffset
int written
int bytesToFlush
private int nonFlushingUpdate (byte[], int, int, byte[], int)
javax.crypto.ShortBufferException e
byte[] in
int inOffset
int length
byte[] out
int outOffset
private byte[] getInitializationVector (long, long)
long nonce
long counter
}
com/google/android/exoplayer/upstream/DefaultAllocator.classDefaultAllocator.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.DefaultAllocator extends java.lang.Object implements com.google.android.exoplayer.upstream.Allocator {
private static final int AVAILABLE_EXTRA_CAPACITY
private final int individualAllocationSize
private final byte[] initialAllocationBlock
private int allocatedCount
private int availableCount
private com.google.android.exoplayer.upstream.Allocation[] availableAllocations
public void (int)
int individualAllocationSize
public void (int, int)
int allocationOffset
int i
int individualAllocationSize
int initialAllocationCount
public synchronized com.google.android.exoplayer.upstream.Allocation allocate ()
com.google.android.exoplayer.upstream.Allocation allocation
com.google.android.exoplayer.upstream.Allocation allocation
public synchronized void release (com.google.android.exoplayer.upstream.Allocation)
com.google.android.exoplayer.upstream.Allocation allocation
public synchronized void trim (int)
com.google.android.exoplayer.upstream.Allocation highAllocation
com.google.android.exoplayer.upstream.Allocation lowAllocation
int lowIndex
int highIndex
int targetSize
int targetAllocationCount
int targetAvailableCount
public synchronized int getTotalBytesAllocated ()
public synchronized void blockWhileTotalBytesAllocatedExceeds (int) throws java.lang.InterruptedException
int limit
public int getIndividualAllocationLength ()
}
com/google/android/exoplayer/upstream/Loader$LoadTask.classLoader.java
package com.google.android.exoplayer.upstream
final com.google.android.exoplayer.upstream.Loader$LoadTask extends android.os.Handler implements java.lang.Runnable {
private static final String TAG
private final com.google.android.exoplayer.upstream.Loader$Loadable loadable
private final com.google.android.exoplayer.upstream.Loader$Callback callback
private volatile Thread executorThread
final com.google.android.exoplayer.upstream.Loader this$0
public void (com.google.android.exoplayer.upstream.Loader, android.os.Looper, com.google.android.exoplayer.upstream.Loader$Loadable, com.google.android.exoplayer.upstream.Loader$Callback)
android.os.Looper looper
com.google.android.exoplayer.upstream.Loader$Loadable loadable
com.google.android.exoplayer.upstream.Loader$Callback callback
public void quit ()
public void run ()
java.io.IOException e
InterruptedException e
Exception e
Error e
public void handleMessage (android.os.Message)
android.os.Message msg
private void onFinished ()
}
com/google/android/exoplayer/upstream/NetworkLock$PriorityTooLowException.classNetworkLock.java
package com.google.android.exoplayer.upstream
public com.google.android.exoplayer.upstream.NetworkLock$PriorityTooLowException extends java.io.IOException {
public void (int, int)
int priority
int highestPriority
}
com/google/android/exoplayer/upstream/ByteArrayDataSource.classByteArrayDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.ByteArrayDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource {
private final byte[] data
private int readPosition
private int remainingBytes
public void (byte[])
byte[] data
public long open (com.google.android.exoplayer.upstream.DataSpec) throws java.io.IOException
com.google.android.exoplayer.upstream.DataSpec dataSpec
public void close () throws java.io.IOException
public int read (byte[], int, int) throws java.io.IOException
byte[] buffer
int offset
int length
}
com/google/android/exoplayer/upstream/DataSpec.classDataSpec.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.DataSpec extends java.lang.Object {
public static final int FLAG_ALLOW_GZIP
public final android.net.Uri uri
public final byte[] postBody
public final long absoluteStreamPosition
public final long position
public final long length
public final String key
public final int flags
public void (android.net.Uri)
android.net.Uri uri
public void (android.net.Uri, int)
android.net.Uri uri
int flags
public void (android.net.Uri, long, long, java.lang.String)
android.net.Uri uri
long absoluteStreamPosition
long length
String key
public void (android.net.Uri, long, long, java.lang.String, int)
android.net.Uri uri
long absoluteStreamPosition
long length
String key
int flags
public void (android.net.Uri, long, long, long, java.lang.String, int)
android.net.Uri uri
long absoluteStreamPosition
long position
long length
String key
int flags
public void (android.net.Uri, byte[], long, long, long, java.lang.String, int)
android.net.Uri uri
byte[] postBody
long absoluteStreamPosition
long position
long length
String key
int flags
public java.lang.String toString ()
}
com/google/android/exoplayer/upstream/DefaultBandwidthMeter.classDefaultBandwidthMeter.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.DefaultBandwidthMeter extends java.lang.Object implements com.google.android.exoplayer.upstream.BandwidthMeter {
public static final int DEFAULT_MAX_WEIGHT
private final android.os.Handler eventHandler
private final com.google.android.exoplayer.upstream.BandwidthMeter$EventListener eventListener
private final com.google.android.exoplayer.util.Clock clock
private final com.google.android.exoplayer.util.SlidingPercentile slidingPercentile
private long bytesAccumulator
private long startTimeMs
private long bitrateEstimate
private int streamCount
public void ()
public void (android.os.Handler, com.google.android.exoplayer.upstream.BandwidthMeter$EventListener)
android.os.Handler eventHandler
com.google.android.exoplayer.upstream.BandwidthMeter$EventListener eventListener
public void (android.os.Handler, com.google.android.exoplayer.upstream.BandwidthMeter$EventListener, com.google.android.exoplayer.util.Clock)
android.os.Handler eventHandler
com.google.android.exoplayer.upstream.BandwidthMeter$EventListener eventListener
com.google.android.exoplayer.util.Clock clock
public void (android.os.Handler, com.google.android.exoplayer.upstream.BandwidthMeter$EventListener, int)
android.os.Handler eventHandler
com.google.android.exoplayer.upstream.BandwidthMeter$EventListener eventListener
int maxWeight
public void (android.os.Handler, com.google.android.exoplayer.upstream.BandwidthMeter$EventListener, com.google.android.exoplayer.util.Clock, int)
android.os.Handler eventHandler
com.google.android.exoplayer.upstream.BandwidthMeter$EventListener eventListener
com.google.android.exoplayer.util.Clock clock
int maxWeight
public synchronized long getBitrateEstimate ()
public synchronized void onTransferStart ()
public synchronized void onBytesTransferred (int)
int bytes
public synchronized void onTransferEnd ()
float bitsPerSecond
float bandwidthEstimateFloat
long nowMs
int elapsedMs
private void notifyBandwidthSample (int, long, long)
int elapsedMs
long bytes
long bitrate
static com.google.android.exoplayer.upstream.BandwidthMeter$EventListener access$000 (com.google.android.exoplayer.upstream.DefaultBandwidthMeter)
com.google.android.exoplayer.upstream.DefaultBandwidthMeter x0
}
com/google/android/exoplayer/upstream/TransferListener.classTransferListener.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.TransferListener extends java.lang.Object {
public abstract void onTransferStart ()
public abstract void onBytesTransferred (int)
public abstract void onTransferEnd ()
}
com/google/android/exoplayer/upstream/DataSource.classDataSource.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.DataSource extends java.lang.Object {
public abstract long open (com.google.android.exoplayer.upstream.DataSpec) throws java.io.IOException
public abstract void close () throws java.io.IOException
public abstract int read (byte[], int, int) throws java.io.IOException
}
com/google/android/exoplayer/upstream/FileDataSource.classFileDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.FileDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.UriDataSource {
private final com.google.android.exoplayer.upstream.TransferListener listener
private java.io.RandomAccessFile file
private String uriString
private long bytesRemaining
private boolean opened
public void ()
public void (com.google.android.exoplayer.upstream.TransferListener)
com.google.android.exoplayer.upstream.TransferListener listener
public long open (com.google.android.exoplayer.upstream.DataSpec) throws com.google.android.exoplayer.upstream.FileDataSource$FileDataSourceException
java.io.IOException e
com.google.android.exoplayer.upstream.DataSpec dataSpec
public int read (byte[], int, int) throws com.google.android.exoplayer.upstream.FileDataSource$FileDataSourceException
java.io.IOException e
int bytesRead
byte[] buffer
int offset
int readLength
public java.lang.String getUri ()
public void close () throws com.google.android.exoplayer.upstream.FileDataSource$FileDataSourceException
java.io.IOException e
}
com/google/android/exoplayer/upstream/Allocator.classAllocator.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.Allocator extends java.lang.Object {
public abstract com.google.android.exoplayer.upstream.Allocation allocate ()
public abstract void release (com.google.android.exoplayer.upstream.Allocation)
public abstract void trim (int)
public abstract void blockWhileTotalBytesAllocatedExceeds (int) throws java.lang.InterruptedException
public abstract int getTotalBytesAllocated ()
public abstract int getIndividualAllocationLength ()
}
com/google/android/exoplayer/upstream/Loader$Callback.classLoader.java
package com.google.android.exoplayer.upstream
public abstract com.google.android.exoplayer.upstream.Loader$Callback extends java.lang.Object {
public abstract void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable)
public abstract void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable)
public abstract void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException)
}
com/google/android/exoplayer/upstream/HttpDataSource$InvalidResponseCodeException.classHttpDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.HttpDataSource$InvalidResponseCodeException extends com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException {
public final int responseCode
public final java.util.Map headerFields
public void (int, java.util.Map, com.google.android.exoplayer.upstream.DataSpec)
int responseCode
java.util.Map headerFields
com.google.android.exoplayer.upstream.DataSpec dataSpec
}
com/google/android/exoplayer/upstream/UdpDataSource.classUdpDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.UdpDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.UriDataSource {
public static final int DEFAULT_MAX_PACKET_SIZE
private final com.google.android.exoplayer.upstream.TransferListener listener
private final java.net.DatagramPacket packet
private com.google.android.exoplayer.upstream.DataSpec dataSpec
private java.net.DatagramSocket socket
private java.net.MulticastSocket multicastSocket
private java.net.InetAddress address
private java.net.InetSocketAddress socketAddress
private boolean opened
private byte[] packetBuffer
private int packetRemaining
public void (com.google.android.exoplayer.upstream.TransferListener)
com.google.android.exoplayer.upstream.TransferListener listener
public void (com.google.android.exoplayer.upstream.TransferListener, int)
com.google.android.exoplayer.upstream.TransferListener listener
int maxPacketSize
public long open (com.google.android.exoplayer.upstream.DataSpec) throws com.google.android.exoplayer.upstream.UdpDataSource$UdpDataSourceException
java.io.IOException e
com.google.android.exoplayer.upstream.DataSpec dataSpec
String host
int port
public int read (byte[], int, int) throws com.google.android.exoplayer.upstream.UdpDataSource$UdpDataSourceException
java.io.IOException e
byte[] buffer
int offset
int readLength
int packetOffset
int bytesToRead
public void close ()
public java.lang.String getUri ()
}
com/google/android/exoplayer/upstream/DefaultUriDataSource.classDefaultUriDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.DefaultUriDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.UriDataSource {
private static final String SCHEME_ASSET
private static final String SCHEME_CONTENT
private final com.google.android.exoplayer.upstream.UriDataSource httpDataSource
private final com.google.android.exoplayer.upstream.UriDataSource fileDataSource
private final com.google.android.exoplayer.upstream.UriDataSource assetDataSource
private final com.google.android.exoplayer.upstream.UriDataSource contentDataSource
private com.google.android.exoplayer.upstream.UriDataSource dataSource
public void (android.content.Context, java.lang.String)
android.content.Context context
String userAgent
public void (android.content.Context, com.google.android.exoplayer.upstream.TransferListener, java.lang.String)
android.content.Context context
com.google.android.exoplayer.upstream.TransferListener listener
String userAgent
public void (android.content.Context, com.google.android.exoplayer.upstream.TransferListener, java.lang.String, boolean)
android.content.Context context
com.google.android.exoplayer.upstream.TransferListener listener
String userAgent
boolean allowCrossProtocolRedirects
public void (android.content.Context, com.google.android.exoplayer.upstream.TransferListener, com.google.android.exoplayer.upstream.UriDataSource)
android.content.Context context
com.google.android.exoplayer.upstream.TransferListener listener
com.google.android.exoplayer.upstream.UriDataSource httpDataSource
public long open (com.google.android.exoplayer.upstream.DataSpec) throws java.io.IOException
com.google.android.exoplayer.upstream.DataSpec dataSpec
String scheme
public int read (byte[], int, int) throws java.io.IOException
byte[] buffer
int offset
int readLength
public java.lang.String getUri ()
public void close () throws java.io.IOException
}
com/google/android/exoplayer/upstream/ByteArrayDataSink.classByteArrayDataSink.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.ByteArrayDataSink extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSink {
private java.io.ByteArrayOutputStream stream
public void ()
public com.google.android.exoplayer.upstream.DataSink open (com.google.android.exoplayer.upstream.DataSpec) throws java.io.IOException
com.google.android.exoplayer.upstream.DataSpec dataSpec
public void close () throws java.io.IOException
public void write (byte[], int, int) throws java.io.IOException
byte[] buffer
int offset
int length
public byte[] getData ()
}
com/google/android/exoplayer/upstream/DefaultHttpDataSource.classDefaultHttpDataSource.java
package com.google.android.exoplayer.upstream
public com.google.android.exoplayer.upstream.DefaultHttpDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.HttpDataSource {
public static final int DEFAULT_CONNECT_TIMEOUT_MILLIS
public static final int DEFAULT_READ_TIMEOUT_MILLIS
private static final int MAX_REDIRECTS
private static final String TAG
private static final java.util.regex.Pattern CONTENT_RANGE_HEADER
private static final java.util.concurrent.atomic.AtomicReference skipBufferReference
private final boolean allowCrossProtocolRedirects
private final int connectTimeoutMillis
private final int readTimeoutMillis
private final String userAgent
private final com.google.android.exoplayer.util.Predicate contentTypePredicate
private final java.util.HashMap requestProperties
private final com.google.android.exoplayer.upstream.TransferListener listener
private com.google.android.exoplayer.upstream.DataSpec dataSpec
private java.net.HttpURLConnection connection
private java.io.InputStream inputStream
private boolean opened
private long bytesToSkip
private long bytesToRead
private long bytesSkipped
private long bytesRead
public void (java.lang.String, com.google.android.exoplayer.util.Predicate)
String userAgent
com.google.android.exoplayer.util.Predicate contentTypePredicate
public void (java.lang.String, com.google.android.exoplayer.util.Predicate, com.google.android.exoplayer.upstream.TransferListener)
String userAgent
com.google.android.exoplayer.util.Predicate contentTypePredicate
com.google.android.exoplayer.upstream.TransferListener listener
public void (java.lang.String, com.google.android.exoplayer.util.Predicate, com.google.android.exoplayer.upstream.TransferListener, int, int)
String userAgent
com.google.android.exoplayer.util.Predicate contentTypePredicate
com.google.android.exoplayer.upstream.TransferListener listener
int connectTimeoutMillis
int readTimeoutMillis
public void (java.lang.String, com.google.android.exoplayer.util.Predicate, com.google.android.exoplayer.upstream.TransferListener, int, int, boolean)
String userAgent
com.google.android.exoplayer.util.Predicate contentTypePredicate
com.google.android.exoplayer.upstream.TransferListener listener
int connectTimeoutMillis
int readTimeoutMillis
boolean allowCrossProtocolRedirects
public java.lang.String getUri ()
public java.util.Map getResponseHeaders ()
public void setRequestProperty (java.lang.String, java.lang.String)
String name
String value
public void clearRequestProperty (java.lang.String)
String name
public void clearAllRequestProperties ()
public long open (com.google.android.exoplayer.upstream.DataSpec) throws com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException
java.io.IOException e
java.io.IOException e
java.util.Map headers
long contentLength
java.io.IOException e
com.google.android.exoplayer.upstream.DataSpec dataSpec
int responseCode
int responseCode
String contentType
public int read (byte[], int, int) throws com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException
java.io.IOException e
byte[] buffer
int offset
int readLength
public void close () throws com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException
java.io.IOException e
protected final java.net.HttpURLConnection getConnection ()
protected final long bytesSkipped ()
protected final long bytesRead ()
protected final long bytesRemaining ()
private java.net.HttpURLConnection makeConnection (com.google.android.exoplayer.upstream.DataSpec) throws java.io.IOException
java.net.HttpURLConnection connection
String location
java.net.HttpURLConnection connection
int responseCode
com.google.android.exoplayer.upstream.DataSpec dataSpec
java.net.URL url
byte[] postBody
long position
long length
boolean allowGzip
int redirectCount
private java.net.HttpURLConnection makeConnection (java.net.URL, byte[], long, long, boolean, boolean) throws java.io.IOException
java.util.Map$Entry property
String rangeRequest
java.io.OutputStream os
java.net.URL url
byte[] postBody
long position
long length
boolean allowGzip
boolean followRedirects
java.net.HttpURLConnection connection
private static java.net.URL handleRedirect (java.net.URL, java.lang.String) throws java.io.IOException
java.net.URL originalUrl
String location
java.net.URL url
String protocol
private static long getContentLength (java.net.HttpURLConnection)
NumberFormatException e
long contentLengthFromRange
NumberFormatException e
java.util.regex.Matcher matcher
java.net.HttpURLConnection connection
long contentLength
String contentLengthHeader
String contentRangeHeader
private void skipInternal () throws java.io.IOException
int readLength
int read
byte[] skipBuffer
private int readInternal (byte[], int, int) throws java.io.IOException
byte[] buffer
int offset
int readLength
int read
private void closeConnectionQuietly ()
Exception e
static void ()
}
com/google/android/exoplayer/upstream/AssetDataSource.classAssetDataSource.java
package com.google.android.exoplayer.upstream
public final com.google.android.exoplayer.upstream.AssetDataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.UriDataSource {
private final android.content.res.AssetManager assetManager
private final com.google.android.exoplayer.upstream.TransferListener listener
private String uriString
private java.io.InputStream inputStream
private long bytesRemaining
private boolean opened
public void (android.content.Context)
android.content.Context context
public void (android.content.Context, com.google.android.exoplayer.upstream.TransferListener)
android.content.Context context
com.google.android.exoplayer.upstream.TransferListener listener
public long open (com.google.android.exoplayer.upstream.DataSpec) throws com.google.android.exoplayer.upstream.AssetDataSource$AssetDataSourceException
String path
long skipped
java.io.IOException e
com.google.android.exoplayer.upstream.DataSpec dataSpec
public int read (byte[], int, int) throws com.google.android.exoplayer.upstream.AssetDataSource$AssetDataSourceException
int bytesToRead
java.io.IOException e
int bytesRead
byte[] buffer
int offset
int readLength
public java.lang.String getUri ()
public void close () throws com.google.android.exoplayer.upstream.AssetDataSource$AssetDataSourceException
java.io.IOException e
}
com/google/android/exoplayer/upstream/HttpDataSource$HttpDataSourceException.classHttpDataSource.java
package com.google.android.exoplayer.upstream
public com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException extends java.io.IOException {
public final com.google.android.exoplayer.upstream.DataSpec dataSpec
public void (com.google.android.exoplayer.upstream.DataSpec)
com.google.android.exoplayer.upstream.DataSpec dataSpec
public void (java.lang.String, com.google.android.exoplayer.upstream.DataSpec)
String message
com.google.android.exoplayer.upstream.DataSpec dataSpec
public void (java.io.IOException, com.google.android.exoplayer.upstream.DataSpec)
java.io.IOException cause
com.google.android.exoplayer.upstream.DataSpec dataSpec
public void (java.lang.String, java.io.IOException, com.google.android.exoplayer.upstream.DataSpec)
String message
java.io.IOException cause
com.google.android.exoplayer.upstream.DataSpec dataSpec
}
com/google/android/exoplayer/MediaCodecAudioTrackRenderer$EventListener.classMediaCodecAudioTrackRenderer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener extends java.lang.Object implements com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener {
public abstract void onAudioTrackInitializationError (com.google.android.exoplayer.audio.AudioTrack$InitializationException)
public abstract void onAudioTrackWriteError (com.google.android.exoplayer.audio.AudioTrack$WriteException)
public abstract void onAudioTrackUnderrun (int, long, long)
}
com/google/android/exoplayer/C.classC.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.C extends java.lang.Object {
public static final long UNKNOWN_TIME_US
public static final long MATCH_LONGEST_US
public static final long MICROS_PER_SECOND
public static final int LENGTH_UNBOUNDED
public static final String UTF8_NAME
public static final int CRYPTO_MODE_AES_CTR
public static final int ENCODING_AC3
public static final int ENCODING_E_AC3
public static final int ENCODING_DTS
public static final int ENCODING_DTS_HD
public static final int CHANNEL_OUT_7POINT1_SURROUND
public static final int SAMPLE_FLAG_SYNC
public static final int SAMPLE_FLAG_ENCRYPTED
public static final int SAMPLE_FLAG_DECODE_ONLY
public static final int RESULT_END_OF_INPUT
public static final int RESULT_MAX_LENGTH_EXCEEDED
private void ()
static void ()
}
com/google/android/exoplayer/BehindLiveWindowException.classBehindLiveWindowException.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.BehindLiveWindowException extends java.io.IOException {
public void ()
public void (java.lang.String)
String message
}
com/google/android/exoplayer/MediaCodecUtil$1.classMediaCodecUtil.java
package com.google.android.exoplayer
com.google.android.exoplayer.MediaCodecUtil$1 extends java.lang.Object {
}
com/google/android/exoplayer/MediaCodecTrackRenderer$1.classMediaCodecTrackRenderer.java
package com.google.android.exoplayer
com.google.android.exoplayer.MediaCodecTrackRenderer$1 extends java.lang.Object implements java.lang.Runnable {
final com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException val$e
final com.google.android.exoplayer.MediaCodecTrackRenderer this$0
void (com.google.android.exoplayer.MediaCodecTrackRenderer, com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException)
com.google.android.exoplayer.MediaCodecTrackRenderer this$0
public void run ()
}
com/google/android/exoplayer/DummyTrackRenderer.classDummyTrackRenderer.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.DummyTrackRenderer extends com.google.android.exoplayer.TrackRenderer {
public void ()
protected boolean doPrepare (long) throws com.google.android.exoplayer.ExoPlaybackException
long positionUs
protected int getTrackCount ()
protected com.google.android.exoplayer.MediaFormat getFormat (int)
int track
protected boolean isEnded ()
protected boolean isReady ()
protected void seekTo (long)
long positionUs
protected void doSomeWork (long, long)
long positionUs
long elapsedRealtimeUs
protected void maybeThrowError ()
protected long getDurationUs ()
protected long getBufferedPositionUs ()
}
com/google/android/exoplayer/ExoPlayerImpl.classExoPlayerImpl.java
package com.google.android.exoplayer
final com.google.android.exoplayer.ExoPlayerImpl extends java.lang.Object implements com.google.android.exoplayer.ExoPlayer {
private static final String TAG
private final android.os.Handler eventHandler
private final com.google.android.exoplayer.ExoPlayerImplInternal internalPlayer
private final java.util.concurrent.CopyOnWriteArraySet listeners
private final com.google.android.exoplayer.MediaFormat[][] trackFormats
private final int[] selectedTrackIndices
private boolean playWhenReady
private int playbackState
private int pendingPlayWhenReadyAcks
public void (int, int, int)
int rendererCount
int minBufferMs
int minRebufferMs
public android.os.Looper getPlaybackLooper ()
public void addListener (com.google.android.exoplayer.ExoPlayer$Listener)
com.google.android.exoplayer.ExoPlayer$Listener listener
public void removeListener (com.google.android.exoplayer.ExoPlayer$Listener)
com.google.android.exoplayer.ExoPlayer$Listener listener
public int getPlaybackState ()
public transient void prepare (com.google.android.exoplayer.TrackRenderer[])
com.google.android.exoplayer.TrackRenderer[] renderers
public int getTrackCount (int)
int rendererIndex
public com.google.android.exoplayer.MediaFormat getTrackFormat (int, int)
int rendererIndex
int trackIndex
public void setSelectedTrack (int, int)
int rendererIndex
int trackIndex
public int getSelectedTrack (int)
int rendererIndex
public void setPlayWhenReady (boolean)
com.google.android.exoplayer.ExoPlayer$Listener listener
boolean playWhenReady
public boolean getPlayWhenReady ()
public boolean isPlayWhenReadyCommitted ()
public void seekTo (long)
long positionMs
public void stop ()
public void release ()
public void sendMessage (com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent, int, java.lang.Object)
com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent target
int messageType
Object message
public void blockingSendMessage (com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent, int, java.lang.Object)
com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent target
int messageType
Object message
public long getDuration ()
public long getCurrentPosition ()
public long getBufferedPosition ()
public int getBufferedPercentage ()
long bufferedPosition
long duration
void handleEvent (android.os.Message)
com.google.android.exoplayer.ExoPlayer$Listener listener
com.google.android.exoplayer.ExoPlayer$Listener listener
com.google.android.exoplayer.ExoPlayer$Listener listener
com.google.android.exoplayer.ExoPlayer$Listener listener
com.google.android.exoplayer.ExoPlaybackException exception
android.os.Message msg
}
com/google/android/exoplayer/MediaCodecTrackRenderer.classMediaCodecTrackRenderer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.MediaCodecTrackRenderer extends com.google.android.exoplayer.SampleSourceTrackRenderer {
protected static final int SOURCE_STATE_NOT_READY
protected static final int SOURCE_STATE_READY
protected static final int SOURCE_STATE_READY_READ_MAY_FAIL
private static final long MAX_CODEC_HOTSWAP_TIME_MS
private static final int RECONFIGURATION_STATE_NONE
private static final int RECONFIGURATION_STATE_WRITE_PENDING
private static final int RECONFIGURATION_STATE_QUEUE_PENDING
private static final int REINITIALIZATION_STATE_NONE
private static final int REINITIALIZATION_STATE_SIGNAL_END_OF_STREAM
private static final int REINITIALIZATION_STATE_WAIT_END_OF_STREAM
public final com.google.android.exoplayer.CodecCounters codecCounters
private final com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
private final com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
private final boolean playClearSamplesWithoutKeys
private final com.google.android.exoplayer.SampleHolder sampleHolder
private final com.google.android.exoplayer.MediaFormatHolder formatHolder
private final java.util.List decodeOnlyPresentationTimestamps
private final android.media.MediaCodec$BufferInfo outputBufferInfo
private final com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener eventListener
private final boolean deviceNeedsAutoFrcWorkaround
protected final android.os.Handler eventHandler
private com.google.android.exoplayer.MediaFormat format
private com.google.android.exoplayer.drm.DrmInitData drmInitData
private android.media.MediaCodec codec
private boolean codecIsAdaptive
private boolean codecNeedsDiscardToSpsWorkaround
private boolean codecNeedsFlushWorkaround
private boolean codecNeedsEosPropagationWorkaround
private boolean codecNeedsEosFlushWorkaround
private boolean codecNeedsMonoChannelCountWorkaround
private java.nio.ByteBuffer[] inputBuffers
private java.nio.ByteBuffer[] outputBuffers
private long codecHotswapTimeMs
private int inputIndex
private int outputIndex
private boolean openedDrmSession
private boolean codecReconfigured
private int codecReconfigurationState
private int codecReinitializationState
private boolean codecReceivedBuffers
private boolean codecReceivedEos
private int sourceState
private boolean inputStreamEnded
private boolean outputStreamEnded
private boolean waitingForKeys
private boolean waitingForFirstSyncFrame
public void (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.drm.DrmSessionManager, boolean, android.os.Handler, com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener)
com.google.android.exoplayer.SampleSource source
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
boolean playClearSamplesWithoutKeys
android.os.Handler eventHandler
com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener eventListener
public void (com.google.android.exoplayer.SampleSource[], com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.drm.DrmSessionManager, boolean, android.os.Handler, com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener)
com.google.android.exoplayer.SampleSource[] sources
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
boolean playClearSamplesWithoutKeys
android.os.Handler eventHandler
com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener eventListener
protected final boolean handlesTrack (com.google.android.exoplayer.MediaFormat) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
com.google.android.exoplayer.MediaFormat mediaFormat
protected abstract boolean handlesTrack (com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.MediaFormat) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
protected com.google.android.exoplayer.DecoderInfo getDecoderInfo (com.google.android.exoplayer.MediaCodecSelector, java.lang.String, boolean) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
String mimeType
boolean requiresSecureDecoder
protected abstract void configureCodec (android.media.MediaCodec, boolean, android.media.MediaFormat, android.media.MediaCrypto)
protected final void maybeInitCodec () throws com.google.android.exoplayer.ExoPlaybackException
int drmSessionState
com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException e
long codecInitializingTimestamp
long codecInitializedTimestamp
Exception e
String mimeType
android.media.MediaCrypto mediaCrypto
boolean requiresSecureDecoder
com.google.android.exoplayer.DecoderInfo decoderInfo
String codecName
private void notifyAndThrowDecoderInitError (com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException) throws com.google.android.exoplayer.ExoPlaybackException
com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException e
protected boolean shouldInitCodec ()
protected final boolean codecInitialized ()
protected final boolean haveFormat ()
protected void onDisabled () throws com.google.android.exoplayer.ExoPlaybackException
protected void releaseCodec ()
protected void onDiscontinuity (long) throws com.google.android.exoplayer.ExoPlaybackException
long positionUs
protected void onStarted ()
protected void onStopped ()
protected void doSomeWork (long, long, boolean) throws com.google.android.exoplayer.ExoPlaybackException
long positionUs
long elapsedRealtimeUs
boolean sourceIsReady
private void readFormat (long) throws com.google.android.exoplayer.ExoPlaybackException
long positionUs
int result
private void flushCodec () throws com.google.android.exoplayer.ExoPlaybackException
private boolean feedInputBuffer (long, boolean) throws com.google.android.exoplayer.ExoPlaybackException
int result
byte[] data
int i
android.media.MediaCodec$CryptoException e
android.media.MediaCodec$CryptoInfo cryptoInfo
int bufferSize
int adaptiveReconfigurationBytes
long presentationTimeUs
android.media.MediaCodec$CryptoException e
long positionUs
boolean firstFeed
int result
boolean sampleEncrypted
private static android.media.MediaCodec$CryptoInfo getFrameworkCryptoInfo (com.google.android.exoplayer.SampleHolder, int)
com.google.android.exoplayer.SampleHolder sampleHolder
int adaptiveReconfigurationBytes
android.media.MediaCodec$CryptoInfo cryptoInfo
private android.media.MediaFormat getFrameworkMediaFormat (com.google.android.exoplayer.MediaFormat)
com.google.android.exoplayer.MediaFormat format
android.media.MediaFormat mediaFormat
private boolean shouldWaitForKeys (boolean) throws com.google.android.exoplayer.ExoPlaybackException
boolean sampleEncrypted
int drmManagerState
protected void onInputFormatChanged (com.google.android.exoplayer.MediaFormatHolder) throws com.google.android.exoplayer.ExoPlaybackException
com.google.android.exoplayer.MediaFormatHolder formatHolder
com.google.android.exoplayer.MediaFormat oldFormat
protected void onOutputFormatChanged (android.media.MediaFormat) throws com.google.android.exoplayer.ExoPlaybackException
android.media.MediaFormat outputFormat
protected void onOutputStreamEnded ()
protected void onQueuedInputBuffer (long, java.nio.ByteBuffer, int, boolean)
long presentationTimeUs
java.nio.ByteBuffer buffer
int bufferSize
boolean sampleEncrypted
protected void onProcessedOutputBuffer (long)
long presentationTimeUs
protected boolean canReconfigureCodec (android.media.MediaCodec, boolean, com.google.android.exoplayer.MediaFormat, com.google.android.exoplayer.MediaFormat)
android.media.MediaCodec codec
boolean codecIsAdaptive
com.google.android.exoplayer.MediaFormat oldFormat
com.google.android.exoplayer.MediaFormat newFormat
protected boolean isEnded ()
protected boolean isReady ()
protected final int getSourceState ()
private boolean isWithinHotswapPeriod ()
protected long getDequeueOutputBufferTimeoutUs ()
private boolean drainOutputBuffer (long, long) throws com.google.android.exoplayer.ExoPlaybackException
long positionUs
long elapsedRealtimeUs
int decodeOnlyIndex
private void processOutputFormat () throws com.google.android.exoplayer.ExoPlaybackException
android.media.MediaFormat format
protected abstract boolean processOutputBuffer (long, long, android.media.MediaCodec, java.nio.ByteBuffer, android.media.MediaCodec$BufferInfo, int, boolean) throws com.google.android.exoplayer.ExoPlaybackException
private void processEndOfStream () throws com.google.android.exoplayer.ExoPlaybackException
private void notifyDecoderInitializationError (com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException)
com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException e
private void notifyCryptoError (android.media.MediaCodec$CryptoException)
android.media.MediaCodec$CryptoException e
private void notifyDecoderInitialized (java.lang.String, long, long)
String decoderName
long initializedTimestamp
long initializationDuration
private int getDecodeOnlyIndex (long)
int i
long presentationTimeUs
int size
private static boolean codecNeedsFlushWorkaround (java.lang.String)
String name
private static boolean codecNeedsDiscardToSpsWorkaround (java.lang.String, com.google.android.exoplayer.MediaFormat)
String name
com.google.android.exoplayer.MediaFormat format
private static boolean codecNeedsEosPropagationWorkaround (java.lang.String)
String name
private static boolean codecNeedsEosFlushWorkaround (java.lang.String)
String name
private static boolean codecNeedsMonoChannelCountWorkaround (java.lang.String, com.google.android.exoplayer.MediaFormat)
String name
com.google.android.exoplayer.MediaFormat format
private static boolean deviceNeedsAutoFrcWorkaround ()
static com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener access$000 (com.google.android.exoplayer.MediaCodecTrackRenderer)
com.google.android.exoplayer.MediaCodecTrackRenderer x0
}
com/google/android/exoplayer/ExoPlaybackException.classExoPlaybackException.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.ExoPlaybackException extends java.lang.Exception {
public final boolean caughtAtTopLevel
public void (java.lang.String)
String message
public void (java.lang.Throwable)
Throwable cause
public void (java.lang.String, java.lang.Throwable)
String message
Throwable cause
void (java.lang.Throwable, boolean)
Throwable cause
boolean caughtAtTopLevel
}
com/google/android/exoplayer/SampleSource.classSampleSource.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.SampleSource extends java.lang.Object {
public static final int END_OF_STREAM
public static final int NOTHING_READ
public static final int SAMPLE_READ
public static final int FORMAT_READ
public static final long NO_DISCONTINUITY
public abstract com.google.android.exoplayer.SampleSource$SampleSourceReader register ()
}
com/google/android/exoplayer/MediaCodecTrackRenderer$3.classMediaCodecTrackRenderer.java
package com.google.android.exoplayer
com.google.android.exoplayer.MediaCodecTrackRenderer$3 extends java.lang.Object implements java.lang.Runnable {
final String val$decoderName
final long val$initializedTimestamp
final long val$initializationDuration
final com.google.android.exoplayer.MediaCodecTrackRenderer this$0
void (com.google.android.exoplayer.MediaCodecTrackRenderer, java.lang.String, long, long)
com.google.android.exoplayer.MediaCodecTrackRenderer this$0
public void run ()
}
com/google/android/exoplayer/MediaCodecAudioTrackRenderer$2.classMediaCodecAudioTrackRenderer.java
package com.google.android.exoplayer
com.google.android.exoplayer.MediaCodecAudioTrackRenderer$2 extends java.lang.Object implements java.lang.Runnable {
final com.google.android.exoplayer.audio.AudioTrack$WriteException val$e
final com.google.android.exoplayer.MediaCodecAudioTrackRenderer this$0
void (com.google.android.exoplayer.MediaCodecAudioTrackRenderer, com.google.android.exoplayer.audio.AudioTrack$WriteException)
com.google.android.exoplayer.MediaCodecAudioTrackRenderer this$0
public void run ()
}
com/google/android/exoplayer/MediaCodecUtil$MediaCodecListCompat.classMediaCodecUtil.java
package com.google.android.exoplayer
abstract com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat extends java.lang.Object {
public abstract int getCodecCount ()
public abstract android.media.MediaCodecInfo getCodecInfoAt (int)
public abstract boolean secureDecodersExplicit ()
public abstract boolean isSecurePlaybackSupported (java.lang.String, android.media.MediaCodecInfo$CodecCapabilities)
}
com/google/android/exoplayer/MediaCodecUtil$CodecKey.classMediaCodecUtil.java
package com.google.android.exoplayer
final com.google.android.exoplayer.MediaCodecUtil$CodecKey extends java.lang.Object {
public final String mimeType
public final boolean secure
public void (java.lang.String, boolean)
String mimeType
boolean secure
public int hashCode ()
int prime
int result
public boolean equals (java.lang.Object)
Object obj
com.google.android.exoplayer.MediaCodecUtil$CodecKey other
}
com/google/android/exoplayer/BuildConfig.classBuildConfig.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.BuildConfig extends java.lang.Object {
public static final boolean DEBUG
public static final String APPLICATION_ID
public static final String BUILD_TYPE
public static final String FLAVOR
public static final int VERSION_CODE
public static final String VERSION_NAME
public void ()
}
com/google/android/exoplayer/MediaCodecTrackRenderer$2.classMediaCodecTrackRenderer.java
package com.google.android.exoplayer
com.google.android.exoplayer.MediaCodecTrackRenderer$2 extends java.lang.Object implements java.lang.Runnable {
final android.media.MediaCodec$CryptoException val$e
final com.google.android.exoplayer.MediaCodecTrackRenderer this$0
void (com.google.android.exoplayer.MediaCodecTrackRenderer, android.media.MediaCodec$CryptoException)
com.google.android.exoplayer.MediaCodecTrackRenderer this$0
public void run ()
}
com/google/android/exoplayer/MediaCodecSelector$1.classMediaCodecSelector.java
package com.google.android.exoplayer
final com.google.android.exoplayer.MediaCodecSelector$1 extends java.lang.Object implements com.google.android.exoplayer.MediaCodecSelector {
private static final String RAW_DECODER_NAME
void ()
public com.google.android.exoplayer.DecoderInfo getDecoderInfo (java.lang.String, boolean) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
String mimeType
boolean requiresSecureDecoder
public java.lang.String getPassthroughDecoderName () throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
}
com/google/android/exoplayer/util/
com/google/android/exoplayer/util/ManifestFetcher$EventListener.classManifestFetcher.java
package com.google.android.exoplayer.util
public abstract com.google.android.exoplayer.util.ManifestFetcher$EventListener extends java.lang.Object {
public abstract void onManifestRefreshStarted ()
public abstract void onManifestRefreshed ()
public abstract void onManifestError (java.io.IOException)
}
com/google/android/exoplayer/util/PriorityHandlerThread.classPriorityHandlerThread.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.PriorityHandlerThread extends android.os.HandlerThread {
private final int priority
public void (java.lang.String, int)
String name
int priority
public void run ()
}
com/google/android/exoplayer/util/ManifestFetcher$3.classManifestFetcher.java
package com.google.android.exoplayer.util
com.google.android.exoplayer.util.ManifestFetcher$3 extends java.lang.Object implements java.lang.Runnable {
final java.io.IOException val$e
final com.google.android.exoplayer.util.ManifestFetcher this$0
void (com.google.android.exoplayer.util.ManifestFetcher, java.io.IOException)
com.google.android.exoplayer.util.ManifestFetcher this$0
public void run ()
}
com/google/android/exoplayer/util/DtsUtil.classDtsUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.DtsUtil extends java.lang.Object {
private static final int[] CHANNELS_BY_AMODE
private static final int[] SAMPLE_RATE_BY_SFREQ
private static final int[] TWICE_BITRATE_KBPS_BY_RATE
private static final com.google.android.exoplayer.util.ParsableBitArray SCRATCH_BITS
public static com.google.android.exoplayer.MediaFormat parseDtsFormat (byte[], java.lang.String, long, java.lang.String)
byte[] frame
String trackId
long durationUs
String language
com.google.android.exoplayer.util.ParsableBitArray frameBits
int amode
int channelCount
int sfreq
int sampleRate
int rate
int bitrate
public static int parseDtsAudioSampleCount (byte[])
byte[] data
int nblks
public static int parseDtsAudioSampleCount (java.nio.ByteBuffer)
java.nio.ByteBuffer data
int position
int nblks
public static int getDtsFrameSize (byte[])
byte[] data
private void ()
static void ()
}
com/google/android/exoplayer/util/ManifestFetcher$1.classManifestFetcher.java
package com.google.android.exoplayer.util
com.google.android.exoplayer.util.ManifestFetcher$1 extends java.lang.Object implements java.lang.Runnable {
final com.google.android.exoplayer.util.ManifestFetcher this$0
void (com.google.android.exoplayer.util.ManifestFetcher)
com.google.android.exoplayer.util.ManifestFetcher this$0
public void run ()
}
com/google/android/exoplayer/util/Util.classUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.Util extends java.lang.Object {
public static final int SDK_INT
public static final String DEVICE
public static final String MANUFACTURER
public static final String MODEL
public static final int TYPE_DASH
public static final int TYPE_SS
public static final int TYPE_HLS
public static final int TYPE_OTHER
private static final java.util.regex.Pattern XS_DATE_TIME_PATTERN
private static final java.util.regex.Pattern XS_DURATION_PATTERN
private static final java.util.regex.Pattern ESCAPED_CHARACTER_PATTERN
private static final long MAX_BYTES_TO_DRAIN
private void ()
public static boolean isAndroidTv (android.content.Context)
android.content.Context context
public static byte[] toByteArray (java.io.InputStream) throws java.io.IOException
java.io.InputStream inputStream
byte[] buffer
java.io.ByteArrayOutputStream outputStream
int bytesRead
public static boolean isLocalFileUri (android.net.Uri)
android.net.Uri uri
String scheme
public static boolean areEqual (java.lang.Object, java.lang.Object)
Object o1
Object o2
public static boolean contains (java.lang.Object[], java.lang.Object)
int i
Object[] items
Object item
public static java.util.concurrent.ExecutorService newSingleThreadExecutor (java.lang.String)
String threadName
public static java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor (java.lang.String)
String threadName
public static void closeQuietly (com.google.android.exoplayer.upstream.DataSource)
com.google.android.exoplayer.upstream.DataSource dataSource
public static void closeQuietly (java.io.OutputStream)
java.io.OutputStream outputStream
public static java.lang.String toLowerInvariant (java.lang.String)
String text
public static int ceilDivide (int, int)
int numerator
int denominator
public static long ceilDivide (long, long)
long numerator
long denominator
public static int binarySearchFloor (long[], long, boolean, boolean)
long[] a
long key
boolean inclusive
boolean stayInBounds
int index
public static int binarySearchCeil (long[], long, boolean, boolean)
long[] a
long key
boolean inclusive
boolean stayInBounds
int index
public static int binarySearchFloor (java.util.List, java.lang.Object, boolean, boolean)
java.util.List list
Object key
boolean inclusive
boolean stayInBounds
int index
public static int binarySearchCeil (java.util.List, java.lang.Object, boolean, boolean)
java.util.List list
Object key
boolean inclusive
boolean stayInBounds
int index
public static int[] firstIntegersArray (int)
int i
int length
int[] firstIntegers
public static long parseXsDuration (java.lang.String)
boolean negated
String years
double durationSeconds
String months
String days
String hours
String minutes
String seconds
long durationMillis
String value
java.util.regex.Matcher matcher
public static long parseXsDateTime (java.lang.String) throws java.text.ParseException
int timezoneShift
int timezoneShift
java.math.BigDecimal bd
String value
java.util.regex.Matcher matcher
int timezoneShift
java.util.Calendar dateTime
long time
public static long scaleLargeTimestamp (long, long, long)
long divisionFactor
long multiplicationFactor
double multiplicationFactor
long timestamp
long multiplier
long divisor
public static long[] scaleLargeTimestamps (java.util.List, long, long)
int i
long divisionFactor
int i
long multiplicationFactor
int i
double multiplicationFactor
java.util.List timestamps
long multiplier
long divisor
long[] scaledTimestamps
public static void scaleLargeTimestampsInPlace (long[], long, long)
int i
long divisionFactor
int i
long multiplicationFactor
int i
double multiplicationFactor
long[] timestamps
long multiplier
long divisor
public static int[] toArray (java.util.List)
int i
java.util.List list
int length
int[] intArray
public static void maybeTerminateInputStream (java.net.HttpURLConnection, long)
Class superclass
java.lang.reflect.Method unexpectedEndOfInput
java.io.InputStream inputStream
String className
java.net.HttpURLConnection connection
long bytesRemaining
public static com.google.android.exoplayer.upstream.DataSpec getRemainderDataSpec (com.google.android.exoplayer.upstream.DataSpec, int)
long remainingLength
com.google.android.exoplayer.upstream.DataSpec dataSpec
int bytesLoaded
public static int getIntegerCodeForString (java.lang.String)
int i
String string
int length
int result
public static int getTopInt (long)
long value
public static int getBottomInt (long)
long value
public static long getLong (int, int)
int topInteger
int bottomInteger
public static java.lang.String getHexStringFromBytes (byte[], int, int)
int i
byte[] data
int beginIndex
int endIndex
StringBuilder dataStringBuilder
public static byte[] getBytesFromHexString (java.lang.String)
int stringOffset
int i
String hexString
byte[] data
public static java.lang.String getCommaDelimitedSimpleClassNames (java.lang.Object[])
int i
Object[] objects
StringBuilder stringBuilder
public static java.lang.String getUserAgent (android.content.Context, java.lang.String)
String packageName
android.content.pm.PackageInfo info
android.content.pm.PackageManager$NameNotFoundException e
android.content.Context context
String applicationName
String versionName
String versionName
public static byte[] executePost (java.lang.String, byte[], java.util.Map) throws java.io.IOException
java.util.Map$Entry requestProperty
java.io.OutputStream out
java.io.InputStream inputStream
String url
byte[] data
java.util.Map requestProperties
java.net.HttpURLConnection urlConnection
public static int inferContentType (java.lang.String)
String fileName
public static java.lang.String escapeFileName (java.lang.String)
int i
char c
String fileName
int length
int charactersToEscapeCount
int i
StringBuilder builder
private static boolean shouldEscapeCharacter (char)
char c
public static java.lang.String unescapeFileName (java.lang.String)
int i
char unescapedCharacter
String fileName
int length
int percentCharacterCount
int expectedLength
StringBuilder builder
java.util.regex.Matcher matcher
int endOfLastMatch
static void ()
}
com/google/android/exoplayer/util/Util$2.classUtil.java
package com.google.android.exoplayer.util
final com.google.android.exoplayer.util.Util$2 extends java.lang.Object implements java.util.concurrent.ThreadFactory {
final String val$threadName
void (java.lang.String)
public java.lang.Thread newThread (java.lang.Runnable)
Runnable r
}
com/google/android/exoplayer/util/ParserUtil.classParserUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.ParserUtil extends java.lang.Object {
private void ()
public static boolean isEndTag (org.xmlpull.v1.XmlPullParser, java.lang.String) throws org.xmlpull.v1.XmlPullParserException
org.xmlpull.v1.XmlPullParser xpp
String name
public static boolean isStartTag (org.xmlpull.v1.XmlPullParser, java.lang.String) throws org.xmlpull.v1.XmlPullParserException
org.xmlpull.v1.XmlPullParser xpp
String name
public static boolean isStartTag (org.xmlpull.v1.XmlPullParser) throws org.xmlpull.v1.XmlPullParserException
org.xmlpull.v1.XmlPullParser xpp
public static java.lang.String removeNamespacePrefix (java.lang.String)
String attributeName
}
com/google/android/exoplayer/util/SystemClock.classSystemClock.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.SystemClock extends java.lang.Object implements com.google.android.exoplayer.util.Clock {
public void ()
public long elapsedRealtime ()
}
com/google/android/exoplayer/util/VerboseLogUtil.classVerboseLogUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.VerboseLogUtil extends java.lang.Object {
private static volatile String[] enabledTags
private static volatile boolean enableAllTags
private void ()
public static transient void setEnabledTags (java.lang.String[])
String[] tags
public static void setEnableAllTags (boolean)
boolean enable
public static boolean isTagEnabled (java.lang.String)
int i
String tag
String[] tags
public static boolean areAllTagsEnabled ()
}
com/google/android/exoplayer/util/LongArray.classLongArray.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.LongArray extends java.lang.Object {
private static final int DEFAULT_INITIAL_CAPACITY
private int size
private long[] values
public void ()
public void (int)
int initialCapacity
public void add (long)
long value
public long get (int)
int index
public int size ()
public long[] toArray ()
}
com/google/android/exoplayer/util/SlidingPercentile$2.classSlidingPercentile.java
package com.google.android.exoplayer.util
final com.google.android.exoplayer.util.SlidingPercentile$2 extends java.lang.Object implements java.util.Comparator {
void ()
public int compare (com.google.android.exoplayer.util.SlidingPercentile$Sample, com.google.android.exoplayer.util.SlidingPercentile$Sample)
com.google.android.exoplayer.util.SlidingPercentile$Sample a
com.google.android.exoplayer.util.SlidingPercentile$Sample b
public volatile int compare (java.lang.Object, java.lang.Object)
}
com/google/android/exoplayer/util/ManifestFetcher$2.classManifestFetcher.java
package com.google.android.exoplayer.util
com.google.android.exoplayer.util.ManifestFetcher$2 extends java.lang.Object implements java.lang.Runnable {
final com.google.android.exoplayer.util.ManifestFetcher this$0
void (com.google.android.exoplayer.util.ManifestFetcher)
com.google.android.exoplayer.util.ManifestFetcher this$0
public void run ()
}
com/google/android/exoplayer/util/NalUnitUtil$SpsData.classNalUnitUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.NalUnitUtil$SpsData extends java.lang.Object {
public final int seqParameterSetId
public final int width
public final int height
public final float pixelWidthAspectRatio
public final boolean separateColorPlaneFlag
public final boolean frameMbsOnlyFlag
public final int frameNumLength
public final int picOrderCountType
public final int picOrderCntLsbLength
public final boolean deltaPicOrderAlwaysZeroFlag
public void (int, int, int, float, boolean, boolean, int, int, int, boolean)
int seqParameterSetId
int width
int height
float pixelWidthAspectRatio
boolean separateColorPlaneFlag
boolean frameMbsOnlyFlag
int frameNumLength
int picOrderCountType
int picOrderCntLsbLength
boolean deltaPicOrderAlwaysZeroFlag
}
com/google/android/exoplayer/util/NalUnitUtil.classNalUnitUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.NalUnitUtil extends java.lang.Object {
private static final String TAG
public static final byte[] NAL_START_CODE
public static final int EXTENDED_SAR
public static final float[] ASPECT_RATIO_IDC_VALUES
private static final int NAL_UNIT_TYPE_SPS
private static final Object scratchEscapePositionsLock
private static int[] scratchEscapePositions
public static int unescapeStream (byte[], int)
int nextEscapePosition
int copyLength
int i
int position
int scratchEscapeCount
int unescapedLength
int escapedPosition
int unescapedPosition
int remainingLength
byte[] data
int limit
public static void discardToSps (java.nio.ByteBuffer)
java.nio.ByteBuffer offsetData
int value
java.nio.ByteBuffer data
int length
int consecutiveZeros
int offset
public static byte[] parseChildNalUnit (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray atom
int length
int offset
public static int getNalUnitType (byte[], int)
byte[] data
int offset
public static int getH265NalUnitType (byte[], int)
byte[] data
int offset
public static com.google.android.exoplayer.util.NalUnitUtil$SpsData parseSpsNalUnit (com.google.android.exoplayer.util.ParsableBitArray)
boolean seqScalingListPresentFlag
int i
int limit
boolean seqScalingMatrixPresentFlag
int i
long numRefFramesInPicOrderCntCycle
int cropUnitX
int cropUnitY
int subWidthC
int subHeightC
int frameCropLeftOffset
int frameCropRightOffset
int frameCropTopOffset
int frameCropBottomOffset
int cropUnitX
int cropUnitY
int sarWidth
int sarHeight
int aspectRatioIdc
boolean aspectRatioInfoPresentFlag
com.google.android.exoplayer.util.ParsableBitArray data
int profileIdc
int seqParameterSetId
int chromaFormatIdc
boolean separateColorPlaneFlag
int frameNumLength
int picOrderCntType
int picOrderCntLsbLength
boolean deltaPicOrderAlwaysZeroFlag
int picWidthInMbs
int picHeightInMapUnits
boolean frameMbsOnlyFlag
int frameHeightInMbs
int frameWidth
int frameHeight
boolean frameCroppingFlag
float pixelWidthHeightRatio
boolean vuiParametersPresentFlag
public static com.google.android.exoplayer.util.NalUnitUtil$PpsData parsePpsNalUnit (com.google.android.exoplayer.util.ParsableBitArray)
com.google.android.exoplayer.util.ParsableBitArray data
int picParameterSetId
int seqParameterSetId
boolean bottomFieldPicOrderInFramePresentFlag
public static int findNalUnit (byte[], int, int, boolean[])
int i
byte[] data
int startOffset
int endOffset
boolean[] prefixFlags
int length
int limit
public static void clearPrefixFlags (boolean[])
boolean[] prefixFlags
private static int findNextUnescapeIndex (byte[], int, int)
int i
byte[] bytes
int offset
int limit
private static void skipScalingList (com.google.android.exoplayer.util.ParsableBitArray, int)
int deltaScale
int i
com.google.android.exoplayer.util.ParsableBitArray bitArray
int size
int lastScale
int nextScale
private void ()
static void ()
}
com/google/android/exoplayer/util/ParsableBitArray.classParsableBitArray.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.ParsableBitArray extends java.lang.Object {
public byte[] data
private int byteOffset
private int bitOffset
private int byteLimit
public void ()
public void (byte[])
byte[] data
public void (byte[], int)
byte[] data
int limit
public void reset (byte[])
byte[] data
public void reset (byte[], int)
byte[] data
int limit
public int bitsLeft ()
public int getPosition ()
public void setPosition (int)
int position
public void skipBits (int)
int n
public boolean readBit ()
public int readBits (int)
int byteValue
int byteValue
int i
int nextBit
byte writeMask
int numBits
int returnValue
int wholeBytes
public boolean canReadExpGolombCodedNum ()
int initialByteOffset
int initialBitOffset
int leadingZeros
boolean hitLimit
public int readUnsignedExpGolombCodedInt ()
public int readSignedExpGolombCodedInt ()
int codeNum
private int readExpGolombCodeNum ()
int leadingZeros
private void assertValidOffset ()
}
com/google/android/exoplayer/util/PlayerControl.classPlayerControl.java
package com.google.android.exoplayer.util
public com.google.android.exoplayer.util.PlayerControl extends java.lang.Object implements android.widget.MediaController$MediaPlayerControl {
private final com.google.android.exoplayer.ExoPlayer exoPlayer
public void (com.google.android.exoplayer.ExoPlayer)
com.google.android.exoplayer.ExoPlayer exoPlayer
public boolean canPause ()
public boolean canSeekBackward ()
public boolean canSeekForward ()
public int getAudioSessionId ()
public int getBufferPercentage ()
public int getCurrentPosition ()
public int getDuration ()
public boolean isPlaying ()
public void start ()
public void pause ()
public void seekTo (int)
int timeMillis
long seekPosition
}
com/google/android/exoplayer/util/ParsableByteArray.classParsableByteArray.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.ParsableByteArray extends java.lang.Object {
public byte[] data
private int position
private int limit
public void ()
public void (int)
int length
public void (byte[])
byte[] data
public void (byte[], int)
byte[] data
int limit
public void reset (byte[], int)
byte[] data
int limit
public void reset ()
public int bytesLeft ()
public int limit ()
public void setLimit (int)
int limit
public int getPosition ()
public int capacity ()
public void setPosition (int)
int position
public void skipBytes (int)
int bytes
public void readBytes (com.google.android.exoplayer.util.ParsableBitArray, int)
com.google.android.exoplayer.util.ParsableBitArray bitArray
int length
public void readBytes (byte[], int, int)
byte[] buffer
int offset
int length
public void readBytes (java.nio.ByteBuffer, int)
java.nio.ByteBuffer buffer
int length
public int readUnsignedByte ()
public int readUnsignedShort ()
public int readLittleEndianUnsignedShort ()
public short readShort ()
public short readLittleEndianShort ()
public int readUnsignedInt24 ()
public int readLittleEndianInt24 ()
public int readLittleEndianUnsignedInt24 ()
public long readUnsignedInt ()
public long readLittleEndianUnsignedInt ()
public int readInt ()
public int readLittleEndianInt ()
public long readLong ()
public long readLittleEndianLong ()
public int readUnsignedFixedPoint1616 ()
int result
public int readSynchSafeInt ()
int b1
int b2
int b3
int b4
public int readUnsignedIntToInt ()
int result
public int readLittleEndianUnsignedIntToInt ()
int result
public long readUnsignedLongToLong ()
long result
public java.lang.String readString (int)
int length
public java.lang.String readString (int, java.nio.charset.Charset)
int length
java.nio.charset.Charset charset
String result
public java.lang.String readLine ()
int lineLimit
String line
}
com/google/android/exoplayer/util/Assertions.classAssertions.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.Assertions extends java.lang.Object {
private void ()
public static void checkArgument (boolean)
boolean expression
public static void checkArgument (boolean, java.lang.Object)
boolean expression
Object errorMessage
public static void checkState (boolean)
boolean expression
public static void checkState (boolean, java.lang.Object)
boolean expression
Object errorMessage
public static java.lang.Object checkNotNull (java.lang.Object)
Object reference
public static java.lang.Object checkNotNull (java.lang.Object, java.lang.Object)
Object reference
Object errorMessage
public static java.lang.String checkNotEmpty (java.lang.String)
String string
public static java.lang.String checkNotEmpty (java.lang.String, java.lang.Object)
String string
Object errorMessage
public static void checkMainThread ()
}
com/google/android/exoplayer/util/UriUtil.classUriUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.UriUtil extends java.lang.Object {
private static final int INDEX_COUNT
private static final int SCHEME_COLON
private static final int PATH
private static final int QUERY
private static final int FRAGMENT
private void ()
public static android.net.Uri resolveToUri (java.lang.String, java.lang.String)
String baseUri
String referenceUri
public static java.lang.String resolve (java.lang.String, java.lang.String)
int baseLimit
int lastSlashIndex
int baseLimit
String baseUri
String referenceUri
StringBuilder uri
int[] refIndices
int[] baseIndices
private static java.lang.String removeDotSegments (java.lang.StringBuilder, int, int)
int prevSegmentStart
int removeFrom
int nextSegmentStart
StringBuilder uri
int offset
int limit
int segmentStart
int i
private static int[] getUriIndices (java.lang.String)
int pathIndex
String uriString
int[] indices
int length
int fragmentIndex
int queryIndex
int schemeIndexLimit
int schemeIndex
boolean hasAuthority
int pathIndex
}
com/google/android/exoplayer/util/Ac3Util.classAc3Util.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.Ac3Util extends java.lang.Object {
private static final int AUDIO_SAMPLES_PER_AUDIO_BLOCK
private static final int AC3_SYNCFRAME_AUDIO_SAMPLE_COUNT
private static final int[] BLOCKS_PER_SYNCFRAME_BY_NUMBLKSCOD
private static final int[] SAMPLE_RATE_BY_FSCOD
private static final int[] SAMPLE_RATE_BY_FSCOD2
private static final int[] CHANNEL_COUNT_BY_ACMOD
private static final int[] BITRATE_BY_HALF_FRMSIZECOD
private static final int[] SYNCFRAME_SIZE_WORDS_BY_HALF_FRMSIZECOD_44_1
public static com.google.android.exoplayer.MediaFormat parseAc3AnnexFFormat (com.google.android.exoplayer.util.ParsableByteArray, java.lang.String, long, java.lang.String)
com.google.android.exoplayer.util.ParsableByteArray data
String trackId
long durationUs
String language
int fscod
int sampleRate
int nextByte
int channelCount
public static com.google.android.exoplayer.MediaFormat parseEAc3AnnexFFormat (com.google.android.exoplayer.util.ParsableByteArray, java.lang.String, long, java.lang.String)
com.google.android.exoplayer.util.ParsableByteArray data
String trackId
long durationUs
String language
int fscod
int sampleRate
int nextByte
int channelCount
public static com.google.android.exoplayer.MediaFormat parseAc3SyncframeFormat (com.google.android.exoplayer.util.ParsableBitArray, java.lang.String, long, java.lang.String)
com.google.android.exoplayer.util.ParsableBitArray data
String trackId
long durationUs
String language
int fscod
int acmod
boolean lfeon
public static com.google.android.exoplayer.MediaFormat parseEac3SyncframeFormat (com.google.android.exoplayer.util.ParsableBitArray, java.lang.String, long, java.lang.String)
int sampleRate
com.google.android.exoplayer.util.ParsableBitArray data
String trackId
long durationUs
String language
int sampleRate
int fscod
int acmod
boolean lfeon
public static int parseAc3SyncframeSize (byte[])
byte[] data
int fscod
int frmsizecod
public static int parseEAc3SyncframeSize (byte[])
byte[] data
public static int getAc3SyncframeAudioSampleCount ()
public static int parseEAc3SyncframeAudioSampleCount (byte[])
byte[] data
public static int parseEAc3SyncframeAudioSampleCount (java.nio.ByteBuffer)
java.nio.ByteBuffer buffer
int fscod
private static int getAc3SyncframeSize (int, int)
int fscod
int frmsizecod
int sampleRate
int bitrate
private void ()
static void ()
}
com/google/android/exoplayer/util/ManifestFetcher.classManifestFetcher.java
package com.google.android.exoplayer.util
public com.google.android.exoplayer.util.ManifestFetcher extends java.lang.Object implements com.google.android.exoplayer.upstream.Loader$Callback {
private final com.google.android.exoplayer.upstream.UriLoadable$Parser parser
private final com.google.android.exoplayer.upstream.UriDataSource uriDataSource
private final android.os.Handler eventHandler
private final com.google.android.exoplayer.util.ManifestFetcher$EventListener eventListener
volatile String manifestUri
private int enabledCount
private com.google.android.exoplayer.upstream.Loader loader
private com.google.android.exoplayer.upstream.UriLoadable currentLoadable
private long currentLoadStartTimestamp
private int loadExceptionCount
private long loadExceptionTimestamp
private com.google.android.exoplayer.util.ManifestFetcher$ManifestIOException loadException
private volatile Object manifest
private volatile long manifestLoadStartTimestamp
private volatile long manifestLoadCompleteTimestamp
public void (java.lang.String, com.google.android.exoplayer.upstream.UriDataSource, com.google.android.exoplayer.upstream.UriLoadable$Parser)
String manifestUri
com.google.android.exoplayer.upstream.UriDataSource uriDataSource
com.google.android.exoplayer.upstream.UriLoadable$Parser parser
public void (java.lang.String, com.google.android.exoplayer.upstream.UriDataSource, com.google.android.exoplayer.upstream.UriLoadable$Parser, android.os.Handler, com.google.android.exoplayer.util.ManifestFetcher$EventListener)
String manifestUri
com.google.android.exoplayer.upstream.UriDataSource uriDataSource
com.google.android.exoplayer.upstream.UriLoadable$Parser parser
android.os.Handler eventHandler
com.google.android.exoplayer.util.ManifestFetcher$EventListener eventListener
public void updateManifestUri (java.lang.String)
String manifestUri
public void singleLoad (android.os.Looper, com.google.android.exoplayer.util.ManifestFetcher$ManifestCallback)
android.os.Looper callbackLooper
com.google.android.exoplayer.util.ManifestFetcher$ManifestCallback callback
com.google.android.exoplayer.util.ManifestFetcher$SingleFetchHelper fetchHelper
public java.lang.Object getManifest ()
public long getManifestLoadStartTimestamp ()
public long getManifestLoadCompleteTimestamp ()
public void maybeThrowError () throws com.google.android.exoplayer.util.ManifestFetcher$ManifestIOException
public void enable ()
public void disable ()
public void requestRefresh ()
public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable)
com.google.android.exoplayer.util.ManifestFetcher$RedirectingManifest redirectingManifest
String nextLocation
com.google.android.exoplayer.upstream.Loader$Loadable loadable
public void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
public void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
java.io.IOException exception
void onSingleFetchCompleted (java.lang.Object, long)
Object result
long loadStartTimestamp
private long getRetryDelayMillis (long)
long errorCount
private void notifyManifestRefreshStarted ()
private void notifyManifestRefreshed ()
private void notifyManifestError (java.io.IOException)
java.io.IOException e
static com.google.android.exoplayer.util.ManifestFetcher$EventListener access$000 (com.google.android.exoplayer.util.ManifestFetcher)
com.google.android.exoplayer.util.ManifestFetcher x0
}
com/google/android/exoplayer/util/SlidingPercentile$Sample.classSlidingPercentile.java
package com.google.android.exoplayer.util
com.google.android.exoplayer.util.SlidingPercentile$Sample extends java.lang.Object {
public int index
public int weight
public float value
private void ()
void (com.google.android.exoplayer.util.SlidingPercentile$1)
com.google.android.exoplayer.util.SlidingPercentile$1 x0
}
com/google/android/exoplayer/util/SlidingPercentile.classSlidingPercentile.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.SlidingPercentile extends java.lang.Object {
private static final java.util.Comparator INDEX_COMPARATOR
private static final java.util.Comparator VALUE_COMPARATOR
private static final int SORT_ORDER_NONE
private static final int SORT_ORDER_BY_VALUE
private static final int SORT_ORDER_BY_INDEX
private static final int MAX_RECYCLED_SAMPLES
private final int maxWeight
private final java.util.ArrayList samples
private final com.google.android.exoplayer.util.SlidingPercentile$Sample[] recycledSamples
private int currentSortOrder
private int nextSampleIndex
private int totalWeight
private int recycledSampleCount
public void (int)
int maxWeight
public void addSample (int, float)
int excessWeight
com.google.android.exoplayer.util.SlidingPercentile$Sample oldestSample
int weight
float value
com.google.android.exoplayer.util.SlidingPercentile$Sample newSample
public float getPercentile (float)
com.google.android.exoplayer.util.SlidingPercentile$Sample currentSample
int i
float percentile
float desiredWeight
int accumulatedWeight
private void ensureSortedByIndex ()
private void ensureSortedByValue ()
static void ()
}
com/google/android/exoplayer/util/ManifestFetcher$ManifestIOException.classManifestFetcher.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.ManifestFetcher$ManifestIOException extends java.io.IOException {
public void (java.lang.Throwable)
Throwable cause
}
com/google/android/exoplayer/util/ManifestFetcher$RedirectingManifest.classManifestFetcher.java
package com.google.android.exoplayer.util
public abstract com.google.android.exoplayer.util.ManifestFetcher$RedirectingManifest extends java.lang.Object {
public abstract java.lang.String getNextManifestUri ()
}
com/google/android/exoplayer/util/CodecSpecificDataUtil.classCodecSpecificDataUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.CodecSpecificDataUtil extends java.lang.Object {
private static final byte[] NAL_START_CODE
private static final int AUDIO_SPECIFIC_CONFIG_FREQUENCY_INDEX_ARBITRARY
private static final int[] AUDIO_SPECIFIC_CONFIG_SAMPLING_RATE_TABLE
private static final int AUDIO_SPECIFIC_CONFIG_CHANNEL_CONFIGURATION_INVALID
private static final int[] AUDIO_SPECIFIC_CONFIG_CHANNEL_COUNT_TABLE
private static final int AUDIO_OBJECT_TYPE_AAC_LC
private static final int AUDIO_OBJECT_TYPE_SBR
private static final int AUDIO_OBJECT_TYPE_ER_BSAC
private static final int AUDIO_OBJECT_TYPE_PS
private void ()
public static android.util.Pair parseAacAudioSpecificConfig (byte[])
int sampleRate
byte[] audioSpecificConfig
com.google.android.exoplayer.util.ParsableBitArray bitArray
int audioObjectType
int frequencyIndex
int sampleRate
int channelConfiguration
int channelCount
public static byte[] buildAacAudioSpecificConfig (int, int, int)
int audioObjectType
int sampleRateIndex
int channelConfig
byte[] audioSpecificConfig
public static byte[] buildAacAudioSpecificConfig (int, int)
int i
int i
int sampleRate
int numChannels
int sampleRateIndex
int channelConfig
byte[] csd
public static byte[] buildNalUnit (byte[], int, int)
byte[] data
int offset
int length
byte[] nalUnit
public static byte[][] splitNalUnits (byte[])
int startIndex
int endIndex
byte[] nal
int i
byte[] data
java.util.List starts
int nalUnitIndex
byte[][] split
private static int findNalStartCode (byte[], int)
int i
byte[] data
int index
int endIndex
private static boolean isNalStartCode (byte[], int)
int j
byte[] data
int index
static void ()
}
com/google/android/exoplayer/util/ManifestFetcher$ManifestCallback.classManifestFetcher.java
package com.google.android.exoplayer.util
public abstract com.google.android.exoplayer.util.ManifestFetcher$ManifestCallback extends java.lang.Object {
public abstract void onSingleManifest (java.lang.Object)
public abstract void onSingleManifestError (java.io.IOException)
}
com/google/android/exoplayer/util/Util$1.classUtil.java
package com.google.android.exoplayer.util
final com.google.android.exoplayer.util.Util$1 extends java.lang.Object implements java.util.concurrent.ThreadFactory {
final String val$threadName
void (java.lang.String)
public java.lang.Thread newThread (java.lang.Runnable)
Runnable r
}
com/google/android/exoplayer/util/extensions/
com/google/android/exoplayer/util/extensions/Decoder.classDecoder.java
package com.google.android.exoplayer.util.extensions
public abstract com.google.android.exoplayer.util.extensions.Decoder extends java.lang.Object {
public abstract java.lang.Object dequeueInputBuffer () throws java.lang.Exception
public abstract void queueInputBuffer (java.lang.Object) throws java.lang.Exception
public abstract java.lang.Object dequeueOutputBuffer () throws java.lang.Exception
public abstract void flush ()
public abstract void release ()
}
com/google/android/exoplayer/util/extensions/OutputBuffer.classOutputBuffer.java
package com.google.android.exoplayer.util.extensions
public abstract com.google.android.exoplayer.util.extensions.OutputBuffer extends com.google.android.exoplayer.util.extensions.Buffer {
public long timestampUs
public void ()
public abstract void release ()
}
com/google/android/exoplayer/util/extensions/InputBuffer.classInputBuffer.java
package com.google.android.exoplayer.util.extensions
public com.google.android.exoplayer.util.extensions.InputBuffer extends com.google.android.exoplayer.util.extensions.Buffer {
public final com.google.android.exoplayer.SampleHolder sampleHolder
public void ()
public void reset ()
}
com/google/android/exoplayer/util/extensions/SimpleDecoder$EventListener.classSimpleDecoder.java
package com.google.android.exoplayer.util.extensions
public abstract com.google.android.exoplayer.util.extensions.SimpleDecoder$EventListener extends java.lang.Object {
public abstract void onDecoderError (java.lang.Object)
}
com/google/android/exoplayer/util/extensions/SimpleDecoder.classSimpleDecoder.java
package com.google.android.exoplayer.util.extensions
public abstract com.google.android.exoplayer.util.extensions.SimpleDecoder extends java.lang.Thread implements com.google.android.exoplayer.util.extensions.Decoder {
private final Object lock
private final java.util.LinkedList queuedInputBuffers
private final java.util.LinkedList queuedOutputBuffers
private final com.google.android.exoplayer.util.extensions.InputBuffer[] availableInputBuffers
private final com.google.android.exoplayer.util.extensions.OutputBuffer[] availableOutputBuffers
private int availableInputBufferCount
private int availableOutputBufferCount
private com.google.android.exoplayer.util.extensions.InputBuffer dequeuedInputBuffer
private Exception exception
private boolean flushDecodedOutputBuffer
private boolean released
protected void (com.google.android.exoplayer.util.extensions.InputBuffer[], com.google.android.exoplayer.util.extensions.OutputBuffer[])
int i
int i
com.google.android.exoplayer.util.extensions.InputBuffer[] inputBuffers
com.google.android.exoplayer.util.extensions.OutputBuffer[] outputBuffers
protected final void setInitialInputBufferSize (int)
int i
int size
public final com.google.android.exoplayer.util.extensions.InputBuffer dequeueInputBuffer () throws java.lang.Exception
com.google.android.exoplayer.util.extensions.InputBuffer inputBuffer
public final void queueInputBuffer (com.google.android.exoplayer.util.extensions.InputBuffer) throws java.lang.Exception
com.google.android.exoplayer.util.extensions.InputBuffer inputBuffer
public final com.google.android.exoplayer.util.extensions.OutputBuffer dequeueOutputBuffer () throws java.lang.Exception
protected void releaseOutputBuffer (com.google.android.exoplayer.util.extensions.OutputBuffer)
com.google.android.exoplayer.util.extensions.OutputBuffer outputBuffer
public final void flush ()
public void release ()
InterruptedException e
private void maybeThrowException () throws java.lang.Exception
private void maybeNotifyDecodeLoop ()
public final void run ()
InterruptedException e
private boolean decode () throws java.lang.InterruptedException
com.google.android.exoplayer.util.extensions.InputBuffer inputBuffer
com.google.android.exoplayer.util.extensions.OutputBuffer outputBuffer
private boolean canDecodeBuffer ()
protected abstract com.google.android.exoplayer.util.extensions.InputBuffer createInputBuffer ()
protected abstract com.google.android.exoplayer.util.extensions.OutputBuffer createOutputBuffer ()
protected abstract java.lang.Exception decode (com.google.android.exoplayer.util.extensions.InputBuffer, com.google.android.exoplayer.util.extensions.OutputBuffer)
public volatile java.lang.Object dequeueOutputBuffer () throws java.lang.Exception
public volatile void queueInputBuffer (java.lang.Object) throws java.lang.Exception
public volatile java.lang.Object dequeueInputBuffer () throws java.lang.Exception
}
com/google/android/exoplayer/util/extensions/Buffer.classBuffer.java
package com.google.android.exoplayer.util.extensions
public abstract com.google.android.exoplayer.util.extensions.Buffer extends java.lang.Object {
public static final int FLAG_END_OF_STREAM
public static final int FLAG_RESET
public static final int FLAG_DECODE_ONLY
private int flags
public void ()
public void reset ()
public final void setFlag (int)
int flag
public final boolean getFlag (int)
int flag
}
com/google/android/exoplayer/util/MimeTypes.classMimeTypes.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.MimeTypes extends java.lang.Object {
public static final String BASE_TYPE_VIDEO
public static final String BASE_TYPE_AUDIO
public static final String BASE_TYPE_TEXT
public static final String BASE_TYPE_APPLICATION
public static final String VIDEO_UNKNOWN
public static final String VIDEO_MP4
public static final String VIDEO_WEBM
public static final String VIDEO_H263
public static final String VIDEO_H264
public static final String VIDEO_H265
public static final String VIDEO_VP8
public static final String VIDEO_VP9
public static final String VIDEO_MP4V
public static final String VIDEO_MPEG2
public static final String AUDIO_UNKNOWN
public static final String AUDIO_MP4
public static final String AUDIO_AAC
public static final String AUDIO_WEBM
public static final String AUDIO_MPEG
public static final String AUDIO_MPEG_L1
public static final String AUDIO_MPEG_L2
public static final String AUDIO_RAW
public static final String AUDIO_AC3
public static final String AUDIO_E_AC3
public static final String AUDIO_TRUEHD
public static final String AUDIO_DTS
public static final String AUDIO_DTS_HD
public static final String AUDIO_DTS_EXPRESS
public static final String AUDIO_VORBIS
public static final String AUDIO_OPUS
public static final String AUDIO_AMR_NB
public static final String AUDIO_AMR_WB
public static final String AUDIO_FLAC
public static final String TEXT_UNKNOWN
public static final String TEXT_VTT
public static final String APPLICATION_MP4
public static final String APPLICATION_WEBM
public static final String APPLICATION_ID3
public static final String APPLICATION_EIA608
public static final String APPLICATION_SUBRIP
public static final String APPLICATION_TTML
public static final String APPLICATION_M3U8
public static final String APPLICATION_TX3G
public static final String APPLICATION_MP4VTT
public static final String APPLICATION_VOBSUB
public static final String APPLICATION_PGS
private void ()
public static boolean isAudio (java.lang.String)
String mimeType
public static boolean isVideo (java.lang.String)
String mimeType
public static boolean isText (java.lang.String)
String mimeType
public static boolean isApplication (java.lang.String)
String mimeType
private static java.lang.String getTopLevelType (java.lang.String)
String mimeType
int indexOfSlash
public static java.lang.String getVideoMediaMimeType (java.lang.String)
String codec
String codecs
String[] codecList
public static java.lang.String getAudioMediaMimeType (java.lang.String)
String codec
String codecs
String[] codecList
}
com/google/android/exoplayer/util/ManifestFetcher$SingleFetchHelper.classManifestFetcher.java
package com.google.android.exoplayer.util
com.google.android.exoplayer.util.ManifestFetcher$SingleFetchHelper extends java.lang.Object implements com.google.android.exoplayer.upstream.Loader$Callback {
private final com.google.android.exoplayer.upstream.UriLoadable singleUseLoadable
private final android.os.Looper callbackLooper
private final com.google.android.exoplayer.util.ManifestFetcher$ManifestCallback wrappedCallback
private final com.google.android.exoplayer.upstream.Loader singleUseLoader
private long loadStartTimestamp
final com.google.android.exoplayer.util.ManifestFetcher this$0
public void (com.google.android.exoplayer.util.ManifestFetcher, com.google.android.exoplayer.upstream.UriLoadable, android.os.Looper, com.google.android.exoplayer.util.ManifestFetcher$ManifestCallback)
com.google.android.exoplayer.upstream.UriLoadable singleUseLoadable
android.os.Looper callbackLooper
com.google.android.exoplayer.util.ManifestFetcher$ManifestCallback wrappedCallback
public void startLoading ()
public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable)
Object result
com.google.android.exoplayer.upstream.Loader$Loadable loadable
public void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable)
java.io.IOException exception
com.google.android.exoplayer.upstream.Loader$Loadable loadable
public void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
java.io.IOException exception
private void releaseLoader ()
}
com/google/android/exoplayer/util/TraceUtil.classTraceUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.TraceUtil extends java.lang.Object {
private void ()
public static void beginSection (java.lang.String)
String sectionName
public static void endSection ()
private static void beginSectionV18 (java.lang.String)
String sectionName
private static void endSectionV18 ()
}
com/google/android/exoplayer/util/Clock.classClock.java
package com.google.android.exoplayer.util
public abstract com.google.android.exoplayer.util.Clock extends java.lang.Object {
public abstract long elapsedRealtime ()
}
com/google/android/exoplayer/util/SlidingPercentile$1.classSlidingPercentile.java
package com.google.android.exoplayer.util
final com.google.android.exoplayer.util.SlidingPercentile$1 extends java.lang.Object implements java.util.Comparator {
void ()
public int compare (com.google.android.exoplayer.util.SlidingPercentile$Sample, com.google.android.exoplayer.util.SlidingPercentile$Sample)
com.google.android.exoplayer.util.SlidingPercentile$Sample a
com.google.android.exoplayer.util.SlidingPercentile$Sample b
public volatile int compare (java.lang.Object, java.lang.Object)
}
com/google/android/exoplayer/util/NalUnitUtil$PpsData.classNalUnitUtil.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.NalUnitUtil$PpsData extends java.lang.Object {
public final int picParameterSetId
public final int seqParameterSetId
public final boolean bottomFieldPicOrderInFramePresentFlag
public void (int, int, boolean)
int picParameterSetId
int seqParameterSetId
boolean bottomFieldPicOrderInFramePresentFlag
}
com/google/android/exoplayer/util/DebugTextViewHelper.classDebugTextViewHelper.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.DebugTextViewHelper extends java.lang.Object implements java.lang.Runnable {
private static final int REFRESH_INTERVAL_MS
private final android.widget.TextView textView
private final com.google.android.exoplayer.util.DebugTextViewHelper$Provider debuggable
public void (com.google.android.exoplayer.util.DebugTextViewHelper$Provider, android.widget.TextView)
com.google.android.exoplayer.util.DebugTextViewHelper$Provider debuggable
android.widget.TextView textView
public void start ()
public void stop ()
public void run ()
private java.lang.String getRenderString ()
private java.lang.String getTimeString ()
private java.lang.String getQualityString ()
com.google.android.exoplayer.chunk.Format format
private java.lang.String getBandwidthString ()
com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
private java.lang.String getVideoCodecCountersString ()
com.google.android.exoplayer.CodecCounters codecCounters
}
com/google/android/exoplayer/util/DebugTextViewHelper$Provider.classDebugTextViewHelper.java
package com.google.android.exoplayer.util
public abstract com.google.android.exoplayer.util.DebugTextViewHelper$Provider extends java.lang.Object {
public abstract long getCurrentPosition ()
public abstract com.google.android.exoplayer.chunk.Format getFormat ()
public abstract com.google.android.exoplayer.upstream.BandwidthMeter getBandwidthMeter ()
public abstract com.google.android.exoplayer.CodecCounters getCodecCounters ()
}
com/google/android/exoplayer/util/ClosedSource.classClosedSource.java
package com.google.android.exoplayer.util
public abstract com.google.android.exoplayer.util.ClosedSource extends java.lang.Object implements java.lang.annotation.Annotation {
public abstract java.lang.String reason ()
}
com/google/android/exoplayer/util/Predicate.classPredicate.java
package com.google.android.exoplayer.util
public abstract com.google.android.exoplayer.util.Predicate extends java.lang.Object {
public abstract boolean evaluate (java.lang.Object)
}
com/google/android/exoplayer/util/MpegAudioHeader.classMpegAudioHeader.java
package com.google.android.exoplayer.util
public final com.google.android.exoplayer.util.MpegAudioHeader extends java.lang.Object {
public static final int MAX_FRAME_SIZE_BYTES
private static final String[] MIME_TYPE_BY_LAYER
private static final int[] SAMPLING_RATE_V1
private static final int[] BITRATE_V1_L1
private static final int[] BITRATE_V2_L1
private static final int[] BITRATE_V1_L2
private static final int[] BITRATE_V1_L3
private static final int[] BITRATE_V2
public int version
public String mimeType
public int frameSize
public int sampleRate
public int channels
public int bitrate
public int samplesPerFrame
public void ()
public static int getFrameSize (int)
int bitrate
int bitrate
int header
int version
int layer
int bitrateIndex
int samplingRateIndex
int samplingRate
int bitrate
int padding
public static boolean populateHeader (int, com.google.android.exoplayer.util.MpegAudioHeader)
int bitrate
int frameSize
int samplesPerFrame
int bitrate
int frameSize
int samplesPerFrame
int headerData
com.google.android.exoplayer.util.MpegAudioHeader header
int version
int layer
int bitrateIndex
int samplingRateIndex
int sampleRate
int padding
int bitrate
int frameSize
int samplesPerFrame
String mimeType
int channels
private void setValues (int, java.lang.String, int, int, int, int, int)
int version
String mimeType
int frameSize
int sampleRate
int channels
int bitrate
int samplesPerFrame
static void ()
}
com/google/android/exoplayer/audio/
com/google/android/exoplayer/audio/AudioTrack$WriteException.classAudioTrack.java
package com.google.android.exoplayer.audio
public final com.google.android.exoplayer.audio.AudioTrack$WriteException extends java.lang.Exception {
public final int errorCode
public void (int)
int errorCode
}
com/google/android/exoplayer/audio/AudioTrack$1.classAudioTrack.java
package com.google.android.exoplayer.audio
com.google.android.exoplayer.audio.AudioTrack$1 extends java.lang.Thread {
final android.media.AudioTrack val$toRelease
final com.google.android.exoplayer.audio.AudioTrack this$0
void (com.google.android.exoplayer.audio.AudioTrack, android.media.AudioTrack)
com.google.android.exoplayer.audio.AudioTrack this$0
public void run ()
}
com/google/android/exoplayer/audio/AudioTrack$InvalidAudioTrackTimestampException.classAudioTrack.java
package com.google.android.exoplayer.audio
public final com.google.android.exoplayer.audio.AudioTrack$InvalidAudioTrackTimestampException extends java.lang.RuntimeException {
public void (java.lang.String)
String message
}
com/google/android/exoplayer/audio/AudioCapabilitiesReceiver$Listener.classAudioCapabilitiesReceiver.java
package com.google.android.exoplayer.audio
public abstract com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$Listener extends java.lang.Object {
public abstract void onAudioCapabilitiesChanged (com.google.android.exoplayer.audio.AudioCapabilities)
}
com/google/android/exoplayer/audio/AudioCapabilitiesReceiver$1.classAudioCapabilitiesReceiver.java
package com.google.android.exoplayer.audio
com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$1 extends java.lang.Object {
}
com/google/android/exoplayer/audio/AudioTrack$AudioTrackUtilV23.classAudioTrack.java
package com.google.android.exoplayer.audio
com.google.android.exoplayer.audio.AudioTrack$AudioTrackUtilV23 extends com.google.android.exoplayer.audio.AudioTrack$AudioTrackUtilV19 {
private android.media.PlaybackParams playbackParams
private float playbackSpeed
public void ()
public void reconfigure (android.media.AudioTrack, boolean)
android.media.AudioTrack audioTrack
boolean needsPassthroughWorkaround
public void setPlaybackParameters (android.media.PlaybackParams)
android.media.PlaybackParams playbackParams
public float getPlaybackSpeed ()
private void maybeApplyPlaybackParams ()
}
com/google/android/exoplayer/audio/AudioTrack.classAudioTrack.java
package com.google.android.exoplayer.audio
public final com.google.android.exoplayer.audio.AudioTrack extends java.lang.Object {
public static final int RESULT_POSITION_DISCONTINUITY
public static final int RESULT_BUFFER_CONSUMED
public static final int SESSION_ID_NOT_SET
public static final long CURRENT_POSITION_NOT_SET
private static final long MIN_BUFFER_DURATION_US
private static final long MAX_BUFFER_DURATION_US
private static final long PASSTHROUGH_BUFFER_DURATION_US
private static final int BUFFER_MULTIPLICATION_FACTOR
private static final String TAG
private static final long MAX_AUDIO_TIMESTAMP_OFFSET_US
private static final long MAX_LATENCY_US
private static final int START_NOT_SET
private static final int START_IN_SYNC
private static final int START_NEED_SYNC
private static final int MAX_PLAYHEAD_OFFSET_COUNT
private static final int MIN_PLAYHEAD_OFFSET_SAMPLE_INTERVAL_US
private static final int MIN_TIMESTAMP_SAMPLE_INTERVAL_US
public static boolean enablePreV21AudioSessionWorkaround
public static boolean failOnSpuriousAudioTimestamp
private final com.google.android.exoplayer.audio.AudioCapabilities audioCapabilities
private final int streamType
private final android.os.ConditionVariable releasingConditionVariable
private final long[] playheadOffsets
private final com.google.android.exoplayer.audio.AudioTrack$AudioTrackUtil audioTrackUtil
private android.media.AudioTrack keepSessionIdAudioTrack
private android.media.AudioTrack audioTrack
private int sampleRate
private int channelConfig
private int encoding
private boolean passthrough
private int pcmFrameSize
private int bufferSize
private long bufferSizeUs
private int nextPlayheadOffsetIndex
private int playheadOffsetCount
private long smoothedPlayheadOffsetUs
private long lastPlayheadSampleTimeUs
private boolean audioTimestampSet
private long lastTimestampSampleTimeUs
private java.lang.reflect.Method getLatencyMethod
private long submittedPcmBytes
private long submittedEncodedFrames
private int framesPerEncodedSample
private int startMediaTimeState
private long startMediaTimeUs
private long resumeSystemTimeUs
private long latencyUs
private float volume
private byte[] temporaryBuffer
private int temporaryBufferOffset
private int bufferBytesRemaining
public void ()
public void (com.google.android.exoplayer.audio.AudioCapabilities, int)
com.google.android.exoplayer.audio.AudioCapabilities audioCapabilities
int streamType
public boolean isPassthroughSupported (java.lang.String)
String mimeType
public boolean isInitialized ()
public long getCurrentPositionUs (boolean)
long presentationDiff
long actualSpeedPresentationDiff
long framesDiff
long currentFramePosition
long currentPositionUs
long currentPositionUs
boolean sourceEnded
long systemClockUs
long currentPositionUs
public void configure (android.media.MediaFormat, boolean)
android.media.MediaFormat format
boolean passthrough
public void configure (android.media.MediaFormat, boolean, int)
int minBufferSize
int multipliedBufferSize
int minAppBufferSize
int maxAppBufferSize
android.media.MediaFormat format
boolean passthrough
int specifiedBufferSize
int channelCount
int channelConfig
int channelConfig
int channelConfig
int channelConfig
int channelConfig
int channelConfig
int channelConfig
int channelConfig
int channelConfig
int sampleRate
String mimeType
int encoding
public int initialize () throws com.google.android.exoplayer.audio.AudioTrack$InitializationException
public int initialize (int) throws com.google.android.exoplayer.audio.AudioTrack$InitializationException
int sampleRate
int channelConfig
int encoding
int bufferSize
int sessionId
public int getBufferSize ()
public long getBufferSizeUs ()
public void play ()
public void handleDiscontinuity ()
public int handleBuffer (java.nio.ByteBuffer, int, int, long) throws com.google.android.exoplayer.audio.AudioTrack$WriteException
long expectedBufferStartTime
long frames
long bufferDurationUs
long bufferStartTime
int bytesPending
int bytesToWrite
java.nio.ByteBuffer buffer
int offset
int size
long presentationTimeUs
int result
int bytesWritten
public void handleEndOfStream ()
private static int writeNonBlockingV21 (android.media.AudioTrack, java.nio.ByteBuffer, int)
android.media.AudioTrack audioTrack
java.nio.ByteBuffer buffer
int size
public boolean hasPendingData ()
public void setPlaybackParams (android.media.PlaybackParams)
android.media.PlaybackParams playbackParams
public void setVolume (float)
float volume
private void setAudioTrackVolume ()
private static void setAudioTrackVolumeV21 (android.media.AudioTrack, float)
android.media.AudioTrack audioTrack
float volume
private static void setAudioTrackVolumeV3 (android.media.AudioTrack, float)
android.media.AudioTrack audioTrack
float volume
public void pause ()
public void reset ()
int playState
android.media.AudioTrack toRelease
public void release ()
private void releaseKeepSessionIdAudioTrack ()
android.media.AudioTrack toRelease
private boolean hasCurrentPositionUs ()
private void maybeSampleSyncParams ()
int i
String message
String message
long audioTimestampUs
long audioTimestampFramePosition
Exception e
long playbackPositionUs
long systemClockUs
private void checkAudioTrackInitialized () throws com.google.android.exoplayer.audio.AudioTrack$InitializationException
int state
private long pcmBytesToFrames (long)
long byteCount
private long framesToDurationUs (long)
long frameCount
private long durationUsToFrames (long)
long durationUs
private long getSubmittedFrames ()
private void resetSyncParams ()
private boolean needsPassthroughWorkarounds ()
private boolean overrideHasPendingData ()
private static int getEncodingForMimeType (java.lang.String)
String mimeType
private static int getFramesPerEncodedSample (int, java.nio.ByteBuffer)
int encoding
java.nio.ByteBuffer buffer
static android.os.ConditionVariable access$100 (com.google.android.exoplayer.audio.AudioTrack)
com.google.android.exoplayer.audio.AudioTrack x0
static void ()
}
com/google/android/exoplayer/audio/AudioTrack$2.classAudioTrack.java
package com.google.android.exoplayer.audio
com.google.android.exoplayer.audio.AudioTrack$2 extends java.lang.Thread {
final android.media.AudioTrack val$toRelease
final com.google.android.exoplayer.audio.AudioTrack this$0
void (com.google.android.exoplayer.audio.AudioTrack, android.media.AudioTrack)
com.google.android.exoplayer.audio.AudioTrack this$0
public void run ()
}
com/google/android/exoplayer/audio/AudioTrack$InitializationException.classAudioTrack.java
package com.google.android.exoplayer.audio
public final com.google.android.exoplayer.audio.AudioTrack$InitializationException extends java.lang.Exception {
public final int audioTrackState
public void (int, int, int, int)
int audioTrackState
int sampleRate
int channelConfig
int bufferSize
}
com/google/android/exoplayer/audio/AudioTrack$AudioTrackUtil.classAudioTrack.java
package com.google.android.exoplayer.audio
com.google.android.exoplayer.audio.AudioTrack$AudioTrackUtil extends java.lang.Object {
protected android.media.AudioTrack audioTrack
private boolean needsPassthroughWorkaround
private int sampleRate
private long lastRawPlaybackHeadPosition
private long rawPlaybackHeadWrapCount
private long passthroughWorkaroundPauseOffset
private long stopTimestampUs
private long stopPlaybackHeadPosition
private long endPlaybackHeadPosition
private void ()
public void reconfigure (android.media.AudioTrack, boolean)
android.media.AudioTrack audioTrack
boolean needsPassthroughWorkaround
public void handleEndOfStream (long)
long submittedFrames
public void pause ()
public long getPlaybackHeadPosition ()
long elapsedTimeSinceStopUs
long framesSinceStop
int state
long rawPlaybackHeadPosition
public long getPlaybackHeadPositionUs ()
public boolean updateTimestamp ()
public long getTimestampNanoTime ()
public long getTimestampFramePosition ()
public void setPlaybackParameters (android.media.PlaybackParams)
android.media.PlaybackParams playbackParams
public float getPlaybackSpeed ()
void (com.google.android.exoplayer.audio.AudioTrack$1)
com.google.android.exoplayer.audio.AudioTrack$1 x0
}
com/google/android/exoplayer/audio/AudioCapabilities.classAudioCapabilities.java
package com.google.android.exoplayer.audio
public final com.google.android.exoplayer.audio.AudioCapabilities extends java.lang.Object {
public static final com.google.android.exoplayer.audio.AudioCapabilities DEFAULT_AUDIO_CAPABILITIES
private final int[] supportedEncodings
private final int maxChannelCount
public static com.google.android.exoplayer.audio.AudioCapabilities getCapabilities (android.content.Context)
android.content.Context context
static com.google.android.exoplayer.audio.AudioCapabilities getCapabilities (android.content.Intent)
android.content.Intent intent
void (int[], int)
int[] supportedEncodings
int maxChannelCount
public boolean supportsEncoding (int)
int encoding
public int getMaxChannelCount ()
public boolean equals (java.lang.Object)
Object other
com.google.android.exoplayer.audio.AudioCapabilities audioCapabilities
public int hashCode ()
public java.lang.String toString ()
static void ()
}
com/google/android/exoplayer/audio/AudioTrack$AudioTrackUtilV19.classAudioTrack.java
package com.google.android.exoplayer.audio
com.google.android.exoplayer.audio.AudioTrack$AudioTrackUtilV19 extends com.google.android.exoplayer.audio.AudioTrack$AudioTrackUtil {
private final android.media.AudioTimestamp audioTimestamp
private long rawTimestampFramePositionWrapCount
private long lastRawTimestampFramePosition
private long lastTimestampFramePosition
public void ()
public void reconfigure (android.media.AudioTrack, boolean)
android.media.AudioTrack audioTrack
boolean needsPassthroughWorkaround
public boolean updateTimestamp ()
long rawFramePosition
boolean updated
public long getTimestampNanoTime ()
public long getTimestampFramePosition ()
}
com/google/android/exoplayer/audio/AudioCapabilitiesReceiver.classAudioCapabilitiesReceiver.java
package com.google.android.exoplayer.audio
public final com.google.android.exoplayer.audio.AudioCapabilitiesReceiver extends java.lang.Object {
private final android.content.Context context
private final com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$Listener listener
private final android.content.BroadcastReceiver receiver
com.google.android.exoplayer.audio.AudioCapabilities audioCapabilities
public void (android.content.Context, com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$Listener)
android.content.Context context
com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$Listener listener
public com.google.android.exoplayer.audio.AudioCapabilities register ()
android.content.Intent stickyIntent
public void unregister ()
static com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$Listener access$100 (com.google.android.exoplayer.audio.AudioCapabilitiesReceiver)
com.google.android.exoplayer.audio.AudioCapabilitiesReceiver x0
}
com/google/android/exoplayer/audio/AudioCapabilitiesReceiver$HdmiAudioPlugBroadcastReceiver.classAudioCapabilitiesReceiver.java
package com.google.android.exoplayer.audio
final com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$HdmiAudioPlugBroadcastReceiver extends android.content.BroadcastReceiver {
final com.google.android.exoplayer.audio.AudioCapabilitiesReceiver this$0
private void (com.google.android.exoplayer.audio.AudioCapabilitiesReceiver)
public void onReceive (android.content.Context, android.content.Intent)
com.google.android.exoplayer.audio.AudioCapabilities newAudioCapabilities
android.content.Context context
android.content.Intent intent
void (com.google.android.exoplayer.audio.AudioCapabilitiesReceiver, com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$1)
com.google.android.exoplayer.audio.AudioCapabilitiesReceiver x0
com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$1 x1
}
com/google/android/exoplayer/ParserException.classParserException.java
package com.google.android.exoplayer
public com.google.android.exoplayer.ParserException extends java.io.IOException {
public void ()
public void (java.lang.String)
String message
public void (java.lang.Throwable)
Throwable cause
public void (java.lang.String, java.lang.Throwable)
String message
Throwable cause
}
com/google/android/exoplayer/CodecCounters.classCodecCounters.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.CodecCounters extends java.lang.Object {
public int codecInitCount
public int codecReleaseCount
public int inputBufferCount
public int outputFormatChangedCount
public int outputBuffersChangedCount
public int renderedOutputBufferCount
public int skippedOutputBufferCount
public int droppedOutputBufferCount
public int maxConsecutiveDroppedOutputBufferCount
public void ()
public synchronized void ensureUpdated ()
public java.lang.String getDebugString ()
StringBuilder builder
}
com/google/android/exoplayer/MediaCodecTrackRenderer$EventListener.classMediaCodecTrackRenderer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener extends java.lang.Object {
public abstract void onDecoderInitializationError (com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException)
public abstract void onCryptoError (android.media.MediaCodec$CryptoException)
public abstract void onDecoderInitialized (java.lang.String, long, long)
}
com/google/android/exoplayer/metadata/
com/google/android/exoplayer/metadata/MetadataTrackRenderer$MetadataRenderer.classMetadataTrackRenderer.java
package com.google.android.exoplayer.metadata
public abstract com.google.android.exoplayer.metadata.MetadataTrackRenderer$MetadataRenderer extends java.lang.Object {
public abstract void onMetadata (java.lang.Object)
}
com/google/android/exoplayer/metadata/MetadataParser.classMetadataParser.java
package com.google.android.exoplayer.metadata
public abstract com.google.android.exoplayer.metadata.MetadataParser extends java.lang.Object {
public abstract boolean canParse (java.lang.String)
public abstract java.lang.Object parse (byte[], int) throws java.io.IOException
}
com/google/android/exoplayer/metadata/MetadataTrackRenderer.classMetadataTrackRenderer.java
package com.google.android.exoplayer.metadata
public final com.google.android.exoplayer.metadata.MetadataTrackRenderer extends com.google.android.exoplayer.SampleSourceTrackRenderer implements android.os.Handler$Callback {
private static final int MSG_INVOKE_RENDERER
private final com.google.android.exoplayer.metadata.MetadataParser metadataParser
private final com.google.android.exoplayer.metadata.MetadataTrackRenderer$MetadataRenderer metadataRenderer
private final android.os.Handler metadataHandler
private final com.google.android.exoplayer.MediaFormatHolder formatHolder
private final com.google.android.exoplayer.SampleHolder sampleHolder
private boolean inputStreamEnded
private long pendingMetadataTimestamp
private Object pendingMetadata
public void (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.metadata.MetadataParser, com.google.android.exoplayer.metadata.MetadataTrackRenderer$MetadataRenderer, android.os.Looper)
com.google.android.exoplayer.SampleSource source
com.google.android.exoplayer.metadata.MetadataParser metadataParser
com.google.android.exoplayer.metadata.MetadataTrackRenderer$MetadataRenderer metadataRenderer
android.os.Looper metadataRendererLooper
protected boolean handlesTrack (com.google.android.exoplayer.MediaFormat)
com.google.android.exoplayer.MediaFormat mediaFormat
protected void onDiscontinuity (long)
long positionUs
protected void doSomeWork (long, long, boolean) throws com.google.android.exoplayer.ExoPlaybackException
java.io.IOException e
int result
long positionUs
long elapsedRealtimeUs
boolean sourceIsReady
protected void onDisabled () throws com.google.android.exoplayer.ExoPlaybackException
protected long getBufferedPositionUs ()
protected boolean isEnded ()
protected boolean isReady ()
private void invokeRenderer (java.lang.Object)
Object metadata
public boolean handleMessage (android.os.Message)
android.os.Message msg
private void invokeRendererInternal (java.lang.Object)
Object metadata
}
com/google/android/exoplayer/metadata/id3/
com/google/android/exoplayer/metadata/id3/TxxxFrame.classTxxxFrame.java
package com.google.android.exoplayer.metadata.id3
public final com.google.android.exoplayer.metadata.id3.TxxxFrame extends com.google.android.exoplayer.metadata.id3.Id3Frame {
public static final String ID
public final String description
public final String value
public void (java.lang.String, java.lang.String)
String description
String value
}
com/google/android/exoplayer/metadata/id3/Id3Frame.classId3Frame.java
package com.google.android.exoplayer.metadata.id3
public abstract com.google.android.exoplayer.metadata.id3.Id3Frame extends java.lang.Object {
public final String id
public void (java.lang.String)
String id
}
com/google/android/exoplayer/metadata/id3/PrivFrame.classPrivFrame.java
package com.google.android.exoplayer.metadata.id3
public final com.google.android.exoplayer.metadata.id3.PrivFrame extends com.google.android.exoplayer.metadata.id3.Id3Frame {
public static final String ID
public final String owner
public final byte[] privateData
public void (java.lang.String, byte[])
String owner
byte[] privateData
}
com/google/android/exoplayer/metadata/id3/Id3Parser.classId3Parser.java
package com.google.android.exoplayer.metadata.id3
public final com.google.android.exoplayer.metadata.id3.Id3Parser extends java.lang.Object implements com.google.android.exoplayer.metadata.MetadataParser {
private static final int ID3_TEXT_ENCODING_ISO_8859_1
private static final int ID3_TEXT_ENCODING_UTF_16
private static final int ID3_TEXT_ENCODING_UTF_16BE
private static final int ID3_TEXT_ENCODING_UTF_8
public void ()
public boolean canParse (java.lang.String)
String mimeType
public java.util.List parse (byte[], int) throws java.io.UnsupportedEncodingException com.google.android.exoplayer.ParserException
int encoding
String charset
byte[] frame
int firstZeroIndex
String description
int valueStartIndex
int valueEndIndex
String value
byte[] frame
int firstZeroIndex
String owner
byte[] privateData
int encoding
String charset
byte[] frame
int firstZeroIndex
String mimeType
int filenameStartIndex
int filenameEndIndex
String filename
int descriptionStartIndex
int descriptionEndIndex
String description
int objectDataSize
byte[] objectData
String type
byte[] frame
int frameId0
int frameId1
int frameId2
int frameId3
int frameSize
byte[] data
int size
java.util.List id3Frames
com.google.android.exoplayer.util.ParsableByteArray id3Data
int id3Size
private static int indexOf (byte[], int, byte)
int i
byte[] data
int fromIndex
byte key
private static int indexOfEOS (byte[], int, int)
byte[] data
int fromIndex
int encodingByte
int terminationPos
private static int delimiterLength (int)
int encodingByte
private static int parseId3Header (com.google.android.exoplayer.util.ParsableByteArray) throws com.google.android.exoplayer.ParserException
int extendedHeaderSize
com.google.android.exoplayer.util.ParsableByteArray id3Buffer
int id1
int id2
int id3
int flags
int id3Size
private static java.lang.String getCharsetName (int)
int encodingByte
public volatile java.lang.Object parse (byte[], int) throws java.io.IOException
}
com/google/android/exoplayer/metadata/id3/GeobFrame.classGeobFrame.java
package com.google.android.exoplayer.metadata.id3
public final com.google.android.exoplayer.metadata.id3.GeobFrame extends com.google.android.exoplayer.metadata.id3.Id3Frame {
public static final String ID
public final String mimeType
public final String filename
public final String description
public final byte[] data
public void (java.lang.String, java.lang.String, java.lang.String, byte[])
String mimeType
String filename
String description
byte[] data
}
com/google/android/exoplayer/metadata/id3/BinaryFrame.classBinaryFrame.java
package com.google.android.exoplayer.metadata.id3
public final com.google.android.exoplayer.metadata.id3.BinaryFrame extends com.google.android.exoplayer.metadata.id3.Id3Frame {
public final byte[] data
public void (java.lang.String, byte[])
String type
byte[] data
}
com/google/android/exoplayer/MediaCodecUtil.classMediaCodecUtil.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.MediaCodecUtil extends java.lang.Object {
private static final String TAG
private static final java.util.HashMap codecs
private void ()
public static com.google.android.exoplayer.DecoderInfo getDecoderInfo (java.lang.String, boolean) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
String mimeType
boolean secure
android.util.Pair info
public static synchronized void warmCodec (java.lang.String, boolean)
com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException e
String mimeType
boolean secure
public static synchronized android.util.Pair getMediaCodecInfo (java.lang.String, boolean) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
String mimeType
boolean secure
com.google.android.exoplayer.MediaCodecUtil$CodecKey key
com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat mediaCodecList
android.util.Pair codecInfo
private static android.util.Pair getMediaCodecInfo (com.google.android.exoplayer.MediaCodecUtil$CodecKey, com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
Exception e
com.google.android.exoplayer.MediaCodecUtil$CodecKey key
com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat mediaCodecList
private static android.util.Pair getMediaCodecInfoInternal (com.google.android.exoplayer.MediaCodecUtil$CodecKey, com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat)
android.media.MediaCodecInfo$CodecCapabilities capabilities
boolean secure
String supportedType
int j
String[] supportedTypes
android.media.MediaCodecInfo info
String codecName
int i
com.google.android.exoplayer.MediaCodecUtil$CodecKey key
com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat mediaCodecList
String mimeType
int numberOfCodecs
boolean secureDecodersExplicit
private static boolean isCodecUsableDecoder (android.media.MediaCodecInfo, java.lang.String, boolean)
android.media.MediaCodecInfo info
String name
boolean secureDecodersExplicit
private static boolean isAdaptive (android.media.MediaCodecInfo$CodecCapabilities)
android.media.MediaCodecInfo$CodecCapabilities capabilities
private static boolean isAdaptiveV19 (android.media.MediaCodecInfo$CodecCapabilities)
android.media.MediaCodecInfo$CodecCapabilities capabilities
public static boolean isSizeSupportedV21 (java.lang.String, boolean, int, int) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
String mimeType
boolean secure
int width
int height
android.media.MediaCodecInfo$VideoCapabilities videoCapabilities
public static boolean isSizeAndRateSupportedV21 (java.lang.String, boolean, int, int, double) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
String mimeType
boolean secure
int width
int height
double frameRate
android.media.MediaCodecInfo$VideoCapabilities videoCapabilities
public static boolean isH264ProfileSupported (int, int) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
android.media.MediaCodecInfo$CodecProfileLevel profileLevel
int i
int profile
int level
android.util.Pair info
android.media.MediaCodecInfo$CodecCapabilities capabilities
public static int maxH264DecodableFrameSize () throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
android.media.MediaCodecInfo$CodecProfileLevel profileLevel
int i
android.util.Pair info
int maxH264DecodableFrameSize
android.media.MediaCodecInfo$CodecCapabilities capabilities
private static android.media.MediaCodecInfo$VideoCapabilities getVideoCapabilitiesV21 (java.lang.String, boolean) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
String mimeType
boolean secure
android.util.Pair info
private static int avcLevelToMaxFrameSize (int)
int avcLevel
static void ()
}
com/google/android/exoplayer/MediaCodecAudioTrackRenderer$3.classMediaCodecAudioTrackRenderer.java
package com.google.android.exoplayer
com.google.android.exoplayer.MediaCodecAudioTrackRenderer$3 extends java.lang.Object implements java.lang.Runnable {
final int val$bufferSize
final long val$bufferSizeMs
final long val$elapsedSinceLastFeedMs
final com.google.android.exoplayer.MediaCodecAudioTrackRenderer this$0
void (com.google.android.exoplayer.MediaCodecAudioTrackRenderer, int, long, long)
com.google.android.exoplayer.MediaCodecAudioTrackRenderer this$0
public void run ()
}
com/google/android/exoplayer/MediaCodecUtil$MediaCodecListCompatV21.classMediaCodecUtil.java
package com.google.android.exoplayer
final com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompatV21 extends java.lang.Object implements com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat {
private final int codecKind
private android.media.MediaCodecInfo[] mediaCodecInfos
public void (boolean)
boolean includeSecure
public int getCodecCount ()
public android.media.MediaCodecInfo getCodecInfoAt (int)
int index
public boolean secureDecodersExplicit ()
public boolean isSecurePlaybackSupported (java.lang.String, android.media.MediaCodecInfo$CodecCapabilities)
String mimeType
android.media.MediaCodecInfo$CodecCapabilities capabilities
private void ensureMediaCodecInfosInitialized ()
}
com/google/android/exoplayer/MediaCodecUtil$DecoderQueryException.classMediaCodecUtil.java
package com.google.android.exoplayer
public com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException extends java.io.IOException {
private void (java.lang.Throwable)
Throwable cause
void (java.lang.Throwable, com.google.android.exoplayer.MediaCodecUtil$1)
Throwable x0
com.google.android.exoplayer.MediaCodecUtil$1 x1
}
com/google/android/exoplayer/SampleSourceTrackRenderer.classSampleSourceTrackRenderer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.SampleSourceTrackRenderer extends com.google.android.exoplayer.TrackRenderer {
private final com.google.android.exoplayer.SampleSource$SampleSourceReader[] sources
private int[] handledSourceIndices
private int[] handledSourceTrackIndices
private com.google.android.exoplayer.SampleSource$SampleSourceReader enabledSource
private int enabledSourceTrackIndex
private long durationUs
public transient void (com.google.android.exoplayer.SampleSource[])
int i
com.google.android.exoplayer.SampleSource[] sources
protected final boolean doPrepare (long) throws com.google.android.exoplayer.ExoPlaybackException
int i
int i
com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException e
long trackDurationUs
com.google.android.exoplayer.MediaFormat format
boolean handlesTrack
boolean handlesTrack
int trackIndex
com.google.android.exoplayer.SampleSource$SampleSourceReader source
int sourceTrackCount
int sourceIndex
long positionUs
boolean allSourcesPrepared
int totalSourceTrackCount
long durationUs
int handledTrackCount
int[] handledSourceIndices
int[] handledTrackIndices
int sourceCount
protected void onEnabled (int, long, boolean) throws com.google.android.exoplayer.ExoPlaybackException
int track
long positionUs
boolean joining
protected final void seekTo (long) throws com.google.android.exoplayer.ExoPlaybackException
long positionUs
protected final void doSomeWork (long, long) throws com.google.android.exoplayer.ExoPlaybackException
long positionUs
long elapsedRealtimeUs
boolean sourceIsReady
protected long getBufferedPositionUs ()
protected long getDurationUs ()
protected void maybeThrowError () throws com.google.android.exoplayer.ExoPlaybackException
int i
int sourceCount
protected void onDisabled () throws com.google.android.exoplayer.ExoPlaybackException
protected void onReleased () throws com.google.android.exoplayer.ExoPlaybackException
int i
int sourceCount
protected final int getTrackCount ()
protected final com.google.android.exoplayer.MediaFormat getFormat (int)
int track
com.google.android.exoplayer.SampleSource$SampleSourceReader source
protected long shiftInputPosition (long)
long positionUs
protected final int readSource (long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder)
long positionUs
com.google.android.exoplayer.MediaFormatHolder formatHolder
com.google.android.exoplayer.SampleHolder sampleHolder
protected abstract boolean handlesTrack (com.google.android.exoplayer.MediaFormat) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
protected abstract void onDiscontinuity (long) throws com.google.android.exoplayer.ExoPlaybackException
protected abstract void doSomeWork (long, long, boolean) throws com.google.android.exoplayer.ExoPlaybackException
private long checkForDiscontinuity (long) throws com.google.android.exoplayer.ExoPlaybackException
long positionUs
long discontinuityPositionUs
private void maybeThrowError (com.google.android.exoplayer.SampleSource$SampleSourceReader) throws com.google.android.exoplayer.ExoPlaybackException
java.io.IOException e
com.google.android.exoplayer.SampleSource$SampleSourceReader source
}
com/google/android/exoplayer/DefaultLoadControl$EventListener.classDefaultLoadControl.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.DefaultLoadControl$EventListener extends java.lang.Object {
public abstract void onLoadingChanged (boolean)
}
com/google/android/exoplayer/AspectRatioFrameLayout.classAspectRatioFrameLayout.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.AspectRatioFrameLayout extends android.widget.FrameLayout {
private static final float MAX_ASPECT_RATIO_DEFORMATION_FRACTION
private float videoAspectRatio
public void (android.content.Context)
android.content.Context context
public void (android.content.Context, android.util.AttributeSet)
android.content.Context context
android.util.AttributeSet attrs
public void setAspectRatio (float)
float widthHeightRatio
protected void onMeasure (int, int)
int widthMeasureSpec
int heightMeasureSpec
int width
int height
float viewAspectRatio
float aspectDeformation
}
com/google/android/exoplayer/MediaCodecVideoTrackRenderer$EventListener.classMediaCodecVideoTrackRenderer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener extends java.lang.Object implements com.google.android.exoplayer.MediaCodecTrackRenderer$EventListener {
public abstract void onDroppedFrames (int, long)
public abstract void onVideoSizeChanged (int, int, int, float)
public abstract void onDrawnToSurface (android.view.Surface)
}
com/google/android/exoplayer/SingleSampleSource$EventListener.classSingleSampleSource.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.SingleSampleSource$EventListener extends java.lang.Object {
public abstract void onLoadError (int, java.io.IOException)
}
com/google/android/exoplayer/DefaultLoadControl.classDefaultLoadControl.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.DefaultLoadControl extends java.lang.Object implements com.google.android.exoplayer.LoadControl {
public static final int DEFAULT_LOW_WATERMARK_MS
public static final int DEFAULT_HIGH_WATERMARK_MS
public static final float DEFAULT_LOW_BUFFER_LOAD
public static final float DEFAULT_HIGH_BUFFER_LOAD
private static final int ABOVE_HIGH_WATERMARK
private static final int BETWEEN_WATERMARKS
private static final int BELOW_LOW_WATERMARK
private final com.google.android.exoplayer.upstream.Allocator allocator
private final java.util.List loaders
private final java.util.HashMap loaderStates
private final android.os.Handler eventHandler
private final com.google.android.exoplayer.DefaultLoadControl$EventListener eventListener
private final long lowWatermarkUs
private final long highWatermarkUs
private final float lowBufferLoad
private final float highBufferLoad
private int targetBufferSize
private long maxLoadStartPositionUs
private int bufferState
private boolean fillingBuffers
private boolean streamingPrioritySet
public void (com.google.android.exoplayer.upstream.Allocator)
com.google.android.exoplayer.upstream.Allocator allocator
public void (com.google.android.exoplayer.upstream.Allocator, android.os.Handler, com.google.android.exoplayer.DefaultLoadControl$EventListener)
com.google.android.exoplayer.upstream.Allocator allocator
android.os.Handler eventHandler
com.google.android.exoplayer.DefaultLoadControl$EventListener eventListener
public void (com.google.android.exoplayer.upstream.Allocator, android.os.Handler, com.google.android.exoplayer.DefaultLoadControl$EventListener, int, int, float, float)
com.google.android.exoplayer.upstream.Allocator allocator
android.os.Handler eventHandler
com.google.android.exoplayer.DefaultLoadControl$EventListener eventListener
int lowWatermarkMs
int highWatermarkMs
float lowBufferLoad
float highBufferLoad
public void register (java.lang.Object, int)
Object loader
int bufferSizeContribution
public void unregister (java.lang.Object)
Object loader
com.google.android.exoplayer.DefaultLoadControl$LoaderState state
public void trimAllocator ()
public com.google.android.exoplayer.upstream.Allocator getAllocator ()
public boolean update (java.lang.Object, long, long, boolean)
Object loader
long playbackPositionUs
long nextLoadPositionUs
boolean loading
int loaderBufferState
com.google.android.exoplayer.DefaultLoadControl$LoaderState loaderState
boolean loaderStateChanged
int currentBufferSize
int bufferState
boolean bufferStateChanged
private int getLoaderBufferState (long, long)
long timeUntilNextLoadPosition
long playbackPositionUs
long nextLoadPositionUs
private int getBufferState (int)
int currentBufferSize
float bufferLoad
private void updateControlState ()
com.google.android.exoplayer.DefaultLoadControl$LoaderState loaderState
int i
Object loader
com.google.android.exoplayer.DefaultLoadControl$LoaderState loaderState
long loaderTime
int i
boolean loading
boolean haveNextLoadPosition
int highestState
private void notifyLoadingChanged (boolean)
boolean loading
static com.google.android.exoplayer.DefaultLoadControl$EventListener access$000 (com.google.android.exoplayer.DefaultLoadControl)
com.google.android.exoplayer.DefaultLoadControl x0
}
com/google/android/exoplayer/MediaCodecVideoTrackRenderer.classMediaCodecVideoTrackRenderer.java
package com.google.android.exoplayer
public com.google.android.exoplayer.MediaCodecVideoTrackRenderer extends com.google.android.exoplayer.MediaCodecTrackRenderer {
private static final String KEY_CROP_LEFT
private static final String KEY_CROP_RIGHT
private static final String KEY_CROP_BOTTOM
private static final String KEY_CROP_TOP
public static final int MSG_SET_SURFACE
private final com.google.android.exoplayer.VideoFrameReleaseTimeHelper frameReleaseTimeHelper
private final com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener eventListener
private final long allowedJoiningTimeUs
private final int videoScalingMode
private final int maxDroppedFrameCountToNotify
private android.view.Surface surface
private boolean reportedDrawnToSurface
private boolean renderedFirstFrame
private long joiningDeadlineUs
private long droppedFrameAccumulationStartTimeMs
private int droppedFrameCount
private int consecutiveDroppedFrameCount
private int pendingRotationDegrees
private float pendingPixelWidthHeightRatio
private int currentWidth
private int currentHeight
private int currentUnappliedRotationDegrees
private float currentPixelWidthHeightRatio
private int lastReportedWidth
private int lastReportedHeight
private int lastReportedUnappliedRotationDegrees
private float lastReportedPixelWidthHeightRatio
public void (android.content.Context, com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, int)
android.content.Context context
com.google.android.exoplayer.SampleSource source
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
int videoScalingMode
public void (android.content.Context, com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, int, long)
android.content.Context context
com.google.android.exoplayer.SampleSource source
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
int videoScalingMode
long allowedJoiningTimeMs
public void (android.content.Context, com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, int, long, android.os.Handler, com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener, int)
android.content.Context context
com.google.android.exoplayer.SampleSource source
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
int videoScalingMode
long allowedJoiningTimeMs
android.os.Handler eventHandler
com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener eventListener
int maxDroppedFrameCountToNotify
public void (android.content.Context, com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, int, long, com.google.android.exoplayer.drm.DrmSessionManager, boolean, android.os.Handler, com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener, int)
android.content.Context context
com.google.android.exoplayer.SampleSource source
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
int videoScalingMode
long allowedJoiningTimeMs
com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
boolean playClearSamplesWithoutKeys
android.os.Handler eventHandler
com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener eventListener
int maxDroppedFrameCountToNotify
protected boolean handlesTrack (com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.MediaFormat) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
com.google.android.exoplayer.MediaFormat mediaFormat
String mimeType
protected void onEnabled (int, long, boolean) throws com.google.android.exoplayer.ExoPlaybackException
int track
long positionUs
boolean joining
protected void onDiscontinuity (long) throws com.google.android.exoplayer.ExoPlaybackException
long positionUs
protected boolean isReady ()
protected void onStarted ()
protected void onStopped ()
protected void onDisabled () throws com.google.android.exoplayer.ExoPlaybackException
public void handleMessage (int, java.lang.Object) throws com.google.android.exoplayer.ExoPlaybackException
int messageType
Object message
private void setSurface (android.view.Surface) throws com.google.android.exoplayer.ExoPlaybackException
android.view.Surface surface
int state
protected boolean shouldInitCodec ()
protected void configureCodec (android.media.MediaCodec, boolean, android.media.MediaFormat, android.media.MediaCrypto)
android.media.MediaCodec codec
boolean codecIsAdaptive
android.media.MediaFormat format
android.media.MediaCrypto crypto
protected void onInputFormatChanged (com.google.android.exoplayer.MediaFormatHolder) throws com.google.android.exoplayer.ExoPlaybackException
com.google.android.exoplayer.MediaFormatHolder holder
protected final boolean haveRenderedFirstFrame ()
protected void onOutputFormatChanged (android.media.MediaFormat)
int rotatedHeight
android.media.MediaFormat outputFormat
boolean hasCrop
protected boolean canReconfigureCodec (android.media.MediaCodec, boolean, com.google.android.exoplayer.MediaFormat, com.google.android.exoplayer.MediaFormat)
android.media.MediaCodec codec
boolean codecIsAdaptive
com.google.android.exoplayer.MediaFormat oldFormat
com.google.android.exoplayer.MediaFormat newFormat
protected boolean processOutputBuffer (long, long, android.media.MediaCodec, java.nio.ByteBuffer, android.media.MediaCodec$BufferInfo, int, boolean)
InterruptedException e
long positionUs
long elapsedRealtimeUs
android.media.MediaCodec codec
java.nio.ByteBuffer buffer
android.media.MediaCodec$BufferInfo bufferInfo
int bufferIndex
boolean shouldSkip
long elapsedSinceStartOfLoopUs
long earlyUs
long systemTimeNs
long unadjustedFrameReleaseTimeNs
long adjustedReleaseTimeNs
protected void skipOutputBuffer (android.media.MediaCodec, int)
android.media.MediaCodec codec
int bufferIndex
protected void dropOutputBuffer (android.media.MediaCodec, int)
android.media.MediaCodec codec
int bufferIndex
protected void renderOutputBuffer (android.media.MediaCodec, int)
android.media.MediaCodec codec
int bufferIndex
protected void renderOutputBufferV21 (android.media.MediaCodec, int, long)
android.media.MediaCodec codec
int bufferIndex
long releaseTimeNs
private void maybeSetMaxInputSize (android.media.MediaFormat, boolean)
android.media.MediaFormat format
boolean codecIsAdaptive
int maxHeight
int maxWidth
int maxPixels
int maxPixels
int maxPixels
int maxPixels
int maxPixels
int minCompressionRatio
int minCompressionRatio
int minCompressionRatio
int minCompressionRatio
int minCompressionRatio
int maxInputSize
private void maybeNotifyVideoSizeChanged ()
int currentWidth
int currentHeight
int currentUnappliedRotationDegrees
float currentPixelWidthHeightRatio
private void maybeNotifyDrawnToSurface ()
android.view.Surface surface
private void maybeNotifyDroppedFrameCount ()
long now
int countToNotify
long elapsedToNotify
static com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener access$000 (com.google.android.exoplayer.MediaCodecVideoTrackRenderer)
com.google.android.exoplayer.MediaCodecVideoTrackRenderer x0
}
com/google/android/exoplayer/SampleSource$SampleSourceReader.classSampleSource.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.SampleSource$SampleSourceReader extends java.lang.Object {
public abstract void maybeThrowError () throws java.io.IOException
public abstract boolean prepare (long)
public abstract int getTrackCount ()
public abstract com.google.android.exoplayer.MediaFormat getFormat (int)
public abstract void enable (int, long)
public abstract boolean continueBuffering (int, long)
public abstract long readDiscontinuity (int)
public abstract int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder)
public abstract void seekToUs (long)
public abstract long getBufferedPositionUs ()
public abstract void disable (int)
public abstract void release ()
}
com/google/android/exoplayer/ExoPlayerLibraryInfo.classExoPlayerLibraryInfo.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.ExoPlayerLibraryInfo extends java.lang.Object {
public static final String VERSION
public static final int VERSION_INT
public static final boolean ASSERTIONS_ENABLED
public static final boolean TRACE_ENABLED
private void ()
}
com/google/android/exoplayer/DefaultLoadControl$LoaderState.classDefaultLoadControl.java
package com.google.android.exoplayer
com.google.android.exoplayer.DefaultLoadControl$LoaderState extends java.lang.Object {
public final int bufferSizeContribution
public int bufferState
public boolean loading
public long nextLoadPositionUs
public void (int)
int bufferSizeContribution
}
com/google/android/exoplayer/SingleSampleSource$1.classSingleSampleSource.java
package com.google.android.exoplayer
com.google.android.exoplayer.SingleSampleSource$1 extends java.lang.Object implements java.lang.Runnable {
final java.io.IOException val$e
final com.google.android.exoplayer.SingleSampleSource this$0
void (com.google.android.exoplayer.SingleSampleSource, java.io.IOException)
com.google.android.exoplayer.SingleSampleSource this$0
public void run ()
}
com/google/android/exoplayer/MediaCodecUtil$MediaCodecListCompatV16.classMediaCodecUtil.java
package com.google.android.exoplayer
final com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompatV16 extends java.lang.Object implements com.google.android.exoplayer.MediaCodecUtil$MediaCodecListCompat {
private void ()
public int getCodecCount ()
public android.media.MediaCodecInfo getCodecInfoAt (int)
int index
public boolean secureDecodersExplicit ()
public boolean isSecurePlaybackSupported (java.lang.String, android.media.MediaCodecInfo$CodecCapabilities)
String mimeType
android.media.MediaCodecInfo$CodecCapabilities capabilities
void (com.google.android.exoplayer.MediaCodecUtil$1)
com.google.android.exoplayer.MediaCodecUtil$1 x0
}
com/google/android/exoplayer/MediaCodecVideoTrackRenderer$1.classMediaCodecVideoTrackRenderer.java
package com.google.android.exoplayer
com.google.android.exoplayer.MediaCodecVideoTrackRenderer$1 extends java.lang.Object implements java.lang.Runnable {
final int val$currentWidth
final int val$currentHeight
final int val$currentUnappliedRotationDegrees
final float val$currentPixelWidthHeightRatio
final com.google.android.exoplayer.MediaCodecVideoTrackRenderer this$0
void (com.google.android.exoplayer.MediaCodecVideoTrackRenderer, int, int, int, float)
com.google.android.exoplayer.MediaCodecVideoTrackRenderer this$0
public void run ()
}
com/google/android/exoplayer/MediaCodecAudioTrackRenderer$1.classMediaCodecAudioTrackRenderer.java
package com.google.android.exoplayer
com.google.android.exoplayer.MediaCodecAudioTrackRenderer$1 extends java.lang.Object implements java.lang.Runnable {
final com.google.android.exoplayer.audio.AudioTrack$InitializationException val$e
final com.google.android.exoplayer.MediaCodecAudioTrackRenderer this$0
void (com.google.android.exoplayer.MediaCodecAudioTrackRenderer, com.google.android.exoplayer.audio.AudioTrack$InitializationException)
com.google.android.exoplayer.MediaCodecAudioTrackRenderer this$0
public void run ()
}
com/google/android/exoplayer/TimeRange.classTimeRange.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.TimeRange extends java.lang.Object {
public abstract boolean isStatic ()
public abstract long[] getCurrentBoundsMs (long[])
public abstract long[] getCurrentBoundsUs (long[])
}
com/google/android/exoplayer/MediaCodecVideoTrackRenderer$2.classMediaCodecVideoTrackRenderer.java
package com.google.android.exoplayer
com.google.android.exoplayer.MediaCodecVideoTrackRenderer$2 extends java.lang.Object implements java.lang.Runnable {
final android.view.Surface val$surface
final com.google.android.exoplayer.MediaCodecVideoTrackRenderer this$0
void (com.google.android.exoplayer.MediaCodecVideoTrackRenderer, android.view.Surface)
com.google.android.exoplayer.MediaCodecVideoTrackRenderer this$0
public void run ()
}
com/google/android/exoplayer/ExoPlayer$Factory.classExoPlayer.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.ExoPlayer$Factory extends java.lang.Object {
public static final int DEFAULT_MIN_BUFFER_MS
public static final int DEFAULT_MIN_REBUFFER_MS
private void ()
public static com.google.android.exoplayer.ExoPlayer newInstance (int, int, int)
int rendererCount
int minBufferMs
int minRebufferMs
public static com.google.android.exoplayer.ExoPlayer newInstance (int)
int rendererCount
}
com/google/android/exoplayer/ExoPlayerImpl$1.classExoPlayerImpl.java
package com.google.android.exoplayer
com.google.android.exoplayer.ExoPlayerImpl$1 extends android.os.Handler {
final com.google.android.exoplayer.ExoPlayerImpl this$0
void (com.google.android.exoplayer.ExoPlayerImpl)
com.google.android.exoplayer.ExoPlayerImpl this$0
public void handleMessage (android.os.Message)
android.os.Message msg
}
com/google/android/exoplayer/CryptoInfo.classCryptoInfo.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.CryptoInfo extends java.lang.Object {
public byte[] iv
public byte[] key
public int mode
public int[] numBytesOfClearData
public int[] numBytesOfEncryptedData
public int numSubSamples
private final android.media.MediaCodec$CryptoInfo frameworkCryptoInfo
public void ()
public void set (int, int[], int[], byte[], byte[], int)
int numSubSamples
int[] numBytesOfClearData
int[] numBytesOfEncryptedData
byte[] key
byte[] iv
int mode
public void setFromExtractorV16 (android.media.MediaExtractor)
android.media.MediaExtractor extractor
public android.media.MediaCodec$CryptoInfo getFrameworkCryptoInfoV16 ()
private android.media.MediaCodec$CryptoInfo newFrameworkCryptoInfoV16 ()
private void updateFrameworkCryptoInfoV16 ()
}
com/google/android/exoplayer/SingleSampleSource.classSingleSampleSource.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.SingleSampleSource extends java.lang.Object implements com.google.android.exoplayer.SampleSource com.google.android.exoplayer.SampleSource$SampleSourceReader com.google.android.exoplayer.upstream.Loader$Callback com.google.android.exoplayer.upstream.Loader$Loadable {
public static final int DEFAULT_MIN_LOADABLE_RETRY_COUNT
private static final int INITIAL_SAMPLE_SIZE
private static final int STATE_SEND_FORMAT
private static final int STATE_SEND_SAMPLE
private static final int STATE_END_OF_STREAM
private final android.net.Uri uri
private final com.google.android.exoplayer.upstream.DataSource dataSource
private final com.google.android.exoplayer.MediaFormat format
private final int minLoadableRetryCount
private final android.os.Handler eventHandler
private final com.google.android.exoplayer.SingleSampleSource$EventListener eventListener
private final int eventSourceId
private int state
private byte[] sampleData
private int sampleSize
private long pendingDiscontinuityPositionUs
private boolean loadingFinished
private com.google.android.exoplayer.upstream.Loader loader
private java.io.IOException currentLoadableException
private int currentLoadableExceptionCount
private long currentLoadableExceptionTimestamp
public void (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.MediaFormat)
android.net.Uri uri
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.MediaFormat format
public void (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.MediaFormat, int)
android.net.Uri uri
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.MediaFormat format
int minLoadableRetryCount
public void (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.MediaFormat, int, android.os.Handler, com.google.android.exoplayer.SingleSampleSource$EventListener, int)
android.net.Uri uri
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.MediaFormat format
int minLoadableRetryCount
android.os.Handler eventHandler
com.google.android.exoplayer.SingleSampleSource$EventListener eventListener
int eventSourceId
public com.google.android.exoplayer.SampleSource$SampleSourceReader register ()
public boolean prepare (long)
long positionUs
public int getTrackCount ()
public com.google.android.exoplayer.MediaFormat getFormat (int)
int track
public void enable (int, long)
int track
long positionUs
public boolean continueBuffering (int, long)
int track
long positionUs
public void maybeThrowError () throws java.io.IOException
public long readDiscontinuity (int)
int track
long discontinuityPositionUs
public int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder)
int track
long positionUs
com.google.android.exoplayer.MediaFormatHolder formatHolder
com.google.android.exoplayer.SampleHolder sampleHolder
public void seekToUs (long)
long positionUs
public long getBufferedPositionUs ()
public void disable (int)
int track
public void release ()
private void maybeStartLoading ()
long elapsedMillis
private void clearCurrentLoadableException ()
private long getRetryDelayMillis (long)
long errorCount
public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
public void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
public void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
java.io.IOException e
public void cancelLoad ()
public boolean isLoadCanceled ()
public void load () throws java.io.IOException java.lang.InterruptedException
int result
private void notifyLoadError (java.io.IOException)
java.io.IOException e
static int access$000 (com.google.android.exoplayer.SingleSampleSource)
com.google.android.exoplayer.SingleSampleSource x0
static com.google.android.exoplayer.SingleSampleSource$EventListener access$100 (com.google.android.exoplayer.SingleSampleSource)
com.google.android.exoplayer.SingleSampleSource x0
}
com/google/android/exoplayer/drm/
com/google/android/exoplayer/drm/StreamingDrmSessionManager.classStreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
public com.google.android.exoplayer.drm.StreamingDrmSessionManager extends java.lang.Object implements com.google.android.exoplayer.drm.DrmSessionManager {
public static final java.util.UUID WIDEVINE_UUID
public static final java.util.UUID PLAYREADY_UUID
public static final String PLAYREADY_CUSTOM_DATA_KEY
private static final int MSG_PROVISION
private static final int MSG_KEYS
private final android.os.Handler eventHandler
private final com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener eventListener
private final android.media.MediaDrm mediaDrm
private final java.util.HashMap optionalKeyRequestParameters
final com.google.android.exoplayer.drm.StreamingDrmSessionManager$MediaDrmHandler mediaDrmHandler
final com.google.android.exoplayer.drm.MediaDrmCallback callback
final com.google.android.exoplayer.drm.StreamingDrmSessionManager$PostResponseHandler postResponseHandler
final java.util.UUID uuid
private android.os.HandlerThread requestHandlerThread
private android.os.Handler postRequestHandler
private int openCount
private boolean provisioningInProgress
private int state
private android.media.MediaCrypto mediaCrypto
private Exception lastException
private com.google.android.exoplayer.drm.DrmInitData$SchemeInitData schemeInitData
private byte[] sessionId
public static com.google.android.exoplayer.drm.StreamingDrmSessionManager newWidevineInstance (android.os.Looper, com.google.android.exoplayer.drm.MediaDrmCallback, java.util.HashMap, android.os.Handler, com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener) throws com.google.android.exoplayer.drm.UnsupportedDrmException
android.os.Looper playbackLooper
com.google.android.exoplayer.drm.MediaDrmCallback callback
java.util.HashMap optionalKeyRequestParameters
android.os.Handler eventHandler
com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener eventListener
public static com.google.android.exoplayer.drm.StreamingDrmSessionManager newPlayReadyInstance (android.os.Looper, com.google.android.exoplayer.drm.MediaDrmCallback, java.lang.String, android.os.Handler, com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener) throws com.google.android.exoplayer.drm.UnsupportedDrmException
java.util.HashMap optionalKeyRequestParameters
android.os.Looper playbackLooper
com.google.android.exoplayer.drm.MediaDrmCallback callback
String customData
android.os.Handler eventHandler
com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener eventListener
java.util.HashMap optionalKeyRequestParameters
public void (java.util.UUID, android.os.Looper, com.google.android.exoplayer.drm.MediaDrmCallback, java.util.HashMap, android.os.Handler, com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener) throws com.google.android.exoplayer.drm.UnsupportedDrmException
android.media.UnsupportedSchemeException e
Exception e
java.util.UUID uuid
android.os.Looper playbackLooper
com.google.android.exoplayer.drm.MediaDrmCallback callback
java.util.HashMap optionalKeyRequestParameters
android.os.Handler eventHandler
com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener eventListener
public final int getState ()
public final android.media.MediaCrypto getMediaCrypto ()
public boolean requiresSecureDecoderComponent (java.lang.String)
String mimeType
public final java.lang.Exception getError ()
public final java.lang.String getPropertyString (java.lang.String)
String key
public final void setPropertyString (java.lang.String, java.lang.String)
String key
String value
public final byte[] getPropertyByteArray (java.lang.String)
String key
public final void setPropertyByteArray (java.lang.String, byte[])
String key
byte[] value
public void open (com.google.android.exoplayer.drm.DrmInitData)
byte[] psshData
com.google.android.exoplayer.drm.DrmInitData drmInitData
public void close ()
private void openInternal (boolean)
android.media.NotProvisionedException e
Exception e
boolean allowProvisioning
private void postProvisionRequest ()
android.media.MediaDrm$ProvisionRequest request
private void onProvisionResponse (java.lang.Object)
android.media.DeniedByServerException e
Object response
private void postKeyRequest ()
android.media.NotProvisionedException e
android.media.MediaDrm$KeyRequest keyRequest
private void onKeyResponse (java.lang.Object)
Exception e
Object response
private void onKeysError (java.lang.Exception)
Exception e
private void onError (java.lang.Exception)
Exception e
static com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener access$100 (com.google.android.exoplayer.drm.StreamingDrmSessionManager)
com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
static int access$200 (com.google.android.exoplayer.drm.StreamingDrmSessionManager)
com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
static int access$300 (com.google.android.exoplayer.drm.StreamingDrmSessionManager)
com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
static void access$400 (com.google.android.exoplayer.drm.StreamingDrmSessionManager)
com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
static int access$302 (com.google.android.exoplayer.drm.StreamingDrmSessionManager, int)
com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
int x1
static void access$500 (com.google.android.exoplayer.drm.StreamingDrmSessionManager, java.lang.Exception)
com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
Exception x1
static void access$600 (com.google.android.exoplayer.drm.StreamingDrmSessionManager)
com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
static void access$700 (com.google.android.exoplayer.drm.StreamingDrmSessionManager, java.lang.Object)
com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
Object x1
static void access$800 (com.google.android.exoplayer.drm.StreamingDrmSessionManager, java.lang.Object)
com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
Object x1
static void ()
}
com/google/android/exoplayer/drm/DrmInitData$Mapped.classDrmInitData.java
package com.google.android.exoplayer.drm
public final com.google.android.exoplayer.drm.DrmInitData$Mapped extends java.lang.Object implements com.google.android.exoplayer.drm.DrmInitData {
private final java.util.Map schemeData
public void ()
public com.google.android.exoplayer.drm.DrmInitData$SchemeInitData get (java.util.UUID)
java.util.UUID schemeUuid
public void put (java.util.UUID, com.google.android.exoplayer.drm.DrmInitData$SchemeInitData)
java.util.UUID schemeUuid
com.google.android.exoplayer.drm.DrmInitData$SchemeInitData schemeInitData
}
com/google/android/exoplayer/drm/DrmInitData$Universal.classDrmInitData.java
package com.google.android.exoplayer.drm
public final com.google.android.exoplayer.drm.DrmInitData$Universal extends java.lang.Object implements com.google.android.exoplayer.drm.DrmInitData {
private com.google.android.exoplayer.drm.DrmInitData$SchemeInitData data
public void (com.google.android.exoplayer.drm.DrmInitData$SchemeInitData)
com.google.android.exoplayer.drm.DrmInitData$SchemeInitData data
public com.google.android.exoplayer.drm.DrmInitData$SchemeInitData get (java.util.UUID)
java.util.UUID schemeUuid
}
com/google/android/exoplayer/drm/StreamingDrmSessionManager$MediaDrmHandler.classStreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
com.google.android.exoplayer.drm.StreamingDrmSessionManager$MediaDrmHandler extends android.os.Handler {
final com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
public void (com.google.android.exoplayer.drm.StreamingDrmSessionManager, android.os.Looper)
android.os.Looper looper
public void handleMessage (android.os.Message)
android.os.Message msg
}
com/google/android/exoplayer/drm/StreamingDrmSessionManager$EventListener.classStreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
public abstract com.google.android.exoplayer.drm.StreamingDrmSessionManager$EventListener extends java.lang.Object {
public abstract void onDrmKeysLoaded ()
public abstract void onDrmSessionManagerError (java.lang.Exception)
}
com/google/android/exoplayer/drm/DrmSessionManager.classDrmSessionManager.java
package com.google.android.exoplayer.drm
public abstract com.google.android.exoplayer.drm.DrmSessionManager extends java.lang.Object {
public static final int STATE_ERROR
public static final int STATE_CLOSED
public static final int STATE_OPENING
public static final int STATE_OPENED
public static final int STATE_OPENED_WITH_KEYS
public abstract void open (com.google.android.exoplayer.drm.DrmInitData)
public abstract void close ()
public abstract int getState ()
public abstract android.media.MediaCrypto getMediaCrypto ()
public abstract boolean requiresSecureDecoderComponent (java.lang.String)
public abstract java.lang.Exception getError ()
}
com/google/android/exoplayer/drm/StreamingDrmSessionManager$2.classStreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
com.google.android.exoplayer.drm.StreamingDrmSessionManager$2 extends java.lang.Object implements java.lang.Runnable {
final Exception val$e
final com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
void (com.google.android.exoplayer.drm.StreamingDrmSessionManager, java.lang.Exception)
com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
public void run ()
}
com/google/android/exoplayer/drm/KeysExpiredException.classKeysExpiredException.java
package com.google.android.exoplayer.drm
public final com.google.android.exoplayer.drm.KeysExpiredException extends java.lang.Exception {
public void ()
}
com/google/android/exoplayer/drm/StreamingDrmSessionManager$PostResponseHandler.classStreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
com.google.android.exoplayer.drm.StreamingDrmSessionManager$PostResponseHandler extends android.os.Handler {
final com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
public void (com.google.android.exoplayer.drm.StreamingDrmSessionManager, android.os.Looper)
android.os.Looper looper
public void handleMessage (android.os.Message)
android.os.Message msg
}
com/google/android/exoplayer/drm/StreamingDrmSessionManager$MediaDrmEventListener.classStreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
com.google.android.exoplayer.drm.StreamingDrmSessionManager$MediaDrmEventListener extends java.lang.Object implements android.media.MediaDrm$OnEventListener {
final com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
private void (com.google.android.exoplayer.drm.StreamingDrmSessionManager)
public void onEvent (android.media.MediaDrm, byte[], int, int, byte[])
android.media.MediaDrm md
byte[] sessionId
int event
int extra
byte[] data
void (com.google.android.exoplayer.drm.StreamingDrmSessionManager, com.google.android.exoplayer.drm.StreamingDrmSessionManager$1)
com.google.android.exoplayer.drm.StreamingDrmSessionManager x0
com.google.android.exoplayer.drm.StreamingDrmSessionManager$1 x1
}
com/google/android/exoplayer/drm/MediaDrmCallback.classMediaDrmCallback.java
package com.google.android.exoplayer.drm
public abstract com.google.android.exoplayer.drm.MediaDrmCallback extends java.lang.Object {
public abstract byte[] executeProvisionRequest (java.util.UUID, android.media.MediaDrm$ProvisionRequest) throws java.lang.Exception
public abstract byte[] executeKeyRequest (java.util.UUID, android.media.MediaDrm$KeyRequest) throws java.lang.Exception
}
com/google/android/exoplayer/drm/StreamingDrmSessionManager$1.classStreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
com.google.android.exoplayer.drm.StreamingDrmSessionManager$1 extends java.lang.Object implements java.lang.Runnable {
final com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
void (com.google.android.exoplayer.drm.StreamingDrmSessionManager)
com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
public void run ()
}
com/google/android/exoplayer/drm/DrmInitData.classDrmInitData.java
package com.google.android.exoplayer.drm
public abstract com.google.android.exoplayer.drm.DrmInitData extends java.lang.Object {
public abstract com.google.android.exoplayer.drm.DrmInitData$SchemeInitData get (java.util.UUID)
}
com/google/android/exoplayer/drm/UnsupportedDrmException.classUnsupportedDrmException.java
package com.google.android.exoplayer.drm
public final com.google.android.exoplayer.drm.UnsupportedDrmException extends java.lang.Exception {
public static final int REASON_UNSUPPORTED_SCHEME
public static final int REASON_INSTANTIATION_ERROR
public final int reason
public void (int)
int reason
public void (int, java.lang.Exception)
int reason
Exception cause
}
com/google/android/exoplayer/drm/StreamingDrmSessionManager$PostRequestHandler.classStreamingDrmSessionManager.java
package com.google.android.exoplayer.drm
com.google.android.exoplayer.drm.StreamingDrmSessionManager$PostRequestHandler extends android.os.Handler {
final com.google.android.exoplayer.drm.StreamingDrmSessionManager this$0
public void (com.google.android.exoplayer.drm.StreamingDrmSessionManager, android.os.Looper)
android.os.Looper backgroundLooper
public void handleMessage (android.os.Message)
Exception e
android.os.Message msg
Object response
Object response
Object response
Object response
}
com/google/android/exoplayer/drm/DrmInitData$SchemeInitData.classDrmInitData.java
package com.google.android.exoplayer.drm
public final com.google.android.exoplayer.drm.DrmInitData$SchemeInitData extends java.lang.Object {
public final String mimeType
public final byte[] data
public void (java.lang.String, byte[])
String mimeType
byte[] data
public boolean equals (java.lang.Object)
Object obj
com.google.android.exoplayer.drm.DrmInitData$SchemeInitData other
public int hashCode ()
}
com/google/android/exoplayer/SampleHolder.classSampleHolder.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.SampleHolder extends java.lang.Object {
public static final int BUFFER_REPLACEMENT_MODE_DISABLED
public static final int BUFFER_REPLACEMENT_MODE_NORMAL
public static final int BUFFER_REPLACEMENT_MODE_DIRECT
public final com.google.android.exoplayer.CryptoInfo cryptoInfo
public java.nio.ByteBuffer data
public int size
public int flags
public long timeUs
private final int bufferReplacementMode
public void (int)
int bufferReplacementMode
public void ensureSpaceForWrite (int) throws java.lang.IllegalStateException
int length
int capacity
int position
int requiredCapacity
java.nio.ByteBuffer newData
public boolean isEncrypted ()
public boolean isDecodeOnly ()
public boolean isSyncFrame ()
public void clearData ()
private java.nio.ByteBuffer createReplacementBuffer (int)
int currentCapacity
int requiredCapacity
}
com/google/android/exoplayer/MediaCodecSelector.classMediaCodecSelector.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.MediaCodecSelector extends java.lang.Object {
public static final com.google.android.exoplayer.MediaCodecSelector DEFAULT
public abstract com.google.android.exoplayer.DecoderInfo getDecoderInfo (java.lang.String, boolean) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
public abstract java.lang.String getPassthroughDecoderName () throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
static void ()
}
com/google/android/exoplayer/StandaloneMediaClock.classStandaloneMediaClock.java
package com.google.android.exoplayer
final com.google.android.exoplayer.StandaloneMediaClock extends java.lang.Object implements com.google.android.exoplayer.MediaClock {
private boolean started
private long positionUs
private long deltaUs
void ()
public void start ()
public void stop ()
public void setPositionUs (long)
long timeUs
public long getPositionUs ()
private long elapsedRealtimeMinus (long)
long toSubtractUs
}
com/google/android/exoplayer/text/
com/google/android/exoplayer/text/eia608/
com/google/android/exoplayer/text/eia608/ClosedCaption.classClosedCaption.java
package com.google.android.exoplayer.text.eia608
abstract com.google.android.exoplayer.text.eia608.ClosedCaption extends java.lang.Object {
public static final int TYPE_CTRL
public static final int TYPE_TEXT
public final int type
protected void (int)
int type
}
com/google/android/exoplayer/text/eia608/ClosedCaptionList.classClosedCaptionList.java
package com.google.android.exoplayer.text.eia608
final com.google.android.exoplayer.text.eia608.ClosedCaptionList extends java.lang.Object implements java.lang.Comparable {
public final long timeUs
public final boolean decodeOnly
public final com.google.android.exoplayer.text.eia608.ClosedCaption[] captions
public void (long, boolean, com.google.android.exoplayer.text.eia608.ClosedCaption[])
long timeUs
boolean decodeOnly
com.google.android.exoplayer.text.eia608.ClosedCaption[] captions
public int compareTo (com.google.android.exoplayer.text.eia608.ClosedCaptionList)
com.google.android.exoplayer.text.eia608.ClosedCaptionList other
long delta
public volatile int compareTo (java.lang.Object)
}
com/google/android/exoplayer/text/eia608/ClosedCaptionCtrl.classClosedCaptionCtrl.java
package com.google.android.exoplayer.text.eia608
final com.google.android.exoplayer.text.eia608.ClosedCaptionCtrl extends com.google.android.exoplayer.text.eia608.ClosedCaption {
public static final byte RESUME_CAPTION_LOADING
public static final byte ROLL_UP_CAPTIONS_2_ROWS
public static final byte ROLL_UP_CAPTIONS_3_ROWS
public static final byte ROLL_UP_CAPTIONS_4_ROWS
public static final byte RESUME_DIRECT_CAPTIONING
public static final byte END_OF_CAPTION
public static final byte ERASE_DISPLAYED_MEMORY
public static final byte CARRIAGE_RETURN
public static final byte ERASE_NON_DISPLAYED_MEMORY
public static final byte BACKSPACE
public static final byte MID_ROW_CHAN_1
public static final byte MID_ROW_CHAN_2
public static final byte MISC_CHAN_1
public static final byte MISC_CHAN_2
public static final byte TAB_OFFSET_CHAN_1
public static final byte TAB_OFFSET_CHAN_2
public final byte cc1
public final byte cc2
protected void (byte, byte)
byte cc1
byte cc2
public boolean isMidRowCode ()
public boolean isMiscCode ()
public boolean isTabOffsetCode ()
public boolean isPreambleAddressCode ()
public boolean isRepeatable ()
}
com/google/android/exoplayer/text/eia608/Eia608Parser.classEia608Parser.java
package com.google.android.exoplayer.text.eia608
public final com.google.android.exoplayer.text.eia608.Eia608Parser extends java.lang.Object {
private static final int PAYLOAD_TYPE_CC
private static final int COUNTRY_CODE
private static final int PROVIDER_CODE
private static final int USER_ID
private static final int USER_DATA_TYPE_CODE
private static final int[] BASIC_CHARACTER_SET
private static final int[] SPECIAL_CHARACTER_SET
private static final int[] SPECIAL_ES_FR_CHARACTER_SET
private static final int[] SPECIAL_PT_DE_CHARACTER_SET
private final com.google.android.exoplayer.util.ParsableBitArray seiBuffer
private final StringBuilder stringBuilder
private final java.util.ArrayList captions
void ()
boolean canParse (java.lang.String)
String mimeType
com.google.android.exoplayer.text.eia608.ClosedCaptionList parse (com.google.android.exoplayer.SampleHolder)
boolean ccValid
int ccType
byte ccData1
byte ccData2
int i
com.google.android.exoplayer.SampleHolder sampleHolder
int ccCount
com.google.android.exoplayer.text.eia608.ClosedCaption[] captionArray
private static char getChar (byte)
byte ccData
int index
private static char getSpecialChar (byte)
byte ccData
int index
private static char getExtendedEsFrChar (byte)
byte ccData
int index
private static char getExtendedPtDeChar (byte)
byte ccData
int index
private void addBufferedText ()
private void addCtrl (byte, byte)
byte ccData1
byte ccData2
private void backspace ()
public static boolean isSeiMessageEia608 (int, int, com.google.android.exoplayer.util.ParsableByteArray)
int payloadType
int payloadLength
com.google.android.exoplayer.util.ParsableByteArray payload
int startPosition
int countryCode
int providerCode
int userIdentifier
int userDataTypeCode
static void ()
}
com/google/android/exoplayer/text/eia608/ClosedCaptionText.classClosedCaptionText.java
package com.google.android.exoplayer.text.eia608
final com.google.android.exoplayer.text.eia608.ClosedCaptionText extends com.google.android.exoplayer.text.eia608.ClosedCaption {
public final String text
public void (java.lang.String)
String text
}
com/google/android/exoplayer/text/eia608/Eia608TrackRenderer.classEia608TrackRenderer.java
package com.google.android.exoplayer.text.eia608
public final com.google.android.exoplayer.text.eia608.Eia608TrackRenderer extends com.google.android.exoplayer.SampleSourceTrackRenderer implements android.os.Handler$Callback {
private static final int MSG_INVOKE_RENDERER
private static final int CC_MODE_UNKNOWN
private static final int CC_MODE_ROLL_UP
private static final int CC_MODE_POP_ON
private static final int CC_MODE_PAINT_ON
private static final int DEFAULT_CAPTIONS_ROW_COUNT
private static final int MAX_SAMPLE_READAHEAD_US
private final com.google.android.exoplayer.text.eia608.Eia608Parser eia608Parser
private final com.google.android.exoplayer.text.TextRenderer textRenderer
private final android.os.Handler textRendererHandler
private final com.google.android.exoplayer.MediaFormatHolder formatHolder
private final com.google.android.exoplayer.SampleHolder sampleHolder
private final StringBuilder captionStringBuilder
private final java.util.TreeSet pendingCaptionLists
private boolean inputStreamEnded
private int captionMode
private int captionRowCount
private String caption
private String lastRenderedCaption
private com.google.android.exoplayer.text.eia608.ClosedCaptionCtrl repeatableControl
public void (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.text.TextRenderer, android.os.Looper)
com.google.android.exoplayer.SampleSource source
com.google.android.exoplayer.text.TextRenderer textRenderer
android.os.Looper textRendererLooper
protected boolean handlesTrack (com.google.android.exoplayer.MediaFormat)
com.google.android.exoplayer.MediaFormat mediaFormat
protected void onEnabled (int, long, boolean) throws com.google.android.exoplayer.ExoPlaybackException
int track
long positionUs
boolean joining
protected void onDiscontinuity (long)
long positionUs
protected void doSomeWork (long, long, boolean) throws com.google.android.exoplayer.ExoPlaybackException
com.google.android.exoplayer.text.eia608.ClosedCaptionList nextCaptionList
long positionUs
long elapsedRealtimeUs
boolean sourceIsReady
int result
protected long getBufferedPositionUs ()
protected boolean isEnded ()
protected boolean isReady ()
private void invokeRenderer (java.lang.String)
String text
public boolean handleMessage (android.os.Message)
android.os.Message msg
private void invokeRendererInternal (java.lang.String)
String cueText
private void maybeParsePendingSample (long)
long positionUs
com.google.android.exoplayer.text.eia608.ClosedCaptionList holder
private void consumeCaptionList (com.google.android.exoplayer.text.eia608.ClosedCaptionList)
com.google.android.exoplayer.text.eia608.ClosedCaptionCtrl captionCtrl
com.google.android.exoplayer.text.eia608.ClosedCaption caption
int i
com.google.android.exoplayer.text.eia608.ClosedCaptionList captionList
int captionBufferSize
boolean isRepeatableControl
private void handleText (com.google.android.exoplayer.text.eia608.ClosedCaptionText)
com.google.android.exoplayer.text.eia608.ClosedCaptionText captionText
private void handleMiscCode (com.google.android.exoplayer.text.eia608.ClosedCaptionCtrl)
com.google.android.exoplayer.text.eia608.ClosedCaptionCtrl captionCtrl
private void handlePreambleAddressCode ()
private void setCaptionMode (int)
int captionMode
private void maybeAppendNewline ()
int buildLength
private java.lang.String getDisplayCaption ()
int i
int buildLength
boolean endsWithNewline
int endIndex
int startIndex
int searchBackwardFromIndex
private void clearPendingSample ()
private boolean isSamplePending ()
}
com/google/android/exoplayer/text/SubtitleParserHelper.classSubtitleParserHelper.java
package com.google.android.exoplayer.text
final com.google.android.exoplayer.text.SubtitleParserHelper extends java.lang.Object implements android.os.Handler$Callback {
private static final int MSG_FORMAT
private static final int MSG_SAMPLE
private final com.google.android.exoplayer.text.SubtitleParser parser
private final android.os.Handler handler
private com.google.android.exoplayer.SampleHolder sampleHolder
private boolean parsing
private com.google.android.exoplayer.text.PlayableSubtitle result
private java.io.IOException error
private RuntimeException runtimeError
private boolean subtitlesAreRelative
private long subtitleOffsetUs
public void (android.os.Looper, com.google.android.exoplayer.text.SubtitleParser)
android.os.Looper looper
com.google.android.exoplayer.text.SubtitleParser parser
public synchronized void flush ()
public synchronized boolean isParsing ()
public synchronized com.google.android.exoplayer.SampleHolder getSampleHolder ()
public void setFormat (com.google.android.exoplayer.MediaFormat)
com.google.android.exoplayer.MediaFormat format
public synchronized void startParseOperation ()
public synchronized com.google.android.exoplayer.text.PlayableSubtitle getAndClearResult () throws java.io.IOException
public boolean handleMessage (android.os.Message)
long sampleTimeUs
com.google.android.exoplayer.SampleHolder holder
android.os.Message msg
private void handleFormat (com.google.android.exoplayer.MediaFormat)
com.google.android.exoplayer.MediaFormat format
private void handleSample (long, com.google.android.exoplayer.SampleHolder)
com.google.android.exoplayer.ParserException e
RuntimeException e
long sampleTimeUs
com.google.android.exoplayer.SampleHolder holder
com.google.android.exoplayer.text.Subtitle parsedSubtitle
com.google.android.exoplayer.ParserException error
RuntimeException runtimeError
}
com/google/android/exoplayer/text/CaptionStyleCompat.classCaptionStyleCompat.java
package com.google.android.exoplayer.text
public final com.google.android.exoplayer.text.CaptionStyleCompat extends java.lang.Object {
public static final int EDGE_TYPE_NONE
public static final int EDGE_TYPE_OUTLINE
public static final int EDGE_TYPE_DROP_SHADOW
public static final int EDGE_TYPE_RAISED
public static final int EDGE_TYPE_DEPRESSED
public static final int USE_TRACK_COLOR_SETTINGS
public static final com.google.android.exoplayer.text.CaptionStyleCompat DEFAULT
public final int foregroundColor
public final int backgroundColor
public final int windowColor
public final int edgeType
public final int edgeColor
public final android.graphics.Typeface typeface
public static com.google.android.exoplayer.text.CaptionStyleCompat createFromCaptionStyle (android.view.accessibility.CaptioningManager$CaptionStyle)
android.view.accessibility.CaptioningManager$CaptionStyle captionStyle
public void (int, int, int, int, int, android.graphics.Typeface)
int foregroundColor
int backgroundColor
int windowColor
int edgeType
int edgeColor
android.graphics.Typeface typeface
private static com.google.android.exoplayer.text.CaptionStyleCompat createFromCaptionStyleV19 (android.view.accessibility.CaptioningManager$CaptionStyle)
android.view.accessibility.CaptioningManager$CaptionStyle captionStyle
private static com.google.android.exoplayer.text.CaptionStyleCompat createFromCaptionStyleV21 (android.view.accessibility.CaptioningManager$CaptionStyle)
android.view.accessibility.CaptioningManager$CaptionStyle captionStyle
static void ()
}
com/google/android/exoplayer/text/CuePainter.classCuePainter.java
package com.google.android.exoplayer.text
final com.google.android.exoplayer.text.CuePainter extends java.lang.Object {
private static final String TAG
private static final float INNER_PADDING_RATIO
private final android.graphics.RectF lineBounds
private final float cornerRadius
private final float outlineWidth
private final float shadowRadius
private final float shadowOffset
private final float spacingMult
private final float spacingAdd
private final android.text.TextPaint textPaint
private final android.graphics.Paint paint
private CharSequence cueText
private android.text.Layout$Alignment cueTextAlignment
private float cueLine
private int cueLineType
private int cueLineAnchor
private float cuePosition
private int cuePositionAnchor
private float cueSize
private boolean applyEmbeddedStyles
private int foregroundColor
private int backgroundColor
private int windowColor
private int edgeColor
private int edgeType
private float textSizePx
private float bottomPaddingFraction
private int parentLeft
private int parentTop
private int parentRight
private int parentBottom
private android.text.StaticLayout textLayout
private int textLeft
private int textTop
private int textPaddingX
public void (android.content.Context)
android.content.Context context
int[] viewAttr
android.content.res.TypedArray styledAttributes
android.content.res.Resources resources
android.util.DisplayMetrics displayMetrics
int twoDpInPx
public void draw (com.google.android.exoplayer.text.Cue, boolean, com.google.android.exoplayer.text.CaptionStyleCompat, float, float, android.graphics.Canvas, int, int, int, int)
int i
int anchorPosition
int textLeft
int textRight
int anchorPosition
int anchorPosition
int firstLineHeight
int anchorPosition
int textTop
int textBottom
com.google.android.exoplayer.text.Cue cue
boolean applyEmbeddedStyles
com.google.android.exoplayer.text.CaptionStyleCompat style
float textSizePx
float bottomPaddingFraction
android.graphics.Canvas canvas
int cueBoxLeft
int cueBoxTop
int cueBoxRight
int cueBoxBottom
CharSequence cueText
int parentWidth
int parentHeight
int textPaddingX
int availableWidth
android.text.Layout$Alignment textAlignment
int textHeight
int textWidth
int lineCount
int textLeft
int textRight
int textTop
int textBottom
private void drawLayout (android.graphics.Canvas)
int i
float previousBottom
int lineCount
boolean raised
int colorUp
int colorDown
float offset
android.graphics.Canvas canvas
android.text.StaticLayout layout
int saveCount
private static boolean areCharSequencesEqual (java.lang.CharSequence, java.lang.CharSequence)
CharSequence first
CharSequence second
}
com/google/android/exoplayer/text/subrip/
com/google/android/exoplayer/text/subrip/SubripSubtitle.classSubripSubtitle.java
package com.google.android.exoplayer.text.subrip
final com.google.android.exoplayer.text.subrip.SubripSubtitle extends java.lang.Object implements com.google.android.exoplayer.text.Subtitle {
private final com.google.android.exoplayer.text.Cue[] cues
private final long[] cueTimesUs
public void (com.google.android.exoplayer.text.Cue[], long[])
com.google.android.exoplayer.text.Cue[] cues
long[] cueTimesUs
public int getNextEventTimeIndex (long)
long timeUs
int index
public int getEventTimeCount ()
public long getEventTime (int)
int index
public long getLastEventTime ()
public java.util.List getCues (long)
long timeUs
int index
}
com/google/android/exoplayer/text/subrip/SubripParser.classSubripParser.java
package com.google.android.exoplayer.text.subrip
public final com.google.android.exoplayer.text.subrip.SubripParser extends java.lang.Object implements com.google.android.exoplayer.text.SubtitleParser {
private static final String TAG
private static final java.util.regex.Pattern SUBRIP_TIMING_LINE
private static final java.util.regex.Pattern SUBRIP_TIMESTAMP
private final StringBuilder textBuilder
public void ()
public boolean canParse (java.lang.String)
String mimeType
public com.google.android.exoplayer.text.subrip.SubripSubtitle parse (byte[], int, int)
NumberFormatException e
String endTimecode
java.util.regex.Matcher matcher
android.text.Spanned text
boolean haveEndTimecode
byte[] bytes
int offset
int length
java.util.ArrayList cues
com.google.android.exoplayer.util.LongArray cueTimesUs
com.google.android.exoplayer.util.ParsableByteArray subripData
String currentLine
com.google.android.exoplayer.text.Cue[] cuesArray
long[] cueTimesUsArray
private static long parseTimecode (java.lang.String) throws java.lang.NumberFormatException
String s
java.util.regex.Matcher matcher
long timestampMs
public volatile com.google.android.exoplayer.text.Subtitle parse (byte[], int, int) throws com.google.android.exoplayer.ParserException
static void ()
}
com/google/android/exoplayer/text/TextTrackRenderer.classTextTrackRenderer.java
package com.google.android.exoplayer.text
public final com.google.android.exoplayer.text.TextTrackRenderer extends com.google.android.exoplayer.SampleSourceTrackRenderer implements android.os.Handler$Callback {
private static final int MSG_UPDATE_OVERLAY
private static final java.util.List DEFAULT_PARSER_CLASSES
private final android.os.Handler textRendererHandler
private final com.google.android.exoplayer.text.TextRenderer textRenderer
private final com.google.android.exoplayer.MediaFormatHolder formatHolder
private final com.google.android.exoplayer.text.SubtitleParser[] subtitleParsers
private int parserIndex
private boolean inputStreamEnded
private com.google.android.exoplayer.text.PlayableSubtitle subtitle
private com.google.android.exoplayer.text.PlayableSubtitle nextSubtitle
private com.google.android.exoplayer.text.SubtitleParserHelper parserHelper
private android.os.HandlerThread parserThread
private int nextSubtitleEventIndex
public transient void (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.text.TextRenderer, android.os.Looper, com.google.android.exoplayer.text.SubtitleParser[])
com.google.android.exoplayer.SampleSource source
com.google.android.exoplayer.text.TextRenderer textRenderer
android.os.Looper textRendererLooper
com.google.android.exoplayer.text.SubtitleParser[] subtitleParsers
public transient void (com.google.android.exoplayer.SampleSource[], com.google.android.exoplayer.text.TextRenderer, android.os.Looper, com.google.android.exoplayer.text.SubtitleParser[])
InstantiationException e
IllegalAccessException e
int i
com.google.android.exoplayer.SampleSource[] sources
com.google.android.exoplayer.text.TextRenderer textRenderer
android.os.Looper textRendererLooper
com.google.android.exoplayer.text.SubtitleParser[] subtitleParsers
protected boolean handlesTrack (com.google.android.exoplayer.MediaFormat)
com.google.android.exoplayer.MediaFormat mediaFormat
protected void onEnabled (int, long, boolean) throws com.google.android.exoplayer.ExoPlaybackException
int track
long positionUs
boolean joining
protected void onDiscontinuity (long)
long positionUs
protected void doSomeWork (long, long, boolean) throws com.google.android.exoplayer.ExoPlaybackException
java.io.IOException e
com.google.android.exoplayer.SampleHolder sampleHolder
int result
long positionUs
long elapsedRealtimeUs
boolean sourceIsReady
boolean textRendererNeedsUpdate
long subtitleNextEventTimeUs
protected void onDisabled () throws com.google.android.exoplayer.ExoPlaybackException
protected long getBufferedPositionUs ()
protected boolean isEnded ()
protected boolean isReady ()
private long getNextEventTime ()
private void updateTextRenderer (java.util.List)
java.util.List cues
private void clearTextRenderer ()
public boolean handleMessage (android.os.Message)
android.os.Message msg
private void invokeRendererInternalCues (java.util.List)
java.util.List cues
private int getParserIndex (com.google.android.exoplayer.MediaFormat)
int i
com.google.android.exoplayer.MediaFormat mediaFormat
static void ()
}
com/google/android/exoplayer/text/Cue.classCue.java
package com.google.android.exoplayer.text
public com.google.android.exoplayer.text.Cue extends java.lang.Object {
public static final float DIMEN_UNSET
public static final int TYPE_UNSET
public static final int ANCHOR_TYPE_START
public static final int ANCHOR_TYPE_MIDDLE
public static final int ANCHOR_TYPE_END
public static final int LINE_TYPE_FRACTION
public static final int LINE_TYPE_NUMBER
public final CharSequence text
public final android.text.Layout$Alignment textAlignment
public final float line
public final int lineType
public final int lineAnchor
public final float position
public final int positionAnchor
public final float size
public void ()
public void (java.lang.CharSequence)
CharSequence text
public void (java.lang.CharSequence, android.text.Layout$Alignment, float, int, int, float, int, float)
CharSequence text
android.text.Layout$Alignment textAlignment
float line
int lineType
int lineAnchor
float position
int positionAnchor
float size
}
com/google/android/exoplayer/text/PlayableSubtitle.classPlayableSubtitle.java
package com.google.android.exoplayer.text
final com.google.android.exoplayer.text.PlayableSubtitle extends java.lang.Object implements com.google.android.exoplayer.text.Subtitle {
public final long startTimeUs
private final com.google.android.exoplayer.text.Subtitle subtitle
private final long offsetUs
public void (com.google.android.exoplayer.text.Subtitle, boolean, long, long)
com.google.android.exoplayer.text.Subtitle subtitle
boolean isRelative
long startTimeUs
long offsetUs
public int getEventTimeCount ()
public long getEventTime (int)
int index
public long getLastEventTime ()
public int getNextEventTimeIndex (long)
long timeUs
public java.util.List getCues (long)
long timeUs
}
com/google/android/exoplayer/text/TextRenderer.classTextRenderer.java
package com.google.android.exoplayer.text
public abstract com.google.android.exoplayer.text.TextRenderer extends java.lang.Object {
public abstract void onCues (java.util.List)
}
com/google/android/exoplayer/text/ttml/
com/google/android/exoplayer/text/ttml/TtmlSubtitle.classTtmlSubtitle.java
package com.google.android.exoplayer.text.ttml
public final com.google.android.exoplayer.text.ttml.TtmlSubtitle extends java.lang.Object implements com.google.android.exoplayer.text.Subtitle {
private final com.google.android.exoplayer.text.ttml.TtmlNode root
private final long[] eventTimesUs
private final java.util.Map globalStyles
public void (com.google.android.exoplayer.text.ttml.TtmlNode, java.util.Map)
com.google.android.exoplayer.text.ttml.TtmlNode root
java.util.Map globalStyles
public int getNextEventTimeIndex (long)
long timeUs
int index
public int getEventTimeCount ()
public long getEventTime (int)
int index
public long getLastEventTime ()
com.google.android.exoplayer.text.ttml.TtmlNode getRoot ()
public java.util.List getCues (long)
com.google.android.exoplayer.text.Cue cue
long timeUs
CharSequence cueText
java.util.Map getGlobalStyles ()
}
com/google/android/exoplayer/text/ttml/TtmlColorParser.classTtmlColorParser.java
package com.google.android.exoplayer.text.ttml
final com.google.android.exoplayer.text.ttml.TtmlColorParser extends java.lang.Object {
private static final String RGB
private static final String RGBA
private static final java.util.regex.Pattern RGB_PATTERN
private static final java.util.regex.Pattern RGBA_PATTERN
static final int TRANSPARENT
static final int BLACK
static final int SILVER
static final int GRAY
static final int WHITE
static final int MAROON
static final int RED
static final int PURPLE
static final int FUCHSIA
static final int MAGENTA
static final int GREEN
static final int LIME
static final int OLIVE
static final int YELLOW
static final int NAVY
static final int BLUE
static final int TEAL
static final int AQUA
static final int CYAN
private static final java.util.Map COLOR_NAME_MAP
void ()
public static int parseColor (java.lang.String)
int color
java.util.regex.Matcher matcher
java.util.regex.Matcher matcher
Integer color
String colorExpression
private static int argb (int, int, int, int)
int alpha
int red
int green
int blue
private static int rgb (int, int, int)
int red
int green
int blue
static void ()
}
com/google/android/exoplayer/text/ttml/TtmlStyle.classTtmlStyle.java
package com.google.android.exoplayer.text.ttml
final com.google.android.exoplayer.text.ttml.TtmlStyle extends java.lang.Object {
public static final short UNSPECIFIED
public static final short STYLE_NORMAL
public static final short STYLE_BOLD
public static final short STYLE_ITALIC
public static final short STYLE_BOLD_ITALIC
public static final short FONT_SIZE_UNIT_PIXEL
public static final short FONT_SIZE_UNIT_EM
public static final short FONT_SIZE_UNIT_PERCENT
private static final short OFF
private static final short ON
private String fontFamily
private int color
private boolean colorSpecified
private int backgroundColor
private boolean backgroundColorSpecified
private short linethrough
private short underline
private short bold
private short italic
private short fontSizeUnit
private float fontSize
private String id
private com.google.android.exoplayer.text.ttml.TtmlStyle inheritableStyle
private android.text.Layout$Alignment textAlign
void ()
public short getStyle ()
short style
public boolean isLinethrough ()
public com.google.android.exoplayer.text.ttml.TtmlStyle setLinethrough (boolean)
boolean linethrough
public boolean isUnderline ()
public com.google.android.exoplayer.text.ttml.TtmlStyle setUnderline (boolean)
boolean underline
public java.lang.String getFontFamily ()
public com.google.android.exoplayer.text.ttml.TtmlStyle setFontFamily (java.lang.String)
String fontFamily
public int getColor ()
public com.google.android.exoplayer.text.ttml.TtmlStyle setColor (int)
int color
public boolean hasColorSpecified ()
public int getBackgroundColor ()
public com.google.android.exoplayer.text.ttml.TtmlStyle setBackgroundColor (int)
int backgroundColor
public boolean hasBackgroundColorSpecified ()
public com.google.android.exoplayer.text.ttml.TtmlStyle setBold (boolean)
boolean isBold
public com.google.android.exoplayer.text.ttml.TtmlStyle setItalic (boolean)
boolean isItalic
public com.google.android.exoplayer.text.ttml.TtmlStyle inherit (com.google.android.exoplayer.text.ttml.TtmlStyle)
com.google.android.exoplayer.text.ttml.TtmlStyle ancestor
public com.google.android.exoplayer.text.ttml.TtmlStyle chain (com.google.android.exoplayer.text.ttml.TtmlStyle)
com.google.android.exoplayer.text.ttml.TtmlStyle ancestor
private com.google.android.exoplayer.text.ttml.TtmlStyle inherit (com.google.android.exoplayer.text.ttml.TtmlStyle, boolean)
com.google.android.exoplayer.text.ttml.TtmlStyle ancestor
boolean chaining
public com.google.android.exoplayer.text.ttml.TtmlStyle setId (java.lang.String)
String id
public java.lang.String getId ()
public android.text.Layout$Alignment getTextAlign ()
public com.google.android.exoplayer.text.ttml.TtmlStyle setTextAlign (android.text.Layout$Alignment)
android.text.Layout$Alignment textAlign
public com.google.android.exoplayer.text.ttml.TtmlStyle setFontSize (float)
float fontSize
public com.google.android.exoplayer.text.ttml.TtmlStyle setFontSizeUnit (short)
short unit
public short getFontSizeUnit ()
public float getFontSize ()
}
com/google/android/exoplayer/text/ttml/TtmlNode.classTtmlNode.java
package com.google.android.exoplayer.text.ttml
final com.google.android.exoplayer.text.ttml.TtmlNode extends java.lang.Object {
public static final long UNDEFINED_TIME
public static final String TAG_TT
public static final String TAG_HEAD
public static final String TAG_BODY
public static final String TAG_DIV
public static final String TAG_P
public static final String TAG_SPAN
public static final String TAG_BR
public static final String TAG_STYLE
public static final String TAG_STYLING
public static final String TAG_LAYOUT
public static final String TAG_REGION
public static final String TAG_METADATA
public static final String TAG_SMPTE_IMAGE
public static final String TAG_SMPTE_DATA
public static final String TAG_SMPTE_INFORMATION
public static final String ATTR_ID
public static final String ATTR_TTS_BACKGROUND_COLOR
public static final String ATTR_TTS_FONT_STYLE
public static final String ATTR_TTS_FONT_SIZE
public static final String ATTR_TTS_FONT_FAMILY
public static final String ATTR_TTS_FONT_WEIGHT
public static final String ATTR_TTS_COLOR
public static final String ATTR_TTS_TEXT_DECORATION
public static final String ATTR_TTS_TEXT_ALIGN
public static final String LINETHROUGH
public static final String NO_LINETHROUGH
public static final String UNDERLINE
public static final String NO_UNDERLINE
public static final String ITALIC
public static final String BOLD
public static final String LEFT
public static final String CENTER
public static final String RIGHT
public static final String START
public static final String END
public final String tag
public final String text
public final boolean isTextNode
public final long startTimeUs
public final long endTimeUs
public final com.google.android.exoplayer.text.ttml.TtmlStyle style
private String[] styleIds
private java.util.List children
private int start
private int end
public static com.google.android.exoplayer.text.ttml.TtmlNode buildTextNode (java.lang.String)
String text
public static com.google.android.exoplayer.text.ttml.TtmlNode buildNode (java.lang.String, long, long, com.google.android.exoplayer.text.ttml.TtmlStyle, java.lang.String[])
String tag
long startTimeUs
long endTimeUs
com.google.android.exoplayer.text.ttml.TtmlStyle style
String[] styleIds
private void (java.lang.String, java.lang.String, long, long, com.google.android.exoplayer.text.ttml.TtmlStyle, java.lang.String[])
String tag
String text
long startTimeUs
long endTimeUs
com.google.android.exoplayer.text.ttml.TtmlStyle style
String[] styleIds
public boolean isActive (long)
long timeUs
public void addChild (com.google.android.exoplayer.text.ttml.TtmlNode)
com.google.android.exoplayer.text.ttml.TtmlNode child
public com.google.android.exoplayer.text.ttml.TtmlNode getChild (int)
int index
public int getChildCount ()
public long[] getEventTimesUs ()
long eventTimeUs
java.util.TreeSet eventTimeSet
long[] eventTimes
java.util.Iterator eventTimeIterator
int i
private void getEventTimes (java.util.TreeSet, boolean)
int i
java.util.TreeSet out
boolean descendsPNode
boolean isPNode
public java.lang.String[] getStyleIds ()
public java.lang.CharSequence getText (long, java.util.Map)
int j
int spacesToDelete
int i
int i
int i
long timeUs
java.util.Map globalStyles
android.text.SpannableStringBuilder builder
int builderLength
private android.text.SpannableStringBuilder traverseForText (long, android.text.SpannableStringBuilder, boolean)
int i
boolean isPNode
long timeUs
android.text.SpannableStringBuilder builder
boolean descendsPNode
private void traverseForStyle (android.text.SpannableStringBuilder, java.util.Map)
int i
com.google.android.exoplayer.text.ttml.TtmlStyle resolvedStyle
android.text.SpannableStringBuilder builder
java.util.Map globalStyles
}
com/google/android/exoplayer/text/ttml/TtmlRenderUtil.classTtmlRenderUtil.java
package com.google.android.exoplayer.text.ttml
final com.google.android.exoplayer.text.ttml.TtmlRenderUtil extends java.lang.Object {
public static com.google.android.exoplayer.text.ttml.TtmlStyle resolveStyle (com.google.android.exoplayer.text.ttml.TtmlStyle, java.lang.String[], java.util.Map)
int i
com.google.android.exoplayer.text.ttml.TtmlStyle chainedStyle
int i
com.google.android.exoplayer.text.ttml.TtmlStyle style
String[] styleIds
java.util.Map globalStyles
public static void applyStylesToSpan (android.text.SpannableStringBuilder, int, int, com.google.android.exoplayer.text.ttml.TtmlStyle)
android.text.SpannableStringBuilder builder
int start
int end
com.google.android.exoplayer.text.ttml.TtmlStyle style
static void endParagraph (android.text.SpannableStringBuilder)
android.text.SpannableStringBuilder builder
int position
static java.lang.String applyTextElementSpacePolicy (java.lang.String)
String in
String out
private void ()
}
com/google/android/exoplayer/text/ttml/TtmlParser.classTtmlParser.java
package com.google.android.exoplayer.text.ttml
public final com.google.android.exoplayer.text.ttml.TtmlParser extends java.lang.Object implements com.google.android.exoplayer.text.SubtitleParser {
private static final String TAG
private static final String ATTR_BEGIN
private static final String ATTR_DURATION
private static final String ATTR_END
private static final String ATTR_STYLE
private static final java.util.regex.Pattern CLOCK_TIME
private static final java.util.regex.Pattern OFFSET_TIME
private static final java.util.regex.Pattern FONT_SIZE
private static final int DEFAULT_FRAMERATE
private static final int DEFAULT_SUBFRAMERATE
private static final int DEFAULT_TICKRATE
private final org.xmlpull.v1.XmlPullParserFactory xmlParserFactory
public void ()
org.xmlpull.v1.XmlPullParserException e
public boolean canParse (java.lang.String)
String mimeType
public com.google.android.exoplayer.text.ttml.TtmlSubtitle parse (byte[], int, int) throws com.google.android.exoplayer.ParserException
com.google.android.exoplayer.text.ttml.TtmlNode node
com.google.android.exoplayer.ParserException e
String name
com.google.android.exoplayer.text.ttml.TtmlNode parent
org.xmlpull.v1.XmlPullParser xmlParser
java.util.Map globalStyles
java.io.ByteArrayInputStream inputStream
com.google.android.exoplayer.text.ttml.TtmlSubtitle ttmlSubtitle
java.util.LinkedList nodeStack
int unsupportedNodeDepth
int eventType
org.xmlpull.v1.XmlPullParserException xppe
java.io.IOException e
byte[] bytes
int offset
int length
private java.util.Map parseHeader (org.xmlpull.v1.XmlPullParser, java.util.Map) throws java.io.IOException org.xmlpull.v1.XmlPullParserException
int i
String[] ids
String parentStyleId
com.google.android.exoplayer.text.ttml.TtmlStyle style
org.xmlpull.v1.XmlPullParser xmlParser
java.util.Map globalStyles
private java.lang.String[] parseStyleIds (java.lang.String)
String parentStyleIds
private com.google.android.exoplayer.text.ttml.TtmlStyle parseStyleAttributes (org.xmlpull.v1.XmlPullParser, com.google.android.exoplayer.text.ttml.TtmlStyle)
IllegalArgumentException e
IllegalArgumentException e
com.google.android.exoplayer.ParserException e
String attributeName
String attributeValue
int i
org.xmlpull.v1.XmlPullParser parser
com.google.android.exoplayer.text.ttml.TtmlStyle style
int attributeCount
private com.google.android.exoplayer.text.ttml.TtmlStyle createIfNull (com.google.android.exoplayer.text.ttml.TtmlStyle)
com.google.android.exoplayer.text.ttml.TtmlStyle style
private com.google.android.exoplayer.text.ttml.TtmlNode parseNode (org.xmlpull.v1.XmlPullParser, com.google.android.exoplayer.text.ttml.TtmlNode) throws com.google.android.exoplayer.ParserException
String[] ids
String attr
String value
int i
org.xmlpull.v1.XmlPullParser parser
com.google.android.exoplayer.text.ttml.TtmlNode parent
long duration
long startTime
long endTime
String[] styleIds
int attributeCount
com.google.android.exoplayer.text.ttml.TtmlStyle style
private static boolean isSupportedTag (java.lang.String)
String tag
private static void parseFontSize (java.lang.String, com.google.android.exoplayer.text.ttml.TtmlStyle) throws com.google.android.exoplayer.ParserException
java.util.regex.Matcher matcher
java.util.regex.Matcher matcher
String unit
String expression
com.google.android.exoplayer.text.ttml.TtmlStyle out
String[] expressions
java.util.regex.Matcher matcher
private static long parseTimeExpression (java.lang.String, int, int, int) throws com.google.android.exoplayer.ParserException
String hours
double durationSeconds
String minutes
String seconds
String fraction
String frames
String subframes
String timeValue
double offsetSeconds
String unit
String time
int frameRate
int subframeRate
int tickRate
java.util.regex.Matcher matcher
public volatile com.google.android.exoplayer.text.Subtitle parse (byte[], int, int) throws com.google.android.exoplayer.ParserException
static void ()
}
com/google/android/exoplayer/text/webvtt/
com/google/android/exoplayer/text/webvtt/Mp4WebvttSubtitle.classMp4WebvttSubtitle.java
package com.google.android.exoplayer.text.webvtt
final com.google.android.exoplayer.text.webvtt.Mp4WebvttSubtitle extends java.lang.Object implements com.google.android.exoplayer.text.Subtitle {
private final java.util.List cues
public void (java.util.List)
java.util.List cueList
public int getNextEventTimeIndex (long)
long timeUs
public int getEventTimeCount ()
public long getEventTime (int)
int index
public long getLastEventTime ()
public java.util.List getCues (long)
long timeUs
}
com/google/android/exoplayer/text/webvtt/WebvttCueParser$StartTag.classWebvttCueParser.java
package com.google.android.exoplayer.text.webvtt
final com.google.android.exoplayer.text.webvtt.WebvttCueParser$StartTag extends java.lang.Object {
public final String name
public final int position
public void (java.lang.String, int)
String name
int position
}
com/google/android/exoplayer/text/webvtt/WebvttCue$Builder.classWebvttCue.java
package com.google.android.exoplayer.text.webvtt
public final com.google.android.exoplayer.text.webvtt.WebvttCue$Builder extends java.lang.Object {
private static final String TAG
private long startTime
private long endTime
private CharSequence text
private android.text.Layout$Alignment textAlignment
private float line
private int lineType
private int lineAnchor
private float position
private int positionAnchor
private float width
public void ()
public void reset ()
public com.google.android.exoplayer.text.webvtt.WebvttCue build ()
public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setStartTime (long)
long time
public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setEndTime (long)
long time
public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setText (java.lang.CharSequence)
CharSequence aText
public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setTextAlignment (android.text.Layout$Alignment)
android.text.Layout$Alignment textAlignment
public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setLine (float)
float line
public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setLineType (int)
int lineType
public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setLineAnchor (int)
int lineAnchor
public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setPosition (float)
float position
public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setPositionAnchor (int)
int positionAnchor
public com.google.android.exoplayer.text.webvtt.WebvttCue$Builder setWidth (float)
float width
private com.google.android.exoplayer.text.webvtt.WebvttCue$Builder derivePositionAnchorFromAlignment ()
}
com/google/android/exoplayer/text/webvtt/WebvttCueParser.classWebvttCueParser.java
package com.google.android.exoplayer.text.webvtt
public final com.google.android.exoplayer.text.webvtt.WebvttCueParser extends java.lang.Object {
public static final java.util.regex.Pattern CUE_HEADER_PATTERN
private static final java.util.regex.Pattern COMMENT
private static final java.util.regex.Pattern CUE_SETTING_PATTERN
private static final char CHAR_LESS_THAN
private static final char CHAR_GREATER_THAN
private static final char CHAR_SLASH
private static final char CHAR_AMPERSAND
private static final char CHAR_SEMI_COLON
private static final char CHAR_SPACE
private static final String SPACE
private static final String ENTITY_LESS_THAN
private static final String ENTITY_GREATER_THAN
private static final String ENTITY_AMPERSAND
private static final String ENTITY_NON_BREAK_SPACE
private static final String TAG_BOLD
private static final String TAG_ITALIC
private static final String TAG_UNDERLINE
private static final String TAG_CLASS
private static final String TAG_VOICE
private static final String TAG_LANG
private static final int STYLE_BOLD
private static final int STYLE_ITALIC
private static final String TAG
private final StringBuilder textBuilder
public void ()
boolean parseNextValidCue (com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.text.webvtt.WebvttCue$Builder)
com.google.android.exoplayer.util.ParsableByteArray webvttData
com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
java.util.regex.Matcher cueHeaderMatcher
static void parseCueSettingsList (java.lang.String, com.google.android.exoplayer.text.webvtt.WebvttCue$Builder)
NumberFormatException e
String name
String value
String cueSettingsList
com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
java.util.regex.Matcher cueSettingMatcher
public static java.util.regex.Matcher findNextCueHeader (com.google.android.exoplayer.util.ParsableByteArray)
java.util.regex.Matcher cueHeaderMatcher
com.google.android.exoplayer.util.ParsableByteArray input
String line
static void parseCueText (java.lang.String, com.google.android.exoplayer.text.webvtt.WebvttCue$Builder)
com.google.android.exoplayer.text.webvtt.WebvttCueParser$StartTag startTag
int ltPos
boolean isClosingTag
boolean isVoidTag
int semiColonEnd
int spaceEnd
int entityEnd
char curr
String markup
com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
android.text.SpannableStringBuilder spannedText
java.util.Stack startTagStack
String[] tagTokens
int pos
private static boolean parseCue (java.util.regex.Matcher, com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.text.webvtt.WebvttCue$Builder, java.lang.StringBuilder)
NumberFormatException e
java.util.regex.Matcher cueHeaderMatcher
com.google.android.exoplayer.util.ParsableByteArray webvttData
com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
StringBuilder textBuilder
String line
private static void parseLineAttribute (java.lang.String, com.google.android.exoplayer.text.webvtt.WebvttCue$Builder) throws java.lang.NumberFormatException
String s
com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
int commaPosition
private static void parsePositionAttribute (java.lang.String, com.google.android.exoplayer.text.webvtt.WebvttCue$Builder) throws java.lang.NumberFormatException
String s
com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
int commaPosition
private static int parsePositionAnchor (java.lang.String)
String s
private static android.text.Layout$Alignment parseTextAlignment (java.lang.String)
String s
private static int findEndOfTag (java.lang.String, int)
String markup
int startPos
int idx
private static void applyEntity (java.lang.String, android.text.SpannableStringBuilder)
String entity
android.text.SpannableStringBuilder spannedText
private static boolean isSupportedTag (java.lang.String)
String tagName
private static void applySpansForTag (com.google.android.exoplayer.text.webvtt.WebvttCueParser$StartTag, android.text.SpannableStringBuilder)
com.google.android.exoplayer.text.webvtt.WebvttCueParser$StartTag startTag
android.text.SpannableStringBuilder spannedText
private static java.lang.String[] tokenizeTag (java.lang.String)
String fullTagExpression
static void ()
}
com/google/android/exoplayer/text/webvtt/WebvttParser.classWebvttParser.java
package com.google.android.exoplayer.text.webvtt
public final com.google.android.exoplayer.text.webvtt.WebvttParser extends java.lang.Object implements com.google.android.exoplayer.text.SubtitleParser {
private final com.google.android.exoplayer.text.webvtt.WebvttCueParser cueParser
private final com.google.android.exoplayer.util.ParsableByteArray parsableWebvttData
private final com.google.android.exoplayer.text.webvtt.WebvttCue$Builder webvttCueBuilder
public void ()
public final boolean canParse (java.lang.String)
String mimeType
public final com.google.android.exoplayer.text.webvtt.WebvttSubtitle parse (byte[], int, int) throws com.google.android.exoplayer.ParserException
byte[] bytes
int offset
int length
java.util.ArrayList subtitles
public volatile com.google.android.exoplayer.text.Subtitle parse (byte[], int, int) throws com.google.android.exoplayer.ParserException
}
com/google/android/exoplayer/text/webvtt/WebvttCue$1.classWebvttCue.java
package com.google.android.exoplayer.text.webvtt
com.google.android.exoplayer.text.webvtt.WebvttCue$1 extends java.lang.Object {
static final int[] $SwitchMap$android$text$Layout$Alignment
static void ()
}
com/google/android/exoplayer/text/webvtt/WebvttCue.classWebvttCue.java
package com.google.android.exoplayer.text.webvtt
final com.google.android.exoplayer.text.webvtt.WebvttCue extends com.google.android.exoplayer.text.Cue {
public final long startTime
public final long endTime
public void (java.lang.CharSequence)
CharSequence text
public void (long, long, java.lang.CharSequence)
long startTime
long endTime
CharSequence text
public void (long, long, java.lang.CharSequence, android.text.Layout$Alignment, float, int, int, float, int, float)
long startTime
long endTime
CharSequence text
android.text.Layout$Alignment textAlignment
float line
int lineType
int lineAnchor
float position
int positionAnchor
float width
public boolean isNormalCue ()
}
com/google/android/exoplayer/text/webvtt/WebvttSubtitle.classWebvttSubtitle.java
package com.google.android.exoplayer.text.webvtt
public final com.google.android.exoplayer.text.webvtt.WebvttSubtitle extends java.lang.Object implements com.google.android.exoplayer.text.Subtitle {
private final java.util.List cues
private final int numCues
private final long[] cueTimesUs
private final long[] sortedCueTimesUs
public void (java.util.List)
com.google.android.exoplayer.text.webvtt.WebvttCue cue
int arrayIndex
int cueIndex
java.util.List cues
public int getNextEventTimeIndex (long)
long timeUs
int index
public int getEventTimeCount ()
public long getEventTime (int)
int index
public long getLastEventTime ()
public java.util.List getCues (long)
com.google.android.exoplayer.text.webvtt.WebvttCue cue
int i
long timeUs
java.util.ArrayList list
com.google.android.exoplayer.text.webvtt.WebvttCue firstNormalCue
android.text.SpannableStringBuilder normalCueTextBuilder
}
com/google/android/exoplayer/text/webvtt/WebvttParserUtil.classWebvttParserUtil.java
package com.google.android.exoplayer.text.webvtt
public final com.google.android.exoplayer.text.webvtt.WebvttParserUtil extends java.lang.Object {
private static final java.util.regex.Pattern HEADER
private void ()
public static void validateWebvttHeaderLine (com.google.android.exoplayer.util.ParsableByteArray) throws com.google.android.exoplayer.ParserException
com.google.android.exoplayer.util.ParsableByteArray input
String line
public static long parseTimestampUs (java.lang.String) throws java.lang.NumberFormatException
int i
String timestamp
long value
String[] parts
String[] subparts
public static float parsePercentage (java.lang.String) throws java.lang.NumberFormatException
String s
static void ()
}
com/google/android/exoplayer/text/webvtt/Mp4WebvttParser.classMp4WebvttParser.java
package com.google.android.exoplayer.text.webvtt
public final com.google.android.exoplayer.text.webvtt.Mp4WebvttParser extends java.lang.Object implements com.google.android.exoplayer.text.SubtitleParser {
private static final int BOX_HEADER_SIZE
private static final int TYPE_payl
private static final int TYPE_sttg
private static final int TYPE_vttc
private final com.google.android.exoplayer.util.ParsableByteArray sampleData
private final com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
public void ()
public boolean canParse (java.lang.String)
String mimeType
public com.google.android.exoplayer.text.webvtt.Mp4WebvttSubtitle parse (byte[], int, int) throws com.google.android.exoplayer.ParserException
int boxSize
int boxType
byte[] bytes
int offset
int length
java.util.List resultingCueList
private static com.google.android.exoplayer.text.Cue parseVttCueBox (com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.text.webvtt.WebvttCue$Builder, int) throws com.google.android.exoplayer.ParserException
int boxSize
int boxType
int payloadLength
String boxPayload
com.google.android.exoplayer.util.ParsableByteArray sampleData
com.google.android.exoplayer.text.webvtt.WebvttCue$Builder builder
int remainingCueBoxBytes
public volatile com.google.android.exoplayer.text.Subtitle parse (byte[], int, int) throws com.google.android.exoplayer.ParserException
static void ()
}
com/google/android/exoplayer/text/Subtitle.classSubtitle.java
package com.google.android.exoplayer.text
public abstract com.google.android.exoplayer.text.Subtitle extends java.lang.Object {
public abstract int getNextEventTimeIndex (long)
public abstract int getEventTimeCount ()
public abstract long getEventTime (int)
public abstract long getLastEventTime ()
public abstract java.util.List getCues (long)
}
com/google/android/exoplayer/text/SubtitleLayout.classSubtitleLayout.java
package com.google.android.exoplayer.text
public final com.google.android.exoplayer.text.SubtitleLayout extends android.view.View {
public static final float DEFAULT_TEXT_SIZE_FRACTION
public static final float DEFAULT_BOTTOM_PADDING_FRACTION
private static final int FRACTIONAL
private static final int FRACTIONAL_IGNORE_PADDING
private static final int ABSOLUTE
private final java.util.List painters
private java.util.List cues
private int textSizeType
private float textSize
private boolean applyEmbeddedStyles
private com.google.android.exoplayer.text.CaptionStyleCompat style
private float bottomPaddingFraction
public void (android.content.Context)
android.content.Context context
public void (android.content.Context, android.util.AttributeSet)
android.content.Context context
android.util.AttributeSet attrs
public void setCues (java.util.List)
java.util.List cues
int cueCount
public void setFixedTextSize (int, float)
android.content.res.Resources resources
int unit
float size
android.content.Context context
android.content.res.Resources resources
public void setFractionalTextSize (float)
float fractionOfHeight
public void setFractionalTextSize (float, boolean)
float fractionOfHeight
boolean ignorePadding
private void setTextSize (int, float)
int textSizeType
float textSize
public void setApplyEmbeddedStyles (boolean)
boolean applyEmbeddedStyles
public void setStyle (com.google.android.exoplayer.text.CaptionStyleCompat)
com.google.android.exoplayer.text.CaptionStyleCompat style
public void setBottomPaddingFraction (float)
float bottomPaddingFraction
public void dispatchDraw (android.graphics.Canvas)
int i
android.graphics.Canvas canvas
int cueCount
int rawTop
int rawBottom
int left
int top
int right
int bottom
float textSizePx
}
com/google/android/exoplayer/text/tx3g/
com/google/android/exoplayer/text/tx3g/Tx3gSubtitle.classTx3gSubtitle.java
package com.google.android.exoplayer.text.tx3g
final com.google.android.exoplayer.text.tx3g.Tx3gSubtitle extends java.lang.Object implements com.google.android.exoplayer.text.Subtitle {
private final java.util.List cues
public void (com.google.android.exoplayer.text.Cue)
com.google.android.exoplayer.text.Cue cue
public int getNextEventTimeIndex (long)
long timeUs
public int getEventTimeCount ()
public long getEventTime (int)
int index
public long getLastEventTime ()
public java.util.List getCues (long)
long timeUs
}
com/google/android/exoplayer/text/tx3g/Tx3gParser.classTx3gParser.java
package com.google.android.exoplayer.text.tx3g
public final com.google.android.exoplayer.text.tx3g.Tx3gParser extends java.lang.Object implements com.google.android.exoplayer.text.SubtitleParser {
public void ()
public boolean canParse (java.lang.String)
String mimeType
public com.google.android.exoplayer.text.Subtitle parse (byte[], int, int)
byte[] bytes
int offset
int length
String cueText
}
com/google/android/exoplayer/text/SubtitleParser.classSubtitleParser.java
package com.google.android.exoplayer.text
public abstract com.google.android.exoplayer.text.SubtitleParser extends java.lang.Object {
public abstract boolean canParse (java.lang.String)
public abstract com.google.android.exoplayer.text.Subtitle parse (byte[], int, int) throws com.google.android.exoplayer.ParserException
}
com/google/android/exoplayer/DecoderInfo.classDecoderInfo.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.DecoderInfo extends java.lang.Object {
public final String name
public final boolean adaptive
void (java.lang.String, boolean)
String name
boolean adaptive
}
com/google/android/exoplayer/DefaultLoadControl$1.classDefaultLoadControl.java
package com.google.android.exoplayer
com.google.android.exoplayer.DefaultLoadControl$1 extends java.lang.Object implements java.lang.Runnable {
final boolean val$loading
final com.google.android.exoplayer.DefaultLoadControl this$0
void (com.google.android.exoplayer.DefaultLoadControl, boolean)
com.google.android.exoplayer.DefaultLoadControl this$0
public void run ()
}
com/google/android/exoplayer/VideoFrameReleaseTimeHelper$VSyncSampler.classVideoFrameReleaseTimeHelper.java
package com.google.android.exoplayer
final com.google.android.exoplayer.VideoFrameReleaseTimeHelper$VSyncSampler extends java.lang.Object implements android.view.Choreographer$FrameCallback android.os.Handler$Callback {
public volatile long sampledVsyncTimeNs
private static final int CREATE_CHOREOGRAPHER
private static final int MSG_ADD_OBSERVER
private static final int MSG_REMOVE_OBSERVER
private static final com.google.android.exoplayer.VideoFrameReleaseTimeHelper$VSyncSampler INSTANCE
private final android.os.Handler handler
private final android.os.HandlerThread choreographerOwnerThread
private android.view.Choreographer choreographer
private int observerCount
public static com.google.android.exoplayer.VideoFrameReleaseTimeHelper$VSyncSampler getInstance ()
private void ()
public void addObserver ()
public void removeObserver ()
public void doFrame (long)
long vsyncTimeNs
public boolean handleMessage (android.os.Message)
android.os.Message message
private void createChoreographerInstanceInternal ()
private void addObserverInternal ()
private void removeObserverInternal ()
static void ()
}
com/google/android/exoplayer/ExoPlayer$ExoPlayerComponent.classExoPlayer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent extends java.lang.Object {
public abstract void handleMessage (int, java.lang.Object) throws com.google.android.exoplayer.ExoPlaybackException
}
com/google/android/exoplayer/ExoPlayer$Listener.classExoPlayer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.ExoPlayer$Listener extends java.lang.Object {
public abstract void onPlayerStateChanged (boolean, int)
public abstract void onPlayWhenReadyCommitted ()
public abstract void onPlayerError (com.google.android.exoplayer.ExoPlaybackException)
}
com/google/android/exoplayer/MediaFormatHolder.classMediaFormatHolder.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.MediaFormatHolder extends java.lang.Object {
public com.google.android.exoplayer.MediaFormat format
public com.google.android.exoplayer.drm.DrmInitData drmInitData
public void ()
}
com/google/android/exoplayer/chunk/
com/google/android/exoplayer/chunk/ChunkSampleSource$4.classChunkSampleSource.java
package com.google.android.exoplayer.chunk
com.google.android.exoplayer.chunk.ChunkSampleSource$4 extends java.lang.Object implements java.lang.Runnable {
final java.io.IOException val$e
final com.google.android.exoplayer.chunk.ChunkSampleSource this$0
void (com.google.android.exoplayer.chunk.ChunkSampleSource, java.io.IOException)
com.google.android.exoplayer.chunk.ChunkSampleSource this$0
public void run ()
}
com/google/android/exoplayer/chunk/ChunkSampleSource$1.classChunkSampleSource.java
package com.google.android.exoplayer.chunk
com.google.android.exoplayer.chunk.ChunkSampleSource$1 extends java.lang.Object implements java.lang.Runnable {
final long val$length
final int val$type
final int val$trigger
final com.google.android.exoplayer.chunk.Format val$format
final long val$mediaStartTimeUs
final long val$mediaEndTimeUs
final com.google.android.exoplayer.chunk.ChunkSampleSource this$0
void (com.google.android.exoplayer.chunk.ChunkSampleSource, long, int, int, com.google.android.exoplayer.chunk.Format, long, long)
com.google.android.exoplayer.chunk.ChunkSampleSource this$0
public void run ()
}
com/google/android/exoplayer/chunk/FormatEvaluator$RandomEvaluator.classFormatEvaluator.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.FormatEvaluator$RandomEvaluator extends java.lang.Object implements com.google.android.exoplayer.chunk.FormatEvaluator {
private final java.util.Random random
public void ()
public void (int)
int seed
public void enable ()
public void disable ()
public void evaluate (java.util.List, long, com.google.android.exoplayer.chunk.Format[], com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation)
java.util.List queue
long playbackPositionUs
com.google.android.exoplayer.chunk.Format[] formats
com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation evaluation
com.google.android.exoplayer.chunk.Format newFormat
}
com/google/android/exoplayer/chunk/MediaChunk.classMediaChunk.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.MediaChunk extends com.google.android.exoplayer.chunk.Chunk {
public final long startTimeUs
public final long endTimeUs
public final int chunkIndex
public void (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, long, long, int)
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.DataSpec dataSpec
int trigger
com.google.android.exoplayer.chunk.Format format
long startTimeUs
long endTimeUs
int chunkIndex
public int getNextChunkIndex ()
public void (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, long, long, int, int)
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.DataSpec dataSpec
int trigger
com.google.android.exoplayer.chunk.Format format
long startTimeUs
long endTimeUs
int chunkIndex
int parentId
}
com/google/android/exoplayer/chunk/ContainerMediaChunk.classContainerMediaChunk.java
package com.google.android.exoplayer.chunk
public com.google.android.exoplayer.chunk.ContainerMediaChunk extends com.google.android.exoplayer.chunk.BaseMediaChunk implements com.google.android.exoplayer.chunk.ChunkExtractorWrapper$SingleTrackOutput {
private final com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractorWrapper
private final long sampleOffsetUs
private final int adaptiveMaxWidth
private final int adaptiveMaxHeight
private com.google.android.exoplayer.MediaFormat mediaFormat
private com.google.android.exoplayer.drm.DrmInitData drmInitData
private volatile int bytesLoaded
private volatile boolean loadCanceled
public void (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, long, long, int, long, com.google.android.exoplayer.chunk.ChunkExtractorWrapper, com.google.android.exoplayer.MediaFormat, int, int, com.google.android.exoplayer.drm.DrmInitData, boolean, int)
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.DataSpec dataSpec
int trigger
com.google.android.exoplayer.chunk.Format format
long startTimeUs
long endTimeUs
int chunkIndex
long sampleOffsetUs
com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractorWrapper
com.google.android.exoplayer.MediaFormat mediaFormat
int adaptiveMaxWidth
int adaptiveMaxHeight
com.google.android.exoplayer.drm.DrmInitData drmInitData
boolean isMediaFormatFinal
int parentId
public final long bytesLoaded ()
public final com.google.android.exoplayer.MediaFormat getMediaFormat ()
public final com.google.android.exoplayer.drm.DrmInitData getDrmInitData ()
public final void seekMap (com.google.android.exoplayer.extractor.SeekMap)
com.google.android.exoplayer.extractor.SeekMap seekMap
public final void drmInitData (com.google.android.exoplayer.drm.DrmInitData)
com.google.android.exoplayer.drm.DrmInitData drmInitData
public final void format (com.google.android.exoplayer.MediaFormat)
com.google.android.exoplayer.MediaFormat mediaFormat
public final int sampleData (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
int length
boolean allowEndOfInput
public final void sampleData (com.google.android.exoplayer.util.ParsableByteArray, int)
com.google.android.exoplayer.util.ParsableByteArray data
int length
public final void sampleMetadata (long, int, int, int, byte[])
long timeUs
int flags
int size
int offset
byte[] encryptionKey
public final void cancelLoad ()
public final boolean isLoadCanceled ()
public final void load () throws java.io.IOException java.lang.InterruptedException
int result
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.upstream.DataSpec loadDataSpec
private static com.google.android.exoplayer.MediaFormat getAdjustedMediaFormat (com.google.android.exoplayer.MediaFormat, long, int, int)
com.google.android.exoplayer.MediaFormat format
long sampleOffsetUs
int adaptiveMaxWidth
int adaptiveMaxHeight
}
com/google/android/exoplayer/chunk/DataChunk.classDataChunk.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.DataChunk extends com.google.android.exoplayer.chunk.Chunk {
private static final int READ_GRANULARITY
private byte[] data
private int limit
private volatile boolean loadCanceled
public void (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, int, com.google.android.exoplayer.chunk.Format, int, byte[])
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.DataSpec dataSpec
int type
int trigger
com.google.android.exoplayer.chunk.Format format
int parentId
byte[] data
public byte[] getDataHolder ()
public long bytesLoaded ()
public final void cancelLoad ()
public final boolean isLoadCanceled ()
public final void load () throws java.io.IOException java.lang.InterruptedException
int bytesRead
protected abstract void consume (byte[], int) throws java.io.IOException
private void maybeExpandData ()
}
com/google/android/exoplayer/chunk/SingleSampleMediaChunk.classSingleSampleMediaChunk.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.SingleSampleMediaChunk extends com.google.android.exoplayer.chunk.BaseMediaChunk {
private final com.google.android.exoplayer.MediaFormat sampleFormat
private final com.google.android.exoplayer.drm.DrmInitData sampleDrmInitData
private volatile int bytesLoaded
private volatile boolean loadCanceled
public void (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, long, long, int, com.google.android.exoplayer.MediaFormat, com.google.android.exoplayer.drm.DrmInitData, int)
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.DataSpec dataSpec
int trigger
com.google.android.exoplayer.chunk.Format format
long startTimeUs
long endTimeUs
int chunkIndex
com.google.android.exoplayer.MediaFormat sampleFormat
com.google.android.exoplayer.drm.DrmInitData sampleDrmInitData
int parentId
public long bytesLoaded ()
public com.google.android.exoplayer.MediaFormat getMediaFormat ()
public com.google.android.exoplayer.drm.DrmInitData getDrmInitData ()
public void cancelLoad ()
public boolean isLoadCanceled ()
public void load () throws java.io.IOException java.lang.InterruptedException
int result
int sampleSize
com.google.android.exoplayer.upstream.DataSpec loadDataSpec
}
com/google/android/exoplayer/chunk/Chunk.classChunk.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.Chunk extends java.lang.Object implements com.google.android.exoplayer.upstream.Loader$Loadable {
public static final int TYPE_UNSPECIFIED
public static final int TYPE_MEDIA
public static final int TYPE_MEDIA_INITIALIZATION
public static final int TYPE_DRM
public static final int TYPE_MANIFEST
public static final int TYPE_CUSTOM_BASE
public static final int TRIGGER_UNSPECIFIED
public static final int TRIGGER_INITIAL
public static final int TRIGGER_MANUAL
public static final int TRIGGER_ADAPTIVE
public static final int TRIGGER_TRICK_PLAY
public static final int TRIGGER_CUSTOM_BASE
public static final int NO_PARENT_ID
public final int type
public final int trigger
public final com.google.android.exoplayer.chunk.Format format
public final com.google.android.exoplayer.upstream.DataSpec dataSpec
public final int parentId
protected final com.google.android.exoplayer.upstream.DataSource dataSource
public void (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, int, com.google.android.exoplayer.chunk.Format, int)
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.DataSpec dataSpec
int type
int trigger
com.google.android.exoplayer.chunk.Format format
int parentId
public abstract long bytesLoaded ()
}
com/google/android/exoplayer/chunk/ChunkSampleSource$2.classChunkSampleSource.java
package com.google.android.exoplayer.chunk
com.google.android.exoplayer.chunk.ChunkSampleSource$2 extends java.lang.Object implements java.lang.Runnable {
final long val$bytesLoaded
final int val$type
final int val$trigger
final com.google.android.exoplayer.chunk.Format val$format
final long val$mediaStartTimeUs
final long val$mediaEndTimeUs
final long val$elapsedRealtimeMs
final long val$loadDurationMs
final com.google.android.exoplayer.chunk.ChunkSampleSource this$0
void (com.google.android.exoplayer.chunk.ChunkSampleSource, long, int, int, com.google.android.exoplayer.chunk.Format, long, long, long, long)
com.google.android.exoplayer.chunk.ChunkSampleSource this$0
public void run ()
}
com/google/android/exoplayer/chunk/FormatEvaluator$AdaptiveEvaluator.classFormatEvaluator.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.FormatEvaluator$AdaptiveEvaluator extends java.lang.Object implements com.google.android.exoplayer.chunk.FormatEvaluator {
public static final int DEFAULT_MAX_INITIAL_BITRATE
public static final int DEFAULT_MIN_DURATION_FOR_QUALITY_INCREASE_MS
public static final int DEFAULT_MAX_DURATION_FOR_QUALITY_DECREASE_MS
public static final int DEFAULT_MIN_DURATION_TO_RETAIN_AFTER_DISCARD_MS
public static final float DEFAULT_BANDWIDTH_FRACTION
private final com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
private final int maxInitialBitrate
private final long minDurationForQualityIncreaseUs
private final long maxDurationForQualityDecreaseUs
private final long minDurationToRetainAfterDiscardUs
private final float bandwidthFraction
public void (com.google.android.exoplayer.upstream.BandwidthMeter)
com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
public void (com.google.android.exoplayer.upstream.BandwidthMeter, int, int, int, int, float)
com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
int maxInitialBitrate
int minDurationForQualityIncreaseMs
int maxDurationForQualityDecreaseMs
int minDurationToRetainAfterDiscardMs
float bandwidthFraction
public void enable ()
public void disable ()
public void evaluate (java.util.List, long, com.google.android.exoplayer.chunk.Format[], com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation)
com.google.android.exoplayer.chunk.MediaChunk thisChunk
long durationBeforeThisSegmentUs
int i
java.util.List queue
long playbackPositionUs
com.google.android.exoplayer.chunk.Format[] formats
com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation evaluation
long bufferedDurationUs
com.google.android.exoplayer.chunk.Format current
com.google.android.exoplayer.chunk.Format ideal
boolean isHigher
boolean isLower
private com.google.android.exoplayer.chunk.Format determineIdealFormat (com.google.android.exoplayer.chunk.Format[], long)
com.google.android.exoplayer.chunk.Format format
int i
com.google.android.exoplayer.chunk.Format[] formats
long bitrateEstimate
long effectiveBitrate
}
com/google/android/exoplayer/chunk/InitializationChunk.classInitializationChunk.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.InitializationChunk extends com.google.android.exoplayer.chunk.Chunk implements com.google.android.exoplayer.chunk.ChunkExtractorWrapper$SingleTrackOutput {
private final com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractorWrapper
private com.google.android.exoplayer.MediaFormat mediaFormat
private com.google.android.exoplayer.drm.DrmInitData drmInitData
private com.google.android.exoplayer.extractor.SeekMap seekMap
private volatile int bytesLoaded
private volatile boolean loadCanceled
public void (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.chunk.ChunkExtractorWrapper)
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.DataSpec dataSpec
int trigger
com.google.android.exoplayer.chunk.Format format
com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractorWrapper
public void (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.chunk.ChunkExtractorWrapper, int)
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.DataSpec dataSpec
int trigger
com.google.android.exoplayer.chunk.Format format
com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractorWrapper
int parentId
public long bytesLoaded ()
public boolean hasFormat ()
public com.google.android.exoplayer.MediaFormat getFormat ()
public boolean hasDrmInitData ()
public com.google.android.exoplayer.drm.DrmInitData getDrmInitData ()
public boolean hasSeekMap ()
public com.google.android.exoplayer.extractor.SeekMap getSeekMap ()
public void seekMap (com.google.android.exoplayer.extractor.SeekMap)
com.google.android.exoplayer.extractor.SeekMap seekMap
public void drmInitData (com.google.android.exoplayer.drm.DrmInitData)
com.google.android.exoplayer.drm.DrmInitData drmInitData
public void format (com.google.android.exoplayer.MediaFormat)
com.google.android.exoplayer.MediaFormat mediaFormat
public int sampleData (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
int length
boolean allowEndOfInput
public void sampleData (com.google.android.exoplayer.util.ParsableByteArray, int)
com.google.android.exoplayer.util.ParsableByteArray data
int length
public void sampleMetadata (long, int, int, int, byte[])
long timeUs
int flags
int size
int offset
byte[] encryptionKey
public void cancelLoad ()
public boolean isLoadCanceled ()
public void load () throws java.io.IOException java.lang.InterruptedException
int result
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.upstream.DataSpec loadDataSpec
}
com/google/android/exoplayer/chunk/ChunkExtractorWrapper$SingleTrackOutput.classChunkExtractorWrapper.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.ChunkExtractorWrapper$SingleTrackOutput extends java.lang.Object implements com.google.android.exoplayer.extractor.TrackOutput {
public abstract void seekMap (com.google.android.exoplayer.extractor.SeekMap)
public abstract void drmInitData (com.google.android.exoplayer.drm.DrmInitData)
}
com/google/android/exoplayer/chunk/FormatEvaluator$FixedEvaluator.classFormatEvaluator.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.FormatEvaluator$FixedEvaluator extends java.lang.Object implements com.google.android.exoplayer.chunk.FormatEvaluator {
public void ()
public void enable ()
public void disable ()
public void evaluate (java.util.List, long, com.google.android.exoplayer.chunk.Format[], com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation)
java.util.List queue
long playbackPositionUs
com.google.android.exoplayer.chunk.Format[] formats
com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation evaluation
}
com/google/android/exoplayer/chunk/FormatEvaluator.classFormatEvaluator.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.FormatEvaluator extends java.lang.Object {
public abstract void enable ()
public abstract void disable ()
public abstract void evaluate (java.util.List, long, com.google.android.exoplayer.chunk.Format[], com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation)
}
com/google/android/exoplayer/chunk/BaseChunkSampleSourceEventListener.classBaseChunkSampleSourceEventListener.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.BaseChunkSampleSourceEventListener extends java.lang.Object {
public abstract void onLoadStarted (int, long, int, int, com.google.android.exoplayer.chunk.Format, long, long)
public abstract void onLoadCompleted (int, long, int, int, com.google.android.exoplayer.chunk.Format, long, long, long, long)
public abstract void onLoadCanceled (int, long)
public abstract void onLoadError (int, java.io.IOException)
public abstract void onUpstreamDiscarded (int, long, long)
public abstract void onDownstreamFormatChanged (int, com.google.android.exoplayer.chunk.Format, int, long)
}
com/google/android/exoplayer/chunk/FormatWrapper.classFormatWrapper.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.FormatWrapper extends java.lang.Object {
public abstract com.google.android.exoplayer.chunk.Format getFormat ()
}
com/google/android/exoplayer/chunk/ChunkOperationHolder.classChunkOperationHolder.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.ChunkOperationHolder extends java.lang.Object {
public int queueSize
public com.google.android.exoplayer.chunk.Chunk chunk
public boolean endOfStream
public void ()
public void clear ()
}
com/google/android/exoplayer/chunk/ChunkSampleSource$3.classChunkSampleSource.java
package com.google.android.exoplayer.chunk
com.google.android.exoplayer.chunk.ChunkSampleSource$3 extends java.lang.Object implements java.lang.Runnable {
final long val$bytesLoaded
final com.google.android.exoplayer.chunk.ChunkSampleSource this$0
void (com.google.android.exoplayer.chunk.ChunkSampleSource, long)
com.google.android.exoplayer.chunk.ChunkSampleSource this$0
public void run ()
}
com/google/android/exoplayer/chunk/Format.classFormat.java
package com.google.android.exoplayer.chunk
public com.google.android.exoplayer.chunk.Format extends java.lang.Object {
public final String id
public final String mimeType
public final int bitrate
public final int width
public final int height
public final float frameRate
public final int audioChannels
public final int audioSamplingRate
public final String codecs
public final String language
public void (java.lang.String, java.lang.String, int, int, float, int, int, int)
String id
String mimeType
int width
int height
float frameRate
int numChannels
int audioSamplingRate
int bitrate
public void (java.lang.String, java.lang.String, int, int, float, int, int, int, java.lang.String)
String id
String mimeType
int width
int height
float frameRate
int numChannels
int audioSamplingRate
int bitrate
String language
public void (java.lang.String, java.lang.String, int, int, float, int, int, int, java.lang.String, java.lang.String)
String id
String mimeType
int width
int height
float frameRate
int audioChannels
int audioSamplingRate
int bitrate
String language
String codecs
public int hashCode ()
public boolean equals (java.lang.Object)
Object obj
com.google.android.exoplayer.chunk.Format other
}
com/google/android/exoplayer/chunk/ChunkSampleSource.classChunkSampleSource.java
package com.google.android.exoplayer.chunk
public com.google.android.exoplayer.chunk.ChunkSampleSource extends java.lang.Object implements com.google.android.exoplayer.SampleSource com.google.android.exoplayer.SampleSource$SampleSourceReader com.google.android.exoplayer.upstream.Loader$Callback {
public static final int DEFAULT_MIN_LOADABLE_RETRY_COUNT
private static final int STATE_IDLE
private static final int STATE_INITIALIZED
private static final int STATE_PREPARED
private static final int STATE_ENABLED
private static final long NO_RESET_PENDING
private final int eventSourceId
private final com.google.android.exoplayer.LoadControl loadControl
private final com.google.android.exoplayer.chunk.ChunkSource chunkSource
private final com.google.android.exoplayer.chunk.ChunkOperationHolder currentLoadableHolder
private final java.util.LinkedList mediaChunks
private final java.util.List readOnlyMediaChunks
private final com.google.android.exoplayer.extractor.DefaultTrackOutput sampleQueue
private final int bufferSizeContribution
private final android.os.Handler eventHandler
private final com.google.android.exoplayer.chunk.ChunkSampleSource$EventListener eventListener
private final int minLoadableRetryCount
private int state
private long downstreamPositionUs
private long lastSeekPositionUs
private long pendingResetPositionUs
private long lastPerformedBufferOperation
private boolean pendingDiscontinuity
private com.google.android.exoplayer.upstream.Loader loader
private boolean loadingFinished
private java.io.IOException currentLoadableException
private int enabledTrackCount
private int currentLoadableExceptionCount
private long currentLoadableExceptionTimestamp
private long currentLoadStartTimeMs
private com.google.android.exoplayer.MediaFormat downstreamMediaFormat
private com.google.android.exoplayer.chunk.Format downstreamFormat
public void (com.google.android.exoplayer.chunk.ChunkSource, com.google.android.exoplayer.LoadControl, int)
com.google.android.exoplayer.chunk.ChunkSource chunkSource
com.google.android.exoplayer.LoadControl loadControl
int bufferSizeContribution
public void (com.google.android.exoplayer.chunk.ChunkSource, com.google.android.exoplayer.LoadControl, int, android.os.Handler, com.google.android.exoplayer.chunk.ChunkSampleSource$EventListener, int)
com.google.android.exoplayer.chunk.ChunkSource chunkSource
com.google.android.exoplayer.LoadControl loadControl
int bufferSizeContribution
android.os.Handler eventHandler
com.google.android.exoplayer.chunk.ChunkSampleSource$EventListener eventListener
int eventSourceId
public void (com.google.android.exoplayer.chunk.ChunkSource, com.google.android.exoplayer.LoadControl, int, android.os.Handler, com.google.android.exoplayer.chunk.ChunkSampleSource$EventListener, int, int)
com.google.android.exoplayer.chunk.ChunkSource chunkSource
com.google.android.exoplayer.LoadControl loadControl
int bufferSizeContribution
android.os.Handler eventHandler
com.google.android.exoplayer.chunk.ChunkSampleSource$EventListener eventListener
int eventSourceId
int minLoadableRetryCount
public com.google.android.exoplayer.SampleSource$SampleSourceReader register ()
public boolean prepare (long)
long positionUs
public int getTrackCount ()
public com.google.android.exoplayer.MediaFormat getFormat (int)
int track
public void enable (int, long)
int track
long positionUs
public void disable (int)
int track
public boolean continueBuffering (int, long)
int track
long positionUs
public long readDiscontinuity (int)
int track
public int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder)
com.google.android.exoplayer.MediaFormat mediaFormat
boolean decodeOnly
int track
long positionUs
com.google.android.exoplayer.MediaFormatHolder formatHolder
com.google.android.exoplayer.SampleHolder sampleHolder
boolean haveSamples
com.google.android.exoplayer.chunk.BaseMediaChunk currentChunk
public void seekToUs (long)
boolean haveSamples
long positionUs
long currentPositionUs
boolean seekInsideBuffer
public void maybeThrowError () throws java.io.IOException
public long getBufferedPositionUs ()
long largestParsedTimestampUs
public void release ()
public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable)
com.google.android.exoplayer.chunk.BaseMediaChunk mediaChunk
com.google.android.exoplayer.upstream.Loader$Loadable loadable
long now
long loadDurationMs
com.google.android.exoplayer.chunk.Chunk currentLoadable
public void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
com.google.android.exoplayer.chunk.Chunk currentLoadable
public void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
java.io.IOException e
protected void onSampleRead (com.google.android.exoplayer.chunk.MediaChunk, com.google.android.exoplayer.SampleHolder)
com.google.android.exoplayer.chunk.MediaChunk mediaChunk
com.google.android.exoplayer.SampleHolder sampleHolder
private void restartFrom (long)
long positionUs
private void clearCurrentLoadable ()
private void clearCurrentLoadableException ()
private void updateLoadControl ()
boolean chunksDiscarded
long elapsedMillis
long now
long nextLoadPositionUs
boolean isBackedOff
boolean loadingOrBackedOff
boolean nextLoader
private long getNextLoadPositionUs ()
private void resumeFromBackOff ()
com.google.android.exoplayer.chunk.Chunk backedOffChunk
com.google.android.exoplayer.chunk.BaseMediaChunk removedChunk
private void maybeStartLoading ()
com.google.android.exoplayer.chunk.BaseMediaChunk mediaChunk
com.google.android.exoplayer.chunk.Chunk currentLoadable
private void doChunkOperation ()
private boolean discardUpstreamMediaChunks (int)
int queueLength
long startTimeUs
long endTimeUs
com.google.android.exoplayer.chunk.BaseMediaChunk removed
private boolean isMediaChunk (com.google.android.exoplayer.chunk.Chunk)
com.google.android.exoplayer.chunk.Chunk chunk
private boolean isPendingReset ()
private long getRetryDelayMillis (long)
long errorCount
protected final long usToMs (long)
long timeUs
private void notifyLoadStarted (long, int, int, com.google.android.exoplayer.chunk.Format, long, long)
long length
int type
int trigger
com.google.android.exoplayer.chunk.Format format
long mediaStartTimeUs
long mediaEndTimeUs
private void notifyLoadCompleted (long, int, int, com.google.android.exoplayer.chunk.Format, long, long, long, long)
long bytesLoaded
int type
int trigger
com.google.android.exoplayer.chunk.Format format
long mediaStartTimeUs
long mediaEndTimeUs
long elapsedRealtimeMs
long loadDurationMs
private void notifyLoadCanceled (long)
long bytesLoaded
private void notifyLoadError (java.io.IOException)
java.io.IOException e
private void notifyUpstreamDiscarded (long, long)
long mediaStartTimeUs
long mediaEndTimeUs
private void notifyDownstreamFormatChanged (com.google.android.exoplayer.chunk.Format, int, long)
com.google.android.exoplayer.chunk.Format format
int trigger
long positionUs
static int access$000 (com.google.android.exoplayer.chunk.ChunkSampleSource)
com.google.android.exoplayer.chunk.ChunkSampleSource x0
static com.google.android.exoplayer.chunk.ChunkSampleSource$EventListener access$100 (com.google.android.exoplayer.chunk.ChunkSampleSource)
com.google.android.exoplayer.chunk.ChunkSampleSource x0
}
com/google/android/exoplayer/chunk/ChunkSource.classChunkSource.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.ChunkSource extends java.lang.Object {
public abstract void maybeThrowError () throws java.io.IOException
public abstract boolean prepare ()
public abstract int getTrackCount ()
public abstract com.google.android.exoplayer.MediaFormat getFormat (int)
public abstract void enable (int)
public abstract void continueBuffering (long)
public abstract void getChunkOperation (java.util.List, long, com.google.android.exoplayer.chunk.ChunkOperationHolder)
public abstract void onChunkLoadCompleted (com.google.android.exoplayer.chunk.Chunk)
public abstract void onChunkLoadError (com.google.android.exoplayer.chunk.Chunk, java.lang.Exception)
public abstract void disable (java.util.List)
}
com/google/android/exoplayer/chunk/ChunkSampleSource$EventListener.classChunkSampleSource.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.ChunkSampleSource$EventListener extends java.lang.Object implements com.google.android.exoplayer.chunk.BaseChunkSampleSourceEventListener {
}
com/google/android/exoplayer/chunk/FormatEvaluator$Evaluation.classFormatEvaluator.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation extends java.lang.Object {
public int queueSize
public int trigger
public com.google.android.exoplayer.chunk.Format format
public void ()
}
com/google/android/exoplayer/chunk/BaseMediaChunk.classBaseMediaChunk.java
package com.google.android.exoplayer.chunk
public abstract com.google.android.exoplayer.chunk.BaseMediaChunk extends com.google.android.exoplayer.chunk.MediaChunk {
public final boolean isMediaFormatFinal
private com.google.android.exoplayer.extractor.DefaultTrackOutput output
private int firstSampleIndex
public void (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, long, long, int, boolean, int)
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.DataSpec dataSpec
int trigger
com.google.android.exoplayer.chunk.Format format
long startTimeUs
long endTimeUs
int chunkIndex
boolean isMediaFormatFinal
int parentId
public void init (com.google.android.exoplayer.extractor.DefaultTrackOutput)
com.google.android.exoplayer.extractor.DefaultTrackOutput output
public final int getFirstSampleIndex ()
public abstract com.google.android.exoplayer.MediaFormat getMediaFormat ()
public abstract com.google.android.exoplayer.drm.DrmInitData getDrmInitData ()
protected final com.google.android.exoplayer.extractor.DefaultTrackOutput getOutput ()
}
com/google/android/exoplayer/chunk/ChunkSampleSource$6.classChunkSampleSource.java
package com.google.android.exoplayer.chunk
com.google.android.exoplayer.chunk.ChunkSampleSource$6 extends java.lang.Object implements java.lang.Runnable {
final com.google.android.exoplayer.chunk.Format val$format
final int val$trigger
final long val$positionUs
final com.google.android.exoplayer.chunk.ChunkSampleSource this$0
void (com.google.android.exoplayer.chunk.ChunkSampleSource, com.google.android.exoplayer.chunk.Format, int, long)
com.google.android.exoplayer.chunk.ChunkSampleSource this$0
public void run ()
}
com/google/android/exoplayer/chunk/ChunkSampleSource$5.classChunkSampleSource.java
package com.google.android.exoplayer.chunk
com.google.android.exoplayer.chunk.ChunkSampleSource$5 extends java.lang.Object implements java.lang.Runnable {
final long val$mediaStartTimeUs
final long val$mediaEndTimeUs
final com.google.android.exoplayer.chunk.ChunkSampleSource this$0
void (com.google.android.exoplayer.chunk.ChunkSampleSource, long, long)
com.google.android.exoplayer.chunk.ChunkSampleSource this$0
public void run ()
}
com/google/android/exoplayer/chunk/ChunkExtractorWrapper.classChunkExtractorWrapper.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.ChunkExtractorWrapper extends java.lang.Object implements com.google.android.exoplayer.extractor.ExtractorOutput com.google.android.exoplayer.extractor.TrackOutput {
private final com.google.android.exoplayer.extractor.Extractor extractor
private boolean extractorInitialized
private com.google.android.exoplayer.chunk.ChunkExtractorWrapper$SingleTrackOutput output
private boolean seenTrack
public void (com.google.android.exoplayer.extractor.Extractor)
com.google.android.exoplayer.extractor.Extractor extractor
public void init (com.google.android.exoplayer.chunk.ChunkExtractorWrapper$SingleTrackOutput)
com.google.android.exoplayer.chunk.ChunkExtractorWrapper$SingleTrackOutput output
public int read (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
int result
public com.google.android.exoplayer.extractor.TrackOutput track (int)
int id
public void endTracks ()
public void seekMap (com.google.android.exoplayer.extractor.SeekMap)
com.google.android.exoplayer.extractor.SeekMap seekMap
public void drmInitData (com.google.android.exoplayer.drm.DrmInitData)
com.google.android.exoplayer.drm.DrmInitData drmInitData
public void format (com.google.android.exoplayer.MediaFormat)
com.google.android.exoplayer.MediaFormat format
public int sampleData (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
int length
boolean allowEndOfInput
public void sampleData (com.google.android.exoplayer.util.ParsableByteArray, int)
com.google.android.exoplayer.util.ParsableByteArray data
int length
public void sampleMetadata (long, int, int, int, byte[])
long timeUs
int flags
int size
int offset
byte[] encryptionKey
}
com/google/android/exoplayer/chunk/Format$DecreasingBandwidthComparator.classFormat.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.Format$DecreasingBandwidthComparator extends java.lang.Object implements java.util.Comparator {
public void ()
public int compare (com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.chunk.Format)
com.google.android.exoplayer.chunk.Format a
com.google.android.exoplayer.chunk.Format b
public volatile int compare (java.lang.Object, java.lang.Object)
}
com/google/android/exoplayer/chunk/VideoFormatSelectorUtil.classVideoFormatSelectorUtil.java
package com.google.android.exoplayer.chunk
public final com.google.android.exoplayer.chunk.VideoFormatSelectorUtil extends java.lang.Object {
private static final float FRACTION_TO_CONSIDER_FULLSCREEN
public static int[] selectVideoFormatsForDefaultDisplay (android.content.Context, java.util.List, java.lang.String[], boolean) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
android.content.Context context
java.util.List formatWrappers
String[] allowedContainerMimeTypes
boolean filterHdFormats
android.graphics.Point viewportSize
public static int[] selectVideoFormats (java.util.List, java.lang.String[], boolean, boolean, int, int) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
android.graphics.Point maxVideoSizeInViewport
int videoPixels
com.google.android.exoplayer.chunk.Format format
int i
com.google.android.exoplayer.chunk.Format format
int i
java.util.List formatWrappers
String[] allowedContainerMimeTypes
boolean filterHdFormats
boolean orientationMayChange
int viewportWidth
int viewportHeight
int maxVideoPixelsToRetain
java.util.ArrayList selectedIndexList
int maxDecodableFrameSize
int formatWrapperCount
private static boolean isFormatPlayable (com.google.android.exoplayer.chunk.Format, java.lang.String[], boolean, int) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
String videoMediaMimeType
com.google.android.exoplayer.chunk.Format format
String[] allowedContainerMimeTypes
boolean filterHdFormats
int maxDecodableFrameSize
private static android.graphics.Point getMaxVideoSizeInViewport (boolean, int, int, int, int)
int tempViewportWidth
boolean orientationMayChange
int viewportWidth
int viewportHeight
int videoWidth
int videoHeight
private static android.graphics.Point getViewportSize (android.content.Context)
android.content.Context context
android.view.WindowManager windowManager
private static android.graphics.Point getDisplaySize (android.view.Display)
android.view.Display display
android.graphics.Point displaySize
private static void getDisplaySizeV23 (android.view.Display, android.graphics.Point)
android.view.Display display
android.graphics.Point outSize
android.view.Display$Mode mode
private static void getDisplaySizeV17 (android.view.Display, android.graphics.Point)
android.view.Display display
android.graphics.Point outSize
private static void getDisplaySizeV16 (android.view.Display, android.graphics.Point)
android.view.Display display
android.graphics.Point outSize
private static void getDisplaySizeV9 (android.view.Display, android.graphics.Point)
android.view.Display display
android.graphics.Point outSize
private void ()
}
com/google/android/exoplayer/FrameworkSampleSource.classFrameworkSampleSource.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.FrameworkSampleSource extends java.lang.Object implements com.google.android.exoplayer.SampleSource com.google.android.exoplayer.SampleSource$SampleSourceReader {
private static final int ALLOWED_FLAGS_MASK
private static final int TRACK_STATE_DISABLED
private static final int TRACK_STATE_ENABLED
private static final int TRACK_STATE_FORMAT_SENT
private final android.content.Context context
private final android.net.Uri uri
private final java.util.Map headers
private final java.io.FileDescriptor fileDescriptor
private final long fileDescriptorOffset
private final long fileDescriptorLength
private java.io.IOException preparationError
private android.media.MediaExtractor extractor
private com.google.android.exoplayer.MediaFormat[] trackFormats
private boolean prepared
private int remainingReleaseCount
private int[] trackStates
private boolean[] pendingDiscontinuities
private long lastSeekPositionUs
private long pendingSeekPositionUs
public void (android.content.Context, android.net.Uri, java.util.Map)
android.content.Context context
android.net.Uri uri
java.util.Map headers
public void (java.io.FileDescriptor, long, long)
java.io.FileDescriptor fileDescriptor
long fileDescriptorOffset
long fileDescriptorLength
public com.google.android.exoplayer.SampleSource$SampleSourceReader register ()
public boolean prepare (long)
java.io.IOException e
int i
long positionUs
public int getTrackCount ()
public com.google.android.exoplayer.MediaFormat getFormat (int)
int track
public void enable (int, long)
int track
long positionUs
public boolean continueBuffering (int, long)
int track
long positionUs
public long readDiscontinuity (int)
int track
public int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder)
int offset
int track
long positionUs
com.google.android.exoplayer.MediaFormatHolder formatHolder
com.google.android.exoplayer.SampleHolder sampleHolder
int extractorTrackIndex
public void disable (int)
int track
public void maybeThrowError () throws java.io.IOException
public void seekToUs (long)
long positionUs
public long getBufferedPositionUs ()
long sampleTime
long bufferedDurationUs
public void release ()
private com.google.android.exoplayer.drm.DrmInitData getDrmInitDataV18 ()
byte[] psshAtom
java.util.UUID uuid
java.util.Map psshInfo
com.google.android.exoplayer.drm.DrmInitData$Mapped drmInitData
private void seekToUsInternal (long, boolean)
int i
long positionUs
boolean force
private static com.google.android.exoplayer.MediaFormat createMediaFormat (android.media.MediaFormat)
java.nio.ByteBuffer buffer
byte[] data
int i
android.media.MediaFormat format
String mimeType
String language
int maxInputSize
int width
int height
int rotationDegrees
int channelCount
int sampleRate
int encoderDelay
int encoderPadding
java.util.ArrayList initializationData
long durationUs
com.google.android.exoplayer.MediaFormat mediaFormat
private static final java.lang.String getOptionalStringV16 (android.media.MediaFormat, java.lang.String)
android.media.MediaFormat format
String key
private static final int getOptionalIntegerV16 (android.media.MediaFormat, java.lang.String)
android.media.MediaFormat format
String key
}
com/google/android/exoplayer/TrackRenderer.classTrackRenderer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.TrackRenderer extends java.lang.Object implements com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent {
public static final long UNKNOWN_TIME_US
public static final long MATCH_LONGEST_US
public static final long END_OF_TRACK_US
protected static final int STATE_RELEASED
protected static final int STATE_UNPREPARED
protected static final int STATE_PREPARED
protected static final int STATE_ENABLED
protected static final int STATE_STARTED
private int state
public void ()
protected com.google.android.exoplayer.MediaClock getMediaClock ()
protected final int getState ()
final int prepare (long) throws com.google.android.exoplayer.ExoPlaybackException
long positionUs
protected abstract boolean doPrepare (long) throws com.google.android.exoplayer.ExoPlaybackException
protected abstract int getTrackCount ()
protected abstract com.google.android.exoplayer.MediaFormat getFormat (int)
final void enable (int, long, boolean) throws com.google.android.exoplayer.ExoPlaybackException
int track
long positionUs
boolean joining
protected void onEnabled (int, long, boolean) throws com.google.android.exoplayer.ExoPlaybackException
int track
long positionUs
boolean joining
final void start () throws com.google.android.exoplayer.ExoPlaybackException
protected void onStarted () throws com.google.android.exoplayer.ExoPlaybackException
final void stop () throws com.google.android.exoplayer.ExoPlaybackException
protected void onStopped () throws com.google.android.exoplayer.ExoPlaybackException
final void disable () throws com.google.android.exoplayer.ExoPlaybackException
protected void onDisabled () throws com.google.android.exoplayer.ExoPlaybackException
final void release () throws com.google.android.exoplayer.ExoPlaybackException
protected void onReleased () throws com.google.android.exoplayer.ExoPlaybackException
protected abstract boolean isEnded ()
protected abstract boolean isReady ()
protected abstract void doSomeWork (long, long) throws com.google.android.exoplayer.ExoPlaybackException
protected abstract void maybeThrowError () throws com.google.android.exoplayer.ExoPlaybackException
protected abstract long getDurationUs ()
protected abstract long getBufferedPositionUs ()
protected abstract void seekTo (long) throws com.google.android.exoplayer.ExoPlaybackException
public void handleMessage (int, java.lang.Object) throws com.google.android.exoplayer.ExoPlaybackException
int what
Object object
}
com/google/android/exoplayer/MediaClock.classMediaClock.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.MediaClock extends java.lang.Object {
public abstract long getPositionUs ()
}
com/google/android/exoplayer/ExoPlayer.classExoPlayer.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.ExoPlayer extends java.lang.Object {
public static final int STATE_IDLE
public static final int STATE_PREPARING
public static final int STATE_BUFFERING
public static final int STATE_READY
public static final int STATE_ENDED
public static final int TRACK_DISABLED
public static final int TRACK_DEFAULT
public static final long UNKNOWN_TIME
public abstract android.os.Looper getPlaybackLooper ()
public abstract void addListener (com.google.android.exoplayer.ExoPlayer$Listener)
public abstract void removeListener (com.google.android.exoplayer.ExoPlayer$Listener)
public abstract int getPlaybackState ()
public transient abstract void prepare (com.google.android.exoplayer.TrackRenderer[])
public abstract int getTrackCount (int)
public abstract com.google.android.exoplayer.MediaFormat getTrackFormat (int, int)
public abstract void setSelectedTrack (int, int)
public abstract int getSelectedTrack (int)
public abstract void setPlayWhenReady (boolean)
public abstract boolean getPlayWhenReady ()
public abstract boolean isPlayWhenReadyCommitted ()
public abstract void seekTo (long)
public abstract void stop ()
public abstract void release ()
public abstract void sendMessage (com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent, int, java.lang.Object)
public abstract void blockingSendMessage (com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent, int, java.lang.Object)
public abstract long getDuration ()
public abstract long getCurrentPosition ()
public abstract long getBufferedPosition ()
public abstract int getBufferedPercentage ()
}
com/google/android/exoplayer/VideoFrameReleaseTimeHelper.classVideoFrameReleaseTimeHelper.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.VideoFrameReleaseTimeHelper extends java.lang.Object {
private static final long CHOREOGRAPHER_SAMPLE_DELAY_MILLIS
private static final long MAX_ALLOWED_DRIFT_NS
private static final long VSYNC_OFFSET_PERCENTAGE
private static final int MIN_FRAMES_FOR_ADJUSTMENT
private final com.google.android.exoplayer.VideoFrameReleaseTimeHelper$VSyncSampler vsyncSampler
private final boolean useDefaultDisplayVsync
private final long vsyncDurationNs
private final long vsyncOffsetNs
private long lastFramePresentationTimeUs
private long adjustedLastFrameTimeNs
private long pendingAdjustedFrameTimeNs
private boolean haveSync
private long syncUnadjustedReleaseTimeNs
private long syncFramePresentationTimeNs
private long frameCount
public void ()
public void (android.content.Context)
android.content.Context context
private void (float, boolean)
float defaultDisplayRefreshRate
boolean useDefaultDisplayVsync
public void enable ()
public void disable ()
public long adjustReleaseTime (long, long)
long averageFrameDurationNs
long candidateAdjustedFrameTimeNs
long framePresentationTimeUs
long unadjustedReleaseTimeNs
long framePresentationTimeNs
long adjustedFrameTimeNs
long adjustedReleaseTimeNs
long snappedTimeNs
protected void onSynced ()
private boolean isDriftTooLarge (long, long)
long frameTimeNs
long releaseTimeNs
long elapsedFrameTimeNs
long elapsedReleaseTimeNs
private static long closestVsync (long, long, long)
long snappedBeforeNs
long snappedAfterNs
long releaseTime
long sampledVsyncTime
long vsyncDuration
long vsyncCount
long snappedTimeNs
long snappedBeforeNs
long snappedAfterNs
long snappedAfterDiff
long snappedBeforeDiff
private static float getDefaultDisplayRefreshRate (android.content.Context)
android.content.Context context
android.view.WindowManager manager
}
com/google/android/exoplayer/LoadControl.classLoadControl.java
package com.google.android.exoplayer
public abstract com.google.android.exoplayer.LoadControl extends java.lang.Object {
public abstract void register (java.lang.Object, int)
public abstract void unregister (java.lang.Object)
public abstract com.google.android.exoplayer.upstream.Allocator getAllocator ()
public abstract void trimAllocator ()
public abstract boolean update (java.lang.Object, long, long, boolean)
}
com/google/android/exoplayer/extractor/
com/google/android/exoplayer/extractor/ogg/
com/google/android/exoplayer/extractor/ogg/OggSeeker.classOggSeeker.java
package com.google.android.exoplayer.extractor.ogg
final com.google.android.exoplayer.extractor.ogg.OggSeeker extends java.lang.Object {
private static final int MATCH_RANGE
private final com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader pageHeader
private final com.google.android.exoplayer.util.ParsableByteArray headerArray
private long audioDataLength
private long totalSamples
void ()
public void setup (long, long)
long audioDataLength
long totalSamples
public void reset ()
public long getNextSeekPosition (long, com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
long offset
long targetGranule
com.google.android.exoplayer.extractor.ExtractorInput input
long granuleDistance
}
com/google/android/exoplayer/extractor/ogg/VorbisUtil$Mode.classVorbisUtil.java
package com.google.android.exoplayer.extractor.ogg
public final com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode extends java.lang.Object {
public final boolean blockFlag
public final int windowType
public final int transformType
public final int mapping
public void (boolean, int, int, int)
boolean blockFlag
int windowType
int transformType
int mapping
}
com/google/android/exoplayer/extractor/ogg/OggUtil.classOggUtil.java
package com.google.android.exoplayer.extractor.ogg
final com.google.android.exoplayer.extractor.ogg.OggUtil extends java.lang.Object {
private static final int TYPE_OGGS
void ()
public static int readBits (byte, int, int)
byte src
int length
int leastSignificantBitIndex
public static void skipToNextPage (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
int i
com.google.android.exoplayer.extractor.ExtractorInput input
byte[] buffer
int peekLength
public static boolean populatePageHeader (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader, com.google.android.exoplayer.util.ParsableByteArray, boolean) throws java.io.IOException java.lang.InterruptedException
int i
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader header
com.google.android.exoplayer.util.ParsableByteArray scratch
boolean quite
boolean hasEnoughBytes
public static void calculatePacketSize (com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader, int, com.google.android.exoplayer.extractor.ogg.OggUtil$PacketInfoHolder)
int segmentLength
com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader header
int startSegmentIndex
com.google.android.exoplayer.extractor.ogg.OggUtil$PacketInfoHolder holder
static void ()
}
com/google/android/exoplayer/extractor/ogg/VorbisUtil$CodeBook.classVorbisUtil.java
package com.google.android.exoplayer.extractor.ogg
public final com.google.android.exoplayer.extractor.ogg.VorbisUtil$CodeBook extends java.lang.Object {
public final int dimensions
public final int entries
public final long[] lengthMap
public final int lookupType
public final boolean isOrdered
public void (int, int, long[], int, boolean)
int dimensions
int entries
long[] lengthMap
int lookupType
boolean isOrdered
}
com/google/android/exoplayer/extractor/ogg/VorbisBitArray.classVorbisBitArray.java
package com.google.android.exoplayer.extractor.ogg
final com.google.android.exoplayer.extractor.ogg.VorbisBitArray extends java.lang.Object {
public final byte[] data
private int limit
private int byteOffset
private int bitOffset
public void (byte[])
byte[] data
public void (byte[], int)
byte[] data
int limit
public void reset ()
public boolean readBit ()
public int readBits (int)
int mask
int i
int numBytes
int bitsOnNextByte
int mask
int numBits
int result
int bitCount
public void skipBits (int)
int numberOfBits
public int getPosition ()
public void setPosition (int)
int position
public int bitsLeft ()
public int limit ()
}
com/google/android/exoplayer/extractor/ogg/OggUtil$PacketInfoHolder.classOggUtil.java
package com.google.android.exoplayer.extractor.ogg
public com.google.android.exoplayer.extractor.ogg.OggUtil$PacketInfoHolder extends java.lang.Object {
public int size
public int segmentCount
public void ()
}
com/google/android/exoplayer/extractor/ogg/VorbisUtil.classVorbisUtil.java
package com.google.android.exoplayer.extractor.ogg
final com.google.android.exoplayer.extractor.ogg.VorbisUtil extends java.lang.Object {
private static final String TAG
void ()
public static int iLog (int)
int x
int val
public static com.google.android.exoplayer.extractor.ogg.VorbisUtil$VorbisIdHeader readVorbisIdentificationHeader (com.google.android.exoplayer.util.ParsableByteArray) throws com.google.android.exoplayer.ParserException
com.google.android.exoplayer.util.ParsableByteArray headerData
long version
int channels
long sampleRate
int bitrateMax
int bitrateNominal
int bitrateMin
int blockSize
int blockSize0
int blockSize1
boolean framingFlag
byte[] data
public static com.google.android.exoplayer.extractor.ogg.VorbisUtil$CommentHeader readVorbisCommentHeader (com.google.android.exoplayer.util.ParsableByteArray) throws com.google.android.exoplayer.ParserException
int i
com.google.android.exoplayer.util.ParsableByteArray headerData
int length
int len
String vendor
long commentListLen
String[] comments
public static boolean verifyVorbisHeaderCapturePattern (int, com.google.android.exoplayer.util.ParsableByteArray, boolean) throws com.google.android.exoplayer.ParserException
int headerType
com.google.android.exoplayer.util.ParsableByteArray header
boolean quite
public static com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[] readVorbisModes (com.google.android.exoplayer.util.ParsableByteArray, int) throws com.google.android.exoplayer.ParserException
int i
int i
com.google.android.exoplayer.util.ParsableByteArray headerData
int channels
int numberOfBooks
com.google.android.exoplayer.extractor.ogg.VorbisBitArray bitArray
int timeCount
com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[] modes
private static com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[] readModes (com.google.android.exoplayer.extractor.ogg.VorbisBitArray)
boolean blockFlag
int windowType
int transformType
int mapping
int i
com.google.android.exoplayer.extractor.ogg.VorbisBitArray bitArray
int modeCount
com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[] modes
private static void readMappings (int, com.google.android.exoplayer.extractor.ogg.VorbisBitArray) throws com.google.android.exoplayer.ParserException
int submaps
int j
int couplingSteps
int j
int j
int submaps
int mappingType
int i
int channels
com.google.android.exoplayer.extractor.ogg.VorbisBitArray bitArray
int mappingsCount
private static void readResidues (com.google.android.exoplayer.extractor.ogg.VorbisBitArray) throws com.google.android.exoplayer.ParserException
int highBits
int lowBits
int j
int k
int j
int classifications
int[] cascade
int residueType
int i
com.google.android.exoplayer.extractor.ogg.VorbisBitArray bitArray
int residueCount
private static void readFloors (com.google.android.exoplayer.extractor.ogg.VorbisBitArray) throws com.google.android.exoplayer.ParserException
int j
int j
int k
int classSubclasses
int j
int idx
int j
int k
int floorNumberOfBooks
int partitions
int maximumClass
int[] partitionClassList
int[] classDimensions
int rangeBits
int count
int floorType
int i
com.google.android.exoplayer.extractor.ogg.VorbisBitArray bitArray
int floorCount
private static com.google.android.exoplayer.extractor.ogg.VorbisUtil$CodeBook readBook (com.google.android.exoplayer.extractor.ogg.VorbisBitArray) throws com.google.android.exoplayer.ParserException
int i
boolean isSparse
int j
int num
int i
int length
long lookupValuesCount
long lookupValuesCount
int valueBits
long lookupValuesCount
com.google.android.exoplayer.extractor.ogg.VorbisBitArray bitArray
int dimensions
int entries
long[] lengthMap
boolean isOrdered
int lookupType
private static long mapType1QuantValues (long, long)
long entries
long dimension
}
com/google/android/exoplayer/extractor/ogg/VorbisUtil$CommentHeader.classVorbisUtil.java
package com.google.android.exoplayer.extractor.ogg
public final com.google.android.exoplayer.extractor.ogg.VorbisUtil$CommentHeader extends java.lang.Object {
public final String vendor
public final String[] comments
public final int length
public void (java.lang.String, java.lang.String[], int)
String vendor
String[] comments
int length
}
com/google/android/exoplayer/extractor/ogg/OggReader.classOggReader.java
package com.google.android.exoplayer.extractor.ogg
final com.google.android.exoplayer.extractor.ogg.OggReader extends java.lang.Object {
public static final int OGG_MAX_SEGMENT_SIZE
private final com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader pageHeader
private final com.google.android.exoplayer.util.ParsableByteArray headerArray
private final com.google.android.exoplayer.extractor.ogg.OggUtil$PacketInfoHolder holder
private int currentSegmentIndex
private long elapsedSamples
void ()
public void reset ()
public boolean readPacket (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.util.ParsableByteArray) throws java.io.IOException java.lang.InterruptedException
int segmentIndex
int bytesToSkip
int segmentIndex
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.util.ParsableByteArray packetArray
boolean packetComplete
public long readGranuleOfLastPage (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
public long skipToPageOfGranule (com.google.android.exoplayer.extractor.ExtractorInput, long) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
long targetGranule
long returnValue
public com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader getPageHeader ()
}
com/google/android/exoplayer/extractor/ogg/VorbisUtil$VorbisIdHeader.classVorbisUtil.java
package com.google.android.exoplayer.extractor.ogg
public final com.google.android.exoplayer.extractor.ogg.VorbisUtil$VorbisIdHeader extends java.lang.Object {
public final long version
public final int channels
public final long sampleRate
public final int bitrateMax
public final int bitrateNominal
public final int bitrateMin
public final int blockSize0
public final int blockSize1
public final boolean framingFlag
public final byte[] data
public void (long, int, long, int, int, int, int, int, boolean, byte[])
long version
int channels
long sampleRate
int bitrateMax
int bitrateNominal
int bitrateMin
int blockSize0
int blockSize1
boolean framingFlag
byte[] data
public int getApproximateBitrate ()
}
com/google/android/exoplayer/extractor/ogg/OggUtil$PageHeader.classOggUtil.java
package com.google.android.exoplayer.extractor.ogg
public final com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader extends java.lang.Object {
public int revision
public int type
public long granulePosition
public long streamSerialNumber
public long pageSequenceNumber
public long pageChecksum
public int pageSegmentCount
public int headerSize
public int bodySize
public final int[] laces
public void ()
public void reset ()
}
com/google/android/exoplayer/extractor/ogg/OggVorbisExtractor.classOggVorbisExtractor.java
package com.google.android.exoplayer.extractor.ogg
public final com.google.android.exoplayer.extractor.ogg.OggVorbisExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor com.google.android.exoplayer.extractor.SeekMap {
private final com.google.android.exoplayer.util.ParsableByteArray scratch
private final com.google.android.exoplayer.extractor.ogg.OggReader oggReader
private com.google.android.exoplayer.extractor.TrackOutput trackOutput
private com.google.android.exoplayer.extractor.ogg.OggVorbisExtractor$VorbisSetup vorbisSetup
private int previousPacketBlockSize
private long elapsedSamples
private boolean seenFirstAudioPacket
private final com.google.android.exoplayer.extractor.ogg.OggSeeker oggSeeker
private long targetGranule
private com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
private com.google.android.exoplayer.extractor.ogg.VorbisUtil$VorbisIdHeader vorbisIdHeader
private com.google.android.exoplayer.extractor.ogg.VorbisUtil$CommentHeader commentHeader
private long inputLength
private long audioStartPosition
private long totalSamples
private long duration
public void ()
public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ogg.OggUtil$PageHeader header
com.google.android.exoplayer.extractor.ExtractorInput input
public void init (com.google.android.exoplayer.extractor.ExtractorOutput)
com.google.android.exoplayer.extractor.ExtractorOutput output
public void seek ()
public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder) throws java.io.IOException java.lang.InterruptedException
java.util.ArrayList codecInitialisationData
long position
long timeUs
int packetBlockSize
int samplesInPacket
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.PositionHolder seekPosition
com.google.android.exoplayer.extractor.ogg.OggVorbisExtractor$VorbisSetup readSetupHeaders (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.util.ParsableByteArray) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.util.ParsableByteArray scratch
byte[] setupHeaderData
com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[] modes
int iLogModes
static void appendNumberOfSamples (com.google.android.exoplayer.util.ParsableByteArray, long)
com.google.android.exoplayer.util.ParsableByteArray buffer
long packetSampleCount
private static int decodeBlockSize (byte, com.google.android.exoplayer.extractor.ogg.OggVorbisExtractor$VorbisSetup)
int currentBlockSize
byte firstByteOfAudioPacket
com.google.android.exoplayer.extractor.ogg.OggVorbisExtractor$VorbisSetup vorbisSetup
int modeNumber
int currentBlockSize
public boolean isSeekable ()
public long getPosition (long)
long timeUs
}
com/google/android/exoplayer/extractor/ogg/OggVorbisExtractor$VorbisSetup.classOggVorbisExtractor.java
package com.google.android.exoplayer.extractor.ogg
final com.google.android.exoplayer.extractor.ogg.OggVorbisExtractor$VorbisSetup extends java.lang.Object {
public final com.google.android.exoplayer.extractor.ogg.VorbisUtil$VorbisIdHeader idHeader
public final com.google.android.exoplayer.extractor.ogg.VorbisUtil$CommentHeader commentHeader
public final byte[] setupHeaderData
public final com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[] modes
public final int iLogModes
public void (com.google.android.exoplayer.extractor.ogg.VorbisUtil$VorbisIdHeader, com.google.android.exoplayer.extractor.ogg.VorbisUtil$CommentHeader, byte[], com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[], int)
com.google.android.exoplayer.extractor.ogg.VorbisUtil$VorbisIdHeader idHeader
com.google.android.exoplayer.extractor.ogg.VorbisUtil$CommentHeader commentHeader
byte[] setupHeaderData
com.google.android.exoplayer.extractor.ogg.VorbisUtil$Mode[] modes
int iLogModes
}
com/google/android/exoplayer/extractor/TrackOutput.classTrackOutput.java
package com.google.android.exoplayer.extractor
public abstract com.google.android.exoplayer.extractor.TrackOutput extends java.lang.Object {
public abstract void format (com.google.android.exoplayer.MediaFormat)
public abstract int sampleData (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean) throws java.io.IOException java.lang.InterruptedException
public abstract void sampleData (com.google.android.exoplayer.util.ParsableByteArray, int)
public abstract void sampleMetadata (long, int, int, int, byte[])
}
com/google/android/exoplayer/extractor/webm/
com/google/android/exoplayer/extractor/webm/EbmlReader.classEbmlReader.java
package com.google.android.exoplayer.extractor.webm
abstract com.google.android.exoplayer.extractor.webm.EbmlReader extends java.lang.Object {
public static final int TYPE_UNKNOWN
public static final int TYPE_MASTER
public static final int TYPE_UNSIGNED_INT
public static final int TYPE_STRING
public static final int TYPE_BINARY
public static final int TYPE_FLOAT
public abstract void init (com.google.android.exoplayer.extractor.webm.EbmlReaderOutput)
public abstract void reset ()
public abstract boolean read (com.google.android.exoplayer.extractor.ExtractorInput) throws com.google.android.exoplayer.ParserException java.io.IOException java.lang.InterruptedException
}
com/google/android/exoplayer/extractor/webm/WebmExtractor$Track.classWebmExtractor.java
package com.google.android.exoplayer.extractor.webm
final com.google.android.exoplayer.extractor.webm.WebmExtractor$Track extends java.lang.Object {
private static final int DISPLAY_UNIT_PIXELS
public String codecId
public int number
public int type
public int defaultSampleDurationNs
public boolean hasContentEncryption
public byte[] sampleStrippedBytes
public byte[] encryptionKeyId
public byte[] codecPrivate
public int width
public int height
public int displayWidth
public int displayHeight
public int displayUnit
public int channelCount
public int sampleRate
public long codecDelayNs
public long seekPreRollNs
private String language
public com.google.android.exoplayer.extractor.TrackOutput output
public int nalUnitLengthFieldLength
private void ()
public void initializeOutput (com.google.android.exoplayer.extractor.ExtractorOutput, int, long) throws com.google.android.exoplayer.ParserException
android.util.Pair h264Data
android.util.Pair hevcData
com.google.android.exoplayer.MediaFormat format
float pixelWidthHeightRatio
com.google.android.exoplayer.MediaFormat format
com.google.android.exoplayer.MediaFormat format
com.google.android.exoplayer.MediaFormat format
com.google.android.exoplayer.extractor.ExtractorOutput output
int trackId
long durationUs
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
int maxInputSize
java.util.List initializationData
com.google.android.exoplayer.MediaFormat format
private static android.util.Pair parseAvcCodecPrivate (com.google.android.exoplayer.util.ParsableByteArray) throws com.google.android.exoplayer.ParserException
int i
int j
int nalUnitLengthFieldLength
java.util.List initializationData
int numSequenceParameterSets
int numPictureParameterSets
ArrayIndexOutOfBoundsException e
com.google.android.exoplayer.util.ParsableByteArray buffer
private static android.util.Pair parseHevcCodecPrivate (com.google.android.exoplayer.util.ParsableByteArray) throws com.google.android.exoplayer.ParserException
int nalUnitLength
int j
int numberOfNalUnits
int i
int nalUnitLength
int j
int numberOfNalUnits
int i
int lengthSizeMinusOne
int numberOfArrays
int csdLength
int csdStartPosition
byte[] buffer
int bufferPosition
java.util.List initializationData
ArrayIndexOutOfBoundsException e
com.google.android.exoplayer.util.ParsableByteArray parent
private static java.util.List parseVorbisCodecPrivate (byte[]) throws com.google.android.exoplayer.ParserException
int offset
int vorbisInfoLength
int vorbisSkipLength
byte[] vorbisInfo
byte[] vorbisBooks
java.util.List initializationData
ArrayIndexOutOfBoundsException e
byte[] codecPrivate
void (com.google.android.exoplayer.extractor.webm.WebmExtractor$1)
com.google.android.exoplayer.extractor.webm.WebmExtractor$1 x0
static java.lang.String access$202 (com.google.android.exoplayer.extractor.webm.WebmExtractor$Track, java.lang.String)
com.google.android.exoplayer.extractor.webm.WebmExtractor$Track x0
String x1
}
com/google/android/exoplayer/extractor/webm/DefaultEbmlReader$MasterElement.classDefaultEbmlReader.java
package com.google.android.exoplayer.extractor.webm
final com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$MasterElement extends java.lang.Object {
private final int elementId
private final long elementEndPosition
private void (int, long)
int elementId
long elementEndPosition
static long access$000 (com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$MasterElement)
com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$MasterElement x0
static int access$100 (com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$MasterElement)
com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$MasterElement x0
void (int, long, com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$1)
int x0
long x1
com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$1 x2
}
com/google/android/exoplayer/extractor/webm/WebmExtractor$InnerEbmlReaderOutput.classWebmExtractor.java
package com.google.android.exoplayer.extractor.webm
final com.google.android.exoplayer.extractor.webm.WebmExtractor$InnerEbmlReaderOutput extends java.lang.Object implements com.google.android.exoplayer.extractor.webm.EbmlReaderOutput {
final com.google.android.exoplayer.extractor.webm.WebmExtractor this$0
private void (com.google.android.exoplayer.extractor.webm.WebmExtractor)
public int getElementType (int)
int id
public boolean isLevel1Element (int)
int id
public void startMasterElement (int, long, long) throws com.google.android.exoplayer.ParserException
int id
long contentPosition
long contentSize
public void endMasterElement (int) throws com.google.android.exoplayer.ParserException
int id
public void integerElement (int, long) throws com.google.android.exoplayer.ParserException
int id
long value
public void floatElement (int, double) throws com.google.android.exoplayer.ParserException
int id
double value
public void stringElement (int, java.lang.String) throws com.google.android.exoplayer.ParserException
int id
String value
public void binaryElement (int, int, com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
int id
int contentsSize
com.google.android.exoplayer.extractor.ExtractorInput input
void (com.google.android.exoplayer.extractor.webm.WebmExtractor, com.google.android.exoplayer.extractor.webm.WebmExtractor$1)
com.google.android.exoplayer.extractor.webm.WebmExtractor x0
com.google.android.exoplayer.extractor.webm.WebmExtractor$1 x1
}
com/google/android/exoplayer/extractor/webm/WebmExtractor$1.classWebmExtractor.java
package com.google.android.exoplayer.extractor.webm
com.google.android.exoplayer.extractor.webm.WebmExtractor$1 extends java.lang.Object {
}
com/google/android/exoplayer/extractor/webm/WebmExtractor.classWebmExtractor.java
package com.google.android.exoplayer.extractor.webm
public final com.google.android.exoplayer.extractor.webm.WebmExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor {
private static final int BLOCK_STATE_START
private static final int BLOCK_STATE_HEADER
private static final int BLOCK_STATE_DATA
private static final String DOC_TYPE_WEBM
private static final String DOC_TYPE_MATROSKA
private static final String CODEC_ID_VP8
private static final String CODEC_ID_VP9
private static final String CODEC_ID_MPEG2
private static final String CODEC_ID_MPEG4_SP
private static final String CODEC_ID_MPEG4_ASP
private static final String CODEC_ID_MPEG4_AP
private static final String CODEC_ID_H264
private static final String CODEC_ID_H265
private static final String CODEC_ID_VORBIS
private static final String CODEC_ID_OPUS
private static final String CODEC_ID_AAC
private static final String CODEC_ID_MP3
private static final String CODEC_ID_AC3
private static final String CODEC_ID_E_AC3
private static final String CODEC_ID_TRUEHD
private static final String CODEC_ID_DTS
private static final String CODEC_ID_DTS_EXPRESS
private static final String CODEC_ID_DTS_LOSSLESS
private static final String CODEC_ID_FLAC
private static final String CODEC_ID_SUBRIP
private static final String CODEC_ID_VOBSUB
private static final String CODEC_ID_PGS
private static final int VORBIS_MAX_INPUT_SIZE
private static final int OPUS_MAX_INPUT_SIZE
private static final int MP3_MAX_INPUT_SIZE
private static final int ENCRYPTION_IV_SIZE
private static final int TRACK_TYPE_AUDIO
private static final int UNKNOWN
private static final int ID_EBML
private static final int ID_EBML_READ_VERSION
private static final int ID_DOC_TYPE
private static final int ID_DOC_TYPE_READ_VERSION
private static final int ID_SEGMENT
private static final int ID_SEGMENT_INFO
private static final int ID_SEEK_HEAD
private static final int ID_SEEK
private static final int ID_SEEK_ID
private static final int ID_SEEK_POSITION
private static final int ID_INFO
private static final int ID_TIMECODE_SCALE
private static final int ID_DURATION
private static final int ID_CLUSTER
private static final int ID_TIME_CODE
private static final int ID_SIMPLE_BLOCK
private static final int ID_BLOCK_GROUP
private static final int ID_BLOCK
private static final int ID_BLOCK_DURATION
private static final int ID_REFERENCE_BLOCK
private static final int ID_TRACKS
private static final int ID_TRACK_ENTRY
private static final int ID_TRACK_NUMBER
private static final int ID_TRACK_TYPE
private static final int ID_DEFAULT_DURATION
private static final int ID_CODEC_ID
private static final int ID_CODEC_PRIVATE
private static final int ID_CODEC_DELAY
private static final int ID_SEEK_PRE_ROLL
private static final int ID_VIDEO
private static final int ID_PIXEL_WIDTH
private static final int ID_PIXEL_HEIGHT
private static final int ID_DISPLAY_WIDTH
private static final int ID_DISPLAY_HEIGHT
private static final int ID_DISPLAY_UNIT
private static final int ID_AUDIO
private static final int ID_CHANNELS
private static final int ID_SAMPLING_FREQUENCY
private static final int ID_CONTENT_ENCODINGS
private static final int ID_CONTENT_ENCODING
private static final int ID_CONTENT_ENCODING_ORDER
private static final int ID_CONTENT_ENCODING_SCOPE
private static final int ID_CONTENT_COMPRESSION
private static final int ID_CONTENT_COMPRESSION_ALGORITHM
private static final int ID_CONTENT_COMPRESSION_SETTINGS
private static final int ID_CONTENT_ENCRYPTION
private static final int ID_CONTENT_ENCRYPTION_ALGORITHM
private static final int ID_CONTENT_ENCRYPTION_KEY_ID
private static final int ID_CONTENT_ENCRYPTION_AES_SETTINGS
private static final int ID_CONTENT_ENCRYPTION_AES_SETTINGS_CIPHER_MODE
private static final int ID_CUES
private static final int ID_CUE_POINT
private static final int ID_CUE_TIME
private static final int ID_CUE_TRACK_POSITIONS
private static final int ID_CUE_CLUSTER_POSITION
private static final int ID_LANGUAGE
private static final int LACING_NONE
private static final int LACING_XIPH
private static final int LACING_FIXED_SIZE
private static final int LACING_EBML
private static final byte[] SUBRIP_PREFIX
private static final byte[] SUBRIP_TIMECODE_EMPTY
private static final int SUBRIP_PREFIX_END_TIMECODE_OFFSET
private static final int SUBRIP_TIMECODE_LENGTH
private final com.google.android.exoplayer.extractor.webm.EbmlReader reader
private final com.google.android.exoplayer.extractor.webm.VarintReader varintReader
private final android.util.SparseArray tracks
private final com.google.android.exoplayer.util.ParsableByteArray nalStartCode
private final com.google.android.exoplayer.util.ParsableByteArray nalLength
private final com.google.android.exoplayer.util.ParsableByteArray scratch
private final com.google.android.exoplayer.util.ParsableByteArray vorbisNumPageSamples
private final com.google.android.exoplayer.util.ParsableByteArray seekEntryIdBytes
private final com.google.android.exoplayer.util.ParsableByteArray sampleStrippedBytes
private final com.google.android.exoplayer.util.ParsableByteArray subripSample
private long segmentContentPosition
private long segmentContentSize
private long timecodeScale
private long durationTimecode
private long durationUs
private com.google.android.exoplayer.extractor.webm.WebmExtractor$Track currentTrack
private boolean sentDrmInitData
private boolean sentSeekMap
private int seekEntryId
private long seekEntryPosition
private boolean seekForCues
private long cuesContentPosition
private long seekPositionAfterBuildingCues
private long clusterTimecodeUs
private com.google.android.exoplayer.util.LongArray cueTimesUs
private com.google.android.exoplayer.util.LongArray cueClusterPositions
private boolean seenClusterPositionForCurrentCuePoint
private int blockState
private long blockTimeUs
private long blockDurationUs
private int blockLacingSampleIndex
private int blockLacingSampleCount
private int[] blockLacingSampleSizes
private int blockTrackNumber
private int blockTrackNumberLength
private int blockFlags
private int sampleBytesRead
private boolean sampleEncodingHandled
private int sampleCurrentNalBytesRemaining
private int sampleBytesWritten
private boolean sampleRead
private boolean sampleSeenReferenceBlock
private com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
public void ()
void (com.google.android.exoplayer.extractor.webm.EbmlReader)
com.google.android.exoplayer.extractor.webm.EbmlReader reader
public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
public void init (com.google.android.exoplayer.extractor.ExtractorOutput)
com.google.android.exoplayer.extractor.ExtractorOutput output
public void seek ()
public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.PositionHolder seekPosition
boolean continueReading
int getElementType (int)
int id
boolean isLevel1Element (int)
int id
void startMasterElement (int, long, long) throws com.google.android.exoplayer.ParserException
int id
long contentPosition
long contentSize
void endMasterElement (int) throws com.google.android.exoplayer.ParserException
int id
void integerElement (int, long) throws com.google.android.exoplayer.ParserException
int id
long value
void floatElement (int, double)
int id
double value
void stringElement (int, java.lang.String) throws com.google.android.exoplayer.ParserException
int id
String value
void binaryElement (int, int, com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
int blockLacingSampleSize
int byteValue
int sampleIndex
int totalSamplesSize
int headerSize
int readPosition
int lengthMask
int i
long readValue
int intReadValue
int sampleIndex
int totalSamplesSize
int headerSize
int lacing
int timecode
boolean isInvisible
boolean isKeyframe
long sampleTimeUs
com.google.android.exoplayer.extractor.webm.WebmExtractor$Track track
int id
int contentSize
com.google.android.exoplayer.extractor.ExtractorInput input
private void commitSampleToOutput (com.google.android.exoplayer.extractor.webm.WebmExtractor$Track, long)
com.google.android.exoplayer.extractor.webm.WebmExtractor$Track track
long timeUs
private void resetSample ()
private void readScratch (com.google.android.exoplayer.extractor.ExtractorInput, int) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
int requiredLength
private void writeSampleData (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.webm.WebmExtractor$Track, int) throws java.io.IOException java.lang.InterruptedException
int sizeWithPrefix
byte[] nalLengthData
int nalUnitLengthFieldLength
int nalUnitLengthFieldLengthDiff
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.webm.WebmExtractor$Track track
int size
com.google.android.exoplayer.extractor.TrackOutput output
private void writeSubripSample (com.google.android.exoplayer.extractor.webm.WebmExtractor$Track)
com.google.android.exoplayer.extractor.webm.WebmExtractor$Track track
private static void setSubripSampleEndTimecode (byte[], long)
byte[] timeCodeData
int hours
int minutes
int seconds
int milliseconds
byte[] subripSampleData
long timeUs
byte[] timeCodeData
private void readToTarget (com.google.android.exoplayer.extractor.ExtractorInput, byte[], int, int) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
byte[] target
int offset
int length
int pendingStrippedBytes
private int readToOutput (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.TrackOutput, int) throws java.io.IOException java.lang.InterruptedException
int bytesRead
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.TrackOutput output
int length
int bytesRead
int strippedBytesLeft
private com.google.android.exoplayer.extractor.SeekMap buildSeekMap ()
int i
int i
int cuePointsSize
int[] sizes
long[] offsets
long[] durationsUs
long[] timesUs
private boolean maybeSeekForCues (com.google.android.exoplayer.extractor.PositionHolder, long)
com.google.android.exoplayer.extractor.PositionHolder seekPosition
long currentPosition
private long scaleTimecodeToUs (long) throws com.google.android.exoplayer.ParserException
long unscaledTimecode
private static boolean isCodecSupported (java.lang.String)
String codecId
private static int[] ensureArrayCapacity (int[], int)
int[] array
int length
static void ()
}
com/google/android/exoplayer/extractor/webm/DefaultEbmlReader$1.classDefaultEbmlReader.java
package com.google.android.exoplayer.extractor.webm
com.google.android.exoplayer.extractor.webm.DefaultEbmlReader$1 extends java.lang.Object {
}
com/google/android/exoplayer/extractor/webm/VarintReader.classVarintReader.java
package com.google.android.exoplayer.extractor.webm
final com.google.android.exoplayer.extractor.webm.VarintReader extends java.lang.Object {
private static final int STATE_BEGIN_READING
private static final int STATE_READ_CONTENTS
private static final long[] VARINT_LENGTH_MASKS
private final byte[] scratch
private int state
private int length
public void ()
public void reset ()
public long readUnsignedVarint (com.google.android.exoplayer.extractor.ExtractorInput, boolean, boolean, int) throws java.io.IOException java.lang.InterruptedException
int firstByte
com.google.android.exoplayer.extractor.ExtractorInput input
boolean allowEndOfInput
boolean removeLengthMask
int maximumAllowedLength
public int getLastLength ()
public static int parseUnsignedVarintLength (int)
int i
int firstByte
int varIntLength
public static long assembleVarint (byte[], int, boolean)
int i
byte[] varintBytes
int varintLength
boolean removeLengthMask
long varint
static void ()
}
com/google/android/exoplayer/extractor/webm/EbmlReaderOutput.classEbmlReaderOutput.java
package com.google.android.exoplayer.extractor.webm
abstract com.google.android.exoplayer.extractor.webm.EbmlReaderOutput extends java.lang.Object {
public abstract int getElementType (int)
public abstract boolean isLevel1Element (int)
public abstract void startMasterElement (int, long, long) throws com.google.android.exoplayer.ParserException
public abstract void endMasterElement (int) throws com.google.android.exoplayer.ParserException
public abstract void integerElement (int, long) throws com.google.android.exoplayer.ParserException
public abstract void floatElement (int, double) throws com.google.android.exoplayer.ParserException
public abstract void stringElement (int, java.lang.String) throws com.google.android.exoplayer.ParserException
public abstract void binaryElement (int, int, com.google.android.exoplayer.extractor.ExtractorInput) throws com.google.android.exoplayer.ParserException java.io.IOException java.lang.InterruptedException
}
com/google/android/exoplayer/extractor/webm/Sniffer.classSniffer.java
package com.google.android.exoplayer.extractor.webm
final com.google.android.exoplayer.extractor.webm.Sniffer extends java.lang.Object {
private static final int SEARCH_LENGTH
private static final int ID_EBML
private final com.google.android.exoplayer.util.ParsableByteArray scratch
private int peekLength
public void ()
public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
long id
long size
com.google.android.exoplayer.extractor.ExtractorInput input
long inputLength
int bytesToSearch
long tag
long headerSize
long headerStart
private long readUint (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
int i
com.google.android.exoplayer.extractor.ExtractorInput input
int value
int mask
int length
}
com/google/android/exoplayer/extractor/webm/DefaultEbmlReader.classDefaultEbmlReader.java
package com.google.android.exoplayer.extractor.webm
final com.google.android.exoplayer.extractor.webm.DefaultEbmlReader extends java.lang.Object implements com.google.android.exoplayer.extractor.webm.EbmlReader {
private static final int ELEMENT_STATE_READ_ID
private static final int ELEMENT_STATE_READ_CONTENT_SIZE
private static final int ELEMENT_STATE_READ_CONTENT
private static final int MAX_ID_BYTES
private static final int MAX_LENGTH_BYTES
private static final int MAX_INTEGER_ELEMENT_SIZE_BYTES
private static final int VALID_FLOAT32_ELEMENT_SIZE_BYTES
private static final int VALID_FLOAT64_ELEMENT_SIZE_BYTES
private final byte[] scratch
private final java.util.Stack masterElementsStack
private final com.google.android.exoplayer.extractor.webm.VarintReader varintReader
private com.google.android.exoplayer.extractor.webm.EbmlReaderOutput output
private int elementState
private int elementId
private long elementContentSize
void ()
public void init (com.google.android.exoplayer.extractor.webm.EbmlReaderOutput)
com.google.android.exoplayer.extractor.webm.EbmlReaderOutput eventHandler
public void reset ()
public boolean read (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
long result
long elementContentPosition
long elementEndPosition
int type
com.google.android.exoplayer.extractor.ExtractorInput input
private long maybeResyncToNextLevel1Element (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.EOFException java.io.IOException java.lang.InterruptedException
int potentialId
int varintLength
com.google.android.exoplayer.extractor.ExtractorInput input
private long readInteger (com.google.android.exoplayer.extractor.ExtractorInput, int) throws java.io.IOException java.lang.InterruptedException
int i
com.google.android.exoplayer.extractor.ExtractorInput input
int byteLength
long value
private double readFloat (com.google.android.exoplayer.extractor.ExtractorInput, int) throws java.io.IOException java.lang.InterruptedException
double floatValue
com.google.android.exoplayer.extractor.ExtractorInput input
int byteLength
long integerValue
double floatValue
private java.lang.String readString (com.google.android.exoplayer.extractor.ExtractorInput, int) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
int byteLength
byte[] stringBytes
}
com/google/android/exoplayer/extractor/ExtractorSampleSource$UnrecognizedInputFormatException.classExtractorSampleSource.java
package com.google.android.exoplayer.extractor
public final com.google.android.exoplayer.extractor.ExtractorSampleSource$UnrecognizedInputFormatException extends com.google.android.exoplayer.ParserException {
public void (com.google.android.exoplayer.extractor.Extractor[])
com.google.android.exoplayer.extractor.Extractor[] extractors
}
com/google/android/exoplayer/extractor/wav/
com/google/android/exoplayer/extractor/wav/WavHeader.classWavHeader.java
package com.google.android.exoplayer.extractor.wav
final com.google.android.exoplayer.extractor.wav.WavHeader extends java.lang.Object {
private final int numChannels
private final int sampleRateHz
private final int averageBytesPerSecond
private final int blockAlignment
private final int bitsPerSample
private long dataStartPosition
private long dataSize
public void (int, int, int, int, int)
int numChannels
int sampleRateHz
int averageBytesPerSecond
int blockAlignment
int bitsPerSample
public long getDurationUs ()
public long getNumSamples ()
public long getNumFrames ()
public int getBytesPerSample ()
public int getBytesPerFrame ()
public int getBitrate ()
public int getSampleRateHz ()
public int getNumChannels ()
public long getPosition (long)
long timeUs
long unroundedPosition
public long getTimeUs (long)
long position
public boolean hasDataBounds ()
public void setDataBounds (long, long)
long dataStartPosition
long dataSize
}
com/google/android/exoplayer/extractor/wav/WavHeaderReader$ChunkHeader.classWavHeaderReader.java
package com.google.android.exoplayer.extractor.wav
final com.google.android.exoplayer.extractor.wav.WavHeaderReader$ChunkHeader extends java.lang.Object {
public static final int SIZE_IN_BYTES
public final int id
public final long size
private void (int, long)
int id
long size
public static com.google.android.exoplayer.extractor.wav.WavHeaderReader$ChunkHeader peek (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.util.ParsableByteArray) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.util.ParsableByteArray scratch
int id
long size
}
com/google/android/exoplayer/extractor/wav/WavExtractor.classWavExtractor.java
package com.google.android.exoplayer.extractor.wav
public final com.google.android.exoplayer.extractor.wav.WavExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor com.google.android.exoplayer.extractor.SeekMap {
private static final int MAX_INPUT_SIZE
private com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
private com.google.android.exoplayer.extractor.TrackOutput trackOutput
private com.google.android.exoplayer.extractor.wav.WavHeader wavHeader
private int bytesPerFrame
private int pendingBytes
public void ()
public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
public void init (com.google.android.exoplayer.extractor.ExtractorOutput)
com.google.android.exoplayer.extractor.ExtractorOutput output
public void seek ()
public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder) throws java.io.IOException java.lang.InterruptedException
long sampleStartPosition
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.PositionHolder seekPosition
int bytesAppended
int frameBytes
public boolean isSeekable ()
public long getPosition (long)
long timeUs
}
com/google/android/exoplayer/extractor/wav/WavHeaderReader.classWavHeaderReader.java
package com.google.android.exoplayer.extractor.wav
final com.google.android.exoplayer.extractor.wav.WavHeaderReader extends java.lang.Object {
private static final String TAG
private static final int TYPE_PCM
private static final int TYPE_WAVE_FORMAT_EXTENSIBLE
void ()
public static com.google.android.exoplayer.extractor.wav.WavHeader peek (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException com.google.android.exoplayer.ParserException
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.util.ParsableByteArray scratch
com.google.android.exoplayer.extractor.wav.WavHeaderReader$ChunkHeader riffChunkHeader
int riffFormat
com.google.android.exoplayer.extractor.wav.WavHeaderReader$ChunkHeader formatChunkHeader
int type
int numChannels
int sampleRateHz
int averageBytesPerSecond
int blockAlignment
int bitsPerSample
int expectedBlockAlignment
public static void skipToData (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.wav.WavHeader) throws java.io.IOException java.lang.InterruptedException com.google.android.exoplayer.ParserException
long bytesToSkip
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.wav.WavHeader wavHeader
com.google.android.exoplayer.util.ParsableByteArray scratch
com.google.android.exoplayer.extractor.wav.WavHeaderReader$ChunkHeader chunkHeader
}
com/google/android/exoplayer/extractor/SeekMap$1.classSeekMap.java
package com.google.android.exoplayer.extractor
final com.google.android.exoplayer.extractor.SeekMap$1 extends java.lang.Object implements com.google.android.exoplayer.extractor.SeekMap {
void ()
public boolean isSeekable ()
public long getPosition (long)
long timeUs
}
com/google/android/exoplayer/extractor/ExtractorSampleSource$ExtractorHolder.classExtractorSampleSource.java
package com.google.android.exoplayer.extractor
final com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractorHolder extends java.lang.Object {
private final com.google.android.exoplayer.extractor.Extractor[] extractors
private final com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
private com.google.android.exoplayer.extractor.Extractor extractor
public void (com.google.android.exoplayer.extractor.Extractor[], com.google.android.exoplayer.extractor.ExtractorOutput)
com.google.android.exoplayer.extractor.Extractor[] extractors
com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
public com.google.android.exoplayer.extractor.Extractor selectExtractor (com.google.android.exoplayer.extractor.ExtractorInput) throws com.google.android.exoplayer.extractor.ExtractorSampleSource$UnrecognizedInputFormatException java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.Extractor extractor
com.google.android.exoplayer.extractor.ExtractorInput input
}
com/google/android/exoplayer/extractor/DefaultTrackOutput.classDefaultTrackOutput.java
package com.google.android.exoplayer.extractor
public com.google.android.exoplayer.extractor.DefaultTrackOutput extends java.lang.Object implements com.google.android.exoplayer.extractor.TrackOutput {
private final com.google.android.exoplayer.extractor.RollingSampleBuffer rollingBuffer
private final com.google.android.exoplayer.SampleHolder sampleInfoHolder
private boolean needKeyframe
private long lastReadTimeUs
private long spliceOutTimeUs
private volatile long largestParsedTimestampUs
private volatile com.google.android.exoplayer.MediaFormat format
public void (com.google.android.exoplayer.upstream.Allocator)
com.google.android.exoplayer.upstream.Allocator allocator
public void clear ()
public int getWriteIndex ()
public void discardUpstreamSamples (int)
int discardFromIndex
public int getReadIndex ()
public boolean hasFormat ()
public com.google.android.exoplayer.MediaFormat getFormat ()
public long getLargestParsedTimestampUs ()
public boolean isEmpty ()
public boolean getSample (com.google.android.exoplayer.SampleHolder)
com.google.android.exoplayer.SampleHolder holder
boolean foundEligibleSample
public void discardUntil (long)
long timeUs
public boolean skipToKeyframeBefore (long)
long timeUs
public boolean configureSpliceTo (com.google.android.exoplayer.extractor.DefaultTrackOutput)
long firstPossibleSpliceTime
com.google.android.exoplayer.extractor.DefaultTrackOutput nextQueue
long firstPossibleSpliceTime
com.google.android.exoplayer.extractor.RollingSampleBuffer nextRollingBuffer
private boolean advanceToEligibleSample ()
boolean haveNext
public int sampleData (com.google.android.exoplayer.upstream.DataSource, int, boolean) throws java.io.IOException
com.google.android.exoplayer.upstream.DataSource dataSource
int length
boolean allowEndOfInput
public void format (com.google.android.exoplayer.MediaFormat)
com.google.android.exoplayer.MediaFormat format
public int sampleData (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
int length
boolean allowEndOfInput
public void sampleData (com.google.android.exoplayer.util.ParsableByteArray, int)
com.google.android.exoplayer.util.ParsableByteArray buffer
int length
public void sampleMetadata (long, int, int, int, byte[])
long timeUs
int flags
int size
int offset
byte[] encryptionKey
}
com/google/android/exoplayer/extractor/RollingSampleBuffer$InfoQueue.classRollingSampleBuffer.java
package com.google.android.exoplayer.extractor
final com.google.android.exoplayer.extractor.RollingSampleBuffer$InfoQueue extends java.lang.Object {
private static final int SAMPLE_CAPACITY_INCREMENT
private int capacity
private long[] offsets
private int[] sizes
private int[] flags
private long[] timesUs
private byte[][] encryptionKeys
private int queueSize
private int absoluteReadIndex
private int relativeReadIndex
private int relativeWriteIndex
public void ()
public void clear ()
public int getWriteIndex ()
public long discardUpstreamSamples (int)
int lastWriteIndex
int discardFromIndex
int discardCount
public int getReadIndex ()
public synchronized boolean peekSample (com.google.android.exoplayer.SampleHolder, com.google.android.exoplayer.extractor.RollingSampleBuffer$SampleExtrasHolder)
com.google.android.exoplayer.SampleHolder holder
com.google.android.exoplayer.extractor.RollingSampleBuffer$SampleExtrasHolder extrasHolder
public synchronized long moveToNextSample ()
int lastReadIndex
public synchronized long skipToKeyframeBefore (long)
long timeUs
int lastWriteIndex
long lastTimeUs
int sampleCount
int sampleCountToKeyframe
int searchIndex
public synchronized void commitSample (long, int, long, int, byte[])
int newCapacity
long[] newOffsets
long[] newTimesUs
int[] newFlags
int[] newSizes
byte[][] newEncryptionKeys
int beforeWrap
int afterWrap
long timeUs
int sampleFlags
long offset
int size
byte[] encryptionKey
}
com/google/android/exoplayer/extractor/DefaultExtractorInput.classDefaultExtractorInput.java
package com.google.android.exoplayer.extractor
public final com.google.android.exoplayer.extractor.DefaultExtractorInput extends java.lang.Object implements com.google.android.exoplayer.extractor.ExtractorInput {
private static final byte[] SCRATCH_SPACE
private final com.google.android.exoplayer.upstream.DataSource dataSource
private final long streamLength
private long position
private byte[] peekBuffer
private int peekBufferPosition
private int peekBufferLength
public void (com.google.android.exoplayer.upstream.DataSource, long, long)
com.google.android.exoplayer.upstream.DataSource dataSource
long position
long length
public int read (byte[], int, int) throws java.io.IOException java.lang.InterruptedException
byte[] target
int offset
int length
int bytesRead
public boolean readFully (byte[], int, int, boolean) throws java.io.IOException java.lang.InterruptedException
byte[] target
int offset
int length
boolean allowEndOfInput
int bytesRead
public void readFully (byte[], int, int) throws java.io.IOException java.lang.InterruptedException
byte[] target
int offset
int length
public int skip (int) throws java.io.IOException java.lang.InterruptedException
int length
int bytesSkipped
public boolean skipFully (int, boolean) throws java.io.IOException java.lang.InterruptedException
int length
boolean allowEndOfInput
int bytesSkipped
public void skipFully (int) throws java.io.IOException java.lang.InterruptedException
int length
public boolean peekFully (byte[], int, int, boolean) throws java.io.IOException java.lang.InterruptedException
byte[] target
int offset
int length
boolean allowEndOfInput
public void peekFully (byte[], int, int) throws java.io.IOException java.lang.InterruptedException
byte[] target
int offset
int length
public boolean advancePeekPosition (int, boolean) throws java.io.IOException java.lang.InterruptedException
int length
boolean allowEndOfInput
int bytesPeeked
public void advancePeekPosition (int) throws java.io.IOException java.lang.InterruptedException
int length
public void resetPeekPosition ()
public long getPeekPosition ()
public long getPosition ()
public long getLength ()
private void ensureSpaceForPeek (int)
int length
int requiredLength
private int skipFromPeekBuffer (int)
int length
int bytesSkipped
private int readFromPeekBuffer (byte[], int, int)
byte[] target
int offset
int length
int peekBytes
private void updatePeekBuffer (int)
int bytesConsumed
private int readFromDataSource (byte[], int, int, int, boolean) throws java.lang.InterruptedException java.io.IOException
byte[] target
int offset
int length
int bytesAlreadyRead
boolean allowEndOfInput
int bytesRead
private void commitBytesRead (int)
int bytesRead
static void ()
}
com/google/android/exoplayer/extractor/mp4/
com/google/android/exoplayer/extractor/mp4/PsshAtomUtil.classPsshAtomUtil.java
package com.google.android.exoplayer.extractor.mp4
public final com.google.android.exoplayer.extractor.mp4.PsshAtomUtil extends java.lang.Object {
private static final String TAG
private void ()
public static byte[] buildPsshAtom (java.util.UUID, byte[])
java.util.UUID uuid
byte[] data
int psshBoxLength
java.nio.ByteBuffer psshBox
public static java.util.UUID parseUuid (byte[])
byte[] atom
android.util.Pair parsedAtom
public static byte[] parseSchemeSpecificData (byte[], java.util.UUID)
byte[] atom
java.util.UUID uuid
android.util.Pair parsedAtom
private static android.util.Pair parsePsshAtom (byte[])
int keyIdCount
byte[] atom
com.google.android.exoplayer.util.ParsableByteArray atomData
int atomSize
int atomType
int atomVersion
java.util.UUID uuid
int dataSize
byte[] data
}
com/google/android/exoplayer/extractor/mp4/Track.classTrack.java
package com.google.android.exoplayer.extractor.mp4
public final com.google.android.exoplayer.extractor.mp4.Track extends java.lang.Object {
public static final int TYPE_vide
public static final int TYPE_soun
public static final int TYPE_text
public static final int TYPE_sbtl
public static final int TYPE_subt
public final int id
public final int type
public final long timescale
public final long movieTimescale
public final long durationUs
public final com.google.android.exoplayer.MediaFormat mediaFormat
public final com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox[] sampleDescriptionEncryptionBoxes
public final long[] editListDurations
public final long[] editListMediaTimes
public final int nalUnitLengthFieldLength
public void (int, int, long, long, long, com.google.android.exoplayer.MediaFormat, com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox[], int, long[], long[])
int id
int type
long timescale
long movieTimescale
long durationUs
com.google.android.exoplayer.MediaFormat mediaFormat
com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox[] sampleDescriptionEncryptionBoxes
int nalUnitLengthFieldLength
long[] editListDurations
long[] editListMediaTimes
static void ()
}
com/google/android/exoplayer/extractor/mp4/FragmentedMp4Extractor.classFragmentedMp4Extractor.java
package com.google.android.exoplayer.extractor.mp4
public final com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor {
private static final String TAG
public static final int FLAG_WORKAROUND_EVERY_VIDEO_FRAME_IS_SYNC_FRAME
public static final int FLAG_WORKAROUND_IGNORE_TFDT_BOX
private static final int FLAG_SIDELOADED
private static final byte[] PIFF_SAMPLE_ENCRYPTION_BOX_EXTENDED_TYPE
private static final int STATE_READING_ATOM_HEADER
private static final int STATE_READING_ATOM_PAYLOAD
private static final int STATE_READING_ENCRYPTION_DATA
private static final int STATE_READING_SAMPLE_START
private static final int STATE_READING_SAMPLE_CONTINUE
private final int flags
private final com.google.android.exoplayer.extractor.mp4.Track sideloadedTrack
private final android.util.SparseArray trackBundles
private final com.google.android.exoplayer.util.ParsableByteArray nalStartCode
private final com.google.android.exoplayer.util.ParsableByteArray nalLength
private final com.google.android.exoplayer.util.ParsableByteArray encryptionSignalByte
private final com.google.android.exoplayer.util.ParsableByteArray atomHeader
private final byte[] extendedTypeScratch
private final java.util.Stack containerAtoms
private int parserState
private int atomType
private long atomSize
private int atomHeaderBytesRead
private com.google.android.exoplayer.util.ParsableByteArray atomData
private long endOfMdatPosition
private com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle currentTrackBundle
private int sampleSize
private int sampleBytesWritten
private int sampleCurrentNalBytesRemaining
private com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
private boolean haveOutputSeekMap
public void ()
public void (int)
int flags
public void (int, com.google.android.exoplayer.extractor.mp4.Track)
int flags
com.google.android.exoplayer.extractor.mp4.Track sideloadedTrack
public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
public void init (com.google.android.exoplayer.extractor.ExtractorOutput)
com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle bundle
com.google.android.exoplayer.extractor.ExtractorOutput output
public void seek ()
public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.PositionHolder seekPosition
private void enterReadingAtomHeaderState ()
private boolean readAtomHeader (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
int headerBytesRemaining
com.google.android.exoplayer.extractor.mp4.TrackFragment fragment
int i
int trackCount
long endPosition
com.google.android.exoplayer.extractor.ExtractorInput input
long atomPosition
private void readAtomPayload (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
int atomPayloadSize
private void processAtomEnded (long) throws com.google.android.exoplayer.ParserException
long atomEndPosition
private void onLeafAtomRead (com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom, long) throws com.google.android.exoplayer.ParserException
com.google.android.exoplayer.extractor.ChunkIndex segmentIndex
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom leaf
long inputPosition
private void onContainerAtomRead (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom) throws com.google.android.exoplayer.ParserException
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom container
private void onMoovContainerAtomRead (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom)
byte[] psshData
java.util.UUID uuid
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom child
int i
android.util.Pair trexData
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom atom
int i
com.google.android.exoplayer.extractor.mp4.Track track
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom atom
int i
int i
com.google.android.exoplayer.extractor.mp4.Track track
int i
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom moov
java.util.List moovLeafChildren
int moovLeafChildrenSize
com.google.android.exoplayer.drm.DrmInitData$Mapped drmInitData
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom mvex
android.util.SparseArray defaultSampleValuesArray
int mvexChildrenSize
android.util.SparseArray tracks
int moovContainerChildrenSize
int trackCount
private void onMoofContainerAtomRead (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom) throws com.google.android.exoplayer.ParserException
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom moof
private static android.util.Pair parseTrex (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray trex
int trackId
int defaultSampleDescriptionIndex
int defaultSampleDuration
int defaultSampleSize
int defaultSampleFlags
private static void parseMoof (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom, android.util.SparseArray, int, byte[]) throws com.google.android.exoplayer.ParserException
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom child
int i
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom moof
android.util.SparseArray trackBundleArray
int flags
byte[] extendedTypeScratch
int moofContainerChildrenSize
private static void parseTraf (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom, android.util.SparseArray, int, byte[]) throws com.google.android.exoplayer.ParserException
long decodeTime
com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox trackEncryptionBox
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom atom
int i
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom traf
android.util.SparseArray trackBundleArray
int flags
byte[] extendedTypeScratch
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom tfhd
com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle trackBundle
com.google.android.exoplayer.extractor.mp4.TrackFragment fragment
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom tfdtAtom
long decodeTime
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom trun
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom saiz
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom saio
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom senc
int childrenSize
private static void parseSaiz (com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox, com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.extractor.mp4.TrackFragment) throws com.google.android.exoplayer.ParserException
int sampleInfoSize
int i
boolean[] sampleHasSubsampleEncryptionTable
boolean subsampleEncryption
com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox encryptionBox
com.google.android.exoplayer.util.ParsableByteArray saiz
com.google.android.exoplayer.extractor.mp4.TrackFragment out
int vectorSize
int fullAtom
int flags
int defaultSampleInfoSize
int sampleCount
int totalSize
private static void parseSaio (com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.extractor.mp4.TrackFragment) throws com.google.android.exoplayer.ParserException
com.google.android.exoplayer.util.ParsableByteArray saio
com.google.android.exoplayer.extractor.mp4.TrackFragment out
int fullAtom
int flags
int entryCount
int version
private static com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle parseTfhd (com.google.android.exoplayer.util.ParsableByteArray, android.util.SparseArray, int)
long baseDataPosition
com.google.android.exoplayer.util.ParsableByteArray tfhd
android.util.SparseArray trackBundles
int flags
int fullAtom
int atomFlags
int trackId
com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle trackBundle
com.google.android.exoplayer.extractor.mp4.DefaultSampleValues defaultSampleValues
int defaultSampleDescriptionIndex
int defaultSampleDuration
int defaultSampleSize
int defaultSampleFlags
private static long parseTfdt (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray tfdt
int fullAtom
int version
private static void parseTrun (com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle, long, int, com.google.android.exoplayer.util.ParsableByteArray)
int sampleOffset
int sampleDuration
int sampleSize
int sampleFlags
int i
com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle trackBundle
long decodeTime
int flags
com.google.android.exoplayer.util.ParsableByteArray trun
int fullAtom
int atomFlags
com.google.android.exoplayer.extractor.mp4.Track track
com.google.android.exoplayer.extractor.mp4.TrackFragment fragment
com.google.android.exoplayer.extractor.mp4.DefaultSampleValues defaultSampleValues
int sampleCount
boolean firstSampleFlagsPresent
int firstSampleFlags
boolean sampleDurationsPresent
boolean sampleSizesPresent
boolean sampleFlagsPresent
boolean sampleCompositionTimeOffsetsPresent
long edtsOffset
int[] sampleSizeTable
int[] sampleCompositionTimeOffsetTable
long[] sampleDecodingTimeTable
boolean[] sampleIsSyncFrameTable
long timescale
long cumulativeTime
boolean workaroundEveryVideoFrameIsSyncFrame
private static void parseUuid (com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.extractor.mp4.TrackFragment, byte[]) throws com.google.android.exoplayer.ParserException
com.google.android.exoplayer.util.ParsableByteArray uuid
com.google.android.exoplayer.extractor.mp4.TrackFragment out
byte[] extendedTypeScratch
private static void parseSenc (com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.extractor.mp4.TrackFragment) throws com.google.android.exoplayer.ParserException
com.google.android.exoplayer.util.ParsableByteArray senc
com.google.android.exoplayer.extractor.mp4.TrackFragment out
private static void parseSenc (com.google.android.exoplayer.util.ParsableByteArray, int, com.google.android.exoplayer.extractor.mp4.TrackFragment) throws com.google.android.exoplayer.ParserException
com.google.android.exoplayer.util.ParsableByteArray senc
int offset
com.google.android.exoplayer.extractor.mp4.TrackFragment out
int fullAtom
int flags
boolean subsampleEncryption
int sampleCount
private static com.google.android.exoplayer.extractor.ChunkIndex parseSidx (com.google.android.exoplayer.util.ParsableByteArray, long) throws com.google.android.exoplayer.ParserException
long earliestPresentationTime
int firstInt
int type
long referenceDuration
int i
com.google.android.exoplayer.util.ParsableByteArray atom
long inputPosition
int fullAtom
int version
long timescale
long earliestPresentationTime
long offset
int referenceCount
int[] sizes
long[] offsets
long[] durationsUs
long[] timesUs
long time
long timeUs
private void readEncryptionData (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.mp4.TrackFragment trackFragment
int i
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle nextTrackBundle
long nextDataOffset
int trackBundlesSize
int bytesToSkip
private boolean readSample (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
int bytesToSkip
long nextDataPosition
int bytesToSkip
int writtenBytes
byte[] nalLengthData
int nalUnitLengthFieldLength
int nalUnitLengthFieldLengthDiff
int writtenBytes
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.mp4.TrackFragment fragment
com.google.android.exoplayer.extractor.mp4.Track track
com.google.android.exoplayer.extractor.TrackOutput output
int sampleIndex
long sampleTimeUs
int sampleFlags
int sampleDescriptionIndex
byte[] encryptionKey
private static com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle getNextFragmentRun (android.util.SparseArray)
long trunOffset
com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle trackBundle
int i
android.util.SparseArray trackBundles
com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle nextTrackBundle
long nextTrackRunOffset
int trackBundlesSize
private int appendSampleEncryptionData (com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle)
com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle trackBundle
com.google.android.exoplayer.extractor.mp4.TrackFragment trackFragment
com.google.android.exoplayer.util.ParsableByteArray sampleEncryptionData
int sampleDescriptionIndex
com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox encryptionBox
int vectorSize
boolean subsampleEncryption
com.google.android.exoplayer.extractor.TrackOutput output
int subsampleCount
int subsampleDataLength
private static boolean shouldParseLeafAtom (int)
int atom
private static boolean shouldParseContainerAtom (int)
int atom
static void ()
}
com/google/android/exoplayer/extractor/mp4/Mp4Extractor.classMp4Extractor.java
package com.google.android.exoplayer.extractor.mp4
public final com.google.android.exoplayer.extractor.mp4.Mp4Extractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor com.google.android.exoplayer.extractor.SeekMap {
private static final int STATE_AFTER_SEEK
private static final int STATE_READING_ATOM_HEADER
private static final int STATE_READING_ATOM_PAYLOAD
private static final int STATE_READING_SAMPLE
private static final int BRAND_QUICKTIME
private static final long RELOAD_MINIMUM_SEEK_DISTANCE
private final com.google.android.exoplayer.util.ParsableByteArray nalStartCode
private final com.google.android.exoplayer.util.ParsableByteArray nalLength
private final com.google.android.exoplayer.util.ParsableByteArray atomHeader
private final java.util.Stack containerAtoms
private int parserState
private int atomType
private long atomSize
private int atomHeaderBytesRead
private com.google.android.exoplayer.util.ParsableByteArray atomData
private int sampleSize
private int sampleBytesWritten
private int sampleCurrentNalBytesRemaining
private com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
private com.google.android.exoplayer.extractor.mp4.Mp4Extractor$Mp4Track[] tracks
private boolean isQuickTime
public void ()
public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
public void init (com.google.android.exoplayer.extractor.ExtractorOutput)
com.google.android.exoplayer.extractor.ExtractorOutput output
public void seek ()
public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.PositionHolder seekPosition
public boolean isSeekable ()
public long getPosition (long)
com.google.android.exoplayer.extractor.mp4.TrackSampleTable sampleTable
int sampleIndex
long offset
int trackIndex
long timeUs
long earliestSamplePosition
private void enterReadingAtomHeaderState ()
private boolean readAtomHeader (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
int headerBytesRemaining
long endPosition
com.google.android.exoplayer.extractor.ExtractorInput input
private boolean readAtomPayload (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.PositionHolder positionHolder
long atomPayloadSize
long atomEndPosition
boolean seekRequired
private void processAtomEnded (long) throws com.google.android.exoplayer.ParserException
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom containerAtom
long atomEndPosition
private static boolean processFtypAtom (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray atomData
int majorBrand
private void processMoovAtom (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom) throws com.google.android.exoplayer.ParserException
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom atom
com.google.android.exoplayer.extractor.mp4.Track track
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom stblAtom
com.google.android.exoplayer.extractor.mp4.TrackSampleTable trackSampleTable
com.google.android.exoplayer.extractor.mp4.Mp4Extractor$Mp4Track mp4Track
int maxInputSize
com.google.android.exoplayer.MediaFormat mediaFormat
long firstSampleOffset
int i
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom moov
java.util.List tracks
long earliestSampleOffset
com.google.android.exoplayer.extractor.GaplessInfo gaplessInfo
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom udta
private int readSample (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder) throws java.io.IOException java.lang.InterruptedException
int writtenBytes
byte[] nalLengthData
int nalUnitLengthFieldLength
int nalUnitLengthFieldLengthDiff
int writtenBytes
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.PositionHolder positionHolder
int trackIndex
com.google.android.exoplayer.extractor.mp4.Mp4Extractor$Mp4Track track
com.google.android.exoplayer.extractor.TrackOutput trackOutput
int sampleIndex
long position
long skipAmount
private int getTrackIndexOfEarliestCurrentSample ()
com.google.android.exoplayer.extractor.mp4.Mp4Extractor$Mp4Track track
int sampleIndex
long trackSampleOffset
int trackIndex
int earliestSampleTrackIndex
long earliestSampleOffset
private static boolean shouldParseLeafAtom (int)
int atom
private static boolean shouldParseContainerAtom (int)
int atom
static void ()
}
com/google/android/exoplayer/extractor/mp4/Mp4Extractor$Mp4Track.classMp4Extractor.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.Mp4Extractor$Mp4Track extends java.lang.Object {
public final com.google.android.exoplayer.extractor.mp4.Track track
public final com.google.android.exoplayer.extractor.mp4.TrackSampleTable sampleTable
public final com.google.android.exoplayer.extractor.TrackOutput trackOutput
public int sampleIndex
public void (com.google.android.exoplayer.extractor.mp4.Track, com.google.android.exoplayer.extractor.mp4.TrackSampleTable, com.google.android.exoplayer.extractor.TrackOutput)
com.google.android.exoplayer.extractor.mp4.Track track
com.google.android.exoplayer.extractor.mp4.TrackSampleTable sampleTable
com.google.android.exoplayer.extractor.TrackOutput trackOutput
}
com/google/android/exoplayer/extractor/mp4/TrackFragment.classTrackFragment.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.TrackFragment extends java.lang.Object {
public com.google.android.exoplayer.extractor.mp4.DefaultSampleValues header
public long dataPosition
public long auxiliaryDataPosition
public int length
public int[] sampleSizeTable
public int[] sampleCompositionTimeOffsetTable
public long[] sampleDecodingTimeTable
public boolean[] sampleIsSyncFrameTable
public boolean definesEncryptionData
public boolean[] sampleHasSubsampleEncryptionTable
public int sampleEncryptionDataLength
public com.google.android.exoplayer.util.ParsableByteArray sampleEncryptionData
public boolean sampleEncryptionDataNeedsFill
void ()
public void reset ()
public void initTables (int)
int tableSize
int sampleCount
public void initEncryptionData (int)
int length
public void fillEncryptionData (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
public void fillEncryptionData (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray source
public long getSamplePresentationTime (int)
int index
}
com/google/android/exoplayer/extractor/mp4/AtomParsers$StsdData.classAtomParsers.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData extends java.lang.Object {
public final com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox[] trackEncryptionBoxes
public com.google.android.exoplayer.MediaFormat mediaFormat
public int nalUnitLengthFieldLength
public void (int)
int numberOfEntries
}
com/google/android/exoplayer/extractor/mp4/FragmentedMp4Extractor$TrackBundle.classFragmentedMp4Extractor.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor$TrackBundle extends java.lang.Object {
public final com.google.android.exoplayer.extractor.mp4.TrackFragment fragment
public final com.google.android.exoplayer.extractor.TrackOutput output
public com.google.android.exoplayer.extractor.mp4.Track track
public com.google.android.exoplayer.extractor.mp4.DefaultSampleValues defaultSampleValues
public int currentSampleIndex
public void (com.google.android.exoplayer.extractor.TrackOutput)
com.google.android.exoplayer.extractor.TrackOutput output
public void init (com.google.android.exoplayer.extractor.mp4.Track, com.google.android.exoplayer.extractor.mp4.DefaultSampleValues)
com.google.android.exoplayer.extractor.mp4.Track track
com.google.android.exoplayer.extractor.mp4.DefaultSampleValues defaultSampleValues
}
com/google/android/exoplayer/extractor/mp4/AtomParsers$TkhdData.classAtomParsers.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData extends java.lang.Object {
private final int id
private final long duration
private final int rotationDegrees
public void (int, long, int)
int id
long duration
int rotationDegrees
static long access$000 (com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData)
com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData x0
static int access$100 (com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData)
com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData x0
static int access$200 (com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData)
com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData x0
}
com/google/android/exoplayer/extractor/mp4/Atom$ContainerAtom.classAtom.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom extends com.google.android.exoplayer.extractor.mp4.Atom {
public final long endPosition
public final java.util.List leafChildren
public final java.util.List containerChildren
public void (int, long)
int type
long endPosition
public void add (com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom)
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom atom
public void add (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom)
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom atom
public com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom getLeafAtomOfType (int)
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom atom
int i
int type
int childrenSize
public com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom getContainerAtomOfType (int)
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom atom
int i
int type
int childrenSize
public int getChildAtomOfTypeCount (int)
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom atom
int i
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom atom
int i
int type
int count
int size
public java.lang.String toString ()
}
com/google/android/exoplayer/extractor/mp4/AtomParsers.classAtomParsers.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.AtomParsers extends java.lang.Object {
public static com.google.android.exoplayer.extractor.mp4.Track parseTrak (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom, com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom, boolean)
long durationUs
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom trak
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom mvhd
boolean isQuickTime
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom mdia
int trackType
com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData tkhdData
long duration
long movieTimescale
long durationUs
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom stbl
android.util.Pair mdhdData
com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData stsdData
android.util.Pair edtsData
public static com.google.android.exoplayer.extractor.mp4.TrackSampleTable parseStbl (com.google.android.exoplayer.extractor.mp4.Track, com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom) throws com.google.android.exoplayer.ParserException
long offsetBytes
int i
int i
long duration
int startIndex
int endIndex
long mediaTime
int i
int count
long ptsUs
long timeInSegmentUs
int j
long endMediaTime
int startIndex
int endIndex
long mediaTime
long duration
int i
int i
com.google.android.exoplayer.extractor.mp4.Track track
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom stblAtom
com.google.android.exoplayer.util.ParsableByteArray stsz
com.google.android.exoplayer.util.ParsableByteArray chunkOffsets
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom chunkOffsetsAtom
com.google.android.exoplayer.util.ParsableByteArray stsc
com.google.android.exoplayer.util.ParsableByteArray stts
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom stssAtom
com.google.android.exoplayer.util.ParsableByteArray stss
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom cttsAtom
com.google.android.exoplayer.util.ParsableByteArray ctts
int fixedSampleSize
int sampleCount
long[] offsets
int[] sizes
int maximumSize
long[] timestamps
int[] flags
int chunkCount
int remainingSamplesPerChunkChanges
int samplesPerChunk
int nextSamplesPerChunkChangeChunkIndex
int chunkIndex
int remainingSamplesInChunk
int remainingTimestampDeltaChanges
int remainingSamplesAtTimestampDelta
int timestampDeltaInTimeUnits
int remainingSamplesAtTimestampOffset
int remainingTimestampOffsetChanges
int timestampOffset
int nextSynchronizationSampleIndex
int remainingSynchronizationSamples
long offsetBytes
long timestampTimeUnits
int editedSampleCount
int nextSampleIndex
boolean copyMetadata
long[] editedOffsets
int[] editedSizes
int editedMaximumSize
int[] editedFlags
long[] editedTimestamps
long pts
int sampleIndex
boolean hasSyncSample
public static com.google.android.exoplayer.extractor.GaplessInfo parseUdta (com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom, boolean)
int atomSize
int atomType
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom udtaAtom
boolean isQuickTime
com.google.android.exoplayer.util.ParsableByteArray udtaData
private static com.google.android.exoplayer.extractor.GaplessInfo parseMetaAtom (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.extractor.GaplessInfo gaplessInfo
int payloadSize
int atomType
com.google.android.exoplayer.util.ParsableByteArray data
com.google.android.exoplayer.util.ParsableByteArray ilst
private static com.google.android.exoplayer.extractor.GaplessInfo parseIlst (com.google.android.exoplayer.util.ParsableByteArray)
int length
int key
String lastCommentMean
String lastCommentName
String lastCommentData
int position
int endPosition
int type
com.google.android.exoplayer.util.ParsableByteArray ilst
private static long parseMvhd (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray mvhd
int fullAtom
int version
private static com.google.android.exoplayer.extractor.mp4.AtomParsers$TkhdData parseTkhd (com.google.android.exoplayer.util.ParsableByteArray)
int i
long duration
int rotationDegrees
int rotationDegrees
int rotationDegrees
com.google.android.exoplayer.util.ParsableByteArray tkhd
int fullAtom
int version
int trackId
boolean durationUnknown
int durationPosition
int durationByteCount
long duration
int a00
int a01
int a10
int a11
int rotationDegrees
int fixedOne
private static int parseHdlr (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray hdlr
private static android.util.Pair parseMdhd (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray mdhd
int fullAtom
int version
long timescale
int languageCode
String language
private static com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData parseStsd (com.google.android.exoplayer.util.ParsableByteArray, int, long, int, java.lang.String, boolean)
int childStartPosition
int childAtomSize
int childAtomType
int i
com.google.android.exoplayer.util.ParsableByteArray stsd
int trackId
long durationUs
int rotationDegrees
String language
boolean isQuickTime
int numberOfEntries
com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData out
private static void parseVideoSampleEntry (com.google.android.exoplayer.util.ParsableByteArray, int, int, int, long, int, com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData, int)
com.google.android.exoplayer.extractor.mp4.AtomParsers$AvcCData avcCData
android.util.Pair hvcCData
android.util.Pair mimeTypeAndInitializationData
int childStartPosition
int childAtomSize
int childAtomType
com.google.android.exoplayer.util.ParsableByteArray parent
int position
int size
int trackId
long durationUs
int rotationDegrees
com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData out
int entryIndex
int width
int height
boolean pixelWidthHeightRatioFromPasp
float pixelWidthHeightRatio
java.util.List initializationData
int childPosition
String mimeType
private static com.google.android.exoplayer.extractor.mp4.AtomParsers$AvcCData parseAvcCFromParent (com.google.android.exoplayer.util.ParsableByteArray, int)
int j
int j
com.google.android.exoplayer.util.ParsableBitArray spsDataBitArray
com.google.android.exoplayer.util.ParsableByteArray parent
int position
int nalUnitLengthFieldLength
java.util.List initializationData
float pixelWidthAspectRatio
int numSequenceParameterSets
int numPictureParameterSets
private static android.util.Pair parseHvcCFromParent (com.google.android.exoplayer.util.ParsableByteArray, int)
int nalUnitLength
int j
int numberOfNalUnits
int i
int nalUnitLength
int j
int numberOfNalUnits
int i
com.google.android.exoplayer.util.ParsableByteArray parent
int position
int lengthSizeMinusOne
int numberOfArrays
int csdLength
int csdStartPosition
byte[] buffer
int bufferPosition
java.util.List initializationData
private static android.util.Pair parseEdts (com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom)
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom elst
int mediaRateInteger
int i
com.google.android.exoplayer.extractor.mp4.Atom$ContainerAtom edtsAtom
com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom elst
com.google.android.exoplayer.util.ParsableByteArray elstData
int fullAtom
int version
int entryCount
long[] editListDurations
long[] editListMediaTimes
private static com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox parseSinfFromParent (com.google.android.exoplayer.util.ParsableByteArray, int, int)
int childAtomSize
int childAtomType
com.google.android.exoplayer.util.ParsableByteArray parent
int position
int size
int childPosition
com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox trackEncryptionBox
private static float parsePaspFromParent (com.google.android.exoplayer.util.ParsableByteArray, int)
com.google.android.exoplayer.util.ParsableByteArray parent
int position
int hSpacing
int vSpacing
private static com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox parseSchiFromParent (com.google.android.exoplayer.util.ParsableByteArray, int, int)
int firstInt
boolean defaultIsEncrypted
int defaultInitVectorSize
byte[] defaultKeyId
int childAtomSize
int childAtomType
com.google.android.exoplayer.util.ParsableByteArray parent
int position
int size
int childPosition
private static void parseAudioSampleEntry (com.google.android.exoplayer.util.ParsableByteArray, int, int, int, int, long, java.lang.String, boolean, com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData, int)
android.util.Pair audioSpecificConfig
android.util.Pair mimeTypeAndInitializationData
int esdsAtomPosition
int childAtomSize
int childAtomType
com.google.android.exoplayer.util.ParsableByteArray parent
int atomType
int position
int size
int trackId
long durationUs
String language
boolean isQuickTime
com.google.android.exoplayer.extractor.mp4.AtomParsers$StsdData out
int entryIndex
int quickTimeSoundDescriptionVersion
int channelCount
int sampleSize
int sampleRate
String mimeType
byte[] initializationData
int childAtomPosition
private static int findEsdsPosition (com.google.android.exoplayer.util.ParsableByteArray, int, int)
int childAtomSize
int childType
com.google.android.exoplayer.util.ParsableByteArray parent
int position
int size
int childAtomPosition
private static android.util.Pair parseEsdsFromParent (com.google.android.exoplayer.util.ParsableByteArray, int)
com.google.android.exoplayer.util.ParsableByteArray parent
int position
int flags
int objectTypeIndication
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
String mimeType
int initializationDataSize
byte[] initializationData
private static int parseExpandableClassSize (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray data
int currentByte
int size
private void ()
}
com/google/android/exoplayer/extractor/mp4/Atom.classAtom.java
package com.google.android.exoplayer.extractor.mp4
abstract com.google.android.exoplayer.extractor.mp4.Atom extends java.lang.Object {
public static final int HEADER_SIZE
public static final int FULL_HEADER_SIZE
public static final int LONG_HEADER_SIZE
public static final int LONG_SIZE_PREFIX
public static final int TYPE_ftyp
public static final int TYPE_avc1
public static final int TYPE_avc3
public static final int TYPE_hvc1
public static final int TYPE_hev1
public static final int TYPE_s263
public static final int TYPE_d263
public static final int TYPE_mdat
public static final int TYPE_mp4a
public static final int TYPE_wave
public static final int TYPE_ac_3
public static final int TYPE_dac3
public static final int TYPE_ec_3
public static final int TYPE_dec3
public static final int TYPE_dtsc
public static final int TYPE_dtsh
public static final int TYPE_dtsl
public static final int TYPE_dtse
public static final int TYPE_ddts
public static final int TYPE_tfdt
public static final int TYPE_tfhd
public static final int TYPE_trex
public static final int TYPE_trun
public static final int TYPE_sidx
public static final int TYPE_moov
public static final int TYPE_mvhd
public static final int TYPE_trak
public static final int TYPE_mdia
public static final int TYPE_minf
public static final int TYPE_stbl
public static final int TYPE_avcC
public static final int TYPE_hvcC
public static final int TYPE_esds
public static final int TYPE_moof
public static final int TYPE_traf
public static final int TYPE_mvex
public static final int TYPE_tkhd
public static final int TYPE_edts
public static final int TYPE_elst
public static final int TYPE_mdhd
public static final int TYPE_hdlr
public static final int TYPE_stsd
public static final int TYPE_pssh
public static final int TYPE_sinf
public static final int TYPE_schm
public static final int TYPE_schi
public static final int TYPE_tenc
public static final int TYPE_encv
public static final int TYPE_enca
public static final int TYPE_frma
public static final int TYPE_saiz
public static final int TYPE_saio
public static final int TYPE_uuid
public static final int TYPE_senc
public static final int TYPE_pasp
public static final int TYPE_TTML
public static final int TYPE_vmhd
public static final int TYPE_mp4v
public static final int TYPE_stts
public static final int TYPE_stss
public static final int TYPE_ctts
public static final int TYPE_stsc
public static final int TYPE_stsz
public static final int TYPE_stco
public static final int TYPE_co64
public static final int TYPE_tx3g
public static final int TYPE_wvtt
public static final int TYPE_stpp
public static final int TYPE_samr
public static final int TYPE_sawb
public static final int TYPE_udta
public static final int TYPE_meta
public static final int TYPE_ilst
public static final int TYPE_mean
public static final int TYPE_name
public static final int TYPE_data
public static final int TYPE_DASHES
public final int type
public void (int)
int type
public java.lang.String toString ()
public static int parseFullAtomVersion (int)
int fullAtomInt
public static int parseFullAtomFlags (int)
int fullAtomInt
public static java.lang.String getAtomTypeString (int)
int type
static void ()
}
com/google/android/exoplayer/extractor/mp4/Sniffer.classSniffer.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.Sniffer extends java.lang.Object {
private static final int[] COMPATIBLE_BRANDS
public static boolean sniffFragmented (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
public static boolean sniffUnfragmented (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
private static boolean sniffInternal (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean) throws java.io.IOException java.lang.InterruptedException
int i
int compatibleBrandsCount
int headerSize
long atomSize
int atomType
int atomDataSize
com.google.android.exoplayer.extractor.ExtractorInput input
int searchLength
boolean fragmented
long inputLength
int bytesToSearch
com.google.android.exoplayer.util.ParsableByteArray buffer
int bytesSearched
boolean foundGoodFileType
boolean foundFragment
private static boolean isCompatibleBrand (int)
int compatibleBrand
int brand
private void ()
static void ()
}
com/google/android/exoplayer/extractor/mp4/AtomParsers$AvcCData.classAtomParsers.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.AtomParsers$AvcCData extends java.lang.Object {
public final java.util.List initializationData
public final int nalUnitLengthFieldLength
public final float pixelWidthAspectRatio
public void (java.util.List, int, float)
java.util.List initializationData
int nalUnitLengthFieldLength
float pixelWidthAspectRatio
}
com/google/android/exoplayer/extractor/mp4/DefaultSampleValues.classDefaultSampleValues.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.DefaultSampleValues extends java.lang.Object {
public final int sampleDescriptionIndex
public final int duration
public final int size
public final int flags
public void (int, int, int, int)
int sampleDescriptionIndex
int duration
int size
int flags
}
com/google/android/exoplayer/extractor/mp4/TrackSampleTable.classTrackSampleTable.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.TrackSampleTable extends java.lang.Object {
public static final int NO_SAMPLE
public final int sampleCount
public final long[] offsets
public final int[] sizes
public final int maximumSize
public final long[] timestampsUs
public final int[] flags
void (long[], int[], int, long[], int[])
long[] offsets
int[] sizes
int maximumSize
long[] timestampsUs
int[] flags
public int getIndexOfEarlierOrEqualSynchronizationSample (long)
int i
long timeUs
int startIndex
public int getIndexOfLaterOrEqualSynchronizationSample (long)
int i
long timeUs
int startIndex
}
com/google/android/exoplayer/extractor/mp4/Atom$LeafAtom.classAtom.java
package com.google.android.exoplayer.extractor.mp4
final com.google.android.exoplayer.extractor.mp4.Atom$LeafAtom extends com.google.android.exoplayer.extractor.mp4.Atom {
public final com.google.android.exoplayer.util.ParsableByteArray data
public void (int, com.google.android.exoplayer.util.ParsableByteArray)
int type
com.google.android.exoplayer.util.ParsableByteArray data
}
com/google/android/exoplayer/extractor/mp4/TrackEncryptionBox.classTrackEncryptionBox.java
package com.google.android.exoplayer.extractor.mp4
public final com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox extends java.lang.Object {
public final boolean isEncrypted
public final int initializationVectorSize
public final byte[] keyId
public void (boolean, int, byte[])
boolean isEncrypted
int initializationVectorSize
byte[] keyId
}
com/google/android/exoplayer/extractor/mp3/
com/google/android/exoplayer/extractor/mp3/VbriSeeker.classVbriSeeker.java
package com.google.android.exoplayer.extractor.mp3
final com.google.android.exoplayer.extractor.mp3.VbriSeeker extends java.lang.Object implements com.google.android.exoplayer.extractor.mp3.Mp3Extractor$Seeker {
private final long[] timesUs
private final long[] positions
private final long durationUs
public static com.google.android.exoplayer.extractor.mp3.VbriSeeker create (com.google.android.exoplayer.util.MpegAudioHeader, com.google.android.exoplayer.util.ParsableByteArray, long, long)
int segmentSize
int segmentSize
int segmentSize
int segmentSize
int segmentSize
int index
com.google.android.exoplayer.util.MpegAudioHeader mpegAudioHeader
com.google.android.exoplayer.util.ParsableByteArray frame
long position
long inputLength
int numFrames
int sampleRate
long durationUs
int entryCount
int scale
int entrySize
long[] timesUs
long[] positions
private void (long[], long[], long)
long[] timesUs
long[] positions
long durationUs
public boolean isSeekable ()
public long getPosition (long)
long timeUs
public long getTimeUs (long)
long position
public long getDurationUs ()
}
com/google/android/exoplayer/extractor/mp3/Mp3Extractor.classMp3Extractor.java
package com.google.android.exoplayer.extractor.mp3
public final com.google.android.exoplayer.extractor.mp3.Mp3Extractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor {
private static final int MAX_SYNC_BYTES
private static final int MAX_SNIFF_BYTES
private static final int HEADER_MASK
private static final int XING_HEADER
private static final int INFO_HEADER
private static final int VBRI_HEADER
private final long forcedFirstSampleTimestampUs
private final com.google.android.exoplayer.util.ParsableByteArray scratch
private final com.google.android.exoplayer.util.MpegAudioHeader synchronizedHeader
private com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
private com.google.android.exoplayer.extractor.TrackOutput trackOutput
private int synchronizedHeaderData
private com.google.android.exoplayer.extractor.GaplessInfo gaplessInfo
private com.google.android.exoplayer.extractor.mp3.Mp3Extractor$Seeker seeker
private long basisTimeUs
private int samplesRead
private int sampleBytesRemaining
public void ()
public void (long)
long forcedFirstSampleTimestampUs
public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
public void init (com.google.android.exoplayer.extractor.ExtractorOutput)
com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
public void seek ()
public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.MediaFormat mediaFormat
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.PositionHolder seekPosition
private int readSample (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
long embeddedFirstSampleTimestampUs
com.google.android.exoplayer.extractor.ExtractorInput extractorInput
int bytesAppended
long timeUs
private boolean maybeResynchronize (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
int frameSize
com.google.android.exoplayer.extractor.ExtractorInput extractorInput
int sampleHeaderData
private boolean synchronizeCatchingEndOfInput (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
java.io.EOFException e
com.google.android.exoplayer.extractor.ExtractorInput input
private boolean synchronize (com.google.android.exoplayer.extractor.ExtractorInput, boolean) throws java.io.IOException java.lang.InterruptedException
int frameSize
int headerData
int frameSize
com.google.android.exoplayer.extractor.ExtractorInput input
boolean sniffing
int searched
int validFrameCount
int candidateSynchronizedHeaderData
int peekedId3Bytes
private void setupSeeker (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.util.ParsableByteArray frame
long position
long length
int xingBase
int headerData
static void ()
}
com/google/android/exoplayer/extractor/mp3/XingSeeker.classXingSeeker.java
package com.google.android.exoplayer.extractor.mp3
final com.google.android.exoplayer.extractor.mp3.XingSeeker extends java.lang.Object implements com.google.android.exoplayer.extractor.mp3.Mp3Extractor$Seeker {
private final long firstFramePosition
private final long durationUs
private final long inputLength
private final long[] tableOfContents
private final long sizeBytes
private final int headerSize
public static com.google.android.exoplayer.extractor.mp3.XingSeeker create (com.google.android.exoplayer.util.MpegAudioHeader, com.google.android.exoplayer.util.ParsableByteArray, long, long)
int frameCount
int i
com.google.android.exoplayer.util.MpegAudioHeader mpegAudioHeader
com.google.android.exoplayer.util.ParsableByteArray frame
long position
long inputLength
int samplesPerFrame
int sampleRate
long firstFramePosition
int flags
int frameCount
long durationUs
long sizeBytes
long[] tableOfContents
private void (long, long, long)
long firstFramePosition
long durationUs
long inputLength
private void (long, long, long, long[], long, int)
long firstFramePosition
long durationUs
long inputLength
long[] tableOfContents
long sizeBytes
int headerSize
public boolean isSeekable ()
public long getPosition (long)
float fx
float fx
float fa
float fb
int a
float fa
float fb
long timeUs
float percent
float fx
long position
long maximumPosition
public long getTimeUs (long)
long position
double offsetByte
int previousTocPosition
long previousTime
long previousByte
long nextByte
long nextTime
long timeOffset
public long getDurationUs ()
private long getTimeUsForTocPosition (int)
int tocPosition
}
com/google/android/exoplayer/extractor/mp3/Id3Util.classId3Util.java
package com.google.android.exoplayer.extractor.mp3
final com.google.android.exoplayer.extractor.mp3.Id3Util extends java.lang.Object {
private static final int MAXIMUM_METADATA_SIZE
private static final int ID3_TAG
private static final java.nio.charset.Charset[] CHARSET_BY_ENCODING
public static com.google.android.exoplayer.extractor.GaplessInfo parseId3 (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
byte[] frame
int majorVersion
int minorVersion
int flags
int length
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.util.ParsableByteArray scratch
int peekedId3Bytes
com.google.android.exoplayer.extractor.GaplessInfo metadata
private static boolean canParseMetadata (int, int, int, int)
int majorVersion
int minorVersion
int flags
int length
private static com.google.android.exoplayer.extractor.GaplessInfo parseGaplessInfo (com.google.android.exoplayer.util.ParsableByteArray, int, int)
int extendedHeaderSize
int paddingSize
int extendedHeaderSize
com.google.android.exoplayer.extractor.GaplessInfo gaplessInfo
com.google.android.exoplayer.util.ParsableByteArray frame
int version
int flags
android.util.Pair comment
private static android.util.Pair findNextComment (int, com.google.android.exoplayer.util.ParsableByteArray)
String id
int frameSize
String id
int flags
boolean compressedOrEncrypted
int majorVersion
com.google.android.exoplayer.util.ParsableByteArray data
int frameSize
int encoding
java.nio.charset.Charset charset
String[] commentFields
private static boolean unescape (com.google.android.exoplayer.util.ParsableByteArray, int, int)
int i
byte[] bytes
int newLength
com.google.android.exoplayer.util.ParsableByteArray frame
int version
int flags
private static boolean canUnescapeVersion4 (com.google.android.exoplayer.util.ParsableByteArray, boolean)
long dataSize
int flags
com.google.android.exoplayer.util.ParsableByteArray frame
boolean unsignedIntDataSizeHack
private static void unescapeVersion4 (com.google.android.exoplayer.util.ParsableByteArray, boolean)
int offset
int i
int readOffset
int writeOffset
int dataSizeOffset
int dataSize
int flags
int previousFlags
com.google.android.exoplayer.util.ParsableByteArray frame
boolean unsignedIntDataSizeHack
byte[] bytes
private static void writeSyncSafeInteger (byte[], int, int)
byte[] bytes
int offset
int value
private void ()
static void ()
}
com/google/android/exoplayer/extractor/mp3/ConstantBitrateSeeker.classConstantBitrateSeeker.java
package com.google.android.exoplayer.extractor.mp3
final com.google.android.exoplayer.extractor.mp3.ConstantBitrateSeeker extends java.lang.Object implements com.google.android.exoplayer.extractor.mp3.Mp3Extractor$Seeker {
private static final int BITS_PER_BYTE
private final long firstFramePosition
private final int bitrate
private final long durationUs
public void (long, int, long)
long firstFramePosition
int bitrate
long inputLength
public boolean isSeekable ()
public long getPosition (long)
long timeUs
public long getTimeUs (long)
long position
public long getDurationUs ()
}
com/google/android/exoplayer/extractor/mp3/Mp3Extractor$Seeker.classMp3Extractor.java
package com.google.android.exoplayer.extractor.mp3
abstract com.google.android.exoplayer.extractor.mp3.Mp3Extractor$Seeker extends java.lang.Object implements com.google.android.exoplayer.extractor.SeekMap {
public abstract long getTimeUs (long)
public abstract long getDurationUs ()
}
com/google/android/exoplayer/extractor/GaplessInfo.classGaplessInfo.java
package com.google.android.exoplayer.extractor
public final com.google.android.exoplayer.extractor.GaplessInfo extends java.lang.Object {
private static final String GAPLESS_COMMENT_ID
private static final java.util.regex.Pattern GAPLESS_COMMENT_PATTERN
public final int encoderDelay
public final int encoderPadding
public static com.google.android.exoplayer.extractor.GaplessInfo createFromComment (java.lang.String, java.lang.String)
int encoderDelay
int encoderPadding
String name
String data
java.util.regex.Matcher matcher
public static com.google.android.exoplayer.extractor.GaplessInfo createFromXingHeaderValue (int)
int value
int encoderDelay
int encoderPadding
private void (int, int)
int encoderDelay
int encoderPadding
static void ()
}
com/google/android/exoplayer/extractor/ExtractorSampleSource$1.classExtractorSampleSource.java
package com.google.android.exoplayer.extractor
com.google.android.exoplayer.extractor.ExtractorSampleSource$1 extends java.lang.Object implements java.lang.Runnable {
final java.io.IOException val$e
final com.google.android.exoplayer.extractor.ExtractorSampleSource this$0
void (com.google.android.exoplayer.extractor.ExtractorSampleSource, java.io.IOException)
com.google.android.exoplayer.extractor.ExtractorSampleSource this$0
public void run ()
}
com/google/android/exoplayer/extractor/ChunkIndex.classChunkIndex.java
package com.google.android.exoplayer.extractor
public final com.google.android.exoplayer.extractor.ChunkIndex extends java.lang.Object implements com.google.android.exoplayer.extractor.SeekMap {
public final int length
public final int[] sizes
public final long[] offsets
public final long[] durationsUs
public final long[] timesUs
public void (int[], long[], long[], long[])
int[] sizes
long[] offsets
long[] durationsUs
long[] timesUs
public int getChunkIndex (long)
long timeUs
public boolean isSeekable ()
public long getPosition (long)
long timeUs
}
com/google/android/exoplayer/extractor/PositionHolder.classPositionHolder.java
package com.google.android.exoplayer.extractor
public final com.google.android.exoplayer.extractor.PositionHolder extends java.lang.Object {
public long position
public void ()
}
com/google/android/exoplayer/extractor/ts/
com/google/android/exoplayer/extractor/ts/SeiReader.classSeiReader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.SeiReader extends java.lang.Object {
private final com.google.android.exoplayer.extractor.TrackOutput output
public void (com.google.android.exoplayer.extractor.TrackOutput)
com.google.android.exoplayer.extractor.TrackOutput output
public void consume (long, com.google.android.exoplayer.util.ParsableByteArray)
int payloadType
int payloadSize
int b
long pesTimeUs
com.google.android.exoplayer.util.ParsableByteArray seiBuffer
}
com/google/android/exoplayer/extractor/ts/TsExtractor.classTsExtractor.java
package com.google.android.exoplayer.extractor.ts
public final com.google.android.exoplayer.extractor.ts.TsExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor {
public static final int WORKAROUND_ALLOW_NON_IDR_KEYFRAMES
public static final int WORKAROUND_IGNORE_AAC_STREAM
public static final int WORKAROUND_IGNORE_H264_STREAM
public static final int WORKAROUND_DETECT_ACCESS_UNITS
private static final String TAG
private static final int TS_PACKET_SIZE
private static final int TS_SYNC_BYTE
private static final int TS_PAT_PID
private static final int TS_STREAM_TYPE_MPA
private static final int TS_STREAM_TYPE_MPA_LSF
private static final int TS_STREAM_TYPE_AAC
private static final int TS_STREAM_TYPE_AC3
private static final int TS_STREAM_TYPE_DTS
private static final int TS_STREAM_TYPE_HDMV_DTS
private static final int TS_STREAM_TYPE_E_AC3
private static final int TS_STREAM_TYPE_H262
private static final int TS_STREAM_TYPE_H264
private static final int TS_STREAM_TYPE_H265
private static final int TS_STREAM_TYPE_ID3
private static final int TS_STREAM_TYPE_EIA608
private static final long AC3_FORMAT_IDENTIFIER
private static final long E_AC3_FORMAT_IDENTIFIER
private static final long HEVC_FORMAT_IDENTIFIER
private final com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
private final int workaroundFlags
private final com.google.android.exoplayer.util.ParsableByteArray tsPacketBuffer
private final com.google.android.exoplayer.util.ParsableBitArray tsScratch
final android.util.SparseArray tsPayloadReaders
final android.util.SparseBooleanArray streamTypes
private com.google.android.exoplayer.extractor.ExtractorOutput output
com.google.android.exoplayer.extractor.ts.Id3Reader id3Reader
public void ()
public void (com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster)
com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
public void (com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster, int)
com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
int workaroundFlags
public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
int i
com.google.android.exoplayer.extractor.ExtractorInput input
byte[] scratch
public void init (com.google.android.exoplayer.extractor.ExtractorOutput)
com.google.android.exoplayer.extractor.ExtractorOutput output
public void seek ()
int i
public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder) throws java.io.IOException java.lang.InterruptedException
int adaptationFieldLength
com.google.android.exoplayer.extractor.ts.TsExtractor$TsPayloadReader payloadReader
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.PositionHolder seekPosition
int syncByte
boolean payloadUnitStartIndicator
int pid
boolean adaptationFieldExists
boolean payloadExists
static int access$100 (com.google.android.exoplayer.extractor.ts.TsExtractor)
com.google.android.exoplayer.extractor.ts.TsExtractor x0
static com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster access$200 (com.google.android.exoplayer.extractor.ts.TsExtractor)
com.google.android.exoplayer.extractor.ts.TsExtractor x0
static long access$300 ()
static long access$400 ()
static long access$500 ()
static void ()
}
com/google/android/exoplayer/extractor/ts/H264Reader$1.classH264Reader.java
package com.google.android.exoplayer.extractor.ts
com.google.android.exoplayer.extractor.ts.H264Reader$1 extends java.lang.Object {
}
com/google/android/exoplayer/extractor/ts/H264Reader$SampleReader$SliceHeaderData.classH264Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData extends java.lang.Object {
private static final int SLICE_TYPE_I
private static final int SLICE_TYPE_ALL_I
private boolean isComplete
private boolean hasSliceType
private com.google.android.exoplayer.util.NalUnitUtil$SpsData spsData
private int nalRefIdc
private int sliceType
private int frameNum
private int picParameterSetId
private boolean fieldPicFlag
private boolean bottomFieldFlagPresent
private boolean bottomFieldFlag
private boolean idrPicFlag
private int idrPicId
private int picOrderCntLsb
private int deltaPicOrderCntBottom
private int deltaPicOrderCnt0
private int deltaPicOrderCnt1
private void ()
public void clear ()
public void setSliceType (int)
int sliceType
public void setAll (com.google.android.exoplayer.util.NalUnitUtil$SpsData, int, int, int, int, boolean, boolean, boolean, boolean, int, int, int, int, int)
com.google.android.exoplayer.util.NalUnitUtil$SpsData spsData
int nalRefIdc
int sliceType
int frameNum
int picParameterSetId
boolean fieldPicFlag
boolean bottomFieldFlagPresent
boolean bottomFieldFlag
boolean idrPicFlag
int idrPicId
int picOrderCntLsb
int deltaPicOrderCntBottom
int deltaPicOrderCnt0
int deltaPicOrderCnt1
public boolean isISlice ()
private boolean isFirstVclNalUnitOfPicture (com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData)
com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData other
void (com.google.android.exoplayer.extractor.ts.H264Reader$1)
com.google.android.exoplayer.extractor.ts.H264Reader$1 x0
static boolean access$100 (com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData, com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData)
com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData x0
com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData x1
}
com/google/android/exoplayer/extractor/ts/TsExtractor$1.classTsExtractor.java
package com.google.android.exoplayer.extractor.ts
com.google.android.exoplayer.extractor.ts.TsExtractor$1 extends java.lang.Object {
}
com/google/android/exoplayer/extractor/ts/AdtsReader.classAdtsReader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.AdtsReader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
private static final String TAG
private static final int STATE_FINDING_SAMPLE
private static final int STATE_READING_ID3_HEADER
private static final int STATE_READING_ADTS_HEADER
private static final int STATE_READING_SAMPLE
private static final int HEADER_SIZE
private static final int CRC_SIZE
private static final int MATCH_STATE_VALUE_SHIFT
private static final int MATCH_STATE_START
private static final int MATCH_STATE_FF
private static final int MATCH_STATE_I
private static final int MATCH_STATE_ID
private static final int ID3_HEADER_SIZE
private static final int ID3_SIZE_OFFSET
private static final byte[] ID3_IDENTIFIER
private final com.google.android.exoplayer.util.ParsableBitArray adtsScratch
private final com.google.android.exoplayer.util.ParsableByteArray id3HeaderBuffer
private final com.google.android.exoplayer.extractor.TrackOutput id3Output
private int state
private int bytesRead
private int matchState
private boolean hasCrc
private boolean hasOutputFormat
private long sampleDurationUs
private int sampleSize
private long timeUs
private com.google.android.exoplayer.extractor.TrackOutput currentOutput
private long currentSampleDuration
public void (com.google.android.exoplayer.extractor.TrackOutput, com.google.android.exoplayer.extractor.TrackOutput)
com.google.android.exoplayer.extractor.TrackOutput output
com.google.android.exoplayer.extractor.TrackOutput id3Output
public void seek ()
public void packetStarted (long, boolean)
long pesTimeUs
boolean dataAlignmentIndicator
public void consume (com.google.android.exoplayer.util.ParsableByteArray)
int targetLength
com.google.android.exoplayer.util.ParsableByteArray data
public void packetFinished ()
private boolean continueRead (com.google.android.exoplayer.util.ParsableByteArray, byte[], int)
com.google.android.exoplayer.util.ParsableByteArray source
byte[] target
int targetLength
int bytesToRead
private void setFindingSampleState ()
private void setReadingId3HeaderState ()
private void setReadingSampleState (com.google.android.exoplayer.extractor.TrackOutput, long, int, int)
com.google.android.exoplayer.extractor.TrackOutput outputToUse
long currentSampleDuration
int priorReadBytes
int sampleSize
private void setReadingAdtsHeaderState ()
private void findNextSample (com.google.android.exoplayer.util.ParsableByteArray)
int data
com.google.android.exoplayer.util.ParsableByteArray pesBuffer
byte[] adtsData
int position
int endOffset
private void parseId3Header ()
private void parseAdtsHeader ()
int audioObjectType
int sampleRateIndex
int channelConfig
byte[] audioSpecificConfig
android.util.Pair audioParams
com.google.android.exoplayer.MediaFormat mediaFormat
int sampleSize
private void readSample (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray data
int bytesToRead
static void ()
}
com/google/android/exoplayer/extractor/ts/H264Reader$SampleReader.classH264Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader extends java.lang.Object {
private static final int DEFAULT_BUFFER_SIZE
private static final int NAL_UNIT_TYPE_NON_IDR
private static final int NAL_UNIT_TYPE_PARTITION_A
private static final int NAL_UNIT_TYPE_IDR
private static final int NAL_UNIT_TYPE_AUD
private final com.google.android.exoplayer.extractor.TrackOutput output
private final boolean allowNonIdrKeyframes
private final boolean detectAccessUnits
private final com.google.android.exoplayer.util.ParsableBitArray scratch
private final android.util.SparseArray sps
private final android.util.SparseArray pps
private byte[] buffer
private int bufferLength
private int nalUnitType
private long nalUnitStartPosition
private boolean isFilling
private long nalUnitTimeUs
private com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData previousSliceHeader
private com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData sliceHeader
private boolean readingSample
private long samplePosition
private long sampleTimeUs
private boolean sampleIsKeyframe
public void (com.google.android.exoplayer.extractor.TrackOutput, boolean, boolean)
com.google.android.exoplayer.extractor.TrackOutput output
boolean allowNonIdrKeyframes
boolean detectAccessUnits
public boolean needsSpsPps ()
public void putSps (com.google.android.exoplayer.util.NalUnitUtil$SpsData)
com.google.android.exoplayer.util.NalUnitUtil$SpsData spsData
public void putPps (com.google.android.exoplayer.util.NalUnitUtil$PpsData)
com.google.android.exoplayer.util.NalUnitUtil$PpsData ppsData
public void reset ()
public void startNalUnit (long, int, long)
com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader$SliceHeaderData newSliceHeader
long position
int type
long pesTimeUs
public void appendToNalUnit (byte[], int, int)
byte[] data
int offset
int limit
int readLength
int nalRefIdc
int sliceType
int picParameterSetId
com.google.android.exoplayer.util.NalUnitUtil$PpsData ppsData
com.google.android.exoplayer.util.NalUnitUtil$SpsData spsData
boolean fieldPicFlag
boolean bottomFieldFlagPresent
boolean bottomFieldFlag
int frameNum
boolean idrPicFlag
int idrPicId
int picOrderCntLsb
int deltaPicOrderCntBottom
int deltaPicOrderCnt0
int deltaPicOrderCnt1
public void endNalUnit (long, int)
int nalUnitLength
long position
int offset
private void outputSample (int)
int offset
int flags
int size
}
com/google/android/exoplayer/extractor/ts/H265Reader$SampleReader.classH265Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.H265Reader$SampleReader extends java.lang.Object {
private static final int FIRST_SLICE_FLAG_OFFSET
private final com.google.android.exoplayer.extractor.TrackOutput output
private long nalUnitStartPosition
private boolean nalUnitHasKeyframeData
private int nalUnitBytesRead
private long nalUnitTimeUs
private boolean lookingForFirstSliceFlag
private boolean firstSliceFlag
private boolean readingSample
private long samplePosition
private long sampleTimeUs
private boolean sampleIsKeyframe
public void (com.google.android.exoplayer.extractor.TrackOutput)
com.google.android.exoplayer.extractor.TrackOutput output
public void reset ()
public void startNalUnit (long, int, int, long)
long position
int offset
int nalUnitType
long pesTimeUs
public void readNalUnitData (byte[], int, int)
int headerOffset
byte[] data
int offset
int limit
public void endNalUnit (long, int)
int nalUnitLength
long position
int offset
private void outputSample (int)
int offset
int flags
int size
}
com/google/android/exoplayer/extractor/ts/TsExtractor$PesReader.classTsExtractor.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.TsExtractor$PesReader extends com.google.android.exoplayer.extractor.ts.TsExtractor$TsPayloadReader {
private static final int STATE_FINDING_HEADER
private static final int STATE_READING_HEADER
private static final int STATE_READING_HEADER_EXTENSION
private static final int STATE_READING_BODY
private static final int HEADER_SIZE
private static final int MAX_HEADER_EXTENSION_SIZE
private static final int PES_SCRATCH_SIZE
private final com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
private final com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
private final com.google.android.exoplayer.util.ParsableBitArray pesScratch
private int state
private int bytesRead
private boolean ptsFlag
private boolean dtsFlag
private boolean seenFirstDts
private int extendedHeaderLength
private int payloadSize
private boolean dataAlignmentIndicator
private long timeUs
public void (com.google.android.exoplayer.extractor.ts.ElementaryStreamReader, com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster)
com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
public void seek ()
public void consume (com.google.android.exoplayer.util.ParsableByteArray, boolean, com.google.android.exoplayer.extractor.ExtractorOutput)
int readLength
int readLength
int padding
com.google.android.exoplayer.util.ParsableByteArray data
boolean payloadUnitStartIndicator
com.google.android.exoplayer.extractor.ExtractorOutput output
private void setState (int)
int state
private boolean continueRead (com.google.android.exoplayer.util.ParsableByteArray, byte[], int)
com.google.android.exoplayer.util.ParsableByteArray source
byte[] target
int targetLength
int bytesToRead
private boolean parseHeader ()
int startCodePrefix
int packetLength
private void parseHeaderExtension ()
long dts
long pts
}
com/google/android/exoplayer/extractor/ts/TsExtractor$PmtReader.classTsExtractor.java
package com.google.android.exoplayer.extractor.ts
com.google.android.exoplayer.extractor.ts.TsExtractor$PmtReader extends com.google.android.exoplayer.extractor.ts.TsExtractor$TsPayloadReader {
private final com.google.android.exoplayer.util.ParsableBitArray pmtScratch
private final com.google.android.exoplayer.util.ParsableByteArray sectionData
private int sectionLength
private int sectionBytesRead
final com.google.android.exoplayer.extractor.ts.TsExtractor this$0
public void (com.google.android.exoplayer.extractor.ts.TsExtractor)
public void seek ()
public void consume (com.google.android.exoplayer.util.ParsableByteArray, boolean, com.google.android.exoplayer.extractor.ExtractorOutput)
int pointerField
int streamType
int elementaryPid
int esInfoLength
com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
com.google.android.exoplayer.util.ParsableByteArray data
boolean payloadUnitStartIndicator
com.google.android.exoplayer.extractor.ExtractorOutput output
int bytesToRead
int programInfoLength
int remainingEntriesLength
private int readPrivateDataStreamType (com.google.android.exoplayer.util.ParsableByteArray, int)
long formatIdentifier
int descriptorTag
int descriptorLength
com.google.android.exoplayer.util.ParsableByteArray data
int length
int streamType
int descriptorsEndPosition
}
com/google/android/exoplayer/extractor/ts/TsExtractor$TsPayloadReader.classTsExtractor.java
package com.google.android.exoplayer.extractor.ts
abstract com.google.android.exoplayer.extractor.ts.TsExtractor$TsPayloadReader extends java.lang.Object {
private void ()
public abstract void seek ()
public abstract void consume (com.google.android.exoplayer.util.ParsableByteArray, boolean, com.google.android.exoplayer.extractor.ExtractorOutput)
void (com.google.android.exoplayer.extractor.ts.TsExtractor$1)
com.google.android.exoplayer.extractor.ts.TsExtractor$1 x0
}
com/google/android/exoplayer/extractor/ts/MpegAudioReader.classMpegAudioReader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.MpegAudioReader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
private static final int STATE_FINDING_HEADER
private static final int STATE_READING_HEADER
private static final int STATE_READING_FRAME
private static final int HEADER_SIZE
private final com.google.android.exoplayer.util.ParsableByteArray headerScratch
private final com.google.android.exoplayer.util.MpegAudioHeader header
private int state
private int frameBytesRead
private boolean hasOutputFormat
private boolean lastByteWasFF
private long frameDurationUs
private int frameSize
private long timeUs
public void (com.google.android.exoplayer.extractor.TrackOutput)
com.google.android.exoplayer.extractor.TrackOutput output
public void seek ()
public void packetStarted (long, boolean)
long pesTimeUs
boolean dataAlignmentIndicator
public void consume (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray data
public void packetFinished ()
private void findHeader (com.google.android.exoplayer.util.ParsableByteArray)
boolean byteIsFF
boolean found
int i
com.google.android.exoplayer.util.ParsableByteArray source
byte[] data
int startOffset
int endOffset
private void readHeaderRemainder (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.MediaFormat mediaFormat
com.google.android.exoplayer.util.ParsableByteArray source
int bytesToRead
boolean parsedHeader
private void readFrameRemainder (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray source
int bytesToRead
}
com/google/android/exoplayer/extractor/ts/TsExtractor$PatReader.classTsExtractor.java
package com.google.android.exoplayer.extractor.ts
com.google.android.exoplayer.extractor.ts.TsExtractor$PatReader extends com.google.android.exoplayer.extractor.ts.TsExtractor$TsPayloadReader {
private final com.google.android.exoplayer.util.ParsableBitArray patScratch
final com.google.android.exoplayer.extractor.ts.TsExtractor this$0
public void (com.google.android.exoplayer.extractor.ts.TsExtractor)
public void seek ()
public void consume (com.google.android.exoplayer.util.ParsableByteArray, boolean, com.google.android.exoplayer.extractor.ExtractorOutput)
int pointerField
int pid
int programNumber
int i
com.google.android.exoplayer.util.ParsableByteArray data
boolean payloadUnitStartIndicator
com.google.android.exoplayer.extractor.ExtractorOutput output
int sectionLength
int programCount
}
com/google/android/exoplayer/extractor/ts/H262Reader$CsdBuffer.classH262Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.H262Reader$CsdBuffer extends java.lang.Object {
private boolean isFilling
public int length
public int sequenceExtensionPosition
public byte[] data
public void (int)
int initialCapacity
public void reset ()
public boolean onStartCode (int, int)
int startCodeValue
int bytesAlreadyPassed
public void onData (byte[], int, int)
byte[] newData
int offset
int limit
int readLength
}
com/google/android/exoplayer/extractor/ts/Id3Reader.classId3Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.Id3Reader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
private static final int ID3_HEADER_SIZE
private final com.google.android.exoplayer.util.ParsableByteArray id3Header
private boolean writingSample
private long sampleTimeUs
private int sampleSize
private int sampleBytesRead
public void (com.google.android.exoplayer.extractor.TrackOutput)
com.google.android.exoplayer.extractor.TrackOutput output
public void seek ()
public void packetStarted (long, boolean)
long pesTimeUs
boolean dataAlignmentIndicator
public void consume (com.google.android.exoplayer.util.ParsableByteArray)
int headerBytesAvailable
com.google.android.exoplayer.util.ParsableByteArray data
int bytesAvailable
public void packetFinished ()
}
com/google/android/exoplayer/extractor/ts/NalUnitTargetBuffer.classNalUnitTargetBuffer.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer extends java.lang.Object {
private final int targetType
private boolean isFilling
private boolean isCompleted
public byte[] nalData
public int nalLength
public void (int, int)
int targetType
int initialCapacity
public void reset ()
public boolean isCompleted ()
public void startNalUnit (int)
int type
public void appendToNalUnit (byte[], int, int)
byte[] data
int offset
int limit
int readLength
public boolean endNalUnit (int)
int discardPadding
}
com/google/android/exoplayer/extractor/ts/PsExtractor$PesReader.classPsExtractor.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.PsExtractor$PesReader extends java.lang.Object {
private static final int PES_SCRATCH_SIZE
private final com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
private final com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
private final com.google.android.exoplayer.util.ParsableBitArray pesScratch
private boolean ptsFlag
private boolean dtsFlag
private boolean seenFirstDts
private int extendedHeaderLength
private long timeUs
public void (com.google.android.exoplayer.extractor.ts.ElementaryStreamReader, com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster)
com.google.android.exoplayer.extractor.ts.ElementaryStreamReader pesPayloadReader
com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
public void seek ()
public void consume (com.google.android.exoplayer.util.ParsableByteArray, com.google.android.exoplayer.extractor.ExtractorOutput)
com.google.android.exoplayer.util.ParsableByteArray data
com.google.android.exoplayer.extractor.ExtractorOutput output
private void parseHeader ()
private void parseHeaderExtension ()
long dts
long pts
}
com/google/android/exoplayer/extractor/ts/DtsReader.classDtsReader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.DtsReader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
private static final int STATE_FINDING_SYNC
private static final int STATE_READING_HEADER
private static final int STATE_READING_SAMPLE
private static final int HEADER_SIZE
private static final int SYNC_VALUE
private static final int SYNC_VALUE_SIZE
private final com.google.android.exoplayer.util.ParsableByteArray headerScratchBytes
private int state
private int bytesRead
private int syncBytes
private long sampleDurationUs
private com.google.android.exoplayer.MediaFormat mediaFormat
private int sampleSize
private long timeUs
public void (com.google.android.exoplayer.extractor.TrackOutput)
com.google.android.exoplayer.extractor.TrackOutput output
public void seek ()
public void packetStarted (long, boolean)
long pesTimeUs
boolean dataAlignmentIndicator
public void consume (com.google.android.exoplayer.util.ParsableByteArray)
int bytesToRead
com.google.android.exoplayer.util.ParsableByteArray data
public void packetFinished ()
private boolean continueRead (com.google.android.exoplayer.util.ParsableByteArray, byte[], int)
com.google.android.exoplayer.util.ParsableByteArray source
byte[] target
int targetLength
int bytesToRead
private boolean skipToNextSync (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray pesBuffer
private void parseHeader ()
byte[] frameData
}
com/google/android/exoplayer/extractor/ts/H262Reader.classH262Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.H262Reader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
private static final int START_PICTURE
private static final int START_SEQUENCE_HEADER
private static final int START_EXTENSION
private static final int START_GROUP
private static final double[] FRAME_RATE_VALUES
private boolean hasOutputFormat
private long frameDurationUs
private final boolean[] prefixFlags
private final com.google.android.exoplayer.extractor.ts.H262Reader$CsdBuffer csdBuffer
private boolean foundFirstFrameInGroup
private long totalBytesWritten
private long pesTimeUs
private boolean pesPtsUsAvailable
private boolean isKeyframe
private long framePosition
private long frameTimeUs
public void (com.google.android.exoplayer.extractor.TrackOutput)
com.google.android.exoplayer.extractor.TrackOutput output
public void seek ()
public void packetStarted (long, boolean)
long pesTimeUs
boolean dataAlignmentIndicator
public void consume (com.google.android.exoplayer.util.ParsableByteArray)
android.util.Pair result
int lengthToStartCode
int bytesAlreadyPassed
int flags
int size
int bytesWrittenPastStartCode
int startCodeOffset
int startCodeValue
int offset
int limit
byte[] dataArray
int searchOffset
com.google.android.exoplayer.util.ParsableByteArray data
public void packetFinished ()
private static android.util.Pair parseCsdBuffer (com.google.android.exoplayer.extractor.ts.H262Reader$CsdBuffer)
double frameRate
int sequenceExtensionPosition
int frameRateExtensionN
int frameRateExtensionD
com.google.android.exoplayer.extractor.ts.H262Reader$CsdBuffer csdBuffer
byte[] csdData
int firstByte
int secondByte
int thirdByte
int width
int height
float pixelWidthHeightRatio
int aspectRatioCode
com.google.android.exoplayer.MediaFormat format
long frameDurationUs
int frameRateCodeMinusOne
static void ()
}
com/google/android/exoplayer/extractor/ts/ElementaryStreamReader.classElementaryStreamReader.java
package com.google.android.exoplayer.extractor.ts
abstract com.google.android.exoplayer.extractor.ts.ElementaryStreamReader extends java.lang.Object {
protected final com.google.android.exoplayer.extractor.TrackOutput output
protected void (com.google.android.exoplayer.extractor.TrackOutput)
com.google.android.exoplayer.extractor.TrackOutput output
public abstract void seek ()
public abstract void packetStarted (long, boolean)
public abstract void consume (com.google.android.exoplayer.util.ParsableByteArray)
public abstract void packetFinished ()
}
com/google/android/exoplayer/extractor/ts/H264Reader.classH264Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.H264Reader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
private static final int NAL_UNIT_TYPE_SEI
private static final int NAL_UNIT_TYPE_SPS
private static final int NAL_UNIT_TYPE_PPS
private boolean hasOutputFormat
private final com.google.android.exoplayer.extractor.ts.SeiReader seiReader
private final boolean[] prefixFlags
private final com.google.android.exoplayer.extractor.ts.H264Reader$SampleReader sampleReader
private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer sps
private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer pps
private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer sei
private long totalBytesWritten
private long pesTimeUs
private final com.google.android.exoplayer.util.ParsableByteArray seiWrapper
public void (com.google.android.exoplayer.extractor.TrackOutput, com.google.android.exoplayer.extractor.ts.SeiReader, boolean, boolean)
com.google.android.exoplayer.extractor.TrackOutput output
com.google.android.exoplayer.extractor.ts.SeiReader seiReader
boolean allowNonIdrKeyframes
boolean detectAccessUnits
public void seek ()
public void packetStarted (long, boolean)
long pesTimeUs
boolean dataAlignmentIndicator
public void consume (com.google.android.exoplayer.util.ParsableByteArray)
int nalUnitOffset
int nalUnitType
int lengthToNalUnit
int bytesWrittenPastPosition
long absolutePosition
int offset
int limit
byte[] dataArray
com.google.android.exoplayer.util.ParsableByteArray data
public void packetFinished ()
private void startNalUnit (long, int, long)
long position
int nalUnitType
long pesTimeUs
private void nalUnitData (byte[], int, int)
byte[] dataArray
int offset
int limit
private void endNalUnit (long, int, int, long)
java.util.List initializationData
com.google.android.exoplayer.util.NalUnitUtil$SpsData spsData
com.google.android.exoplayer.util.NalUnitUtil$PpsData ppsData
com.google.android.exoplayer.util.NalUnitUtil$SpsData spsData
com.google.android.exoplayer.util.NalUnitUtil$PpsData ppsData
int unescapedLength
long position
int offset
int discardPadding
long pesTimeUs
private static com.google.android.exoplayer.util.ParsableBitArray unescape (com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer)
com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer buffer
int length
com.google.android.exoplayer.util.ParsableBitArray bitArray
}
com/google/android/exoplayer/extractor/ts/AdtsExtractor.classAdtsExtractor.java
package com.google.android.exoplayer.extractor.ts
public final com.google.android.exoplayer.extractor.ts.AdtsExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor {
private static final int MAX_PACKET_SIZE
private static final int ID3_TAG
private static final int MAX_SNIFF_BYTES
private final long firstSampleTimestampUs
private final com.google.android.exoplayer.util.ParsableByteArray packetBuffer
private com.google.android.exoplayer.extractor.ts.AdtsReader adtsReader
private boolean startedPacket
public void ()
public void (long)
long firstSampleTimestampUs
public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
int length
int frameSize
int syncBytes
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.util.ParsableByteArray scratch
com.google.android.exoplayer.util.ParsableBitArray scratchBits
int startPosition
int headerPosition
int validFramesSize
int validFramesCount
public void init (com.google.android.exoplayer.extractor.ExtractorOutput)
com.google.android.exoplayer.extractor.ExtractorOutput output
public void seek ()
public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.PositionHolder seekPosition
int bytesRead
static void ()
}
com/google/android/exoplayer/extractor/ts/PtsTimestampAdjuster.classPtsTimestampAdjuster.java
package com.google.android.exoplayer.extractor.ts
public final com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster extends java.lang.Object {
public static final long DO_NOT_OFFSET
private static final long MAX_PTS_PLUS_ONE
private final long firstSampleTimestampUs
private long timestampOffsetUs
private volatile long lastPts
public void (long)
long firstSampleTimestampUs
public void reset ()
public boolean isInitialized ()
public long adjustTimestamp (long)
long closestWrapCount
long ptsWrapBelow
long ptsWrapAbove
long pts
long timeUs
public static long ptsToUs (long)
long pts
public static long usToPts (long)
long us
}
com/google/android/exoplayer/extractor/ts/PsExtractor.classPsExtractor.java
package com.google.android.exoplayer.extractor.ts
public final com.google.android.exoplayer.extractor.ts.PsExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor {
private static final int PACK_START_CODE
private static final int SYSTEM_HEADER_START_CODE
private static final int PACKET_START_CODE_PREFIX
private static final int MPEG_PROGRAM_END_CODE
private static final long MAX_SEARCH_LENGTH
public static final int PRIVATE_STREAM_1
public static final int AUDIO_STREAM
public static final int AUDIO_STREAM_MASK
public static final int VIDEO_STREAM
public static final int VIDEO_STREAM_MASK
private final com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
private final android.util.SparseArray psPayloadReaders
private final com.google.android.exoplayer.util.ParsableByteArray psPacketBuffer
private boolean foundAllTracks
private boolean foundAudioTrack
private boolean foundVideoTrack
private com.google.android.exoplayer.extractor.ExtractorOutput output
public void ()
public void (com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster)
com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
byte[] scratch
int packStuffingLength
public void init (com.google.android.exoplayer.extractor.ExtractorOutput)
com.google.android.exoplayer.extractor.ExtractorOutput output
public void seek ()
int i
public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder) throws java.io.IOException java.lang.InterruptedException
int packStuffingLength
int systemHeaderLength
com.google.android.exoplayer.extractor.ts.ElementaryStreamReader elementaryStreamReader
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.PositionHolder seekPosition
int nextStartCode
int streamId
com.google.android.exoplayer.extractor.ts.PsExtractor$PesReader payloadReader
int payloadLength
int pesLength
}
com/google/android/exoplayer/extractor/ts/H265Reader.classH265Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.H265Reader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
private static final String TAG
private static final int RASL_R
private static final int BLA_W_LP
private static final int CRA_NUT
private static final int VPS_NUT
private static final int SPS_NUT
private static final int PPS_NUT
private static final int PREFIX_SEI_NUT
private static final int SUFFIX_SEI_NUT
private boolean hasOutputFormat
private final com.google.android.exoplayer.extractor.ts.SeiReader seiReader
private final boolean[] prefixFlags
private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer vps
private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer sps
private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer pps
private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer prefixSei
private final com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer suffixSei
private final com.google.android.exoplayer.extractor.ts.H265Reader$SampleReader sampleReader
private long totalBytesWritten
private long pesTimeUs
private final com.google.android.exoplayer.util.ParsableByteArray seiWrapper
public void (com.google.android.exoplayer.extractor.TrackOutput, com.google.android.exoplayer.extractor.ts.SeiReader)
com.google.android.exoplayer.extractor.TrackOutput output
com.google.android.exoplayer.extractor.ts.SeiReader seiReader
public void seek ()
public void packetStarted (long, boolean)
long pesTimeUs
boolean dataAlignmentIndicator
public void consume (com.google.android.exoplayer.util.ParsableByteArray)
int nalUnitOffset
int nalUnitType
int lengthToNalUnit
int bytesWrittenPastPosition
long absolutePosition
int offset
int limit
byte[] dataArray
com.google.android.exoplayer.util.ParsableByteArray data
public void packetFinished ()
private void startNalUnit (long, int, int, long)
long position
int offset
int nalUnitType
long pesTimeUs
private void nalUnitData (byte[], int, int)
byte[] dataArray
int offset
int limit
private void endNalUnit (long, int, int, long)
int unescapedLength
int unescapedLength
long position
int offset
int discardPadding
long pesTimeUs
private static com.google.android.exoplayer.MediaFormat parseMediaFormat (com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer, com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer, com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer)
int i
int confWinLeftOffset
int confWinRightOffset
int confWinTopOffset
int confWinBottomOffset
int subWidthC
int subHeightC
int i
int ltRefPicPocLsbSpsLength
int i
int sarWidth
int sarHeight
int aspectRatioIdc
com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer vps
com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer sps
com.google.android.exoplayer.extractor.ts.NalUnitTargetBuffer pps
byte[] csd
com.google.android.exoplayer.util.ParsableBitArray bitArray
int maxSubLayersMinus1
int toSkip
int chromaFormatIdc
int picWidthInLumaSamples
int picHeightInLumaSamples
int log2MaxPicOrderCntLsbMinus4
float pixelWidthHeightRatio
private static void skipScalingList (com.google.android.exoplayer.util.ParsableBitArray)
int i
int coefNum
int matrixId
int sizeId
com.google.android.exoplayer.util.ParsableBitArray bitArray
private static void skipShortTermRefPicSets (com.google.android.exoplayer.util.ParsableBitArray)
int j
int i
int i
int stRpsIdx
com.google.android.exoplayer.util.ParsableBitArray bitArray
int numShortTermRefPicSets
boolean interRefPicSetPredictionFlag
int numNegativePics
int numPositivePics
int previousNumDeltaPocs
}
com/google/android/exoplayer/extractor/ts/Ac3Reader.classAc3Reader.java
package com.google.android.exoplayer.extractor.ts
final com.google.android.exoplayer.extractor.ts.Ac3Reader extends com.google.android.exoplayer.extractor.ts.ElementaryStreamReader {
private static final int STATE_FINDING_SYNC
private static final int STATE_READING_HEADER
private static final int STATE_READING_SAMPLE
private static final int HEADER_SIZE
private final boolean isEac3
private final com.google.android.exoplayer.util.ParsableBitArray headerScratchBits
private final com.google.android.exoplayer.util.ParsableByteArray headerScratchBytes
private int state
private int bytesRead
private boolean lastByteWas0B
private long sampleDurationUs
private com.google.android.exoplayer.MediaFormat mediaFormat
private int sampleSize
private long timeUs
public void (com.google.android.exoplayer.extractor.TrackOutput, boolean)
com.google.android.exoplayer.extractor.TrackOutput output
boolean isEac3
public void seek ()
public void packetStarted (long, boolean)
long pesTimeUs
boolean dataAlignmentIndicator
public void consume (com.google.android.exoplayer.util.ParsableByteArray)
int bytesToRead
com.google.android.exoplayer.util.ParsableByteArray data
public void packetFinished ()
private boolean continueRead (com.google.android.exoplayer.util.ParsableByteArray, byte[], int)
com.google.android.exoplayer.util.ParsableByteArray source
byte[] target
int targetLength
int bytesToRead
private boolean skipToNextSync (com.google.android.exoplayer.util.ParsableByteArray)
int secondByte
com.google.android.exoplayer.util.ParsableByteArray pesBuffer
private void parseHeader ()
int audioSamplesPerSyncframe
}
com/google/android/exoplayer/extractor/flv/
com/google/android/exoplayer/extractor/flv/FlvExtractor.classFlvExtractor.java
package com.google.android.exoplayer.extractor.flv
public final com.google.android.exoplayer.extractor.flv.FlvExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor com.google.android.exoplayer.extractor.SeekMap {
private static final int FLV_HEADER_SIZE
private static final int FLV_TAG_HEADER_SIZE
private static final int STATE_READING_FLV_HEADER
private static final int STATE_SKIPPING_TO_TAG_HEADER
private static final int STATE_READING_TAG_HEADER
private static final int STATE_READING_TAG_DATA
private static final int TAG_TYPE_AUDIO
private static final int TAG_TYPE_VIDEO
private static final int TAG_TYPE_SCRIPT_DATA
private static final int FLV_TAG
private final com.google.android.exoplayer.util.ParsableByteArray scratch
private final com.google.android.exoplayer.util.ParsableByteArray headerBuffer
private final com.google.android.exoplayer.util.ParsableByteArray tagHeaderBuffer
private final com.google.android.exoplayer.util.ParsableByteArray tagData
private com.google.android.exoplayer.extractor.ExtractorOutput extractorOutput
private int parserState
private int bytesToNextTagHeader
public int tagType
public int tagDataSize
public long tagTimestampUs
private com.google.android.exoplayer.extractor.flv.AudioTagPayloadReader audioReader
private com.google.android.exoplayer.extractor.flv.VideoTagPayloadReader videoReader
private com.google.android.exoplayer.extractor.flv.ScriptTagPayloadReader metadataReader
public void ()
public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
int dataOffset
public void init (com.google.android.exoplayer.extractor.ExtractorOutput)
com.google.android.exoplayer.extractor.ExtractorOutput output
public void seek ()
public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.PositionHolder seekPosition
private boolean readFlvHeader (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
int flags
boolean hasAudio
boolean hasVideo
private void skipToTagHeader (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
private boolean readTagHeader (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
private boolean readTagData (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
boolean wasConsumed
private com.google.android.exoplayer.util.ParsableByteArray prepareTagData (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
public boolean isSeekable ()
public long getPosition (long)
long timeUs
static void ()
}
com/google/android/exoplayer/extractor/flv/TagPayloadReader.classTagPayloadReader.java
package com.google.android.exoplayer.extractor.flv
abstract com.google.android.exoplayer.extractor.flv.TagPayloadReader extends java.lang.Object {
protected final com.google.android.exoplayer.extractor.TrackOutput output
private long durationUs
protected void (com.google.android.exoplayer.extractor.TrackOutput)
com.google.android.exoplayer.extractor.TrackOutput output
public final void setDurationUs (long)
long durationUs
public final long getDurationUs ()
public abstract void seek ()
public final void consume (com.google.android.exoplayer.util.ParsableByteArray, long) throws com.google.android.exoplayer.ParserException
com.google.android.exoplayer.util.ParsableByteArray data
long timeUs
protected abstract boolean parseHeader (com.google.android.exoplayer.util.ParsableByteArray) throws com.google.android.exoplayer.ParserException
protected abstract void parsePayload (com.google.android.exoplayer.util.ParsableByteArray, long) throws com.google.android.exoplayer.ParserException
}
com/google/android/exoplayer/extractor/flv/VideoTagPayloadReader$AvcSequenceHeaderData.classVideoTagPayloadReader.java
package com.google.android.exoplayer.extractor.flv
final com.google.android.exoplayer.extractor.flv.VideoTagPayloadReader$AvcSequenceHeaderData extends java.lang.Object {
public final java.util.List initializationData
public final int nalUnitLengthFieldLength
public final float pixelWidthAspectRatio
public final int width
public final int height
public void (java.util.List, int, int, int, float)
java.util.List initializationData
int nalUnitLengthFieldLength
int width
int height
float pixelWidthAspectRatio
}
com/google/android/exoplayer/extractor/flv/VideoTagPayloadReader.classVideoTagPayloadReader.java
package com.google.android.exoplayer.extractor.flv
final com.google.android.exoplayer.extractor.flv.VideoTagPayloadReader extends com.google.android.exoplayer.extractor.flv.TagPayloadReader {
private static final int VIDEO_CODEC_AVC
private static final int VIDEO_FRAME_KEYFRAME
private static final int VIDEO_FRAME_VIDEO_INFO
private static final int AVC_PACKET_TYPE_SEQUENCE_HEADER
private static final int AVC_PACKET_TYPE_AVC_NALU
private final com.google.android.exoplayer.util.ParsableByteArray nalStartCode
private final com.google.android.exoplayer.util.ParsableByteArray nalLength
private int nalUnitLengthFieldLength
private boolean hasOutputFormat
private int frameType
public void (com.google.android.exoplayer.extractor.TrackOutput)
com.google.android.exoplayer.extractor.TrackOutput output
public void seek ()
protected boolean parseHeader (com.google.android.exoplayer.util.ParsableByteArray) throws com.google.android.exoplayer.extractor.flv.TagPayloadReader$UnsupportedFormatException
com.google.android.exoplayer.util.ParsableByteArray data
int header
int frameType
int videoCodec
protected void parsePayload (com.google.android.exoplayer.util.ParsableByteArray, long) throws com.google.android.exoplayer.ParserException
com.google.android.exoplayer.util.ParsableByteArray videoSequence
com.google.android.exoplayer.extractor.flv.VideoTagPayloadReader$AvcSequenceHeaderData avcData
com.google.android.exoplayer.MediaFormat mediaFormat
int bytesToWrite
byte[] nalLengthData
int nalUnitLengthFieldLengthDiff
int bytesWritten
com.google.android.exoplayer.util.ParsableByteArray data
long timeUs
int packetType
int compositionTimeMs
private com.google.android.exoplayer.extractor.flv.VideoTagPayloadReader$AvcSequenceHeaderData parseAvcCodecPrivate (com.google.android.exoplayer.util.ParsableByteArray) throws com.google.android.exoplayer.ParserException
int i
int j
com.google.android.exoplayer.util.ParsableBitArray spsDataBitArray
com.google.android.exoplayer.util.NalUnitUtil$SpsData sps
com.google.android.exoplayer.util.ParsableByteArray buffer
int nalUnitLengthFieldLength
java.util.List initializationData
int numSequenceParameterSets
int numPictureParameterSets
float pixelWidthAspectRatio
int width
int height
}
com/google/android/exoplayer/extractor/flv/TagPayloadReader$UnsupportedFormatException.classTagPayloadReader.java
package com.google.android.exoplayer.extractor.flv
public final com.google.android.exoplayer.extractor.flv.TagPayloadReader$UnsupportedFormatException extends com.google.android.exoplayer.ParserException {
public void (java.lang.String)
String msg
}
com/google/android/exoplayer/extractor/flv/ScriptTagPayloadReader.classScriptTagPayloadReader.java
package com.google.android.exoplayer.extractor.flv
final com.google.android.exoplayer.extractor.flv.ScriptTagPayloadReader extends com.google.android.exoplayer.extractor.flv.TagPayloadReader {
private static final String NAME_METADATA
private static final String KEY_DURATION
private static final int AMF_TYPE_NUMBER
private static final int AMF_TYPE_BOOLEAN
private static final int AMF_TYPE_STRING
private static final int AMF_TYPE_OBJECT
private static final int AMF_TYPE_ECMA_ARRAY
private static final int AMF_TYPE_END_MARKER
private static final int AMF_TYPE_STRICT_ARRAY
private static final int AMF_TYPE_DATE
public void (com.google.android.exoplayer.extractor.TrackOutput)
com.google.android.exoplayer.extractor.TrackOutput output
public void seek ()
protected boolean parseHeader (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray data
protected void parsePayload (com.google.android.exoplayer.util.ParsableByteArray, long) throws com.google.android.exoplayer.ParserException
double durationSeconds
com.google.android.exoplayer.util.ParsableByteArray data
long timeUs
int nameType
String name
int type
java.util.Map metadata
private static int readAmfType (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray data
private static java.lang.Boolean readAmfBoolean (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray data
private static java.lang.Double readAmfDouble (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray data
private static java.lang.String readAmfString (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray data
int size
int position
private static java.util.ArrayList readAmfStrictArray (com.google.android.exoplayer.util.ParsableByteArray)
int type
int i
com.google.android.exoplayer.util.ParsableByteArray data
int count
java.util.ArrayList list
private static java.util.HashMap readAmfObject (com.google.android.exoplayer.util.ParsableByteArray)
String key
int type
com.google.android.exoplayer.util.ParsableByteArray data
java.util.HashMap array
private static java.util.HashMap readAmfEcmaArray (com.google.android.exoplayer.util.ParsableByteArray)
String key
int type
int i
com.google.android.exoplayer.util.ParsableByteArray data
int count
java.util.HashMap array
private static java.util.Date readAmfDate (com.google.android.exoplayer.util.ParsableByteArray)
com.google.android.exoplayer.util.ParsableByteArray data
java.util.Date date
private static java.lang.Object readAmfData (com.google.android.exoplayer.util.ParsableByteArray, int)
com.google.android.exoplayer.util.ParsableByteArray data
int type
}
com/google/android/exoplayer/extractor/flv/AudioTagPayloadReader.classAudioTagPayloadReader.java
package com.google.android.exoplayer.extractor.flv
final com.google.android.exoplayer.extractor.flv.AudioTagPayloadReader extends com.google.android.exoplayer.extractor.flv.TagPayloadReader {
private static final int AUDIO_FORMAT_AAC
private static final int AAC_PACKET_TYPE_SEQUENCE_HEADER
private static final int AAC_PACKET_TYPE_AAC_RAW
private static final int[] AUDIO_SAMPLING_RATE_TABLE
private boolean hasParsedAudioDataHeader
private boolean hasOutputFormat
public void (com.google.android.exoplayer.extractor.TrackOutput)
com.google.android.exoplayer.extractor.TrackOutput output
public void seek ()
protected boolean parseHeader (com.google.android.exoplayer.util.ParsableByteArray) throws com.google.android.exoplayer.extractor.flv.TagPayloadReader$UnsupportedFormatException
int header
int audioFormat
int sampleRateIndex
com.google.android.exoplayer.util.ParsableByteArray data
protected void parsePayload (com.google.android.exoplayer.util.ParsableByteArray, long)
byte[] audioSpecifiConfig
android.util.Pair audioParams
com.google.android.exoplayer.MediaFormat mediaFormat
int bytesToWrite
com.google.android.exoplayer.util.ParsableByteArray data
long timeUs
int packetType
static void ()
}
com/google/android/exoplayer/extractor/DummyTrackOutput.classDummyTrackOutput.java
package com.google.android.exoplayer.extractor
public com.google.android.exoplayer.extractor.DummyTrackOutput extends java.lang.Object implements com.google.android.exoplayer.extractor.TrackOutput {
public void ()
public void format (com.google.android.exoplayer.MediaFormat)
com.google.android.exoplayer.MediaFormat format
public int sampleData (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
int length
boolean allowEndOfInput
public void sampleData (com.google.android.exoplayer.util.ParsableByteArray, int)
com.google.android.exoplayer.util.ParsableByteArray data
int length
public void sampleMetadata (long, int, int, int, byte[])
long timeUs
int flags
int size
int offset
byte[] encryptionKey
}
com/google/android/exoplayer/extractor/RollingSampleBuffer$SampleExtrasHolder.classRollingSampleBuffer.java
package com.google.android.exoplayer.extractor
final com.google.android.exoplayer.extractor.RollingSampleBuffer$SampleExtrasHolder extends java.lang.Object {
public long offset
public byte[] encryptionKeyId
private void ()
void (com.google.android.exoplayer.extractor.RollingSampleBuffer$1)
com.google.android.exoplayer.extractor.RollingSampleBuffer$1 x0
}
com/google/android/exoplayer/extractor/ExtractorInput.classExtractorInput.java
package com.google.android.exoplayer.extractor
public abstract com.google.android.exoplayer.extractor.ExtractorInput extends java.lang.Object {
public abstract int read (byte[], int, int) throws java.io.IOException java.lang.InterruptedException
public abstract boolean readFully (byte[], int, int, boolean) throws java.io.IOException java.lang.InterruptedException
public abstract void readFully (byte[], int, int) throws java.io.IOException java.lang.InterruptedException
public abstract int skip (int) throws java.io.IOException java.lang.InterruptedException
public abstract boolean skipFully (int, boolean) throws java.io.IOException java.lang.InterruptedException
public abstract void skipFully (int) throws java.io.IOException java.lang.InterruptedException
public abstract boolean peekFully (byte[], int, int, boolean) throws java.io.IOException java.lang.InterruptedException
public abstract void peekFully (byte[], int, int) throws java.io.IOException java.lang.InterruptedException
public abstract boolean advancePeekPosition (int, boolean) throws java.io.IOException java.lang.InterruptedException
public abstract void advancePeekPosition (int) throws java.io.IOException java.lang.InterruptedException
public abstract void resetPeekPosition ()
public abstract long getPeekPosition ()
public abstract long getPosition ()
public abstract long getLength ()
}
com/google/android/exoplayer/extractor/ExtractorSampleSource$InternalTrackOutput.classExtractorSampleSource.java
package com.google.android.exoplayer.extractor
com.google.android.exoplayer.extractor.ExtractorSampleSource$InternalTrackOutput extends com.google.android.exoplayer.extractor.DefaultTrackOutput {
final com.google.android.exoplayer.extractor.ExtractorSampleSource this$0
public void (com.google.android.exoplayer.extractor.ExtractorSampleSource, com.google.android.exoplayer.upstream.Allocator)
com.google.android.exoplayer.upstream.Allocator allocator
public void sampleMetadata (long, int, int, int, byte[])
long timeUs
int flags
int size
int offset
byte[] encryptionKey
}
com/google/android/exoplayer/extractor/RollingSampleBuffer.classRollingSampleBuffer.java
package com.google.android.exoplayer.extractor
final com.google.android.exoplayer.extractor.RollingSampleBuffer extends java.lang.Object {
private static final int INITIAL_SCRATCH_SIZE
private final com.google.android.exoplayer.upstream.Allocator allocator
private final int allocationLength
private final com.google.android.exoplayer.extractor.RollingSampleBuffer$InfoQueue infoQueue
private final java.util.concurrent.LinkedBlockingDeque dataQueue
private final com.google.android.exoplayer.extractor.RollingSampleBuffer$SampleExtrasHolder extrasHolder
private final com.google.android.exoplayer.util.ParsableByteArray scratch
private long totalBytesDropped
private long totalBytesWritten
private com.google.android.exoplayer.upstream.Allocation lastAllocation
private int lastAllocationOffset
public void (com.google.android.exoplayer.upstream.Allocator)
com.google.android.exoplayer.upstream.Allocator allocator
public void clear ()
public int getWriteIndex ()
public void discardUpstreamSamples (int)
int discardFromIndex
private void dropUpstreamFrom (long)
int i
long absolutePosition
int relativePosition
int allocationIndex
int allocationOffset
int allocationDiscardCount
public int getReadIndex ()
public boolean peekSample (com.google.android.exoplayer.SampleHolder)
com.google.android.exoplayer.SampleHolder holder
public void skipSample ()
long nextOffset
public boolean skipToKeyframeBefore (long)
long timeUs
long nextOffset
public boolean readSample (com.google.android.exoplayer.SampleHolder)
com.google.android.exoplayer.SampleHolder sampleHolder
boolean haveSample
long nextOffset
private void readEncryptionData (com.google.android.exoplayer.SampleHolder, com.google.android.exoplayer.extractor.RollingSampleBuffer$SampleExtrasHolder)
int subsampleCount
int i
int subsampleDataLength
com.google.android.exoplayer.SampleHolder sampleHolder
com.google.android.exoplayer.extractor.RollingSampleBuffer$SampleExtrasHolder extrasHolder
long offset
byte signalByte
boolean subsampleEncryption
int ivSize
int subsampleCount
int[] clearDataSizes
int[] encryptedDataSizes
int bytesRead
private void readData (long, java.nio.ByteBuffer, int)
int positionInAllocation
int toCopy
com.google.android.exoplayer.upstream.Allocation allocation
long absolutePosition
java.nio.ByteBuffer target
int length
int remaining
private void readData (long, byte[], int)
int positionInAllocation
int toCopy
com.google.android.exoplayer.upstream.Allocation allocation
long absolutePosition
byte[] target
int length
int bytesRead
private void dropDownstreamTo (long)
int i
long absolutePosition
int relativePosition
int allocationIndex
private static void ensureCapacity (com.google.android.exoplayer.util.ParsableByteArray, int)
com.google.android.exoplayer.util.ParsableByteArray byteArray
int limit
public long getWritePosition ()
public int appendData (com.google.android.exoplayer.upstream.DataSource, int, boolean) throws java.io.IOException
com.google.android.exoplayer.upstream.DataSource dataSource
int length
boolean allowEndOfInput
int bytesAppended
public int appendData (com.google.android.exoplayer.extractor.ExtractorInput, int, boolean) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
int length
boolean allowEndOfInput
int bytesAppended
public void appendData (com.google.android.exoplayer.util.ParsableByteArray, int)
int thisAppendLength
com.google.android.exoplayer.util.ParsableByteArray buffer
int length
public void commitSample (long, int, long, int, byte[])
long sampleTimeUs
int flags
long position
int size
byte[] encryptionKey
private int prepareForAppend (int)
int length
}
com/google/android/exoplayer/extractor/ExtractorSampleSource.classExtractorSampleSource.java
package com.google.android.exoplayer.extractor
public final com.google.android.exoplayer.extractor.ExtractorSampleSource extends java.lang.Object implements com.google.android.exoplayer.SampleSource com.google.android.exoplayer.SampleSource$SampleSourceReader com.google.android.exoplayer.extractor.ExtractorOutput com.google.android.exoplayer.upstream.Loader$Callback {
public static final int DEFAULT_MIN_LOADABLE_RETRY_COUNT_ON_DEMAND
public static final int DEFAULT_MIN_LOADABLE_RETRY_COUNT_LIVE
private static final int MIN_RETRY_COUNT_DEFAULT_FOR_MEDIA
private static final long NO_RESET_PENDING
private static final java.util.List DEFAULT_EXTRACTOR_CLASSES
private final com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractorHolder extractorHolder
private final com.google.android.exoplayer.upstream.Allocator allocator
private final int requestedBufferSize
private final android.util.SparseArray sampleQueues
private final int minLoadableRetryCount
private final android.net.Uri uri
private final com.google.android.exoplayer.upstream.DataSource dataSource
private final android.os.Handler eventHandler
private final com.google.android.exoplayer.extractor.ExtractorSampleSource$EventListener eventListener
private final int eventSourceId
private volatile boolean tracksBuilt
private volatile com.google.android.exoplayer.extractor.SeekMap seekMap
private volatile com.google.android.exoplayer.drm.DrmInitData drmInitData
private boolean prepared
private int enabledTrackCount
private com.google.android.exoplayer.MediaFormat[] mediaFormats
private long maxTrackDurationUs
private boolean[] pendingMediaFormat
private boolean[] pendingDiscontinuities
private boolean[] trackEnabledStates
private int remainingReleaseCount
private long downstreamPositionUs
private long lastSeekPositionUs
private long pendingResetPositionUs
private boolean havePendingNextSampleUs
private long pendingNextSampleUs
private long sampleTimeOffsetUs
private com.google.android.exoplayer.upstream.Loader loader
private com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable loadable
private java.io.IOException currentLoadableException
private int currentLoadableExceptionCount
private long currentLoadableExceptionTimestamp
private boolean loadingFinished
private int extractedSampleCount
private int extractedSampleCountAtStartOfLoad
public transient void (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.Allocator, int, com.google.android.exoplayer.extractor.Extractor[])
android.net.Uri uri
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.Allocator allocator
int requestedBufferSize
com.google.android.exoplayer.extractor.Extractor[] extractors
public transient void (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.Allocator, int, android.os.Handler, com.google.android.exoplayer.extractor.ExtractorSampleSource$EventListener, int, com.google.android.exoplayer.extractor.Extractor[])
android.net.Uri uri
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.Allocator allocator
int requestedBufferSize
android.os.Handler eventHandler
com.google.android.exoplayer.extractor.ExtractorSampleSource$EventListener eventListener
int eventSourceId
com.google.android.exoplayer.extractor.Extractor[] extractors
public transient void (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.Allocator, int, int, com.google.android.exoplayer.extractor.Extractor[])
android.net.Uri uri
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.Allocator allocator
int requestedBufferSize
int minLoadableRetryCount
com.google.android.exoplayer.extractor.Extractor[] extractors
public transient void (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.Allocator, int, int, android.os.Handler, com.google.android.exoplayer.extractor.ExtractorSampleSource$EventListener, int, com.google.android.exoplayer.extractor.Extractor[])
InstantiationException e
IllegalAccessException e
int i
android.net.Uri uri
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.Allocator allocator
int requestedBufferSize
int minLoadableRetryCount
android.os.Handler eventHandler
com.google.android.exoplayer.extractor.ExtractorSampleSource$EventListener eventListener
int eventSourceId
com.google.android.exoplayer.extractor.Extractor[] extractors
public com.google.android.exoplayer.SampleSource$SampleSourceReader register ()
public boolean prepare (long)
com.google.android.exoplayer.MediaFormat format
int i
int trackCount
long positionUs
public int getTrackCount ()
public com.google.android.exoplayer.MediaFormat getFormat (int)
int track
public void enable (int, long)
int track
long positionUs
public void disable (int)
int track
public boolean continueBuffering (int, long)
int track
long playbackPositionUs
public long readDiscontinuity (int)
int track
public int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder)
boolean decodeOnly
int track
long playbackPositionUs
com.google.android.exoplayer.MediaFormatHolder formatHolder
com.google.android.exoplayer.SampleHolder sampleHolder
com.google.android.exoplayer.extractor.ExtractorSampleSource$InternalTrackOutput sampleQueue
public void maybeThrowError () throws java.io.IOException
int minLoadableRetryCountForMedia
int minLoadableRetryCountForMedia
public void seekToUs (long)
int i
int i
long positionUs
long currentPositionUs
boolean seekInsideBuffer
public long getBufferedPositionUs ()
int i
long largestParsedTimestampUs
public void release ()
public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
public void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
public void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException)
com.google.android.exoplayer.upstream.Loader$Loadable ignored
java.io.IOException e
public com.google.android.exoplayer.extractor.TrackOutput track (int)
int id
com.google.android.exoplayer.extractor.ExtractorSampleSource$InternalTrackOutput sampleQueue
public void endTracks ()
public void seekMap (com.google.android.exoplayer.extractor.SeekMap)
com.google.android.exoplayer.extractor.SeekMap seekMap
public void drmInitData (com.google.android.exoplayer.drm.DrmInitData)
com.google.android.exoplayer.drm.DrmInitData drmInitData
private void restartFrom (long)
long positionUs
private void maybeStartLoading ()
int i
int i
long elapsedMillis
private com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable createLoadableFromStart ()
private com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable createLoadableFromPositionUs (long)
long positionUs
private boolean haveFormatsForAllTracks ()
int i
private void discardSamplesForDisabledTracks (long)
int i
long timeUs
private void clearState ()
int i
private boolean isPendingReset ()
private boolean isCurrentLoadableExceptionFatal ()
private long getRetryDelayMillis (long)
long errorCount
private void notifyLoadError (java.io.IOException)
java.io.IOException e
static int access$000 (com.google.android.exoplayer.extractor.ExtractorSampleSource)
com.google.android.exoplayer.extractor.ExtractorSampleSource x0
static com.google.android.exoplayer.extractor.ExtractorSampleSource$EventListener access$100 (com.google.android.exoplayer.extractor.ExtractorSampleSource)
com.google.android.exoplayer.extractor.ExtractorSampleSource x0
static int access$208 (com.google.android.exoplayer.extractor.ExtractorSampleSource)
com.google.android.exoplayer.extractor.ExtractorSampleSource x0
static void ()
}
com/google/android/exoplayer/extractor/ExtractorSampleSource$EventListener.classExtractorSampleSource.java
package com.google.android.exoplayer.extractor
public abstract com.google.android.exoplayer.extractor.ExtractorSampleSource$EventListener extends java.lang.Object {
public abstract void onLoadError (int, java.io.IOException)
}
com/google/android/exoplayer/extractor/ExtractorOutput.classExtractorOutput.java
package com.google.android.exoplayer.extractor
public abstract com.google.android.exoplayer.extractor.ExtractorOutput extends java.lang.Object {
public abstract com.google.android.exoplayer.extractor.TrackOutput track (int)
public abstract void endTracks ()
public abstract void seekMap (com.google.android.exoplayer.extractor.SeekMap)
public abstract void drmInitData (com.google.android.exoplayer.drm.DrmInitData)
}
com/google/android/exoplayer/extractor/Extractor.classExtractor.java
package com.google.android.exoplayer.extractor
public abstract com.google.android.exoplayer.extractor.Extractor extends java.lang.Object {
public static final int RESULT_CONTINUE
public static final int RESULT_SEEK
public static final int RESULT_END_OF_INPUT
public abstract void init (com.google.android.exoplayer.extractor.ExtractorOutput)
public abstract boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
public abstract int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder) throws java.io.IOException java.lang.InterruptedException
public abstract void seek ()
}
com/google/android/exoplayer/extractor/SeekMap.classSeekMap.java
package com.google.android.exoplayer.extractor
public abstract com.google.android.exoplayer.extractor.SeekMap extends java.lang.Object {
public static final com.google.android.exoplayer.extractor.SeekMap UNSEEKABLE
public abstract boolean isSeekable ()
public abstract long getPosition (long)
static void ()
}
com/google/android/exoplayer/extractor/RollingSampleBuffer$1.classRollingSampleBuffer.java
package com.google.android.exoplayer.extractor
com.google.android.exoplayer.extractor.RollingSampleBuffer$1 extends java.lang.Object {
}
com/google/android/exoplayer/extractor/ExtractorSampleSource$ExtractingLoadable.classExtractorSampleSource.java
package com.google.android.exoplayer.extractor
com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable extends java.lang.Object implements com.google.android.exoplayer.upstream.Loader$Loadable {
private final android.net.Uri uri
private final com.google.android.exoplayer.upstream.DataSource dataSource
private final com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractorHolder extractorHolder
private final com.google.android.exoplayer.upstream.Allocator allocator
private final int requestedBufferSize
private final com.google.android.exoplayer.extractor.PositionHolder positionHolder
private volatile boolean loadCanceled
private boolean pendingExtractorSeek
public void (android.net.Uri, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractorHolder, com.google.android.exoplayer.upstream.Allocator, int, long)
android.net.Uri uri
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractorHolder extractorHolder
com.google.android.exoplayer.upstream.Allocator allocator
int requestedBufferSize
long position
public void cancelLoad ()
public boolean isLoadCanceled ()
public void load () throws java.io.IOException java.lang.InterruptedException
long position
long length
com.google.android.exoplayer.extractor.Extractor extractor
com.google.android.exoplayer.extractor.ExtractorInput input
int result
}
com/google/android/exoplayer/ExoPlayerImplInternal.classExoPlayerImplInternal.java
package com.google.android.exoplayer
final com.google.android.exoplayer.ExoPlayerImplInternal extends java.lang.Object implements android.os.Handler$Callback {
private static final String TAG
public static final int MSG_PREPARED
public static final int MSG_STATE_CHANGED
public static final int MSG_SET_PLAY_WHEN_READY_ACK
public static final int MSG_ERROR
private static final int MSG_PREPARE
private static final int MSG_INCREMENTAL_PREPARE
private static final int MSG_SET_PLAY_WHEN_READY
private static final int MSG_STOP
private static final int MSG_RELEASE
private static final int MSG_SEEK_TO
private static final int MSG_DO_SOME_WORK
private static final int MSG_SET_RENDERER_SELECTED_TRACK
private static final int MSG_CUSTOM
private static final int PREPARE_INTERVAL_MS
private static final int RENDERING_INTERVAL_MS
private static final int IDLE_INTERVAL_MS
private final android.os.Handler handler
private final android.os.HandlerThread internalPlaybackThread
private final android.os.Handler eventHandler
private final com.google.android.exoplayer.StandaloneMediaClock standaloneMediaClock
private final java.util.concurrent.atomic.AtomicInteger pendingSeekCount
private final java.util.List enabledRenderers
private final com.google.android.exoplayer.MediaFormat[][] trackFormats
private final int[] selectedTrackIndices
private final long minBufferUs
private final long minRebufferUs
private com.google.android.exoplayer.TrackRenderer[] renderers
private com.google.android.exoplayer.TrackRenderer rendererMediaClockSource
private com.google.android.exoplayer.MediaClock rendererMediaClock
private boolean released
private boolean playWhenReady
private boolean rebuffering
private int state
private int customMessagesSent
private int customMessagesProcessed
private long lastSeekPositionMs
private long elapsedRealtimeUs
private volatile long durationUs
private volatile long positionUs
private volatile long bufferedPositionUs
public void (android.os.Handler, boolean, int[], int, int)
android.os.Handler eventHandler
boolean playWhenReady
int[] selectedTrackIndices
int minBufferMs
int minRebufferMs
public android.os.Looper getPlaybackLooper ()
public long getCurrentPosition ()
public long getBufferedPosition ()
public long getDuration ()
public transient void prepare (com.google.android.exoplayer.TrackRenderer[])
com.google.android.exoplayer.TrackRenderer[] renderers
public void setPlayWhenReady (boolean)
boolean playWhenReady
public void seekTo (long)
long positionMs
public void stop ()
public void setRendererSelectedTrack (int, int)
int rendererIndex
int trackIndex
public void sendMessage (com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent, int, java.lang.Object)
com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent target
int messageType
Object message
public synchronized void blockingSendMessage (com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent, int, java.lang.Object)
InterruptedException e
com.google.android.exoplayer.ExoPlayer$ExoPlayerComponent target
int messageType
Object message
int messageNumber
public synchronized void release ()
InterruptedException e
public boolean handleMessage (android.os.Message)
com.google.android.exoplayer.ExoPlaybackException e
RuntimeException e
android.os.Message msg
private void setState (int)
int state
private void prepareInternal (com.google.android.exoplayer.TrackRenderer[]) throws com.google.android.exoplayer.ExoPlaybackException
com.google.android.exoplayer.TrackRenderer[] renderers
private void incrementalPrepareInternal () throws com.google.android.exoplayer.ExoPlaybackException
int state
com.google.android.exoplayer.TrackRenderer renderer
int rendererIndex
int trackIndex
long trackDurationUs
int trackIndex
com.google.android.exoplayer.TrackRenderer renderer
int rendererTrackCount
com.google.android.exoplayer.MediaFormat[] rendererTrackFormats
int rendererIndex
long operationStartTimeMs
boolean prepared
long durationUs
boolean allRenderersEnded
boolean allRenderersReadyOrEnded
private void enableRenderer (com.google.android.exoplayer.TrackRenderer, int, boolean) throws com.google.android.exoplayer.ExoPlaybackException
com.google.android.exoplayer.TrackRenderer renderer
int trackIndex
boolean joining
com.google.android.exoplayer.MediaClock mediaClock
private boolean rendererReadyOrEnded (com.google.android.exoplayer.TrackRenderer)
com.google.android.exoplayer.TrackRenderer renderer
long rendererDurationUs
long rendererBufferedPositionUs
long minBufferDurationUs
private void setPlayWhenReadyInternal (boolean) throws com.google.android.exoplayer.ExoPlaybackException
boolean playWhenReady
private void startRenderers () throws com.google.android.exoplayer.ExoPlaybackException
int i
private void stopRenderers () throws com.google.android.exoplayer.ExoPlaybackException
int i
private void updatePositionUs ()
private void doSomeWork () throws com.google.android.exoplayer.ExoPlaybackException
long rendererDurationUs
long rendererBufferedPositionUs
com.google.android.exoplayer.TrackRenderer renderer
boolean rendererReadyOrEnded
int i
long operationStartTimeMs
long bufferedPositionUs
boolean allRenderersEnded
boolean allRenderersReadyOrEnded
private void scheduleNextOperation (int, long, long)
int operationType
long thisOperationStartTimeMs
long intervalMs
long nextOperationStartTimeMs
long nextOperationDelayMs
private void seekToInternal (long) throws com.google.android.exoplayer.ExoPlaybackException
com.google.android.exoplayer.TrackRenderer renderer
int i
long positionMs
private void stopInternal ()
private void releaseInternal ()
private void resetInternal ()
com.google.android.exoplayer.TrackRenderer renderer
int i
private void stopAndDisable (com.google.android.exoplayer.TrackRenderer)
com.google.android.exoplayer.ExoPlaybackException e
RuntimeException e
com.google.android.exoplayer.TrackRenderer renderer
private void release (com.google.android.exoplayer.TrackRenderer)
com.google.android.exoplayer.ExoPlaybackException e
RuntimeException e
com.google.android.exoplayer.TrackRenderer renderer
private void sendMessageInternal (int, java.lang.Object) throws com.google.android.exoplayer.ExoPlaybackException
android.util.Pair targetAndMessage
int what
Object obj
private void setRendererSelectedTrackInternal (int, int) throws com.google.android.exoplayer.ExoPlaybackException
boolean playing
boolean joining
int rendererIndex
int trackIndex
com.google.android.exoplayer.TrackRenderer renderer
int rendererState
boolean isEnabled
boolean shouldEnable
private void ensureStopped (com.google.android.exoplayer.TrackRenderer) throws com.google.android.exoplayer.ExoPlaybackException
com.google.android.exoplayer.TrackRenderer renderer
private void ensureDisabled (com.google.android.exoplayer.TrackRenderer) throws com.google.android.exoplayer.ExoPlaybackException
com.google.android.exoplayer.TrackRenderer renderer
}
com/google/android/exoplayer/MediaCodecAudioTrackRenderer.classMediaCodecAudioTrackRenderer.java
package com.google.android.exoplayer
public com.google.android.exoplayer.MediaCodecAudioTrackRenderer extends com.google.android.exoplayer.MediaCodecTrackRenderer implements com.google.android.exoplayer.MediaClock {
public static final int MSG_SET_VOLUME
public static final int MSG_SET_PLAYBACK_PARAMS
private final com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener eventListener
private final com.google.android.exoplayer.audio.AudioTrack audioTrack
private boolean passthroughEnabled
private android.media.MediaFormat passthroughMediaFormat
private int audioSessionId
private long currentPositionUs
private boolean allowPositionDiscontinuity
private boolean audioTrackHasData
private long lastFeedElapsedRealtimeMs
public void (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector)
com.google.android.exoplayer.SampleSource source
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
public void (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.drm.DrmSessionManager, boolean)
com.google.android.exoplayer.SampleSource source
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
boolean playClearSamplesWithoutKeys
public void (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, android.os.Handler, com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener)
com.google.android.exoplayer.SampleSource source
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
android.os.Handler eventHandler
com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener eventListener
public void (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.drm.DrmSessionManager, boolean, android.os.Handler, com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener)
com.google.android.exoplayer.SampleSource source
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
boolean playClearSamplesWithoutKeys
android.os.Handler eventHandler
com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener eventListener
public void (com.google.android.exoplayer.SampleSource, com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.drm.DrmSessionManager, boolean, android.os.Handler, com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener, com.google.android.exoplayer.audio.AudioCapabilities, int)
com.google.android.exoplayer.SampleSource source
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
boolean playClearSamplesWithoutKeys
android.os.Handler eventHandler
com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener eventListener
com.google.android.exoplayer.audio.AudioCapabilities audioCapabilities
int streamType
public void (com.google.android.exoplayer.SampleSource[], com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.drm.DrmSessionManager, boolean, android.os.Handler, com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener, com.google.android.exoplayer.audio.AudioCapabilities, int)
com.google.android.exoplayer.SampleSource[] sources
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
com.google.android.exoplayer.drm.DrmSessionManager drmSessionManager
boolean playClearSamplesWithoutKeys
android.os.Handler eventHandler
com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener eventListener
com.google.android.exoplayer.audio.AudioCapabilities audioCapabilities
int streamType
protected boolean handlesTrack (com.google.android.exoplayer.MediaCodecSelector, com.google.android.exoplayer.MediaFormat) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
com.google.android.exoplayer.MediaFormat mediaFormat
String mimeType
protected com.google.android.exoplayer.DecoderInfo getDecoderInfo (com.google.android.exoplayer.MediaCodecSelector, java.lang.String, boolean) throws com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException
String passthroughDecoderName
com.google.android.exoplayer.MediaCodecSelector mediaCodecSelector
String mimeType
boolean requiresSecureDecoder
protected boolean allowPassthrough (java.lang.String)
String mimeType
protected void configureCodec (android.media.MediaCodec, boolean, android.media.MediaFormat, android.media.MediaCrypto)
android.media.MediaCodec codec
boolean codecIsAdaptive
android.media.MediaFormat format
android.media.MediaCrypto crypto
String mimeType
protected com.google.android.exoplayer.MediaClock getMediaClock ()
protected void onOutputFormatChanged (android.media.MediaFormat)
android.media.MediaFormat outputFormat
boolean passthrough
protected void onAudioSessionId (int)
int audioSessionId
protected void onStarted ()
protected void onStopped ()
protected boolean isEnded ()
protected boolean isReady ()
public long getPositionUs ()
long newCurrentPositionUs
protected void onDisabled () throws com.google.android.exoplayer.ExoPlaybackException
protected void onDiscontinuity (long) throws com.google.android.exoplayer.ExoPlaybackException
long positionUs
protected boolean processOutputBuffer (long, long, android.media.MediaCodec, java.nio.ByteBuffer, android.media.MediaCodec$BufferInfo, int, boolean) throws com.google.android.exoplayer.ExoPlaybackException
com.google.android.exoplayer.audio.AudioTrack$InitializationException e
long elapsedSinceLastFeedMs
long bufferSizeUs
long bufferSizeMs
boolean audioTrackHadData
com.google.android.exoplayer.audio.AudioTrack$WriteException e
long positionUs
long elapsedRealtimeUs
android.media.MediaCodec codec
java.nio.ByteBuffer buffer
android.media.MediaCodec$BufferInfo bufferInfo
int bufferIndex
boolean shouldSkip
int handleBufferResult
int handleBufferResult
protected void onOutputStreamEnded ()
protected void handleAudioTrackDiscontinuity ()
public void handleMessage (int, java.lang.Object) throws com.google.android.exoplayer.ExoPlaybackException
int messageType
Object message
private void notifyAudioTrackInitializationError (com.google.android.exoplayer.audio.AudioTrack$InitializationException)
com.google.android.exoplayer.audio.AudioTrack$InitializationException e
private void notifyAudioTrackWriteError (com.google.android.exoplayer.audio.AudioTrack$WriteException)
com.google.android.exoplayer.audio.AudioTrack$WriteException e
private void notifyAudioTrackUnderrun (int, long, long)
int bufferSize
long bufferSizeMs
long elapsedSinceLastFeedMs
static com.google.android.exoplayer.MediaCodecAudioTrackRenderer$EventListener access$000 (com.google.android.exoplayer.MediaCodecAudioTrackRenderer)
com.google.android.exoplayer.MediaCodecAudioTrackRenderer x0
}
com/google/android/exoplayer/TimeRange$StaticTimeRange.classTimeRange.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.TimeRange$StaticTimeRange extends java.lang.Object implements com.google.android.exoplayer.TimeRange {
private final long startTimeUs
private final long endTimeUs
public void (long, long)
long startTimeUs
long endTimeUs
public boolean isStatic ()
public long[] getCurrentBoundsMs (long[])
long[] out
public long[] getCurrentBoundsUs (long[])
long[] out
public int hashCode ()
int result
public boolean equals (java.lang.Object)
Object obj
com.google.android.exoplayer.TimeRange$StaticTimeRange other
}
com/google/android/exoplayer/MediaCodecTrackRenderer$DecoderInitializationException.classMediaCodecTrackRenderer.java
package com.google.android.exoplayer
public com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException extends java.lang.Exception {
private static final int CUSTOM_ERROR_CODE_BASE
private static final int NO_SUITABLE_DECODER_ERROR
private static final int DECODER_QUERY_ERROR
public final String mimeType
public final boolean secureDecoderRequired
public final String decoderName
public final String diagnosticInfo
public void (com.google.android.exoplayer.MediaFormat, java.lang.Throwable, boolean, int)
com.google.android.exoplayer.MediaFormat mediaFormat
Throwable cause
boolean secureDecoderRequired
int errorCode
public void (com.google.android.exoplayer.MediaFormat, java.lang.Throwable, boolean, java.lang.String)
com.google.android.exoplayer.MediaFormat mediaFormat
Throwable cause
boolean secureDecoderRequired
String decoderName
private static java.lang.String getDiagnosticInfoV21 (java.lang.Throwable)
Throwable cause
private static java.lang.String buildCustomDiagnosticInfo (int)
int errorCode
String sign
}
com/google/android/exoplayer/MediaFormat.classMediaFormat.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.MediaFormat extends java.lang.Object {
public static final int NO_VALUE
public static final long OFFSET_SAMPLE_RELATIVE
public final String trackId
public final String mimeType
public final int bitrate
public final int maxInputSize
public final long durationUs
public final java.util.List initializationData
public final boolean adaptive
public final int width
public final int height
public final int maxWidth
public final int maxHeight
public final int rotationDegrees
public final float pixelWidthHeightRatio
public final int channelCount
public final int sampleRate
public final int encoderDelay
public final int encoderPadding
public final String language
public final long subsampleOffsetUs
private int hashCode
private android.media.MediaFormat frameworkMediaFormat
public static com.google.android.exoplayer.MediaFormat createVideoFormat (java.lang.String, java.lang.String, int, int, long, int, int, java.util.List)
String trackId
String mimeType
int bitrate
int maxInputSize
long durationUs
int width
int height
java.util.List initializationData
public static com.google.android.exoplayer.MediaFormat createVideoFormat (java.lang.String, java.lang.String, int, int, long, int, int, java.util.List, int, float)
String trackId
String mimeType
int bitrate
int maxInputSize
long durationUs
int width
int height
java.util.List initializationData
int rotationDegrees
float pixelWidthHeightRatio
public static com.google.android.exoplayer.MediaFormat createAudioFormat (java.lang.String, java.lang.String, int, int, long, int, int, java.util.List, java.lang.String)
String trackId
String mimeType
int bitrate
int maxInputSize
long durationUs
int channelCount
int sampleRate
java.util.List initializationData
String language
public static com.google.android.exoplayer.MediaFormat createTextFormat (java.lang.String, java.lang.String, int, long, java.lang.String)
String trackId
String mimeType
int bitrate
long durationUs
String language
public static com.google.android.exoplayer.MediaFormat createTextFormat (java.lang.String, java.lang.String, int, long, java.lang.String, long)
String trackId
String mimeType
int bitrate
long durationUs
String language
long subsampleOffsetUs
public static com.google.android.exoplayer.MediaFormat createImageFormat (java.lang.String, java.lang.String, int, long, java.util.List, java.lang.String)
String trackId
String mimeType
int bitrate
long durationUs
java.util.List initializationData
String language
public static com.google.android.exoplayer.MediaFormat createFormatForMimeType (java.lang.String, java.lang.String, int, long)
String trackId
String mimeType
int bitrate
long durationUs
public static com.google.android.exoplayer.MediaFormat createId3Format ()
void (java.lang.String, java.lang.String, int, int, long, int, int, int, float, int, int, java.lang.String, long, java.util.List, boolean, int, int, int, int)
String trackId
String mimeType
int bitrate
int maxInputSize
long durationUs
int width
int height
int rotationDegrees
float pixelWidthHeightRatio
int channelCount
int sampleRate
String language
long subsampleOffsetUs
java.util.List initializationData
boolean adaptive
int maxWidth
int maxHeight
int encoderDelay
int encoderPadding
public com.google.android.exoplayer.MediaFormat copyWithMaxInputSize (int)
int maxInputSize
public com.google.android.exoplayer.MediaFormat copyWithMaxVideoDimensions (int, int)
int maxWidth
int maxHeight
public com.google.android.exoplayer.MediaFormat copyWithSubsampleOffsetUs (long)
long subsampleOffsetUs
public com.google.android.exoplayer.MediaFormat copyWithDurationUs (long)
long durationUs
public com.google.android.exoplayer.MediaFormat copyWithLanguage (java.lang.String)
String language
public com.google.android.exoplayer.MediaFormat copyWithFixedTrackInfo (java.lang.String, int, int, int, java.lang.String)
String trackId
int bitrate
int width
int height
String language
public com.google.android.exoplayer.MediaFormat copyAsAdaptive (java.lang.String)
String trackId
public com.google.android.exoplayer.MediaFormat copyWithGaplessInfo (int, int)
int encoderDelay
int encoderPadding
public final android.media.MediaFormat getFrameworkMediaFormatV16 ()
int i
android.media.MediaFormat format
final void setFrameworkFormatV16 (android.media.MediaFormat)
android.media.MediaFormat format
public java.lang.String toString ()
public int hashCode ()
int i
int result
public boolean equals (java.lang.Object)
int i
Object obj
com.google.android.exoplayer.MediaFormat other
private static final void maybeSetStringV16 (android.media.MediaFormat, java.lang.String, java.lang.String)
android.media.MediaFormat format
String key
String value
private static final void maybeSetIntegerV16 (android.media.MediaFormat, java.lang.String, int)
android.media.MediaFormat format
String key
int value
}
com/google/android/exoplayer/hls/
com/google/android/exoplayer/hls/HlsSampleSource$5.classHlsSampleSource.java
package com.google.android.exoplayer.hls
com.google.android.exoplayer.hls.HlsSampleSource$5 extends java.lang.Object implements java.lang.Runnable {
final com.google.android.exoplayer.chunk.Format val$format
final int val$trigger
final long val$positionUs
final com.google.android.exoplayer.hls.HlsSampleSource this$0
void (com.google.android.exoplayer.hls.HlsSampleSource, com.google.android.exoplayer.chunk.Format, int, long)
com.google.android.exoplayer.hls.HlsSampleSource this$0
public void run ()
}
com/google/android/exoplayer/hls/HlsSampleSource$EventListener.classHlsSampleSource.java
package com.google.android.exoplayer.hls
public abstract com.google.android.exoplayer.hls.HlsSampleSource$EventListener extends java.lang.Object implements com.google.android.exoplayer.chunk.BaseChunkSampleSourceEventListener {
}
com/google/android/exoplayer/hls/TsChunk.classTsChunk.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.TsChunk extends com.google.android.exoplayer.chunk.MediaChunk {
public final int discontinuitySequenceNumber
public final com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
private final boolean isEncrypted
private int bytesLoaded
private volatile boolean loadCanceled
public void (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, int, com.google.android.exoplayer.chunk.Format, long, long, int, int, com.google.android.exoplayer.hls.HlsExtractorWrapper, byte[], byte[])
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.DataSpec dataSpec
int trigger
com.google.android.exoplayer.chunk.Format format
long startTimeUs
long endTimeUs
int chunkIndex
int discontinuitySequenceNumber
com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
byte[] encryptionKey
byte[] encryptionIv
public long bytesLoaded ()
public void cancelLoad ()
public boolean isLoadCanceled ()
public void load () throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.upstream.DataSpec loadDataSpec
boolean skipLoadedBytes
int result
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.upstream.DataSpec loadDataSpec
boolean skipLoadedBytes
private static com.google.android.exoplayer.upstream.DataSource buildDataSource (com.google.android.exoplayer.upstream.DataSource, byte[], byte[])
com.google.android.exoplayer.upstream.DataSource dataSource
byte[] encryptionKey
byte[] encryptionIv
}
com/google/android/exoplayer/hls/HlsChunkSource$MediaPlaylistChunk.classHlsChunkSource.java
package com.google.android.exoplayer.hls
final com.google.android.exoplayer.hls.HlsChunkSource$MediaPlaylistChunk extends com.google.android.exoplayer.chunk.DataChunk {
public final int variantIndex
private final com.google.android.exoplayer.hls.HlsPlaylistParser playlistParser
private final String playlistUrl
private com.google.android.exoplayer.hls.HlsMediaPlaylist result
public void (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, byte[], com.google.android.exoplayer.hls.HlsPlaylistParser, int, java.lang.String)
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.DataSpec dataSpec
byte[] scratchSpace
com.google.android.exoplayer.hls.HlsPlaylistParser playlistParser
int variantIndex
String playlistUrl
protected void consume (byte[], int) throws java.io.IOException
byte[] data
int limit
public com.google.android.exoplayer.hls.HlsMediaPlaylist getResult ()
}
com/google/android/exoplayer/hls/HlsSampleSource.classHlsSampleSource.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.HlsSampleSource extends java.lang.Object implements com.google.android.exoplayer.SampleSource com.google.android.exoplayer.SampleSource$SampleSourceReader com.google.android.exoplayer.upstream.Loader$Callback {
public static final int DEFAULT_MIN_LOADABLE_RETRY_COUNT
private static final long NO_RESET_PENDING
private static final int PRIMARY_TYPE_NONE
private static final int PRIMARY_TYPE_TEXT
private static final int PRIMARY_TYPE_AUDIO
private static final int PRIMARY_TYPE_VIDEO
private final com.google.android.exoplayer.hls.HlsChunkSource chunkSource
private final java.util.LinkedList extractors
private final int minLoadableRetryCount
private final int bufferSizeContribution
private final com.google.android.exoplayer.chunk.ChunkOperationHolder chunkOperationHolder
private final int eventSourceId
private final com.google.android.exoplayer.LoadControl loadControl
private final android.os.Handler eventHandler
private final com.google.android.exoplayer.hls.HlsSampleSource$EventListener eventListener
private int remainingReleaseCount
private boolean prepared
private boolean loadControlRegistered
private int trackCount
private int enabledTrackCount
private com.google.android.exoplayer.chunk.Format downstreamFormat
private com.google.android.exoplayer.MediaFormat[] trackFormats
private boolean[] trackEnabledStates
private boolean[] pendingDiscontinuities
private com.google.android.exoplayer.MediaFormat[] downstreamMediaFormats
private int[] chunkSourceTrackIndices
private int[] extractorTrackIndices
private boolean[] extractorTrackEnabledStates
private long downstreamPositionUs
private long lastSeekPositionUs
private long pendingResetPositionUs
private boolean loadingFinished
private com.google.android.exoplayer.chunk.Chunk currentLoadable
private com.google.android.exoplayer.hls.TsChunk currentTsLoadable
private com.google.android.exoplayer.hls.TsChunk previousTsLoadable
private com.google.android.exoplayer.upstream.Loader loader
private java.io.IOException currentLoadableException
private int currentLoadableExceptionCount
private long currentLoadableExceptionTimestamp
private long currentLoadStartTimeMs
public void (com.google.android.exoplayer.hls.HlsChunkSource, com.google.android.exoplayer.LoadControl, int)
com.google.android.exoplayer.hls.HlsChunkSource chunkSource
com.google.android.exoplayer.LoadControl loadControl
int bufferSizeContribution
public void (com.google.android.exoplayer.hls.HlsChunkSource, com.google.android.exoplayer.LoadControl, int, android.os.Handler, com.google.android.exoplayer.hls.HlsSampleSource$EventListener, int)
com.google.android.exoplayer.hls.HlsChunkSource chunkSource
com.google.android.exoplayer.LoadControl loadControl
int bufferSizeContribution
android.os.Handler eventHandler
com.google.android.exoplayer.hls.HlsSampleSource$EventListener eventListener
int eventSourceId
public void (com.google.android.exoplayer.hls.HlsChunkSource, com.google.android.exoplayer.LoadControl, int, android.os.Handler, com.google.android.exoplayer.hls.HlsSampleSource$EventListener, int, int)
com.google.android.exoplayer.hls.HlsChunkSource chunkSource
com.google.android.exoplayer.LoadControl loadControl
int bufferSizeContribution
android.os.Handler eventHandler
com.google.android.exoplayer.hls.HlsSampleSource$EventListener eventListener
int eventSourceId
int minLoadableRetryCount
public com.google.android.exoplayer.SampleSource$SampleSourceReader register ()
public boolean prepare (long)
com.google.android.exoplayer.hls.HlsExtractorWrapper extractor
long positionUs
public int getTrackCount ()
public com.google.android.exoplayer.MediaFormat getFormat (int)
int track
public void enable (int, long)
int track
long positionUs
boolean wasLoadControlRegistered
int chunkSourceTrack
public void disable (int)
int track
public boolean continueBuffering (int, long)
com.google.android.exoplayer.hls.HlsExtractorWrapper extractor
int extractorTrack
int extractorIndex
int track
long playbackPositionUs
public long readDiscontinuity (int)
int track
public int readData (int, long, com.google.android.exoplayer.MediaFormatHolder, com.google.android.exoplayer.SampleHolder)
boolean decodeOnly
int track
long playbackPositionUs
com.google.android.exoplayer.MediaFormatHolder formatHolder
com.google.android.exoplayer.SampleHolder sampleHolder
com.google.android.exoplayer.hls.HlsExtractorWrapper extractor
int extractorTrack
int extractorIndex
com.google.android.exoplayer.MediaFormat mediaFormat
public void maybeThrowError () throws java.io.IOException
public void seekToUs (long)
long positionUs
long currentPositionUs
public long getBufferedPositionUs ()
long largestParsedTimestampUs
public void release ()
public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
long now
long loadDurationMs
public void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
public void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
java.io.IOException e
private void buildTracks (com.google.android.exoplayer.hls.HlsExtractorWrapper)
int trackType
int trackType
int trackType
String mimeType
int trackType
int i
com.google.android.exoplayer.hls.Variant fixedTrackVariant
int j
com.google.android.exoplayer.MediaFormat format
String language
int i
com.google.android.exoplayer.hls.HlsExtractorWrapper extractor
int primaryExtractorTrackType
int primaryExtractorTrackIndex
int extractorTrackCount
int chunkSourceTrackCount
boolean expandPrimaryExtractorTrack
long durationUs
int trackIndex
private void setTrackEnabledState (int, boolean)
int track
boolean enabledState
int extractorTrack
private static com.google.android.exoplayer.MediaFormat copyWithFixedTrackInfo (com.google.android.exoplayer.MediaFormat, com.google.android.exoplayer.chunk.Format, java.lang.String)
com.google.android.exoplayer.MediaFormat format
com.google.android.exoplayer.chunk.Format fixedTrackFormat
String language
int width
int height
private void seekToInternal (long)
long positionUs
private com.google.android.exoplayer.hls.HlsExtractorWrapper getCurrentExtractor ()
com.google.android.exoplayer.hls.HlsExtractorWrapper extractor
private void discardSamplesForDisabledTracks (com.google.android.exoplayer.hls.HlsExtractorWrapper, long)
int i
com.google.android.exoplayer.hls.HlsExtractorWrapper extractor
long timeUs
private boolean haveSamplesForEnabledTracks (com.google.android.exoplayer.hls.HlsExtractorWrapper)
int i
com.google.android.exoplayer.hls.HlsExtractorWrapper extractor
private void restartFrom (long)
long positionUs
private void clearState ()
int i
private void clearCurrentLoadable ()
private void maybeStartLoading ()
long elapsedMillis
com.google.android.exoplayer.hls.TsChunk tsChunk
com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
long now
long nextLoadPositionUs
boolean isBackedOff
boolean loadingOrBackedOff
boolean nextLoader
boolean endOfStream
com.google.android.exoplayer.chunk.Chunk nextLoadable
private long getNextLoadPositionUs ()
private boolean isTsChunk (com.google.android.exoplayer.chunk.Chunk)
com.google.android.exoplayer.chunk.Chunk chunk
private boolean isPendingReset ()
private long getRetryDelayMillis (long)
long errorCount
long usToMs (long)
long timeUs
private void notifyLoadStarted (long, int, int, com.google.android.exoplayer.chunk.Format, long, long)
long length
int type
int trigger
com.google.android.exoplayer.chunk.Format format
long mediaStartTimeUs
long mediaEndTimeUs
private void notifyLoadCompleted (long, int, int, com.google.android.exoplayer.chunk.Format, long, long, long, long)
long bytesLoaded
int type
int trigger
com.google.android.exoplayer.chunk.Format format
long mediaStartTimeUs
long mediaEndTimeUs
long elapsedRealtimeMs
long loadDurationMs
private void notifyLoadCanceled (long)
long bytesLoaded
private void notifyLoadError (java.io.IOException)
java.io.IOException e
private void notifyDownstreamFormatChanged (com.google.android.exoplayer.chunk.Format, int, long)
com.google.android.exoplayer.chunk.Format format
int trigger
long positionUs
static int access$000 (com.google.android.exoplayer.hls.HlsSampleSource)
com.google.android.exoplayer.hls.HlsSampleSource x0
static com.google.android.exoplayer.hls.HlsSampleSource$EventListener access$100 (com.google.android.exoplayer.hls.HlsSampleSource)
com.google.android.exoplayer.hls.HlsSampleSource x0
}
com/google/android/exoplayer/hls/HlsMediaPlaylist$Segment.classHlsMediaPlaylist.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.HlsMediaPlaylist$Segment extends java.lang.Object implements java.lang.Comparable {
public final String url
public final double durationSecs
public final int discontinuitySequenceNumber
public final long startTimeUs
public final boolean isEncrypted
public final String encryptionKeyUri
public final String encryptionIV
public final long byterangeOffset
public final long byterangeLength
public void (java.lang.String, double, int, long, boolean, java.lang.String, java.lang.String, long, long)
String uri
double durationSecs
int discontinuitySequenceNumber
long startTimeUs
boolean isEncrypted
String encryptionKeyUri
String encryptionIV
long byterangeOffset
long byterangeLength
public int compareTo (java.lang.Long)
Long startTimeUs
public volatile int compareTo (java.lang.Object)
}
com/google/android/exoplayer/hls/Aes128DataSource.classAes128DataSource.java
package com.google.android.exoplayer.hls
final com.google.android.exoplayer.hls.Aes128DataSource extends java.lang.Object implements com.google.android.exoplayer.upstream.DataSource {
private final com.google.android.exoplayer.upstream.DataSource upstream
private final byte[] encryptionKey
private final byte[] encryptionIv
private javax.crypto.CipherInputStream cipherInputStream
public void (com.google.android.exoplayer.upstream.DataSource, byte[], byte[])
com.google.android.exoplayer.upstream.DataSource upstream
byte[] encryptionKey
byte[] encryptionIv
public long open (com.google.android.exoplayer.upstream.DataSpec) throws java.io.IOException
java.security.NoSuchAlgorithmException e
javax.crypto.NoSuchPaddingException e
java.security.InvalidKeyException e
java.security.InvalidAlgorithmParameterException e
com.google.android.exoplayer.upstream.DataSpec dataSpec
javax.crypto.Cipher cipher
javax.crypto.Cipher cipher
java.security.Key cipherKey
java.security.spec.AlgorithmParameterSpec cipherIV
public void close () throws java.io.IOException
public int read (byte[], int, int) throws java.io.IOException
byte[] buffer
int offset
int readLength
int bytesRead
}
com/google/android/exoplayer/hls/HlsTrackSelector$Output.classHlsTrackSelector.java
package com.google.android.exoplayer.hls
public abstract com.google.android.exoplayer.hls.HlsTrackSelector$Output extends java.lang.Object {
public abstract void adaptiveTrack (com.google.android.exoplayer.hls.HlsMasterPlaylist, com.google.android.exoplayer.hls.Variant[])
public abstract void fixedTrack (com.google.android.exoplayer.hls.HlsMasterPlaylist, com.google.android.exoplayer.hls.Variant)
}
com/google/android/exoplayer/hls/DefaultHlsTrackSelector.classDefaultHlsTrackSelector.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.DefaultHlsTrackSelector extends java.lang.Object implements com.google.android.exoplayer.hls.HlsTrackSelector {
private static final int TYPE_DEFAULT
private static final int TYPE_AUDIO
private static final int TYPE_SUBTITLE
private final android.content.Context context
private final int type
public static com.google.android.exoplayer.hls.DefaultHlsTrackSelector newDefaultInstance (android.content.Context)
android.content.Context context
public static com.google.android.exoplayer.hls.DefaultHlsTrackSelector newAudioInstance ()
public static com.google.android.exoplayer.hls.DefaultHlsTrackSelector newSubtitleInstance ()
private void (android.content.Context, int)
android.content.Context context
int type
public void selectTracks (com.google.android.exoplayer.hls.HlsMasterPlaylist, com.google.android.exoplayer.hls.HlsTrackSelector$Output) throws java.io.IOException
int i
java.util.List variants
int i
com.google.android.exoplayer.hls.Variant variant
int i
com.google.android.exoplayer.hls.Variant[] enabledVariants
int i
com.google.android.exoplayer.hls.HlsMasterPlaylist playlist
com.google.android.exoplayer.hls.HlsTrackSelector$Output output
java.util.ArrayList enabledVariantList
int[] variantIndices
java.util.ArrayList definiteVideoVariants
java.util.ArrayList definiteAudioOnlyVariants
private static boolean variantHasExplicitCodecWithPrefix (com.google.android.exoplayer.hls.Variant, java.lang.String)
int i
com.google.android.exoplayer.hls.Variant variant
String prefix
String codecs
String[] codecArray
}
com/google/android/exoplayer/hls/HlsMasterPlaylist.classHlsMasterPlaylist.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.HlsMasterPlaylist extends com.google.android.exoplayer.hls.HlsPlaylist {
public final java.util.List variants
public final java.util.List audios
public final java.util.List subtitles
public final String muxedAudioLanguage
public final String muxedCaptionLanguage
public void (java.lang.String, java.util.List, java.util.List, java.util.List, java.lang.String, java.lang.String)
String baseUri
java.util.List variants
java.util.List audios
java.util.List subtitles
String muxedAudioLanguage
String muxedCaptionLanguage
}
com/google/android/exoplayer/hls/WebvttExtractor.classWebvttExtractor.java
package com.google.android.exoplayer.hls
final com.google.android.exoplayer.hls.WebvttExtractor extends java.lang.Object implements com.google.android.exoplayer.extractor.Extractor {
private static final java.util.regex.Pattern LOCAL_TIMESTAMP
private static final java.util.regex.Pattern MEDIA_TIMESTAMP
private final com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
private final com.google.android.exoplayer.util.ParsableByteArray sampleDataWrapper
private com.google.android.exoplayer.extractor.ExtractorOutput output
private byte[] sampleData
private int sampleSize
public void (com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster)
com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster ptsTimestampAdjuster
public boolean sniff (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
public void init (com.google.android.exoplayer.extractor.ExtractorOutput)
com.google.android.exoplayer.extractor.ExtractorOutput output
public void seek ()
public int read (com.google.android.exoplayer.extractor.ExtractorInput, com.google.android.exoplayer.extractor.PositionHolder) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
com.google.android.exoplayer.extractor.PositionHolder seekPosition
int currentFileSize
int bytesRead
private void processSample () throws com.google.android.exoplayer.ParserException
java.util.regex.Matcher localTimestampMatcher
java.util.regex.Matcher mediaTimestampMatcher
com.google.android.exoplayer.util.ParsableByteArray webvttData
long vttTimestampUs
long tsTimestampUs
String line
java.util.regex.Matcher cueHeaderMatcher
long firstCueTimeUs
long sampleTimeUs
long subsampleOffsetUs
com.google.android.exoplayer.extractor.TrackOutput trackOutput
private com.google.android.exoplayer.extractor.TrackOutput buildTrackOutput (long)
long subsampleOffsetUs
com.google.android.exoplayer.extractor.TrackOutput trackOutput
static void ()
}
com/google/android/exoplayer/hls/HlsPlaylist.classHlsPlaylist.java
package com.google.android.exoplayer.hls
public abstract com.google.android.exoplayer.hls.HlsPlaylist extends java.lang.Object {
public static final int TYPE_MASTER
public static final int TYPE_MEDIA
public final String baseUri
public final int type
protected void (java.lang.String, int)
String baseUri
int type
}
com/google/android/exoplayer/hls/HlsSampleSource$1.classHlsSampleSource.java
package com.google.android.exoplayer.hls
com.google.android.exoplayer.hls.HlsSampleSource$1 extends java.lang.Object implements java.lang.Runnable {
final long val$length
final int val$type
final int val$trigger
final com.google.android.exoplayer.chunk.Format val$format
final long val$mediaStartTimeUs
final long val$mediaEndTimeUs
final com.google.android.exoplayer.hls.HlsSampleSource this$0
void (com.google.android.exoplayer.hls.HlsSampleSource, long, int, int, com.google.android.exoplayer.chunk.Format, long, long)
com.google.android.exoplayer.hls.HlsSampleSource this$0
public void run ()
}
com/google/android/exoplayer/hls/HlsChunkSource$EventListener.classHlsChunkSource.java
package com.google.android.exoplayer.hls
public abstract com.google.android.exoplayer.hls.HlsChunkSource$EventListener extends java.lang.Object implements com.google.android.exoplayer.chunk.BaseChunkSampleSourceEventListener {
}
com/google/android/exoplayer/hls/HlsChunkSource$ExposedTrack.classHlsChunkSource.java
package com.google.android.exoplayer.hls
final com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack extends java.lang.Object {
private final com.google.android.exoplayer.hls.Variant[] variants
private final int defaultVariantIndex
private final int adaptiveMaxWidth
private final int adaptiveMaxHeight
public void (com.google.android.exoplayer.hls.Variant)
com.google.android.exoplayer.hls.Variant fixedVariant
public void (com.google.android.exoplayer.hls.Variant[], int, int, int)
com.google.android.exoplayer.hls.Variant[] adaptiveVariants
int defaultVariantIndex
int maxWidth
int maxHeight
static com.google.android.exoplayer.hls.Variant[] access$000 (com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack)
com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack x0
static int access$100 (com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack)
com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack x0
static int access$200 (com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack)
com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack x0
static int access$300 (com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack)
com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack x0
}
com/google/android/exoplayer/hls/HlsTrackSelector.classHlsTrackSelector.java
package com.google.android.exoplayer.hls
public abstract com.google.android.exoplayer.hls.HlsTrackSelector extends java.lang.Object {
public abstract void selectTracks (com.google.android.exoplayer.hls.HlsMasterPlaylist, com.google.android.exoplayer.hls.HlsTrackSelector$Output) throws java.io.IOException
}
com/google/android/exoplayer/hls/PtsTimestampAdjusterProvider.classPtsTimestampAdjusterProvider.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider extends java.lang.Object {
private final android.util.SparseArray ptsTimestampAdjusters
public void ()
public com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster getAdjuster (boolean, int, long)
boolean isMasterSource
int discontinuitySequence
long startTimeUs
com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster adjuster
public void reset ()
}
com/google/android/exoplayer/hls/HlsChunkSource.classHlsChunkSource.java
package com.google.android.exoplayer.hls
public com.google.android.exoplayer.hls.HlsChunkSource extends java.lang.Object implements com.google.android.exoplayer.hls.HlsTrackSelector$Output {
public static final int ADAPTIVE_MODE_NONE
public static final int ADAPTIVE_MODE_SPLICE
public static final int ADAPTIVE_MODE_ABRUPT
public static final long DEFAULT_MIN_BUFFER_TO_SWITCH_UP_MS
public static final long DEFAULT_MAX_BUFFER_TO_SWITCH_DOWN_MS
public static final long DEFAULT_PLAYLIST_BLACKLIST_MS
private static final String TAG
private static final String AAC_FILE_EXTENSION
private static final String MP3_FILE_EXTENSION
private static final String VTT_FILE_EXTENSION
private static final String WEBVTT_FILE_EXTENSION
private static final float BANDWIDTH_FRACTION
private final boolean isMaster
private final com.google.android.exoplayer.upstream.DataSource dataSource
private final com.google.android.exoplayer.hls.HlsPlaylistParser playlistParser
private final com.google.android.exoplayer.hls.HlsMasterPlaylist masterPlaylist
private final com.google.android.exoplayer.hls.HlsTrackSelector trackSelector
private final com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
private final com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider timestampAdjusterProvider
private final int adaptiveMode
private final String baseUri
private final long minBufferDurationToSwitchUpUs
private final long maxBufferDurationToSwitchDownUs
private final java.util.ArrayList tracks
private int selectedTrackIndex
private com.google.android.exoplayer.hls.Variant[] variants
private com.google.android.exoplayer.hls.HlsMediaPlaylist[] variantPlaylists
private long[] variantLastPlaylistLoadTimesMs
private long[] variantBlacklistTimes
private int selectedVariantIndex
private boolean prepareCalled
private byte[] scratchSpace
private boolean live
private long durationUs
private java.io.IOException fatalError
private android.net.Uri encryptionKeyUri
private byte[] encryptionKey
private String encryptionIvString
private byte[] encryptionIv
public void (boolean, com.google.android.exoplayer.upstream.DataSource, java.lang.String, com.google.android.exoplayer.hls.HlsPlaylist, com.google.android.exoplayer.hls.HlsTrackSelector, com.google.android.exoplayer.upstream.BandwidthMeter, com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider, int)
boolean isMaster
com.google.android.exoplayer.upstream.DataSource dataSource
String playlistUrl
com.google.android.exoplayer.hls.HlsPlaylist playlist
com.google.android.exoplayer.hls.HlsTrackSelector trackSelector
com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider timestampAdjusterProvider
int adaptiveMode
public void (boolean, com.google.android.exoplayer.upstream.DataSource, java.lang.String, com.google.android.exoplayer.hls.HlsPlaylist, com.google.android.exoplayer.hls.HlsTrackSelector, com.google.android.exoplayer.upstream.BandwidthMeter, com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider, int, long, long)
com.google.android.exoplayer.chunk.Format format
java.util.List variants
boolean isMaster
com.google.android.exoplayer.upstream.DataSource dataSource
String playlistUrl
com.google.android.exoplayer.hls.HlsPlaylist playlist
com.google.android.exoplayer.hls.HlsTrackSelector trackSelector
com.google.android.exoplayer.upstream.BandwidthMeter bandwidthMeter
com.google.android.exoplayer.hls.PtsTimestampAdjusterProvider timestampAdjusterProvider
int adaptiveMode
long minBufferDurationToSwitchUpMs
long maxBufferDurationToSwitchDownMs
public void maybeThrowError () throws java.io.IOException
public boolean prepare ()
java.io.IOException e
public boolean isLive ()
public long getDurationUs ()
public int getTrackCount ()
public com.google.android.exoplayer.hls.Variant getFixedTrackVariant (int)
int index
com.google.android.exoplayer.hls.Variant[] variants
public java.lang.String getMuxedAudioLanguage ()
public java.lang.String getMuxedCaptionLanguage ()
public int getSelectedTrackIndex ()
public void selectTrack (int)
int index
com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack selectedTrack
public void seek ()
public void reset ()
public void getChunkOperation (com.google.android.exoplayer.hls.TsChunk, long, com.google.android.exoplayer.chunk.ChunkOperationHolder)
int nextVariantIndex
boolean switchingVariantSpliced
android.net.Uri keyUri
long startTimeUs
long startTimeUs
long startTimeUs
com.google.android.exoplayer.extractor.Extractor extractor
com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
com.google.android.exoplayer.extractor.Extractor extractor
com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster timestampAdjuster
com.google.android.exoplayer.extractor.Extractor extractor
com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
com.google.android.exoplayer.extractor.ts.PtsTimestampAdjuster timestampAdjuster
int workaroundFlags
String codecs
com.google.android.exoplayer.extractor.Extractor extractor
com.google.android.exoplayer.hls.HlsChunkSource$ExposedTrack selectedTrack
com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
com.google.android.exoplayer.hls.TsChunk previousTsChunk
long playbackPositionUs
com.google.android.exoplayer.chunk.ChunkOperationHolder out
int nextVariantIndex
boolean switchingVariantSpliced
com.google.android.exoplayer.hls.HlsMediaPlaylist mediaPlaylist
int chunkMediaSequence
int chunkIndex
com.google.android.exoplayer.hls.HlsMediaPlaylist$Segment segment
android.net.Uri chunkUri
com.google.android.exoplayer.upstream.DataSpec dataSpec
long startTimeUs
long endTimeUs
int trigger
com.google.android.exoplayer.chunk.Format format
com.google.android.exoplayer.hls.HlsExtractorWrapper extractorWrapper
String lastPathSegment
public void onChunkLoadCompleted (com.google.android.exoplayer.chunk.Chunk)
com.google.android.exoplayer.hls.HlsChunkSource$MediaPlaylistChunk mediaPlaylistChunk
com.google.android.exoplayer.hls.HlsChunkSource$EncryptionKeyChunk encryptionKeyChunk
com.google.android.exoplayer.chunk.Chunk chunk
public boolean onChunkLoadError (com.google.android.exoplayer.chunk.Chunk, java.io.IOException)
com.google.android.exoplayer.hls.TsChunk tsChunk
int variantIndex
com.google.android.exoplayer.hls.HlsChunkSource$MediaPlaylistChunk playlistChunk
int variantIndex
com.google.android.exoplayer.hls.HlsChunkSource$EncryptionKeyChunk encryptionChunk
int variantIndex
boolean alreadyBlacklisted
com.google.android.exoplayer.upstream.HttpDataSource$InvalidResponseCodeException responseCodeException
int responseCode
com.google.android.exoplayer.chunk.Chunk chunk
java.io.IOException e
public void adaptiveTrack (com.google.android.exoplayer.hls.HlsMasterPlaylist, com.google.android.exoplayer.hls.Variant[])
int originalVariantIndex
com.google.android.exoplayer.chunk.Format variantFormat
int i
com.google.android.exoplayer.hls.HlsMasterPlaylist playlist
com.google.android.exoplayer.hls.Variant[] variants
int defaultVariantIndex
int maxWidth
int maxHeight
int minOriginalVariantIndex
public void fixedTrack (com.google.android.exoplayer.hls.HlsMasterPlaylist, com.google.android.exoplayer.hls.Variant)
com.google.android.exoplayer.hls.HlsMasterPlaylist playlist
com.google.android.exoplayer.hls.Variant variant
private int getNextVariantIndex (com.google.android.exoplayer.hls.TsChunk, long)
com.google.android.exoplayer.hls.TsChunk previousTsChunk
long playbackPositionUs
long bitrateEstimate
int idealIndex
long bufferedPositionUs
long bufferedUs
private int getVariantIndexForBandwidth (long)
int i
long bitrateEstimate
int effectiveBitrate
int lowestQualityEnabledVariantIndex
private boolean shouldRerequestLiveMediaPlaylist (int)
int nextVariantIndex
com.google.android.exoplayer.hls.HlsMediaPlaylist mediaPlaylist
long timeSinceLastMediaPlaylistLoadMs
private int getLiveStartChunkMediaSequence (int)
int variantIndex
com.google.android.exoplayer.hls.HlsMediaPlaylist mediaPlaylist
int chunkIndex
private com.google.android.exoplayer.hls.HlsChunkSource$MediaPlaylistChunk newMediaPlaylistChunk (int)
int variantIndex
android.net.Uri mediaPlaylistUri
com.google.android.exoplayer.upstream.DataSpec dataSpec
private com.google.android.exoplayer.hls.HlsChunkSource$EncryptionKeyChunk newEncryptionKeyChunk (android.net.Uri, java.lang.String, int)
android.net.Uri keyUri
String iv
int variantIndex
com.google.android.exoplayer.upstream.DataSpec dataSpec
private void setEncryptionData (android.net.Uri, java.lang.String, byte[])
String trimmedIv
android.net.Uri keyUri
String iv
byte[] secretKey
String trimmedIv
byte[] ivData
byte[] ivDataWithPadding
int offset
private void clearEncryptionData ()
private void setMediaPlaylist (int, com.google.android.exoplayer.hls.HlsMediaPlaylist)
int variantIndex
com.google.android.exoplayer.hls.HlsMediaPlaylist mediaPlaylist
private boolean allVariantsBlacklisted ()
int i
private void clearStaleBlacklistedVariants ()
int i
long currentTime
private int getVariantIndex (com.google.android.exoplayer.chunk.Format)
int i
com.google.android.exoplayer.chunk.Format format
}
com/google/android/exoplayer/hls/HlsExtractorWrapper.classHlsExtractorWrapper.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.HlsExtractorWrapper extends java.lang.Object implements com.google.android.exoplayer.extractor.ExtractorOutput {
public final int trigger
public final com.google.android.exoplayer.chunk.Format format
public final long startTimeUs
private final com.google.android.exoplayer.extractor.Extractor extractor
private final android.util.SparseArray sampleQueues
private final boolean shouldSpliceIn
private final int adaptiveMaxWidth
private final int adaptiveMaxHeight
private com.google.android.exoplayer.MediaFormat[] sampleQueueFormats
private com.google.android.exoplayer.upstream.Allocator allocator
private volatile boolean tracksBuilt
private boolean prepared
private boolean spliceConfigured
public void (int, com.google.android.exoplayer.chunk.Format, long, com.google.android.exoplayer.extractor.Extractor, boolean, int, int)
int trigger
com.google.android.exoplayer.chunk.Format format
long startTimeUs
com.google.android.exoplayer.extractor.Extractor extractor
boolean shouldSpliceIn
int adaptiveMaxWidth
int adaptiveMaxHeight
public void init (com.google.android.exoplayer.upstream.Allocator)
com.google.android.exoplayer.upstream.Allocator allocator
public boolean isPrepared ()
int i
com.google.android.exoplayer.MediaFormat format
int i
public void clear ()
int i
public long getLargestParsedTimestampUs ()
int i
long largestParsedTimestampUs
public final void configureSpliceTo (com.google.android.exoplayer.hls.HlsExtractorWrapper)
com.google.android.exoplayer.extractor.DefaultTrackOutput currentSampleQueue
com.google.android.exoplayer.extractor.DefaultTrackOutput nextSampleQueue
int i
com.google.android.exoplayer.hls.HlsExtractorWrapper nextExtractor
boolean spliceConfigured
int trackCount
public int getTrackCount ()
public com.google.android.exoplayer.MediaFormat getMediaFormat (int)
int track
public boolean getSample (int, com.google.android.exoplayer.SampleHolder)
int track
com.google.android.exoplayer.SampleHolder holder
public void discardUntil (int, long)
int track
long timeUs
public boolean hasSamples (int)
int track
public int read (com.google.android.exoplayer.extractor.ExtractorInput) throws java.io.IOException java.lang.InterruptedException
com.google.android.exoplayer.extractor.ExtractorInput input
int result
public com.google.android.exoplayer.extractor.TrackOutput track (int)
int id
com.google.android.exoplayer.extractor.DefaultTrackOutput sampleQueue
public void endTracks ()
public void seekMap (com.google.android.exoplayer.extractor.SeekMap)
com.google.android.exoplayer.extractor.SeekMap seekMap
public void drmInitData (com.google.android.exoplayer.drm.DrmInitData)
com.google.android.exoplayer.drm.DrmInitData drmInit
}
com/google/android/exoplayer/hls/HlsParserUtil.classHlsParserUtil.java
package com.google.android.exoplayer.hls
final com.google.android.exoplayer.hls.HlsParserUtil extends java.lang.Object {
private static final String BOOLEAN_YES
private static final String BOOLEAN_NO
private void ()
public static java.lang.String parseStringAttr (java.lang.String, java.util.regex.Pattern, java.lang.String) throws com.google.android.exoplayer.ParserException
String line
java.util.regex.Pattern pattern
String tag
java.util.regex.Matcher matcher
public static int parseIntAttr (java.lang.String, java.util.regex.Pattern, java.lang.String) throws com.google.android.exoplayer.ParserException
String line
java.util.regex.Pattern pattern
String tag
public static double parseDoubleAttr (java.lang.String, java.util.regex.Pattern, java.lang.String) throws com.google.android.exoplayer.ParserException
String line
java.util.regex.Pattern pattern
String tag
public static java.lang.String parseOptionalStringAttr (java.lang.String, java.util.regex.Pattern)
String line
java.util.regex.Pattern pattern
java.util.regex.Matcher matcher
public static boolean parseOptionalBooleanAttr (java.lang.String, java.util.regex.Pattern)
String line
java.util.regex.Pattern pattern
java.util.regex.Matcher matcher
public static java.util.regex.Pattern compileBooleanAttrPattern (java.lang.String)
String attrName
}
com/google/android/exoplayer/hls/HlsSampleSource$4.classHlsSampleSource.java
package com.google.android.exoplayer.hls
com.google.android.exoplayer.hls.HlsSampleSource$4 extends java.lang.Object implements java.lang.Runnable {
final java.io.IOException val$e
final com.google.android.exoplayer.hls.HlsSampleSource this$0
void (com.google.android.exoplayer.hls.HlsSampleSource, java.io.IOException)
com.google.android.exoplayer.hls.HlsSampleSource this$0
public void run ()
}
com/google/android/exoplayer/hls/HlsPlaylistParser$LineIterator.classHlsPlaylistParser.java
package com.google.android.exoplayer.hls
com.google.android.exoplayer.hls.HlsPlaylistParser$LineIterator extends java.lang.Object {
private final java.io.BufferedReader reader
private final java.util.Queue extraLines
private String next
public void (java.util.Queue, java.io.BufferedReader)
java.util.Queue extraLines
java.io.BufferedReader reader
public boolean hasNext () throws java.io.IOException
public java.lang.String next () throws java.io.IOException
String result
}
com/google/android/exoplayer/hls/HlsChunkSource$EncryptionKeyChunk.classHlsChunkSource.java
package com.google.android.exoplayer.hls
final com.google.android.exoplayer.hls.HlsChunkSource$EncryptionKeyChunk extends com.google.android.exoplayer.chunk.DataChunk {
public final String iv
public final int variantIndex
private byte[] result
public void (com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.upstream.DataSpec, byte[], java.lang.String, int)
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.upstream.DataSpec dataSpec
byte[] scratchSpace
String iv
int variantIndex
protected void consume (byte[], int) throws java.io.IOException
byte[] data
int limit
public byte[] getResult ()
}
com/google/android/exoplayer/hls/HlsSampleSource$3.classHlsSampleSource.java
package com.google.android.exoplayer.hls
com.google.android.exoplayer.hls.HlsSampleSource$3 extends java.lang.Object implements java.lang.Runnable {
final long val$bytesLoaded
final com.google.android.exoplayer.hls.HlsSampleSource this$0
void (com.google.android.exoplayer.hls.HlsSampleSource, long)
com.google.android.exoplayer.hls.HlsSampleSource this$0
public void run ()
}
com/google/android/exoplayer/hls/Variant.classVariant.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.Variant extends java.lang.Object implements com.google.android.exoplayer.chunk.FormatWrapper {
public final String url
public final com.google.android.exoplayer.chunk.Format format
public void (java.lang.String, com.google.android.exoplayer.chunk.Format)
String url
com.google.android.exoplayer.chunk.Format format
public com.google.android.exoplayer.chunk.Format getFormat ()
}
com/google/android/exoplayer/hls/HlsChunkSource$1.classHlsChunkSource.java
package com.google.android.exoplayer.hls
com.google.android.exoplayer.hls.HlsChunkSource$1 extends java.lang.Object implements java.util.Comparator {
private final java.util.Comparator formatComparator
final com.google.android.exoplayer.hls.HlsChunkSource this$0
void (com.google.android.exoplayer.hls.HlsChunkSource)
com.google.android.exoplayer.hls.HlsChunkSource this$0
public int compare (com.google.android.exoplayer.hls.Variant, com.google.android.exoplayer.hls.Variant)
com.google.android.exoplayer.hls.Variant first
com.google.android.exoplayer.hls.Variant second
public volatile int compare (java.lang.Object, java.lang.Object)
}
com/google/android/exoplayer/hls/HlsMediaPlaylist.classHlsMediaPlaylist.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.HlsMediaPlaylist extends com.google.android.exoplayer.hls.HlsPlaylist {
public static final String ENCRYPTION_METHOD_NONE
public static final String ENCRYPTION_METHOD_AES_128
public final int mediaSequence
public final int targetDurationSecs
public final int version
public final java.util.List segments
public final boolean live
public final long durationUs
public void (java.lang.String, int, int, int, boolean, java.util.List)
com.google.android.exoplayer.hls.HlsMediaPlaylist$Segment last
String baseUri
int mediaSequence
int targetDurationSecs
int version
boolean live
java.util.List segments
}
com/google/android/exoplayer/hls/HlsPlaylistParser.classHlsPlaylistParser.java
package com.google.android.exoplayer.hls
public final com.google.android.exoplayer.hls.HlsPlaylistParser extends java.lang.Object implements com.google.android.exoplayer.upstream.UriLoadable$Parser {
private static final String VERSION_TAG
private static final String STREAM_INF_TAG
private static final String MEDIA_TAG
private static final String DISCONTINUITY_TAG
private static final String DISCONTINUITY_SEQUENCE_TAG
private static final String MEDIA_DURATION_TAG
private static final String MEDIA_SEQUENCE_TAG
private static final String TARGET_DURATION_TAG
private static final String ENDLIST_TAG
private static final String KEY_TAG
private static final String BYTERANGE_TAG
private static final String BANDWIDTH_ATTR
private static final String CODECS_ATTR
private static final String RESOLUTION_ATTR
private static final String LANGUAGE_ATTR
private static final String NAME_ATTR
private static final String TYPE_ATTR
private static final String METHOD_ATTR
private static final String URI_ATTR
private static final String IV_ATTR
private static final String INSTREAM_ID_ATTR
private static final String AUDIO_TYPE
private static final String VIDEO_TYPE
private static final String SUBTITLES_TYPE
private static final String CLOSED_CAPTIONS_TYPE
private static final String METHOD_NONE
private static final String METHOD_AES128
private static final java.util.regex.Pattern BANDWIDTH_ATTR_REGEX
private static final java.util.regex.Pattern CODECS_ATTR_REGEX
private static final java.util.regex.Pattern RESOLUTION_ATTR_REGEX
private static final java.util.regex.Pattern MEDIA_DURATION_REGEX
private static final java.util.regex.Pattern MEDIA_SEQUENCE_REGEX
private static final java.util.regex.Pattern TARGET_DURATION_REGEX
private static final java.util.regex.Pattern VERSION_REGEX
private static final java.util.regex.Pattern BYTERANGE_REGEX
private static final java.util.regex.Pattern METHOD_ATTR_REGEX
private static final java.util.regex.Pattern URI_ATTR_REGEX
private static final java.util.regex.Pattern IV_ATTR_REGEX
private static final java.util.regex.Pattern TYPE_ATTR_REGEX
private static final java.util.regex.Pattern LANGUAGE_ATTR_REGEX
private static final java.util.regex.Pattern NAME_ATTR_REGEX
private static final java.util.regex.Pattern INSTREAM_ID_ATTR_REGEX
public void ()
public com.google.android.exoplayer.hls.HlsPlaylist parse (java.lang.String, java.io.InputStream) throws java.io.IOException com.google.android.exoplayer.ParserException
String connectionUrl
java.io.InputStream inputStream
java.io.BufferedReader reader
java.util.Queue extraLines
String line
private static com.google.android.exoplayer.hls.HlsMasterPlaylist parseMasterPlaylist (com.google.android.exoplayer.hls.HlsPlaylistParser$LineIterator, java.lang.String) throws java.io.IOException
String instreamId
String subtitleName
String uri
String language
com.google.android.exoplayer.chunk.Format format
String audioName
com.google.android.exoplayer.chunk.Format format
String language
String uri
String type
String[] widthAndHeight
String resolutionString
com.google.android.exoplayer.chunk.Format format
String line
com.google.android.exoplayer.hls.HlsPlaylistParser$LineIterator iterator
String baseUri
java.util.ArrayList variants
java.util.ArrayList audios
java.util.ArrayList subtitles
int bitrate
String codecs
int width
int height
String name
String muxedAudioLanguage
String muxedCaptionLanguage
boolean expectingStreamInfUrl
private static com.google.android.exoplayer.hls.HlsMediaPlaylist parseMediaPlaylist (com.google.android.exoplayer.hls.HlsPlaylistParser$LineIterator, java.lang.String) throws java.io.IOException
String method
String byteRange
String[] splitByteRange
String segmentEncryptionIV
String segmentEncryptionIV
String segmentEncryptionIV
String line
com.google.android.exoplayer.hls.HlsPlaylistParser$LineIterator iterator
String baseUri
int mediaSequence
int targetDurationSecs
int version
boolean live
java.util.List segments
double segmentDurationSecs
int discontinuitySequenceNumber
long segmentStartTimeUs
long segmentByterangeOffset
long segmentByterangeLength
int segmentMediaSequence
boolean isEncrypted
String encryptionKeyUri
String encryptionIV
public volatile java.lang.Object parse (java.lang.String, java.io.InputStream) throws com.google.android.exoplayer.ParserException java.io.IOException
static void ()
}
com/google/android/exoplayer/hls/HlsSampleSource$2.classHlsSampleSource.java
package com.google.android.exoplayer.hls
com.google.android.exoplayer.hls.HlsSampleSource$2 extends java.lang.Object implements java.lang.Runnable {
final long val$bytesLoaded
final int val$type
final int val$trigger
final com.google.android.exoplayer.chunk.Format val$format
final long val$mediaStartTimeUs
final long val$mediaEndTimeUs
final long val$elapsedRealtimeMs
final long val$loadDurationMs
final com.google.android.exoplayer.hls.HlsSampleSource this$0
void (com.google.android.exoplayer.hls.HlsSampleSource, long, int, int, com.google.android.exoplayer.chunk.Format, long, long, long, long)
com.google.android.exoplayer.hls.HlsSampleSource this$0
public void run ()
}
com/google/android/exoplayer/TimeRange$DynamicTimeRange.classTimeRange.java
package com.google.android.exoplayer
public final com.google.android.exoplayer.TimeRange$DynamicTimeRange extends java.lang.Object implements com.google.android.exoplayer.TimeRange {
private final long minStartTimeUs
private final long maxEndTimeUs
private final long elapsedRealtimeAtStartUs
private final long bufferDepthUs
private final com.google.android.exoplayer.util.Clock systemClock
public void (long, long, long, long, com.google.android.exoplayer.util.Clock)
long minStartTimeUs
long maxEndTimeUs
long elapsedRealtimeAtStartUs
long bufferDepthUs
com.google.android.exoplayer.util.Clock systemClock
public boolean isStatic ()
public long[] getCurrentBoundsMs (long[])
long[] out
public long[] getCurrentBoundsUs (long[])
long[] out
long currentEndTimeUs
long currentStartTimeUs
public int hashCode ()
int result
public boolean equals (java.lang.Object)
Object obj
com.google.android.exoplayer.TimeRange$DynamicTimeRange other
}
com/google/android/exoplayer/MediaCodecVideoTrackRenderer$3.classMediaCodecVideoTrackRenderer.java
package com.google.android.exoplayer
com.google.android.exoplayer.MediaCodecVideoTrackRenderer$3 extends java.lang.Object implements java.lang.Runnable {
final int val$countToNotify
final long val$elapsedToNotify
final com.google.android.exoplayer.MediaCodecVideoTrackRenderer this$0
void (com.google.android.exoplayer.MediaCodecVideoTrackRenderer, int, long)
com.google.android.exoplayer.MediaCodecVideoTrackRenderer this$0
public void run ()
}
com/google/android/exoplayer/smoothstreaming/
com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser$MissingFieldException.classSmoothStreamingManifestParser.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.classSmoothStreamingManifest.java
package com.google.android.exoplayer.smoothstreaming
public com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest extends java.lang.Object {
public final int majorVersion
public final int minorVersion
public final int lookAheadCount
public final boolean isLive
public final com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$ProtectionElement protectionElement
public final com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement[] streamElements
public final long durationUs
public final long dvrWindowLengthUs
public void (int, int, long, long, long, int, boolean, com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$ProtectionElement, com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement[])
int majorVersion
int minorVersion
long timescale
long duration
long dvrWindowLength
int lookAheadCount
boolean isLive
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$ProtectionElement protectionElement
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement[] streamElements
}
com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser$ElementParser.classSmoothStreamingManifestParser.java
package com.google.android.exoplayer.smoothstreaming
abstract com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser extends java.lang.Object {
private final String baseUri
private final String tag
private final com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
private final java.util.List normalizedAttributes
public void (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser, java.lang.String, java.lang.String)
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
String baseUri
String tag
public final java.lang.Object parse (org.xmlpull.v1.XmlPullParser) throws org.xmlpull.v1.XmlPullParserException java.io.IOException com.google.android.exoplayer.ParserException
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser childElementParser
int eventType
org.xmlpull.v1.XmlPullParser xmlParser
String tagName
String tagName
boolean foundStartTag
int skippingElementDepth
private com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser newChildParser (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser, java.lang.String, java.lang.String)
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
String name
String baseUri
protected final void putNormalizedAttribute (java.lang.String, java.lang.Object)
String key
Object value
protected final java.lang.Object getNormalizedAttribute (java.lang.String)
android.util.Pair pair
int i
String key
protected boolean handleChildInline (java.lang.String)
String tagName
protected void parseStartTag (org.xmlpull.v1.XmlPullParser) throws com.google.android.exoplayer.ParserException
org.xmlpull.v1.XmlPullParser xmlParser
protected void parseText (org.xmlpull.v1.XmlPullParser) throws com.google.android.exoplayer.ParserException
org.xmlpull.v1.XmlPullParser xmlParser
protected void parseEndTag (org.xmlpull.v1.XmlPullParser) throws com.google.android.exoplayer.ParserException
org.xmlpull.v1.XmlPullParser xmlParser
protected void addChild (java.lang.Object)
Object parsedChild
protected abstract java.lang.Object build ()
protected final java.lang.String parseRequiredString (org.xmlpull.v1.XmlPullParser, java.lang.String) throws com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$MissingFieldException
org.xmlpull.v1.XmlPullParser parser
String key
String value
protected final int parseInt (org.xmlpull.v1.XmlPullParser, java.lang.String, int) throws com.google.android.exoplayer.ParserException
NumberFormatException e
org.xmlpull.v1.XmlPullParser parser
String key
int defaultValue
String value
protected final int parseRequiredInt (org.xmlpull.v1.XmlPullParser, java.lang.String) throws com.google.android.exoplayer.ParserException
NumberFormatException e
org.xmlpull.v1.XmlPullParser parser
String key
String value
protected final long parseLong (org.xmlpull.v1.XmlPullParser, java.lang.String, long) throws com.google.android.exoplayer.ParserException
NumberFormatException e
org.xmlpull.v1.XmlPullParser parser
String key
long defaultValue
String value
protected final long parseRequiredLong (org.xmlpull.v1.XmlPullParser, java.lang.String) throws com.google.android.exoplayer.ParserException
NumberFormatException e
org.xmlpull.v1.XmlPullParser parser
String key
String value
protected final boolean parseBoolean (org.xmlpull.v1.XmlPullParser, java.lang.String, boolean)
org.xmlpull.v1.XmlPullParser parser
String key
boolean defaultValue
String value
}
com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifest$StreamElement.classSmoothStreamingManifest.java
package com.google.android.exoplayer.smoothstreaming
public com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement extends java.lang.Object {
public static final int TYPE_UNKNOWN
public static final int TYPE_AUDIO
public static final int TYPE_VIDEO
public static final int TYPE_TEXT
private static final String URL_PLACEHOLDER_START_TIME
private static final String URL_PLACEHOLDER_BITRATE
public final int type
public final String subType
public final long timescale
public final String name
public final int qualityLevels
public final int maxWidth
public final int maxHeight
public final int displayWidth
public final int displayHeight
public final String language
public final com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement[] tracks
public final int chunkCount
private final String baseUri
private final String chunkTemplate
private final java.util.List chunkStartTimes
private final long[] chunkStartTimesUs
private final long lastChunkDurationUs
public void (java.lang.String, java.lang.String, int, java.lang.String, long, java.lang.String, int, int, int, int, int, java.lang.String, com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement[], java.util.List, long)
String baseUri
String chunkTemplate
int type
String subType
long timescale
String name
int qualityLevels
int maxWidth
int maxHeight
int displayWidth
int displayHeight
String language
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement[] tracks
java.util.List chunkStartTimes
long lastChunkDuration
public int getChunkIndex (long)
long timeUs
public long getStartTimeUs (int)
int chunkIndex
public long getChunkDurationUs (int)
int chunkIndex
public android.net.Uri buildRequestUri (int, int)
int track
int chunkIndex
String chunkUrl
}
com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser.classSmoothStreamingManifestParser.java
package com.google.android.exoplayer.smoothstreaming
public com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser extends java.lang.Object implements com.google.android.exoplayer.upstream.UriLoadable$Parser {
private final org.xmlpull.v1.XmlPullParserFactory xmlParserFactory
public void ()
org.xmlpull.v1.XmlPullParserException e
public com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest parse (java.lang.String, java.io.InputStream) throws java.io.IOException com.google.android.exoplayer.ParserException
org.xmlpull.v1.XmlPullParser xmlParser
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$SmoothStreamMediaParser smoothStreamMediaParser
org.xmlpull.v1.XmlPullParserException e
String connectionUrl
java.io.InputStream inputStream
public volatile java.lang.Object parse (java.lang.String, java.io.InputStream) throws com.google.android.exoplayer.ParserException java.io.IOException
}
com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser$StreamElementParser.classSmoothStreamingManifestParser.java
package com.google.android.exoplayer.smoothstreaming
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$StreamElementParser extends com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser {
public static final String TAG
private static final String TAG_STREAM_FRAGMENT
private static final String KEY_TYPE
private static final String KEY_TYPE_AUDIO
private static final String KEY_TYPE_VIDEO
private static final String KEY_TYPE_TEXT
private static final String KEY_SUB_TYPE
private static final String KEY_NAME
private static final String KEY_QUALITY_LEVELS
private static final String KEY_URL
private static final String KEY_MAX_WIDTH
private static final String KEY_MAX_HEIGHT
private static final String KEY_DISPLAY_WIDTH
private static final String KEY_DISPLAY_HEIGHT
private static final String KEY_LANGUAGE
private static final String KEY_TIME_SCALE
private static final String KEY_FRAGMENT_DURATION
private static final String KEY_FRAGMENT_START_TIME
private static final String KEY_FRAGMENT_REPEAT_COUNT
private final String baseUri
private final java.util.List tracks
private int type
private String subType
private long timescale
private String name
private int qualityLevels
private String url
private int maxWidth
private int maxHeight
private int displayWidth
private int displayHeight
private String language
private java.util.ArrayList startTimes
private long lastChunkDuration
public void (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser, java.lang.String)
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
String baseUri
public boolean handleChildInline (java.lang.String)
String tag
public void parseStartTag (org.xmlpull.v1.XmlPullParser) throws com.google.android.exoplayer.ParserException
org.xmlpull.v1.XmlPullParser parser
private void parseStreamFragmentStartTag (org.xmlpull.v1.XmlPullParser) throws com.google.android.exoplayer.ParserException
int i
org.xmlpull.v1.XmlPullParser parser
int chunkIndex
long startTime
long repeatCount
private void parseStreamElementStartTag (org.xmlpull.v1.XmlPullParser) throws com.google.android.exoplayer.ParserException
org.xmlpull.v1.XmlPullParser parser
private int parseType (org.xmlpull.v1.XmlPullParser) throws com.google.android.exoplayer.ParserException
org.xmlpull.v1.XmlPullParser parser
String value
public void addChild (java.lang.Object)
Object child
public java.lang.Object build ()
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement[] trackElements
}
com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser$TrackElementParser.classSmoothStreamingManifestParser.java
package com.google.android.exoplayer.smoothstreaming
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$TrackElementParser extends com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser {
public static final String TAG
private static final String KEY_INDEX
private static final String KEY_BITRATE
private static final String KEY_CODEC_PRIVATE_DATA
private static final String KEY_SAMPLING_RATE
private static final String KEY_CHANNELS
private static final String KEY_FOUR_CC
private static final String KEY_TYPE
private static final String KEY_LANGUAGE
private static final String KEY_MAX_WIDTH
private static final String KEY_MAX_HEIGHT
private final java.util.List csd
private int index
private int bitrate
private String mimeType
private int maxWidth
private int maxHeight
private int samplingRate
private int channels
private String language
public void (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser, java.lang.String)
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
String baseUri
public void parseStartTag (org.xmlpull.v1.XmlPullParser) throws com.google.android.exoplayer.ParserException
String fourCC
int i
byte[] codecPrivateData
byte[][] split
org.xmlpull.v1.XmlPullParser parser
int type
String value
public java.lang.Object build ()
byte[][] csdArray
private static java.lang.String fourCCToMimeType (java.lang.String)
String fourCC
}
com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifest$ProtectionElement.classSmoothStreamingManifest.java
package com.google.android.exoplayer.smoothstreaming
public com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$ProtectionElement extends java.lang.Object {
public final java.util.UUID uuid
public final byte[] data
public void (java.util.UUID, byte[])
java.util.UUID uuid
byte[] data
}
com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifest$TrackElement.classSmoothStreamingManifest.java
package com.google.android.exoplayer.smoothstreaming
public com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement extends java.lang.Object implements com.google.android.exoplayer.chunk.FormatWrapper {
public final com.google.android.exoplayer.chunk.Format format
public final byte[][] csd
public void (int, int, java.lang.String, byte[][], int, int, int, int, java.lang.String)
int index
int bitrate
String mimeType
byte[][] csd
int maxWidth
int maxHeight
int sampleRate
int numChannels
String language
public com.google.android.exoplayer.chunk.Format getFormat ()
}
com/google/android/exoplayer/smoothstreaming/SmoothStreamingTrackSelector.classSmoothStreamingTrackSelector.java
package com.google.android.exoplayer.smoothstreaming
public abstract com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector extends java.lang.Object {
public abstract void selectTracks (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector$Output) throws java.io.IOException
}
com/google/android/exoplayer/smoothstreaming/SmoothStreamingChunkSource$ExposedTrack.classSmoothStreamingChunkSource.java
package com.google.android.exoplayer.smoothstreaming
final com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack extends java.lang.Object {
public final com.google.android.exoplayer.MediaFormat trackFormat
private final int elementIndex
private final com.google.android.exoplayer.chunk.Format fixedFormat
private final com.google.android.exoplayer.chunk.Format[] adaptiveFormats
private final int adaptiveMaxWidth
private final int adaptiveMaxHeight
public void (com.google.android.exoplayer.MediaFormat, int, com.google.android.exoplayer.chunk.Format)
com.google.android.exoplayer.MediaFormat trackFormat
int elementIndex
com.google.android.exoplayer.chunk.Format fixedFormat
public void (com.google.android.exoplayer.MediaFormat, int, com.google.android.exoplayer.chunk.Format[], int, int)
com.google.android.exoplayer.MediaFormat trackFormat
int elementIndex
com.google.android.exoplayer.chunk.Format[] adaptiveFormats
int adaptiveMaxWidth
int adaptiveMaxHeight
public boolean isAdaptive ()
static int access$000 (com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack)
com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack x0
static com.google.android.exoplayer.chunk.Format[] access$100 (com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack)
com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack x0
static com.google.android.exoplayer.chunk.Format access$200 (com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack)
com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack x0
static int access$300 (com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack)
com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack x0
static int access$400 (com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack)
com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack x0
}
com/google/android/exoplayer/smoothstreaming/DefaultSmoothStreamingTrackSelector.classDefaultSmoothStreamingTrackSelector.java
package com.google.android.exoplayer.smoothstreaming
public final com.google.android.exoplayer.smoothstreaming.DefaultSmoothStreamingTrackSelector extends java.lang.Object implements com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector {
private final int streamElementType
private final android.content.Context context
private final boolean filterVideoRepresentations
private final boolean filterProtectedHdContent
public static com.google.android.exoplayer.smoothstreaming.DefaultSmoothStreamingTrackSelector newVideoInstance (android.content.Context, boolean, boolean)
android.content.Context context
boolean filterVideoRepresentations
boolean filterProtectedHdContent
public static com.google.android.exoplayer.smoothstreaming.DefaultSmoothStreamingTrackSelector newAudioInstance ()
public static com.google.android.exoplayer.smoothstreaming.DefaultSmoothStreamingTrackSelector newTextInstance ()
private void (int, android.content.Context, boolean, boolean)
int streamElementType
android.content.Context context
boolean filterVideoRepresentations
boolean filterProtectedHdContent
public void selectTracks (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector$Output) throws java.io.IOException
int[] trackIndices
int j
int[] trackIndices
int trackCount
int j
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement[] tracks
int i
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest manifest
com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector$Output output
}
com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser$SmoothStreamMediaParser.classSmoothStreamingManifestParser.java
package com.google.android.exoplayer.smoothstreaming
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$SmoothStreamMediaParser extends com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser {
public static final String TAG
private static final String KEY_MAJOR_VERSION
private static final String KEY_MINOR_VERSION
private static final String KEY_TIME_SCALE
private static final String KEY_DVR_WINDOW_LENGTH
private static final String KEY_DURATION
private static final String KEY_LOOKAHEAD_COUNT
private static final String KEY_IS_LIVE
private int majorVersion
private int minorVersion
private long timescale
private long duration
private long dvrWindowLength
private int lookAheadCount
private boolean isLive
private com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$ProtectionElement protectionElement
private java.util.List streamElements
public void (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser, java.lang.String)
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
String baseUri
public void parseStartTag (org.xmlpull.v1.XmlPullParser) throws com.google.android.exoplayer.ParserException
org.xmlpull.v1.XmlPullParser parser
public void addChild (java.lang.Object)
Object child
public java.lang.Object build ()
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement[] streamElementArray
}
com/google/android/exoplayer/smoothstreaming/SmoothStreamingTrackSelector$Output.classSmoothStreamingTrackSelector.java
package com.google.android.exoplayer.smoothstreaming
public abstract com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector$Output extends java.lang.Object {
public abstract void adaptiveTrack (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, int, int[])
public abstract void fixedTrack (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, int, int)
}
com/google/android/exoplayer/smoothstreaming/SmoothStreamingChunkSource.classSmoothStreamingChunkSource.java
package com.google.android.exoplayer.smoothstreaming
public com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource extends java.lang.Object implements com.google.android.exoplayer.chunk.ChunkSource com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector$Output {
private static final int MINIMUM_MANIFEST_REFRESH_PERIOD_MS
private static final int INITIALIZATION_VECTOR_SIZE
private final com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector trackSelector
private final com.google.android.exoplayer.upstream.DataSource dataSource
private final com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation evaluation
private final long liveEdgeLatencyUs
private final com.google.android.exoplayer.extractor.mp4.TrackEncryptionBox[] trackEncryptionBoxes
private final com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
private final com.google.android.exoplayer.drm.DrmInitData$Mapped drmInitData
private final com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
private final boolean live
private final java.util.ArrayList tracks
private final android.util.SparseArray extractorWrappers
private final android.util.SparseArray mediaFormats
private boolean prepareCalled
private com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest currentManifest
private int currentManifestChunkOffset
private boolean needManifestRefresh
private com.google.android.exoplayer.smoothstreaming.SmoothStreamingChunkSource$ExposedTrack enabledTrack
private java.io.IOException fatalError
public void (com.google.android.exoplayer.util.ManifestFetcher, com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long)
com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector trackSelector
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
long liveEdgeLatencyMs
public void (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator)
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest manifest
com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector trackSelector
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
private void (com.google.android.exoplayer.util.ManifestFetcher, com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long)
byte[] keyId
com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest initialManifest
com.google.android.exoplayer.smoothstreaming.SmoothStreamingTrackSelector trackSelector
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
long liveEdgeLatencyMs
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$ProtectionElement protectionElement
public void maybeThrowError () throws java.io.IOException
public boolean prepare ()
java.io.IOException e
public int getTrackCount ()
public final com.google.android.exoplayer.MediaFormat getFormat (int)
int track
public void enable (int)
int track
public void continueBuffering (long)
long currentElementEndTimeUs
long newElementStartTimeUs
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement currentElement
int currentElementChunkCount
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement newElement
long playbackPositionUs
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest newManifest
public final void getChunkOperation (java.util.List, long, com.google.android.exoplayer.chunk.ChunkOperationHolder)
int chunkIndex
com.google.android.exoplayer.chunk.MediaChunk previous
java.util.List queue
long playbackPositionUs
com.google.android.exoplayer.chunk.ChunkOperationHolder out
com.google.android.exoplayer.chunk.Format selectedFormat
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement streamElement
int chunkIndex
boolean isLastChunk
long chunkStartTimeUs
long chunkEndTimeUs
int currentAbsoluteChunkIndex
int manifestTrackIndex
int manifestTrackKey
android.net.Uri uri
com.google.android.exoplayer.chunk.Chunk mediaChunk
public void onChunkLoadCompleted (com.google.android.exoplayer.chunk.Chunk)
com.google.android.exoplayer.chunk.Chunk chunk
public void onChunkLoadError (com.google.android.exoplayer.chunk.Chunk, java.lang.Exception)
com.google.android.exoplayer.chunk.Chunk chunk
Exception e
public void disable (java.util.List)
java.util.List queue
public void adaptiveTrack (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, int, int[])
int manifestTrackIndex
com.google.android.exoplayer.MediaFormat mediaFormat
int i
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest manifest
int element
int[] trackIndices
com.google.android.exoplayer.MediaFormat maxHeightMediaFormat
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement streamElement
int maxWidth
int maxHeight
com.google.android.exoplayer.chunk.Format[] formats
com.google.android.exoplayer.MediaFormat adaptiveMediaFormat
public void fixedTrack (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, int, int)
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest manifest
int element
int trackIndex
com.google.android.exoplayer.MediaFormat mediaFormat
com.google.android.exoplayer.chunk.Format format
private com.google.android.exoplayer.MediaFormat initManifestTrack (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, int, int)
java.util.List csd
java.util.List csd
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest manifest
int elementIndex
int trackIndex
int manifestTrackKey
com.google.android.exoplayer.MediaFormat mediaFormat
long durationUs
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement element
com.google.android.exoplayer.chunk.Format format
byte[][] csdArray
int mp4TrackType
int mp4TrackType
int mp4TrackType
int mp4TrackType
com.google.android.exoplayer.extractor.mp4.Track mp4Track
com.google.android.exoplayer.extractor.mp4.FragmentedMp4Extractor mp4Extractor
private static long getLiveSeekPosition (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest, long)
long elementLiveEdgeTimestampUs
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement streamElement
int i
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest manifest
long liveEdgeLatencyUs
long liveEdgeTimestampUs
private static int getManifestTrackIndex (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement, com.google.android.exoplayer.chunk.Format)
int i
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$StreamElement element
com.google.android.exoplayer.chunk.Format format
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifest$TrackElement[] tracks
private static com.google.android.exoplayer.chunk.MediaChunk newMediaChunk (com.google.android.exoplayer.chunk.Format, android.net.Uri, java.lang.String, com.google.android.exoplayer.chunk.ChunkExtractorWrapper, com.google.android.exoplayer.drm.DrmInitData, com.google.android.exoplayer.upstream.DataSource, int, long, long, int, com.google.android.exoplayer.MediaFormat, int, int)
com.google.android.exoplayer.chunk.Format formatInfo
android.net.Uri uri
String cacheKey
com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractorWrapper
com.google.android.exoplayer.drm.DrmInitData drmInitData
com.google.android.exoplayer.upstream.DataSource dataSource
int chunkIndex
long chunkStartTimeUs
long chunkEndTimeUs
int trigger
com.google.android.exoplayer.MediaFormat mediaFormat
int adaptiveMaxWidth
int adaptiveMaxHeight
long offset
com.google.android.exoplayer.upstream.DataSpec dataSpec
private static int getManifestTrackKey (int, int)
int elementIndex
int trackIndex
private static byte[] getProtectionElementKeyId (byte[])
int i
byte[] initData
StringBuilder initDataStringBuilder
String initDataString
String keyIdString
byte[] keyId
private static void swap (byte[], int, int)
byte[] data
int firstPosition
int secondPosition
byte temp
}
com/google/android/exoplayer/smoothstreaming/SmoothStreamingManifestParser$ProtectionElementParser.classSmoothStreamingManifestParser.java
package com.google.android.exoplayer.smoothstreaming
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ProtectionElementParser extends com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser {
public static final String TAG
public static final String TAG_PROTECTION_HEADER
public static final String KEY_SYSTEM_ID
private boolean inProtectionHeader
private java.util.UUID uuid
private byte[] initData
public void (com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser, java.lang.String)
com.google.android.exoplayer.smoothstreaming.SmoothStreamingManifestParser$ElementParser parent
String baseUri
public boolean handleChildInline (java.lang.String)
String tag
public void parseStartTag (org.xmlpull.v1.XmlPullParser)
String uuidString
org.xmlpull.v1.XmlPullParser parser
public void parseText (org.xmlpull.v1.XmlPullParser)
org.xmlpull.v1.XmlPullParser parser
public void parseEndTag (org.xmlpull.v1.XmlPullParser)
org.xmlpull.v1.XmlPullParser parser
public java.lang.Object build ()
private static java.lang.String stripCurlyBraces (java.lang.String)
String uuidString
}
com/google/android/exoplayer/dash/
com/google/android/exoplayer/dash/DashWrappingSegmentIndex.classDashWrappingSegmentIndex.java
package com.google.android.exoplayer.dash
final com.google.android.exoplayer.dash.DashWrappingSegmentIndex extends java.lang.Object implements com.google.android.exoplayer.dash.DashSegmentIndex {
private final com.google.android.exoplayer.extractor.ChunkIndex chunkIndex
private final String uri
public void (com.google.android.exoplayer.extractor.ChunkIndex, java.lang.String)
com.google.android.exoplayer.extractor.ChunkIndex chunkIndex
String uri
public int getFirstSegmentNum ()
public int getLastSegmentNum (long)
long periodDurationUs
public long getTimeUs (int)
int segmentNum
public long getDurationUs (int, long)
int segmentNum
long periodDurationUs
public com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (int)
int segmentNum
public int getSegmentNum (long, long)
long timeUs
long periodDurationUs
public boolean isExplicit ()
}
com/google/android/exoplayer/dash/DefaultDashTrackSelector.classDefaultDashTrackSelector.java
package com.google.android.exoplayer.dash
public final com.google.android.exoplayer.dash.DefaultDashTrackSelector extends java.lang.Object implements com.google.android.exoplayer.dash.DashTrackSelector {
private final int adaptationSetType
private final android.content.Context context
private final boolean filterVideoRepresentations
private final boolean filterProtectedHdContent
public static com.google.android.exoplayer.dash.DefaultDashTrackSelector newVideoInstance (android.content.Context, boolean, boolean)
android.content.Context context
boolean filterVideoRepresentations
boolean filterProtectedHdContent
public static com.google.android.exoplayer.dash.DefaultDashTrackSelector newAudioInstance ()
public static com.google.android.exoplayer.dash.DefaultDashTrackSelector newTextInstance ()
private void (int, android.content.Context, boolean, boolean)
int adaptationSetType
android.content.Context context
boolean filterVideoRepresentations
boolean filterProtectedHdContent
public void selectTracks (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, com.google.android.exoplayer.dash.DashTrackSelector$Output) throws java.io.IOException
int[] representations
int j
int[] representations
int representationCount
int j
com.google.android.exoplayer.dash.mpd.AdaptationSet adaptationSet
int i
com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
int periodIndex
com.google.android.exoplayer.dash.DashTrackSelector$Output output
com.google.android.exoplayer.dash.mpd.Period period
}
com/google/android/exoplayer/dash/DashChunkSource$PeriodHolder.classDashChunkSource.java
package com.google.android.exoplayer.dash
public final com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder extends java.lang.Object {
public final int localIndex
public final long startTimeUs
public final java.util.HashMap representationHolders
private final int[] representationIndices
private com.google.android.exoplayer.drm.DrmInitData drmInitData
private boolean indexIsUnbounded
private boolean indexIsExplicit
private long availableStartTimeUs
private long availableEndTimeUs
public void (int, com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack)
int j
com.google.android.exoplayer.dash.mpd.Representation representation
com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
int i
int localIndex
com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
int manifestIndex
com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack selectedTrack
com.google.android.exoplayer.dash.mpd.Period period
long periodDurationUs
com.google.android.exoplayer.dash.mpd.AdaptationSet adaptationSet
java.util.List representations
public void updatePeriod (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack) throws com.google.android.exoplayer.BehindLiveWindowException
com.google.android.exoplayer.dash.mpd.Representation representation
int j
com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
int manifestIndex
com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack selectedTrack
com.google.android.exoplayer.dash.mpd.Period period
long periodDurationUs
java.util.List representations
public long getAvailableStartTimeUs ()
public long getAvailableEndTimeUs ()
public boolean isIndexUnbounded ()
public boolean isIndexExplicit ()
public com.google.android.exoplayer.drm.DrmInitData getDrmInitData ()
private void updateRepresentationIndependentProperties (long, com.google.android.exoplayer.dash.mpd.Representation)
int firstSegmentNum
int lastSegmentNum
long periodDurationUs
com.google.android.exoplayer.dash.mpd.Representation arbitaryRepresentation
com.google.android.exoplayer.dash.DashSegmentIndex segmentIndex
private static int getRepresentationIndex (java.util.List, java.lang.String)
com.google.android.exoplayer.dash.mpd.Representation representation
int i
java.util.List representations
String formatId
private static com.google.android.exoplayer.drm.DrmInitData getDrmInitData (com.google.android.exoplayer.dash.mpd.AdaptationSet)
com.google.android.exoplayer.dash.mpd.ContentProtection contentProtection
int i
com.google.android.exoplayer.drm.DrmInitData$Mapped drmInitData
com.google.android.exoplayer.dash.mpd.AdaptationSet adaptationSet
private static long getPeriodDurationUs (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int)
com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
int index
long durationMs
static com.google.android.exoplayer.drm.DrmInitData access$200 (com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder)
com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder x0
static com.google.android.exoplayer.drm.DrmInitData access$202 (com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder, com.google.android.exoplayer.drm.DrmInitData)
com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder x0
com.google.android.exoplayer.drm.DrmInitData x1
}
com/google/android/exoplayer/dash/DashSegmentIndex.classDashSegmentIndex.java
package com.google.android.exoplayer.dash
public abstract com.google.android.exoplayer.dash.DashSegmentIndex extends java.lang.Object {
public static final int INDEX_UNBOUNDED
public abstract int getSegmentNum (long, long)
public abstract long getTimeUs (int)
public abstract long getDurationUs (int, long)
public abstract com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (int)
public abstract int getFirstSegmentNum ()
public abstract int getLastSegmentNum (long)
public abstract boolean isExplicit ()
}
com/google/android/exoplayer/dash/DashChunkSource$RepresentationHolder.classDashChunkSource.java
package com.google.android.exoplayer.dash
public final com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder extends java.lang.Object {
public final boolean mimeTypeIsRawText
public final com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractorWrapper
public com.google.android.exoplayer.dash.mpd.Representation representation
public com.google.android.exoplayer.dash.DashSegmentIndex segmentIndex
public com.google.android.exoplayer.MediaFormat mediaFormat
private final long periodStartTimeUs
private long periodDurationUs
private int segmentNumShift
public void (long, long, com.google.android.exoplayer.dash.mpd.Representation)
long periodStartTimeUs
long periodDurationUs
com.google.android.exoplayer.dash.mpd.Representation representation
String mimeType
public void updateRepresentation (long, com.google.android.exoplayer.dash.mpd.Representation) throws com.google.android.exoplayer.BehindLiveWindowException
long newPeriodDurationUs
com.google.android.exoplayer.dash.mpd.Representation newRepresentation
com.google.android.exoplayer.dash.DashSegmentIndex oldIndex
com.google.android.exoplayer.dash.DashSegmentIndex newIndex
int oldIndexLastSegmentNum
long oldIndexEndTimeUs
int newIndexFirstSegmentNum
long newIndexStartTimeUs
public int getSegmentNum (long)
long positionUs
public long getSegmentStartTimeUs (int)
int segmentNum
public long getSegmentEndTimeUs (int)
int segmentNum
public int getLastSegmentNum ()
public boolean isBeyondLastSegment (int)
int segmentNum
int lastSegmentNum
public int getFirstAvailableSegmentNum ()
public com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (int)
int segmentNum
}
com/google/android/exoplayer/dash/DashChunkSource$EventListener.classDashChunkSource.java
package com.google.android.exoplayer.dash
public abstract com.google.android.exoplayer.dash.DashChunkSource$EventListener extends java.lang.Object {
public abstract void onAvailableRangeChanged (int, com.google.android.exoplayer.TimeRange)
}
com/google/android/exoplayer/dash/DashChunkSource.classDashChunkSource.java
package com.google.android.exoplayer.dash
public com.google.android.exoplayer.dash.DashChunkSource extends java.lang.Object implements com.google.android.exoplayer.chunk.ChunkSource com.google.android.exoplayer.dash.DashTrackSelector$Output {
private static final String TAG
private final android.os.Handler eventHandler
private final com.google.android.exoplayer.dash.DashChunkSource$EventListener eventListener
private final com.google.android.exoplayer.upstream.DataSource dataSource
private final com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
private final com.google.android.exoplayer.chunk.FormatEvaluator$Evaluation evaluation
private final com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
private final com.google.android.exoplayer.dash.DashTrackSelector trackSelector
private final java.util.ArrayList tracks
private final android.util.SparseArray periodHolders
private final com.google.android.exoplayer.util.Clock systemClock
private final long liveEdgeLatencyUs
private final long elapsedRealtimeOffsetUs
private final long[] availableRangeValues
private final boolean live
private final int eventSourceId
private com.google.android.exoplayer.dash.mpd.MediaPresentationDescription currentManifest
private com.google.android.exoplayer.dash.mpd.MediaPresentationDescription processedManifest
private com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack enabledTrack
private int nextPeriodHolderIndex
private com.google.android.exoplayer.TimeRange availableRange
private boolean prepareCalled
private boolean startAtLiveEdge
private boolean lastChunkWasInitialization
private java.io.IOException fatalError
public transient void (com.google.android.exoplayer.dash.DashTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long, int, com.google.android.exoplayer.dash.mpd.Representation[])
com.google.android.exoplayer.dash.DashTrackSelector trackSelector
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
long durationMs
int adaptationSetType
com.google.android.exoplayer.dash.mpd.Representation[] representations
public void (com.google.android.exoplayer.dash.DashTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long, int, java.util.List)
com.google.android.exoplayer.dash.DashTrackSelector trackSelector
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
long durationMs
int adaptationSetType
java.util.List representations
public void (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, com.google.android.exoplayer.dash.DashTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator)
com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
com.google.android.exoplayer.dash.DashTrackSelector trackSelector
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
public void (com.google.android.exoplayer.util.ManifestFetcher, com.google.android.exoplayer.dash.DashTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long, long, android.os.Handler, com.google.android.exoplayer.dash.DashChunkSource$EventListener, int)
com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
com.google.android.exoplayer.dash.DashTrackSelector trackSelector
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
long liveEdgeLatencyMs
long elapsedRealtimeOffsetMs
android.os.Handler eventHandler
com.google.android.exoplayer.dash.DashChunkSource$EventListener eventListener
int eventSourceId
public void (com.google.android.exoplayer.util.ManifestFetcher, com.google.android.exoplayer.dash.DashTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, long, long, boolean, android.os.Handler, com.google.android.exoplayer.dash.DashChunkSource$EventListener, int)
com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
com.google.android.exoplayer.dash.DashTrackSelector trackSelector
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
long liveEdgeLatencyMs
long elapsedRealtimeOffsetMs
boolean startAtLiveEdge
android.os.Handler eventHandler
com.google.android.exoplayer.dash.DashChunkSource$EventListener eventListener
int eventSourceId
void (com.google.android.exoplayer.util.ManifestFetcher, com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, com.google.android.exoplayer.dash.DashTrackSelector, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.chunk.FormatEvaluator, com.google.android.exoplayer.util.Clock, long, long, boolean, android.os.Handler, com.google.android.exoplayer.dash.DashChunkSource$EventListener, int)
com.google.android.exoplayer.util.ManifestFetcher manifestFetcher
com.google.android.exoplayer.dash.mpd.MediaPresentationDescription initialManifest
com.google.android.exoplayer.dash.DashTrackSelector trackSelector
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.chunk.FormatEvaluator adaptiveFormatEvaluator
com.google.android.exoplayer.util.Clock systemClock
long liveEdgeLatencyUs
long elapsedRealtimeOffsetUs
boolean startAtLiveEdge
android.os.Handler eventHandler
com.google.android.exoplayer.dash.DashChunkSource$EventListener eventListener
int eventSourceId
public void maybeThrowError () throws java.io.IOException
public boolean prepare ()
java.io.IOException e
public int getTrackCount ()
public final com.google.android.exoplayer.MediaFormat getFormat (int)
int track
public void enable (int)
int track
public void continueBuffering (long)
long playbackPositionUs
com.google.android.exoplayer.dash.mpd.MediaPresentationDescription newManifest
long minUpdatePeriod
public final void getChunkOperation (java.util.List, long, com.google.android.exoplayer.chunk.ChunkOperationHolder)
boolean startingNewPeriod
com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder periodHolder
com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder lastPeriodHolder
com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
com.google.android.exoplayer.chunk.MediaChunk previous
long nextSegmentStartTimeUs
com.google.android.exoplayer.chunk.Chunk initializationChunk
java.util.List queue
long playbackPositionUs
com.google.android.exoplayer.chunk.ChunkOperationHolder out
com.google.android.exoplayer.chunk.Format selectedFormat
boolean startingNewPeriod
com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder periodHolder
com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
com.google.android.exoplayer.dash.mpd.Representation selectedRepresentation
com.google.android.exoplayer.dash.mpd.RangedUri pendingInitializationUri
com.google.android.exoplayer.dash.mpd.RangedUri pendingIndexUri
com.google.android.exoplayer.MediaFormat mediaFormat
int segmentNum
com.google.android.exoplayer.chunk.Chunk nextMediaChunk
public void onChunkLoadCompleted (com.google.android.exoplayer.chunk.Chunk)
com.google.android.exoplayer.chunk.InitializationChunk initializationChunk
String formatId
com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder periodHolder
com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
com.google.android.exoplayer.chunk.Chunk chunk
public void onChunkLoadError (com.google.android.exoplayer.chunk.Chunk, java.lang.Exception)
com.google.android.exoplayer.chunk.Chunk chunk
Exception e
public void disable (java.util.List)
java.util.List queue
public void adaptiveTrack (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, int, int[])
com.google.android.exoplayer.chunk.Format format
int i
com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
int periodIndex
int adaptationSetIndex
int[] representationIndices
com.google.android.exoplayer.dash.mpd.AdaptationSet adaptationSet
int maxWidth
int maxHeight
com.google.android.exoplayer.chunk.Format maxHeightRepresentationFormat
com.google.android.exoplayer.chunk.Format[] representationFormats
long trackDurationUs
String mediaMimeType
com.google.android.exoplayer.MediaFormat trackFormat
public void fixedTrack (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, int, int)
com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
int periodIndex
int adaptationSetIndex
int representationIndex
java.util.List adaptationSets
com.google.android.exoplayer.dash.mpd.AdaptationSet adaptationSet
com.google.android.exoplayer.chunk.Format representationFormat
String mediaMimeType
com.google.android.exoplayer.MediaFormat trackFormat
com.google.android.exoplayer.TimeRange getAvailableRange ()
private static com.google.android.exoplayer.dash.mpd.MediaPresentationDescription buildManifest (long, int, java.util.List)
long durationMs
int adaptationSetType
java.util.List representations
com.google.android.exoplayer.dash.mpd.AdaptationSet adaptationSet
com.google.android.exoplayer.dash.mpd.Period period
private static com.google.android.exoplayer.MediaFormat getTrackFormat (int, com.google.android.exoplayer.chunk.Format, java.lang.String, long)
int adaptationSetType
com.google.android.exoplayer.chunk.Format format
String mediaMimeType
long durationUs
private static java.lang.String getMediaMimeType (com.google.android.exoplayer.chunk.Format)
com.google.android.exoplayer.chunk.Format format
String formatMimeType
static boolean mimeTypeIsWebm (java.lang.String)
String mimeType
static boolean mimeTypeIsRawText (java.lang.String)
String mimeType
private com.google.android.exoplayer.chunk.Chunk newInitializationChunk (com.google.android.exoplayer.dash.mpd.RangedUri, com.google.android.exoplayer.dash.mpd.RangedUri, com.google.android.exoplayer.dash.mpd.Representation, com.google.android.exoplayer.chunk.ChunkExtractorWrapper, com.google.android.exoplayer.upstream.DataSource, int, int)
com.google.android.exoplayer.dash.mpd.RangedUri requestUri
com.google.android.exoplayer.dash.mpd.RangedUri initializationUri
com.google.android.exoplayer.dash.mpd.RangedUri indexUri
com.google.android.exoplayer.dash.mpd.Representation representation
com.google.android.exoplayer.chunk.ChunkExtractorWrapper extractor
com.google.android.exoplayer.upstream.DataSource dataSource
int manifestIndex
int trigger
com.google.android.exoplayer.dash.mpd.RangedUri requestUri
com.google.android.exoplayer.upstream.DataSpec dataSpec
protected com.google.android.exoplayer.chunk.Chunk newMediaChunk (com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder, com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder, com.google.android.exoplayer.upstream.DataSource, com.google.android.exoplayer.MediaFormat, com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack, int, int)
boolean isMediaFormatFinal
com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder periodHolder
com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder representationHolder
com.google.android.exoplayer.upstream.DataSource dataSource
com.google.android.exoplayer.MediaFormat mediaFormat
com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack enabledTrack
int segmentNum
int trigger
com.google.android.exoplayer.dash.mpd.Representation representation
com.google.android.exoplayer.chunk.Format format
long startTimeUs
long endTimeUs
com.google.android.exoplayer.dash.mpd.RangedUri segmentUri
com.google.android.exoplayer.upstream.DataSpec dataSpec
long sampleOffsetUs
private long getNowUnixTimeUs ()
private com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder findPeriodHolder (long)
com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder periodHolder
int i
long positionUs
private void processManifest (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription)
com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder periodHolder
int lastIndex
int periodHolderCount
com.google.android.exoplayer.BehindLiveWindowException e
com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder holder
int i
com.google.android.exoplayer.dash.mpd.MediaPresentationDescription manifest
com.google.android.exoplayer.dash.mpd.Period firstPeriod
com.google.android.exoplayer.TimeRange newAvailableRange
private com.google.android.exoplayer.TimeRange getAvailableRange (long)
long nowUnixTimeUs
com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder firstPeriod
com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder lastPeriod
long minStartPositionUs
long maxEndPositionUs
long elapsedRealtimeAtZeroUs
long timeShiftBufferDepthUs
private void notifyAvailableRangeChanged (com.google.android.exoplayer.TimeRange)
com.google.android.exoplayer.TimeRange seekRange
static int access$300 (com.google.android.exoplayer.dash.DashChunkSource)
com.google.android.exoplayer.dash.DashChunkSource x0
static com.google.android.exoplayer.dash.DashChunkSource$EventListener access$400 (com.google.android.exoplayer.dash.DashChunkSource)
com.google.android.exoplayer.dash.DashChunkSource x0
}
com/google/android/exoplayer/dash/DashTrackSelector.classDashTrackSelector.java
package com.google.android.exoplayer.dash
public abstract com.google.android.exoplayer.dash.DashTrackSelector extends java.lang.Object {
public abstract void selectTracks (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, com.google.android.exoplayer.dash.DashTrackSelector$Output) throws java.io.IOException
}
com/google/android/exoplayer/dash/DashChunkSource$1.classDashChunkSource.java
package com.google.android.exoplayer.dash
com.google.android.exoplayer.dash.DashChunkSource$1 extends java.lang.Object implements java.lang.Runnable {
final com.google.android.exoplayer.TimeRange val$seekRange
final com.google.android.exoplayer.dash.DashChunkSource this$0
void (com.google.android.exoplayer.dash.DashChunkSource, com.google.android.exoplayer.TimeRange)
com.google.android.exoplayer.dash.DashChunkSource this$0
public void run ()
}
com/google/android/exoplayer/dash/mpd/
com/google/android/exoplayer/dash/mpd/SegmentBase.classSegmentBase.java
package com.google.android.exoplayer.dash.mpd
public abstract com.google.android.exoplayer.dash.mpd.SegmentBase extends java.lang.Object {
final com.google.android.exoplayer.dash.mpd.RangedUri initialization
final long timescale
final long presentationTimeOffset
public void (com.google.android.exoplayer.dash.mpd.RangedUri, long, long)
com.google.android.exoplayer.dash.mpd.RangedUri initialization
long timescale
long presentationTimeOffset
public com.google.android.exoplayer.dash.mpd.RangedUri getInitialization (com.google.android.exoplayer.dash.mpd.Representation)
com.google.android.exoplayer.dash.mpd.Representation representation
public long getPresentationTimeOffsetUs ()
}
com/google/android/exoplayer/dash/mpd/Representation.classRepresentation.java
package com.google.android.exoplayer.dash.mpd
public abstract com.google.android.exoplayer.dash.mpd.Representation extends java.lang.Object implements com.google.android.exoplayer.chunk.FormatWrapper {
public final String contentId
public final long revisionId
public final com.google.android.exoplayer.chunk.Format format
public final long presentationTimeOffsetUs
private final String cacheKey
private final com.google.android.exoplayer.dash.mpd.RangedUri initializationUri
public static com.google.android.exoplayer.dash.mpd.Representation newInstance (java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase)
String contentId
long revisionId
com.google.android.exoplayer.chunk.Format format
com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
public static com.google.android.exoplayer.dash.mpd.Representation newInstance (java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase, java.lang.String)
String contentId
long revisionId
com.google.android.exoplayer.chunk.Format format
com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
String customCacheKey
private void (java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase, java.lang.String)
String contentId
long revisionId
com.google.android.exoplayer.chunk.Format format
com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
String customCacheKey
public com.google.android.exoplayer.chunk.Format getFormat ()
public com.google.android.exoplayer.dash.mpd.RangedUri getInitializationUri ()
public abstract com.google.android.exoplayer.dash.mpd.RangedUri getIndexUri ()
public abstract com.google.android.exoplayer.dash.DashSegmentIndex getIndex ()
public java.lang.String getCacheKey ()
void (java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase, java.lang.String, com.google.android.exoplayer.dash.mpd.Representation$1)
String x0
long x1
com.google.android.exoplayer.chunk.Format x2
com.google.android.exoplayer.dash.mpd.SegmentBase x3
String x4
com.google.android.exoplayer.dash.mpd.Representation$1 x5
}
com/google/android/exoplayer/dash/mpd/Representation$1.classRepresentation.java
package com.google.android.exoplayer.dash.mpd
com.google.android.exoplayer.dash.mpd.Representation$1 extends java.lang.Object {
}
com/google/android/exoplayer/dash/mpd/AdaptationSet.classAdaptationSet.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.AdaptationSet extends java.lang.Object {
public static final int TYPE_UNKNOWN
public static final int TYPE_VIDEO
public static final int TYPE_AUDIO
public static final int TYPE_TEXT
public final int id
public final int type
public final java.util.List representations
public final java.util.List contentProtections
public void (int, int, java.util.List, java.util.List)
int id
int type
java.util.List representations
java.util.List contentProtections
public void (int, int, java.util.List)
int id
int type
java.util.List representations
public boolean hasContentProtection ()
}
com/google/android/exoplayer/dash/mpd/Period.classPeriod.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.Period extends java.lang.Object {
public final String id
public final long startMs
public final java.util.List adaptationSets
public void (java.lang.String, long, java.util.List)
String id
long start
java.util.List adaptationSets
public int getAdaptationSetIndex (int)
int i
int type
int adaptationCount
}
com/google/android/exoplayer/dash/mpd/ContentProtection.classContentProtection.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.ContentProtection extends java.lang.Object {
public final String schemeUriId
public final java.util.UUID uuid
public final com.google.android.exoplayer.drm.DrmInitData$SchemeInitData data
public void (java.lang.String, java.util.UUID, com.google.android.exoplayer.drm.DrmInitData$SchemeInitData)
String schemeUriId
java.util.UUID uuid
com.google.android.exoplayer.drm.DrmInitData$SchemeInitData data
public boolean equals (java.lang.Object)
Object obj
com.google.android.exoplayer.dash.mpd.ContentProtection other
public int hashCode ()
int hashCode
}
com/google/android/exoplayer/dash/mpd/UtcTimingElementResolver$XsDateTimeParser.classUtcTimingElementResolver.java
package com.google.android.exoplayer.dash.mpd
com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$XsDateTimeParser extends java.lang.Object implements com.google.android.exoplayer.upstream.UriLoadable$Parser {
private void ()
public java.lang.Long parse (java.lang.String, java.io.InputStream) throws com.google.android.exoplayer.ParserException java.io.IOException
java.text.ParseException e
String connectionUrl
java.io.InputStream inputStream
String firstLine
public volatile java.lang.Object parse (java.lang.String, java.io.InputStream) throws com.google.android.exoplayer.ParserException java.io.IOException
void (com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$1)
com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$1 x0
}
com/google/android/exoplayer/dash/mpd/Representation$SingleSegmentRepresentation.classRepresentation.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.Representation$SingleSegmentRepresentation extends com.google.android.exoplayer.dash.mpd.Representation {
public final android.net.Uri uri
public final long contentLength
private final com.google.android.exoplayer.dash.mpd.RangedUri indexUri
private final com.google.android.exoplayer.dash.mpd.DashSingleSegmentIndex segmentIndex
public static com.google.android.exoplayer.dash.mpd.Representation$SingleSegmentRepresentation newInstance (java.lang.String, long, com.google.android.exoplayer.chunk.Format, java.lang.String, long, long, long, long, java.lang.String, long)
String contentId
long revisionId
com.google.android.exoplayer.chunk.Format format
String uri
long initializationStart
long initializationEnd
long indexStart
long indexEnd
String customCacheKey
long contentLength
com.google.android.exoplayer.dash.mpd.RangedUri rangedUri
com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase segmentBase
public void (java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase, java.lang.String, long)
String contentId
long revisionId
com.google.android.exoplayer.chunk.Format format
com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase segmentBase
String customCacheKey
long contentLength
public com.google.android.exoplayer.dash.mpd.RangedUri getIndexUri ()
public com.google.android.exoplayer.dash.DashSegmentIndex getIndex ()
}
com/google/android/exoplayer/dash/mpd/MediaPresentationDescription.classMediaPresentationDescription.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.MediaPresentationDescription extends java.lang.Object implements com.google.android.exoplayer.util.ManifestFetcher$RedirectingManifest {
public final long availabilityStartTime
public final long duration
public final long minBufferTime
public final boolean dynamic
public final long minUpdatePeriod
public final long timeShiftBufferDepth
public final com.google.android.exoplayer.dash.mpd.UtcTimingElement utcTiming
public final String location
private final java.util.List periods
public void (long, long, long, boolean, long, long, com.google.android.exoplayer.dash.mpd.UtcTimingElement, java.lang.String, java.util.List)
long availabilityStartTime
long duration
long minBufferTime
boolean dynamic
long minUpdatePeriod
long timeShiftBufferDepth
com.google.android.exoplayer.dash.mpd.UtcTimingElement utcTiming
String location
java.util.List periods
public final java.lang.String getNextManifestUri ()
public final int getPeriodCount ()
public final com.google.android.exoplayer.dash.mpd.Period getPeriod (int)
int index
public final long getPeriodDuration (int)
int index
}
com/google/android/exoplayer/dash/mpd/RangedUri.classRangedUri.java
package com.google.android.exoplayer.dash.mpd
public final com.google.android.exoplayer.dash.mpd.RangedUri extends java.lang.Object {
public final long start
public final long length
private final String baseUri
private final String referenceUri
private int hashCode
public void (java.lang.String, java.lang.String, long, long)
String baseUri
String referenceUri
long start
long length
public android.net.Uri getUri ()
public java.lang.String getUriString ()
public com.google.android.exoplayer.dash.mpd.RangedUri attemptMerge (com.google.android.exoplayer.dash.mpd.RangedUri)
com.google.android.exoplayer.dash.mpd.RangedUri other
public int hashCode ()
int result
public boolean equals (java.lang.Object)
Object obj
com.google.android.exoplayer.dash.mpd.RangedUri other
}
com/google/android/exoplayer/dash/mpd/MediaPresentationDescriptionParser$ContentProtectionsBuilder.classMediaPresentationDescriptionParser.java
package com.google.android.exoplayer.dash.mpd
public final com.google.android.exoplayer.dash.mpd.MediaPresentationDescriptionParser$ContentProtectionsBuilder extends java.lang.Object implements java.util.Comparator {
private java.util.ArrayList adaptationSetProtections
private java.util.ArrayList representationProtections
private java.util.ArrayList currentRepresentationProtections
private boolean representationProtectionsSet
protected void ()
public void addAdaptationSetProtection (com.google.android.exoplayer.dash.mpd.ContentProtection)
com.google.android.exoplayer.dash.mpd.ContentProtection contentProtection
public void addRepresentationProtection (com.google.android.exoplayer.dash.mpd.ContentProtection)
com.google.android.exoplayer.dash.mpd.ContentProtection contentProtection
public void endRepresentation ()
public java.util.ArrayList build ()
int i
private void maybeAddContentProtection (java.util.List, com.google.android.exoplayer.dash.mpd.ContentProtection)
int i
java.util.List contentProtections
com.google.android.exoplayer.dash.mpd.ContentProtection contentProtection
public int compare (com.google.android.exoplayer.dash.mpd.ContentProtection, com.google.android.exoplayer.dash.mpd.ContentProtection)
com.google.android.exoplayer.dash.mpd.ContentProtection first
com.google.android.exoplayer.dash.mpd.ContentProtection second
public volatile int compare (java.lang.Object, java.lang.Object)
}
com/google/android/exoplayer/dash/mpd/UrlTemplate.classUrlTemplate.java
package com.google.android.exoplayer.dash.mpd
public final com.google.android.exoplayer.dash.mpd.UrlTemplate extends java.lang.Object {
private static final String REPRESENTATION
private static final String NUMBER
private static final String BANDWIDTH
private static final String TIME
private static final String ESCAPED_DOLLAR
private static final String DEFAULT_FORMAT_TAG
private static final int REPRESENTATION_ID
private static final int NUMBER_ID
private static final int BANDWIDTH_ID
private static final int TIME_ID
private final String[] urlPieces
private final int[] identifiers
private final String[] identifierFormatTags
private final int identifierCount
public static com.google.android.exoplayer.dash.mpd.UrlTemplate compile (java.lang.String)
String template
String[] urlPieces
int[] identifiers
String[] identifierFormatTags
int identifierCount
private void (java.lang.String[], int[], java.lang.String[], int)
String[] urlPieces
int[] identifiers
String[] identifierFormatTags
int identifierCount
public java.lang.String buildUri (java.lang.String, int, int, long)
int i
String representationId
int segmentNumber
int bandwidth
long time
StringBuilder builder
private static int parseTemplate (java.lang.String, java.lang.String[], int[], java.lang.String[])
int formatTagIndex
String formatTag
int secondIndex
String identifier
int dollarIndex
String template
String[] urlPieces
int[] identifiers
String[] identifierFormatTags
int templateIndex
int identifierCount
}
com/google/android/exoplayer/dash/mpd/UtcTimingElementResolver$UtcTimingCallback.classUtcTimingElementResolver.java
package com.google.android.exoplayer.dash.mpd
public abstract com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$UtcTimingCallback extends java.lang.Object {
public abstract void onTimestampResolved (com.google.android.exoplayer.dash.mpd.UtcTimingElement, long)
public abstract void onTimestampError (com.google.android.exoplayer.dash.mpd.UtcTimingElement, java.io.IOException)
}
com/google/android/exoplayer/dash/mpd/SegmentBase$SegmentList.classSegmentBase.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentList extends com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase {
final java.util.List mediaSegments
public void (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, int, long, java.util.List, java.util.List)
com.google.android.exoplayer.dash.mpd.RangedUri initialization
long timescale
long presentationTimeOffset
int startNumber
long duration
java.util.List segmentTimeline
java.util.List mediaSegments
public com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (com.google.android.exoplayer.dash.mpd.Representation, int)
com.google.android.exoplayer.dash.mpd.Representation representation
int sequenceNumber
public int getLastSegmentNum (long)
long periodDurationUs
public boolean isExplicit ()
}
com/google/android/exoplayer/dash/mpd/MediaPresentationDescriptionParser.classMediaPresentationDescriptionParser.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.MediaPresentationDescriptionParser extends org.xml.sax.helpers.DefaultHandler implements com.google.android.exoplayer.upstream.UriLoadable$Parser {
private static final String TAG
private static final java.util.regex.Pattern FRAME_RATE_PATTERN
private final String contentId
private final org.xmlpull.v1.XmlPullParserFactory xmlParserFactory
public void ()
public void (java.lang.String)
org.xmlpull.v1.XmlPullParserException e
String contentId
public com.google.android.exoplayer.dash.mpd.MediaPresentationDescription parse (java.lang.String, java.io.InputStream) throws java.io.IOException com.google.android.exoplayer.ParserException
org.xmlpull.v1.XmlPullParser xpp
int eventType
org.xmlpull.v1.XmlPullParserException e
java.text.ParseException e
String connectionUrl
java.io.InputStream inputStream
protected com.google.android.exoplayer.dash.mpd.MediaPresentationDescription parseMediaPresentationDescription (org.xmlpull.v1.XmlPullParser, java.lang.String) throws org.xmlpull.v1.XmlPullParserException java.io.IOException java.text.ParseException
long periodDurationMs
android.util.Pair periodWithDurationMs
com.google.android.exoplayer.dash.mpd.Period period
org.xmlpull.v1.XmlPullParser xpp
String baseUrl
long availabilityStartTime
long durationMs
long minBufferTimeMs
String typeString
boolean dynamic
long minUpdateTimeMs
long timeShiftBufferDepthMs
com.google.android.exoplayer.dash.mpd.UtcTimingElement utcTiming
String location
java.util.List periods
long nextPeriodStartMs
boolean seenEarlyAccessPeriod
boolean seenFirstBaseUrl
protected com.google.android.exoplayer.dash.mpd.MediaPresentationDescription buildMediaPresentationDescription (long, long, long, boolean, long, long, com.google.android.exoplayer.dash.mpd.UtcTimingElement, java.lang.String, java.util.List)
long availabilityStartTime
long durationMs
long minBufferTimeMs
boolean dynamic
long minUpdateTimeMs
long timeShiftBufferDepthMs
com.google.android.exoplayer.dash.mpd.UtcTimingElement utcTiming
String location
java.util.List periods
protected com.google.android.exoplayer.dash.mpd.UtcTimingElement parseUtcTiming (org.xmlpull.v1.XmlPullParser)
org.xmlpull.v1.XmlPullParser xpp
String schemeIdUri
String value
protected com.google.android.exoplayer.dash.mpd.UtcTimingElement buildUtcTimingElement (java.lang.String, java.lang.String)
String schemeIdUri
String value
protected android.util.Pair parsePeriod (org.xmlpull.v1.XmlPullParser, java.lang.String, long) throws org.xmlpull.v1.XmlPullParserException java.io.IOException
org.xmlpull.v1.XmlPullParser xpp
String baseUrl
long defaultStartMs
String id
long startMs
long durationMs
com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
java.util.List adaptationSets
boolean seenFirstBaseUrl
protected com.google.android.exoplayer.dash.mpd.Period buildPeriod (java.lang.String, long, java.util.List)
String id
long startMs
java.util.List adaptationSets
protected com.google.android.exoplayer.dash.mpd.AdaptationSet parseAdaptationSet (org.xmlpull.v1.XmlPullParser, java.lang.String, com.google.android.exoplayer.dash.mpd.SegmentBase) throws org.xmlpull.v1.XmlPullParserException java.io.IOException
com.google.android.exoplayer.dash.mpd.ContentProtection contentProtection
com.google.android.exoplayer.dash.mpd.Representation representation
org.xmlpull.v1.XmlPullParser xpp
String baseUrl
com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
int id
int contentType
String mimeType
String codecs
int width
int height
float frameRate
int audioChannels
int audioSamplingRate
String language
com.google.android.exoplayer.dash.mpd.MediaPresentationDescriptionParser$ContentProtectionsBuilder contentProtectionsBuilder
java.util.List representations
boolean seenFirstBaseUrl
protected com.google.android.exoplayer.dash.mpd.AdaptationSet buildAdaptationSet (int, int, java.util.List, java.util.List)
int id
int contentType
java.util.List representations
java.util.List contentProtections
protected int parseContentType (org.xmlpull.v1.XmlPullParser)
org.xmlpull.v1.XmlPullParser xpp
String contentType
protected int getContentType (com.google.android.exoplayer.dash.mpd.Representation)
String codecs
com.google.android.exoplayer.dash.mpd.Representation representation
String mimeType
protected com.google.android.exoplayer.dash.mpd.ContentProtection parseContentProtection (org.xmlpull.v1.XmlPullParser) throws org.xmlpull.v1.XmlPullParserException java.io.IOException
org.xmlpull.v1.XmlPullParser xpp
String schemeIdUri
java.util.UUID uuid
com.google.android.exoplayer.drm.DrmInitData$SchemeInitData data
boolean seenPsshElement
protected com.google.android.exoplayer.dash.mpd.ContentProtection buildContentProtection (java.lang.String, java.util.UUID, com.google.android.exoplayer.drm.DrmInitData$SchemeInitData)
String schemeIdUri
java.util.UUID uuid
com.google.android.exoplayer.drm.DrmInitData$SchemeInitData data
protected void parseAdaptationSetChild (org.xmlpull.v1.XmlPullParser) throws org.xmlpull.v1.XmlPullParserException java.io.IOException
org.xmlpull.v1.XmlPullParser xpp
protected com.google.android.exoplayer.dash.mpd.Representation parseRepresentation (org.xmlpull.v1.XmlPullParser, java.lang.String, java.lang.String, java.lang.String, int, int, float, int, int, java.lang.String, com.google.android.exoplayer.dash.mpd.SegmentBase, com.google.android.exoplayer.dash.mpd.MediaPresentationDescriptionParser$ContentProtectionsBuilder) throws org.xmlpull.v1.XmlPullParserException java.io.IOException
com.google.android.exoplayer.dash.mpd.ContentProtection contentProtection
org.xmlpull.v1.XmlPullParser xpp
String baseUrl
String adaptationSetMimeType
String adaptationSetCodecs
int adaptationSetWidth
int adaptationSetHeight
float adaptationSetFrameRate
int adaptationSetAudioChannels
int adaptationSetAudioSamplingRate
String adaptationSetLanguage
com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
com.google.android.exoplayer.dash.mpd.MediaPresentationDescriptionParser$ContentProtectionsBuilder contentProtectionsBuilder
String id
int bandwidth
String mimeType
String codecs
int width
int height
float frameRate
int audioChannels
int audioSamplingRate
String language
boolean seenFirstBaseUrl
com.google.android.exoplayer.chunk.Format format
protected com.google.android.exoplayer.chunk.Format buildFormat (java.lang.String, java.lang.String, int, int, float, int, int, int, java.lang.String, java.lang.String)
String id
String mimeType
int width
int height
float frameRate
int audioChannels
int audioSamplingRate
int bandwidth
String language
String codecs
protected com.google.android.exoplayer.dash.mpd.Representation buildRepresentation (java.lang.String, int, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase)
String contentId
int revisionId
com.google.android.exoplayer.chunk.Format format
com.google.android.exoplayer.dash.mpd.SegmentBase segmentBase
protected com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase parseSegmentBase (org.xmlpull.v1.XmlPullParser, java.lang.String, com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase) throws org.xmlpull.v1.XmlPullParserException java.io.IOException
String[] indexRange
org.xmlpull.v1.XmlPullParser xpp
String baseUrl
com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase parent
long timescale
long presentationTimeOffset
long indexStart
long indexLength
String indexRangeText
com.google.android.exoplayer.dash.mpd.RangedUri initialization
protected com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase buildSingleSegmentBase (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, java.lang.String, long, long)
com.google.android.exoplayer.dash.mpd.RangedUri initialization
long timescale
long presentationTimeOffset
String baseUrl
long indexStart
long indexLength
protected com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentList parseSegmentList (org.xmlpull.v1.XmlPullParser, java.lang.String, com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentList) throws org.xmlpull.v1.XmlPullParserException java.io.IOException
org.xmlpull.v1.XmlPullParser xpp
String baseUrl
com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentList parent
long timescale
long presentationTimeOffset
long duration
int startNumber
com.google.android.exoplayer.dash.mpd.RangedUri initialization
java.util.List timeline
java.util.List segments
protected com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentList buildSegmentList (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, int, long, java.util.List, java.util.List)
com.google.android.exoplayer.dash.mpd.RangedUri initialization
long timescale
long presentationTimeOffset
int startNumber
long duration
java.util.List timeline
java.util.List segments
protected com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTemplate parseSegmentTemplate (org.xmlpull.v1.XmlPullParser, java.lang.String, com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTemplate) throws org.xmlpull.v1.XmlPullParserException java.io.IOException
org.xmlpull.v1.XmlPullParser xpp
String baseUrl
com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTemplate parent
long timescale
long presentationTimeOffset
long duration
int startNumber
com.google.android.exoplayer.dash.mpd.UrlTemplate mediaTemplate
com.google.android.exoplayer.dash.mpd.UrlTemplate initializationTemplate
com.google.android.exoplayer.dash.mpd.RangedUri initialization
java.util.List timeline
protected com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTemplate buildSegmentTemplate (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, int, long, java.util.List, com.google.android.exoplayer.dash.mpd.UrlTemplate, com.google.android.exoplayer.dash.mpd.UrlTemplate, java.lang.String)
com.google.android.exoplayer.dash.mpd.RangedUri initialization
long timescale
long presentationTimeOffset
int startNumber
long duration
java.util.List timeline
com.google.android.exoplayer.dash.mpd.UrlTemplate initializationTemplate
com.google.android.exoplayer.dash.mpd.UrlTemplate mediaTemplate
String baseUrl
protected java.util.List parseSegmentTimeline (org.xmlpull.v1.XmlPullParser) throws org.xmlpull.v1.XmlPullParserException java.io.IOException
int i
long duration
int count
org.xmlpull.v1.XmlPullParser xpp
java.util.List segmentTimeline
long elapsedTime
protected com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTimelineElement buildSegmentTimelineElement (long, long)
long elapsedTime
long duration
protected com.google.android.exoplayer.dash.mpd.UrlTemplate parseUrlTemplate (org.xmlpull.v1.XmlPullParser, java.lang.String, com.google.android.exoplayer.dash.mpd.UrlTemplate)
org.xmlpull.v1.XmlPullParser xpp
String name
com.google.android.exoplayer.dash.mpd.UrlTemplate defaultValue
String valueString
protected com.google.android.exoplayer.dash.mpd.RangedUri parseInitialization (org.xmlpull.v1.XmlPullParser, java.lang.String)
org.xmlpull.v1.XmlPullParser xpp
String baseUrl
protected com.google.android.exoplayer.dash.mpd.RangedUri parseSegmentUrl (org.xmlpull.v1.XmlPullParser, java.lang.String)
org.xmlpull.v1.XmlPullParser xpp
String baseUrl
protected com.google.android.exoplayer.dash.mpd.RangedUri parseRangedUrl (org.xmlpull.v1.XmlPullParser, java.lang.String, java.lang.String, java.lang.String)
String[] rangeTextArray
org.xmlpull.v1.XmlPullParser xpp
String baseUrl
String urlAttribute
String rangeAttribute
String urlText
long rangeStart
long rangeLength
String rangeText
protected com.google.android.exoplayer.dash.mpd.RangedUri buildRangedUri (java.lang.String, java.lang.String, long, long)
String baseUrl
String urlText
long rangeStart
long rangeLength
protected int parseAudioChannelConfiguration (org.xmlpull.v1.XmlPullParser) throws org.xmlpull.v1.XmlPullParserException java.io.IOException
int audioChannels
org.xmlpull.v1.XmlPullParser xpp
int audioChannels
String schemeIdUri
private static java.lang.String checkLanguageConsistency (java.lang.String, java.lang.String)
String firstLanguage
String secondLanguage
private static int checkContentTypeConsistency (int, int)
int firstType
int secondType
protected static float parseFrameRate (org.xmlpull.v1.XmlPullParser, float)
int numerator
String denominatorString
java.util.regex.Matcher frameRateMatcher
org.xmlpull.v1.XmlPullParser xpp
float defaultValue
float frameRate
String frameRateAttribute
protected static long parseDuration (org.xmlpull.v1.XmlPullParser, java.lang.String, long)
org.xmlpull.v1.XmlPullParser xpp
String name
long defaultValue
String value
protected static long parseDateTime (org.xmlpull.v1.XmlPullParser, java.lang.String, long) throws java.text.ParseException
org.xmlpull.v1.XmlPullParser xpp
String name
long defaultValue
String value
protected static java.lang.String parseBaseUrl (org.xmlpull.v1.XmlPullParser, java.lang.String) throws org.xmlpull.v1.XmlPullParserException java.io.IOException
org.xmlpull.v1.XmlPullParser xpp
String parentBaseUrl
protected static int parseInt (org.xmlpull.v1.XmlPullParser, java.lang.String)
org.xmlpull.v1.XmlPullParser xpp
String name
protected static int parseInt (org.xmlpull.v1.XmlPullParser, java.lang.String, int)
org.xmlpull.v1.XmlPullParser xpp
String name
int defaultValue
String value
protected static long parseLong (org.xmlpull.v1.XmlPullParser, java.lang.String)
org.xmlpull.v1.XmlPullParser xpp
String name
protected static long parseLong (org.xmlpull.v1.XmlPullParser, java.lang.String, long)
org.xmlpull.v1.XmlPullParser xpp
String name
long defaultValue
String value
protected static java.lang.String parseString (org.xmlpull.v1.XmlPullParser, java.lang.String, java.lang.String)
org.xmlpull.v1.XmlPullParser xpp
String name
String defaultValue
String value
public volatile java.lang.Object parse (java.lang.String, java.io.InputStream) throws com.google.android.exoplayer.ParserException java.io.IOException
static void ()
}
com/google/android/exoplayer/dash/mpd/DashSingleSegmentIndex.classDashSingleSegmentIndex.java
package com.google.android.exoplayer.dash.mpd
final com.google.android.exoplayer.dash.mpd.DashSingleSegmentIndex extends java.lang.Object implements com.google.android.exoplayer.dash.DashSegmentIndex {
private final com.google.android.exoplayer.dash.mpd.RangedUri uri
public void (com.google.android.exoplayer.dash.mpd.RangedUri)
com.google.android.exoplayer.dash.mpd.RangedUri uri
public int getSegmentNum (long, long)
long timeUs
long periodDurationUs
public long getTimeUs (int)
int segmentNum
public long getDurationUs (int, long)
int segmentNum
long periodDurationUs
public com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (int)
int segmentNum
public int getFirstSegmentNum ()
public int getLastSegmentNum (long)
long periodDurationUs
public boolean isExplicit ()
}
com/google/android/exoplayer/dash/mpd/SegmentBase$MultiSegmentBase.classSegmentBase.java
package com.google.android.exoplayer.dash.mpd
public abstract com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase extends com.google.android.exoplayer.dash.mpd.SegmentBase {
final int startNumber
final long duration
final java.util.List segmentTimeline
public void (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, int, long, java.util.List)
com.google.android.exoplayer.dash.mpd.RangedUri initialization
long timescale
long presentationTimeOffset
int startNumber
long duration
java.util.List segmentTimeline
public int getSegmentNum (long, long)
long durationUs
int segmentNum
int midIndex
long midTimeUs
long timeUs
long periodDurationUs
int firstSegmentNum
int lowIndex
int highIndex
public final long getSegmentDurationUs (int, long)
long duration
int sequenceNumber
long periodDurationUs
public final long getSegmentTimeUs (int)
long unscaledSegmentTime
int sequenceNumber
long unscaledSegmentTime
public abstract com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (com.google.android.exoplayer.dash.mpd.Representation, int)
public int getFirstSegmentNum ()
public abstract int getLastSegmentNum (long)
public boolean isExplicit ()
}
com/google/android/exoplayer/dash/mpd/Representation$MultiSegmentRepresentation.classRepresentation.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.Representation$MultiSegmentRepresentation extends com.google.android.exoplayer.dash.mpd.Representation implements com.google.android.exoplayer.dash.DashSegmentIndex {
private final com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase segmentBase
public void (java.lang.String, long, com.google.android.exoplayer.chunk.Format, com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase, java.lang.String)
String contentId
long revisionId
com.google.android.exoplayer.chunk.Format format
com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase segmentBase
String customCacheKey
public com.google.android.exoplayer.dash.mpd.RangedUri getIndexUri ()
public com.google.android.exoplayer.dash.DashSegmentIndex getIndex ()
public com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (int)
int segmentIndex
public int getSegmentNum (long, long)
long timeUs
long periodDurationUs
public long getTimeUs (int)
int segmentIndex
public long getDurationUs (int, long)
int segmentIndex
long periodDurationUs
public int getFirstSegmentNum ()
public int getLastSegmentNum (long)
long periodDurationUs
public boolean isExplicit ()
}
com/google/android/exoplayer/dash/mpd/UtcTimingElementResolver$Iso8601Parser.classUtcTimingElementResolver.java
package com.google.android.exoplayer.dash.mpd
com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$Iso8601Parser extends java.lang.Object implements com.google.android.exoplayer.upstream.UriLoadable$Parser {
private void ()
public java.lang.Long parse (java.lang.String, java.io.InputStream) throws com.google.android.exoplayer.ParserException java.io.IOException
java.text.SimpleDateFormat format
java.text.ParseException e
String connectionUrl
java.io.InputStream inputStream
String firstLine
public volatile java.lang.Object parse (java.lang.String, java.io.InputStream) throws com.google.android.exoplayer.ParserException java.io.IOException
void (com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$1)
com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$1 x0
}
com/google/android/exoplayer/dash/mpd/SegmentBase$SingleSegmentBase.classSegmentBase.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.SegmentBase$SingleSegmentBase extends com.google.android.exoplayer.dash.mpd.SegmentBase {
public final String uri
final long indexStart
final long indexLength
public void (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, java.lang.String, long, long)
com.google.android.exoplayer.dash.mpd.RangedUri initialization
long timescale
long presentationTimeOffset
String uri
long indexStart
long indexLength
public void (java.lang.String)
String uri
public com.google.android.exoplayer.dash.mpd.RangedUri getIndex ()
}
com/google/android/exoplayer/dash/mpd/SegmentBase$SegmentTimelineElement.classSegmentBase.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTimelineElement extends java.lang.Object {
long startTime
long duration
public void (long, long)
long startTime
long duration
}
com/google/android/exoplayer/dash/mpd/UtcTimingElementResolver$1.classUtcTimingElementResolver.java
package com.google.android.exoplayer.dash.mpd
com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$1 extends java.lang.Object {
}
com/google/android/exoplayer/dash/mpd/SegmentBase$SegmentTemplate.classSegmentBase.java
package com.google.android.exoplayer.dash.mpd
public com.google.android.exoplayer.dash.mpd.SegmentBase$SegmentTemplate extends com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase {
final com.google.android.exoplayer.dash.mpd.UrlTemplate initializationTemplate
final com.google.android.exoplayer.dash.mpd.UrlTemplate mediaTemplate
private final String baseUrl
public void (com.google.android.exoplayer.dash.mpd.RangedUri, long, long, int, long, java.util.List, com.google.android.exoplayer.dash.mpd.UrlTemplate, com.google.android.exoplayer.dash.mpd.UrlTemplate, java.lang.String)
com.google.android.exoplayer.dash.mpd.RangedUri initialization
long timescale
long presentationTimeOffset
int startNumber
long duration
java.util.List segmentTimeline
com.google.android.exoplayer.dash.mpd.UrlTemplate initializationTemplate
com.google.android.exoplayer.dash.mpd.UrlTemplate mediaTemplate
String baseUrl
public com.google.android.exoplayer.dash.mpd.RangedUri getInitialization (com.google.android.exoplayer.dash.mpd.Representation)
String urlString
com.google.android.exoplayer.dash.mpd.Representation representation
public com.google.android.exoplayer.dash.mpd.RangedUri getSegmentUrl (com.google.android.exoplayer.dash.mpd.Representation, int)
com.google.android.exoplayer.dash.mpd.Representation representation
int sequenceNumber
long time
String uriString
public int getLastSegmentNum (long)
long durationUs
long periodDurationUs
}
com/google/android/exoplayer/dash/mpd/UtcTimingElementResolver.classUtcTimingElementResolver.java
package com.google.android.exoplayer.dash.mpd
public final com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver extends java.lang.Object implements com.google.android.exoplayer.upstream.Loader$Callback {
private final com.google.android.exoplayer.upstream.UriDataSource uriDataSource
private final com.google.android.exoplayer.dash.mpd.UtcTimingElement timingElement
private final long timingElementElapsedRealtime
private final com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$UtcTimingCallback callback
private com.google.android.exoplayer.upstream.Loader singleUseLoader
private com.google.android.exoplayer.upstream.UriLoadable singleUseLoadable
public static void resolveTimingElement (com.google.android.exoplayer.upstream.UriDataSource, com.google.android.exoplayer.dash.mpd.UtcTimingElement, long, com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$UtcTimingCallback)
com.google.android.exoplayer.upstream.UriDataSource uriDataSource
com.google.android.exoplayer.dash.mpd.UtcTimingElement timingElement
long timingElementElapsedRealtime
com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$UtcTimingCallback callback
com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver resolver
private void (com.google.android.exoplayer.upstream.UriDataSource, com.google.android.exoplayer.dash.mpd.UtcTimingElement, long, com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$UtcTimingCallback)
com.google.android.exoplayer.upstream.UriDataSource uriDataSource
com.google.android.exoplayer.dash.mpd.UtcTimingElement timingElement
long timingElementElapsedRealtime
com.google.android.exoplayer.dash.mpd.UtcTimingElementResolver$UtcTimingCallback callback
private void resolve ()
String scheme
private void resolveDirect ()
long utcTimestamp
long elapsedRealtimeOffset
java.text.ParseException e
private void resolveHttp (com.google.android.exoplayer.upstream.UriLoadable$Parser)
com.google.android.exoplayer.upstream.UriLoadable$Parser parser
public void onLoadCanceled (com.google.android.exoplayer.upstream.Loader$Loadable)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
public void onLoadCompleted (com.google.android.exoplayer.upstream.Loader$Loadable)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
long elapsedRealtimeOffset
public void onLoadError (com.google.android.exoplayer.upstream.Loader$Loadable, java.io.IOException)
com.google.android.exoplayer.upstream.Loader$Loadable loadable
java.io.IOException exception
private void releaseLoader ()
}
com/google/android/exoplayer/dash/mpd/UtcTimingElement.classUtcTimingElement.java
package com.google.android.exoplayer.dash.mpd
public final com.google.android.exoplayer.dash.mpd.UtcTimingElement extends java.lang.Object {
public final String schemeIdUri
public final String value
public void (java.lang.String, java.lang.String)
String schemeIdUri
String value
public java.lang.String toString ()
}
com/google/android/exoplayer/dash/DashTrackSelector$Output.classDashTrackSelector.java
package com.google.android.exoplayer.dash
public abstract com.google.android.exoplayer.dash.DashTrackSelector$Output extends java.lang.Object {
public abstract void adaptiveTrack (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, int, int[])
public abstract void fixedTrack (com.google.android.exoplayer.dash.mpd.MediaPresentationDescription, int, int, int)
}
com/google/android/exoplayer/dash/DashChunkSource$NoAdaptationSetException.classDashChunkSource.java
package com.google.android.exoplayer.dash
public com.google.android.exoplayer.dash.DashChunkSource$NoAdaptationSetException extends java.io.IOException {
public void (java.lang.String)
String message
}
com/google/android/exoplayer/dash/DashChunkSource$ExposedTrack.classDashChunkSource.java
package com.google.android.exoplayer.dash
public final com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack extends java.lang.Object {
public final com.google.android.exoplayer.MediaFormat trackFormat
public final int adaptiveMaxWidth
public final int adaptiveMaxHeight
private final int adaptationSetIndex
private final com.google.android.exoplayer.chunk.Format fixedFormat
private final com.google.android.exoplayer.chunk.Format[] adaptiveFormats
public void (com.google.android.exoplayer.MediaFormat, int, com.google.android.exoplayer.chunk.Format)
com.google.android.exoplayer.MediaFormat trackFormat
int adaptationSetIndex
com.google.android.exoplayer.chunk.Format fixedFormat
public void (com.google.android.exoplayer.MediaFormat, int, com.google.android.exoplayer.chunk.Format[], int, int)
com.google.android.exoplayer.MediaFormat trackFormat
int adaptationSetIndex
com.google.android.exoplayer.chunk.Format[] adaptiveFormats
int maxWidth
int maxHeight
public boolean isAdaptive ()
static com.google.android.exoplayer.chunk.Format[] access$000 (com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack)
com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack x0
static com.google.android.exoplayer.chunk.Format access$100 (com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack)
com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack x0
static int access$500 (com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack)
com.google.android.exoplayer.dash.DashChunkSource$ExposedTrack x0
}