Class CacheDataSink
- java.lang.Object
-
- com.google.android.exoplayer2.upstream.cache.CacheDataSink
-
- All Implemented Interfaces:
DataSink
@Deprecated public final class CacheDataSink extends Object implements DataSink
Deprecated.com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.Writes data into a cache.If the
DataSpec
passed toopen(DataSpec)
has thelength
field set toC.LENGTH_UNSET
andDataSpec.FLAG_DONT_CACHE_IF_LENGTH_UNKNOWN
set, thenwrite(byte[], int, int)
calls are ignored.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CacheDataSink.CacheDataSinkException
Deprecated.Thrown when anIOException
is encountered when writing data to the sink.static class
CacheDataSink.Factory
Deprecated.DataSink.Factory
forCacheDataSink
instances.
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_BUFFER_SIZE
Deprecated.Default buffer size in bytes.static long
DEFAULT_FRAGMENT_SIZE
Deprecated.DefaultfragmentSize
recommended for caching use cases.
-
Constructor Summary
Constructors Constructor Description CacheDataSink(Cache cache, long fragmentSize)
Deprecated.Constructs an instance usingDEFAULT_BUFFER_SIZE
.CacheDataSink(Cache cache, long fragmentSize, int bufferSize)
Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
close()
Deprecated.Closes the sink.void
open(DataSpec dataSpec)
Deprecated.Opens the sink to consume the specified data.void
write(byte[] buffer, int offset, int length)
Deprecated.Consumes the provided data.
-
-
-
Field Detail
-
DEFAULT_FRAGMENT_SIZE
public static final long DEFAULT_FRAGMENT_SIZE
Deprecated.DefaultfragmentSize
recommended for caching use cases.- See Also:
- Constant Field Values
-
DEFAULT_BUFFER_SIZE
public static final int DEFAULT_BUFFER_SIZE
Deprecated.Default buffer size in bytes.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CacheDataSink
public CacheDataSink(Cache cache, long fragmentSize)
Deprecated.Constructs an instance usingDEFAULT_BUFFER_SIZE
.- Parameters:
cache
- The cache into which data should be written.fragmentSize
- For requests that should be fragmented into multiple cache files, this is the maximum size of a cache file in bytes. If set toC.LENGTH_UNSET
then no fragmentation will occur. Using a small value allows for finer-grained cache eviction policies, at the cost of increased overhead both on the cache implementation and the file system. Values under(2 * 1024 * 1024)
are not recommended.
-
CacheDataSink
public CacheDataSink(Cache cache, long fragmentSize, int bufferSize)
Deprecated.- Parameters:
cache
- The cache into which data should be written.fragmentSize
- For requests that should be fragmented into multiple cache files, this is the maximum size of a cache file in bytes. If set toC.LENGTH_UNSET
then no fragmentation will occur. Using a small value allows for finer-grained cache eviction policies, at the cost of increased overhead both on the cache implementation and the file system. Values under(2 * 1024 * 1024)
are not recommended.bufferSize
- The buffer size in bytes for writing to a cache file. A zero or negative value disables buffering.
-
-
Method Detail
-
open
public void open(DataSpec dataSpec) throws CacheDataSink.CacheDataSinkException
Deprecated.Description copied from interface:DataSink
Opens the sink to consume the specified data.Note: If an
IOException
is thrown, callers must still callDataSink.close()
to ensure that any partial effects of the invocation are cleaned up.- Specified by:
open
in interfaceDataSink
- Parameters:
dataSpec
- Defines the data to be consumed.- Throws:
CacheDataSink.CacheDataSinkException
-
write
public void write(byte[] buffer, int offset, int length) throws CacheDataSink.CacheDataSinkException
Deprecated.Description copied from interface:DataSink
Consumes the provided data.- Specified by:
write
in interfaceDataSink
- Parameters:
buffer
- The buffer from which data should be consumed.offset
- The offset of the data to consume inbuffer
.length
- The length of the data to consume, in bytes.- Throws:
CacheDataSink.CacheDataSinkException
-
close
public void close() throws CacheDataSink.CacheDataSinkException
Deprecated.Description copied from interface:DataSink
Closes the sink.Note: This method must be called even if the corresponding call to
DataSink.open(DataSpec)
threw anIOException
. SeeDataSink.open(DataSpec)
for more details.- Specified by:
close
in interfaceDataSink
- Throws:
CacheDataSink.CacheDataSinkException
-
-