Search in sources :

Example 1 with DataSink

use of com.google.android.exoplayer2.upstream.DataSink in project ExoPlayer by google.

the class CacheDataSourceTest2 method buildCacheDataSource.

private static CacheDataSource buildCacheDataSource(Context context, DataSource upstreamSource, boolean useAesEncryption) throws CacheException {
    File cacheDir = context.getExternalCacheDir();
    Cache cache = new SimpleCache(new File(cacheDir, EXO_CACHE_DIR), new NoOpCacheEvictor());
    emptyCache(cache);
    // Source and cipher
    final String secretKey = "testKey:12345678";
    DataSource file = new FileDataSource();
    DataSource cacheReadDataSource = useAesEncryption ? new AesCipherDataSource(Util.getUtf8Bytes(secretKey), file) : file;
    // Sink and cipher
    CacheDataSink cacheSink = new CacheDataSink(cache, EXO_CACHE_MAX_FILESIZE);
    byte[] scratch = new byte[3897];
    DataSink cacheWriteDataSink = useAesEncryption ? new AesCipherDataSink(Util.getUtf8Bytes(secretKey), cacheSink, scratch) : cacheSink;
    return new CacheDataSource(cache, upstreamSource, cacheReadDataSource, cacheWriteDataSink, CacheDataSource.FLAG_BLOCK_ON_CACHE, // eventListener
    null);
}
Also used : AesCipherDataSink(com.google.android.exoplayer2.upstream.crypto.AesCipherDataSink) DataSink(com.google.android.exoplayer2.upstream.DataSink) FileDataSource(com.google.android.exoplayer2.upstream.FileDataSource) AesCipherDataSource(com.google.android.exoplayer2.upstream.crypto.AesCipherDataSource) DataSource(com.google.android.exoplayer2.upstream.DataSource) FakeDataSource(com.google.android.exoplayer2.testutil.FakeDataSource) AesCipherDataSink(com.google.android.exoplayer2.upstream.crypto.AesCipherDataSink) FileDataSource(com.google.android.exoplayer2.upstream.FileDataSource) AesCipherDataSource(com.google.android.exoplayer2.upstream.crypto.AesCipherDataSource) File(java.io.File)

Example 2 with DataSink

use of com.google.android.exoplayer2.upstream.DataSink in project NewPipe by TeamNewPipe.

the class CacheFactory method createDataSource.

@Override
public DataSource createDataSource() {
    Log.d(TAG, "initExoPlayerCache: cacheDir = " + cacheDir.getAbsolutePath());
    final DefaultDataSource dataSource = dataSourceFactory.createDataSource();
    final FileDataSource fileSource = new FileDataSource();
    final CacheDataSink dataSink = new CacheDataSink(cache, maxFileSize);
    return new CacheDataSource(cache, dataSource, fileSource, dataSink, CACHE_FLAGS, null);
}
Also used : CacheDataSink(com.google.android.exoplayer2.upstream.cache.CacheDataSink) DefaultDataSource(com.google.android.exoplayer2.upstream.DefaultDataSource) CacheDataSource(com.google.android.exoplayer2.upstream.cache.CacheDataSource) FileDataSource(com.google.android.exoplayer2.upstream.FileDataSource)

Aggregations

FileDataSource (com.google.android.exoplayer2.upstream.FileDataSource)2 FakeDataSource (com.google.android.exoplayer2.testutil.FakeDataSource)1 DataSink (com.google.android.exoplayer2.upstream.DataSink)1 DataSource (com.google.android.exoplayer2.upstream.DataSource)1 DefaultDataSource (com.google.android.exoplayer2.upstream.DefaultDataSource)1 CacheDataSink (com.google.android.exoplayer2.upstream.cache.CacheDataSink)1 CacheDataSource (com.google.android.exoplayer2.upstream.cache.CacheDataSource)1 AesCipherDataSink (com.google.android.exoplayer2.upstream.crypto.AesCipherDataSink)1 AesCipherDataSource (com.google.android.exoplayer2.upstream.crypto.AesCipherDataSource)1 File (java.io.File)1