Java 类com.google.android.exoplayer.upstream.TeeDataSource 实例源码

项目:miku    文件:CacheDataSource.java   
/**
 * Constructs an instance with arbitrary {@link DataSource} and {@link DataSink} instances for
 * reading and writing the cache. One use of this constructor is to allow data to be transformed
 * before it is written to disk.
 *
 * @param cache The cache.
 * @param upstream A {@link DataSource} for reading data not in the cache.
 * @param cacheReadDataSource A {@link DataSource} for reading data from the cache.
 * @param cacheWriteDataSink A {@link DataSink} for writing data to the cache.
 * @param blockOnCache A flag indicating whether we will block reads if the cache key is locked.
 *     If this flag is false, then we will read from upstream if the cache key is locked.
 * @param ignoreCacheOnError Whether the cache is bypassed following any cache related error. If
 *     true, then cache related exceptions may be thrown for one cycle of open, read and close
 *     calls. Subsequent cycles of these calls will then bypass the cache.
 * @param eventListener An optional {@link EventListener} to receive events.
 */
public CacheDataSource(Cache cache, DataSource upstream, DataSource cacheReadDataSource,
    DataSink cacheWriteDataSink, boolean blockOnCache, boolean ignoreCacheOnError,
    EventListener eventListener) {
  this.cache = cache;
  this.cacheReadDataSource = cacheReadDataSource;
  this.blockOnCache = blockOnCache;
  this.ignoreCacheOnError = ignoreCacheOnError;
  this.upstreamDataSource = upstream;
  if (cacheWriteDataSink != null) {
    this.cacheWriteDataSource = new TeeDataSource(upstream, cacheWriteDataSink);
  } else {
    this.cacheWriteDataSource = null;
  }
  this.eventListener = eventListener;
}
项目:ExoPlayer-Demo    文件:CacheDataSource.java   
/**
 * Constructs an instance with arbitrary {@link DataSource} and {@link DataSink} instances for
 * reading and writing the cache. One use of this constructor is to allow data to be transformed
 * before it is written to disk.
 *
 * @param cache The cache.
 * @param upstream A {@link DataSource} for reading data not in the cache.
 * @param cacheReadDataSource A {@link DataSource} for reading data from the cache.
 * @param cacheWriteDataSink A {@link DataSink} for writing data to the cache.
 * @param blockOnCache A flag indicating whether we will block reads if the cache key is locked.
 *     If this flag is false, then we will read from upstream if the cache key is locked.
 * @param ignoreCacheOnError Whether the cache is bypassed following any cache related error. If
 *     true, then cache related exceptions may be thrown for one cycle of open, read and close
 *     calls. Subsequent cycles of these calls will then bypass the cache.
 * @param eventListener An optional {@link EventListener} to receive events.
 */
public CacheDataSource(Cache cache, DataSource upstream, DataSource cacheReadDataSource,
    DataSink cacheWriteDataSink, boolean blockOnCache, boolean ignoreCacheOnError,
    EventListener eventListener) {
  this.cache = cache;
  this.cacheReadDataSource = cacheReadDataSource;
  this.blockOnCache = blockOnCache;
  this.ignoreCacheOnError = ignoreCacheOnError;
  this.upstreamDataSource = upstream;
  if (cacheWriteDataSink != null) {
    this.cacheWriteDataSource = new TeeDataSource(upstream, cacheWriteDataSink);
  } else {
    this.cacheWriteDataSource = null;
  }
  this.eventListener = eventListener;
}
项目:android-exoplayer    文件:CacheDataSource.java   
/**
 * Constructs an instance with arbitrary {@link DataSource} and {@link DataSink} instances for
 * reading and writing the cache. One use of this constructor is to allow data to be transformed
 * before it is written to disk.
 *
 * @param cache The cache.
 * @param upstream A {@link DataSource} for reading data not in the cache.
 * @param cacheReadDataSource A {@link DataSource} for reading data from the cache.
 * @param cacheWriteDataSink A {@link DataSink} for writing data to the cache.
 * @param blockOnCache A flag indicating whether we will block reads if the cache key is locked.
 *     If this flag is false, then we will read from upstream if the cache key is locked.
 * @param ignoreCacheOnError Whether the cache is bypassed following any cache related error. If
 *     true, then cache related exceptions may be thrown for one cycle of open, read and close
 *     calls. Subsequent cycles of these calls will then bypass the cache.
 * @param eventListener An optional {@link EventListener} to receive events.
 */
public CacheDataSource(Cache cache, DataSource upstream, DataSource cacheReadDataSource,
    DataSink cacheWriteDataSink, boolean blockOnCache, boolean ignoreCacheOnError,
    EventListener eventListener) {
  this.cache = cache;
  this.cacheReadDataSource = cacheReadDataSource;
  this.blockOnCache = blockOnCache;
  this.ignoreCacheOnError = ignoreCacheOnError;
  this.upstreamDataSource = upstream;
  if (cacheWriteDataSink != null) {
    this.cacheWriteDataSource = new TeeDataSource(upstream, cacheWriteDataSink);
  } else {
    this.cacheWriteDataSource = null;
  }
  this.eventListener = eventListener;
}
项目:Exoplayer_VLC    文件:CacheDataSource.java   
/**
 * Constructs an instance with arbitrary {@link DataSource} and {@link DataSink} instances for
 * reading and writing the cache. One use of this constructor is to allow data to be transformed
 * before it is written to disk.
 *
 * @param cache The cache.
 * @param upstream A {@link DataSource} for reading data not in the cache.
 * @param cacheReadDataSource A {@link DataSource} for reading data from the cache.
 * @param cacheWriteDataSink A {@link DataSink} for writing data to the cache.
 * @param blockOnCache A flag indicating whether we will block reads if the cache key is locked.
 *     If this flag is false, then we will read from upstream if the cache key is locked.
 * @param ignoreCacheOnError Whether the cache is bypassed following any cache related error. If
 *     true, then cache related exceptions may be thrown for one cycle of open, read and close
 *     calls. Subsequent cycles of these calls will then bypass the cache.
 * @param eventListener An optional {@link EventListener} to receive events.
 */
public CacheDataSource(Cache cache, DataSource upstream, DataSource cacheReadDataSource,
    DataSink cacheWriteDataSink, boolean blockOnCache, boolean ignoreCacheOnError,
    EventListener eventListener) {
  this.cache = cache;
  this.cacheReadDataSource = cacheReadDataSource;
  this.blockOnCache = blockOnCache;
  this.ignoreCacheOnError = ignoreCacheOnError;
  this.upstreamDataSource = upstream;
  if (cacheWriteDataSink != null) {
    this.cacheWriteDataSource = new TeeDataSource(upstream, cacheWriteDataSink);
  } else {
    this.cacheWriteDataSource = null;
  }
  this.eventListener = eventListener;
}
项目:edx-app-android    文件:CacheDataSource.java   
/**
 * Constructs an instance with arbitrary {@link DataSource} and {@link DataSink} instances for
 * reading and writing the cache. One use of this constructor is to allow data to be transformed
 * before it is written to disk.
 *
 * @param cache The cache.
 * @param upstream A {@link DataSource} for reading data not in the cache.
 * @param cacheReadDataSource A {@link DataSource} for reading data from the cache.
 * @param cacheWriteDataSink A {@link DataSink} for writing data to the cache.
 * @param blockOnCache A flag indicating whether we will block reads if the cache key is locked.
 *     If this flag is false, then we will read from upstream if the cache key is locked.
 * @param ignoreCacheOnError Whether the cache is bypassed following any cache related error. If
 *     true, then cache related exceptions may be thrown for one cycle of open, read and close
 *     calls. Subsequent cycles of these calls will then bypass the cache.
 * @param eventListener An optional {@link EventListener} to receive events.
 */
public CacheDataSource(Cache cache, DataSource upstream, DataSource cacheReadDataSource,
    DataSink cacheWriteDataSink, boolean blockOnCache, boolean ignoreCacheOnError,
    EventListener eventListener) {
  this.cache = cache;
  this.cacheReadDataSource = cacheReadDataSource;
  this.blockOnCache = blockOnCache;
  this.ignoreCacheOnError = ignoreCacheOnError;
  this.upstreamDataSource = upstream;
  if (cacheWriteDataSink != null) {
    this.cacheWriteDataSource = new TeeDataSource(upstream, cacheWriteDataSink);
  } else {
    this.cacheWriteDataSource = null;
  }
  this.eventListener = eventListener;
}
项目:ExoPlayer    文件:CacheDataSource.java   
/**
 * Constructs an instance with arbitrary {@link DataSource} and {@link DataSink} instances for
 * reading and writing the cache. One use of this constructor is to allow data to be transformed
 * before it is written to disk.
 *
 * @param cache The cache.
 * @param upstream A {@link DataSource} for reading data not in the cache.
 * @param cacheReadDataSource A {@link DataSource} for reading data from the cache.
 * @param cacheWriteDataSink A {@link DataSink} for writing data to the cache.
 * @param blockOnCache A flag indicating whether we will block reads if the cache key is locked.
 *     If this flag is false, then we will read from upstream if the cache key is locked.
 * @param ignoreCacheOnError Whether the cache is bypassed following any cache related error. If
 *     true, then cache related exceptions may be thrown for one cycle of open, read and close
 *     calls. Subsequent cycles of these calls will then bypass the cache.
 * @param eventListener An optional {@link EventListener} to receive events.
 */
public CacheDataSource(Cache cache, DataSource upstream, DataSource cacheReadDataSource,
    DataSink cacheWriteDataSink, boolean blockOnCache, boolean ignoreCacheOnError,
    EventListener eventListener) {
  this.cache = cache;
  this.cacheReadDataSource = cacheReadDataSource;
  this.blockOnCache = blockOnCache;
  this.ignoreCacheOnError = ignoreCacheOnError;
  this.upstreamDataSource = upstream;
  if (cacheWriteDataSink != null) {
    this.cacheWriteDataSource = new TeeDataSource(upstream, cacheWriteDataSink);
  } else {
    this.cacheWriteDataSource = null;
  }
  this.eventListener = eventListener;
}