
Recently added Java 8 features in the cronet extension and the linked native libs require to enable Java 8 desugaring in gradle. Moreover, junit.assertThrows is not available in our version and its usage has been replaced by the manual check. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=172077967
ExoPlayer Cronet extension
The Cronet extension is an HttpDataSource implementation using Cronet.
Build instructions
To use this extension you need to clone the ExoPlayer repository and depend on its modules locally. Instructions for doing this can be found in ExoPlayer's top level README. In addition, it's necessary to get the Cronet libraries and enable the extension:
- Find the latest Cronet release here and navigate to its
Release/cronet
directory - Download
cronet_api.jar
,cronet_impl_common_java.jar
,cronet_impl_native_java.jar
and thelibs
directory - Copy the three jar files into the
libs
directory of this extension - Copy the content of the downloaded
libs
directory into thejniLibs
directory of this extension
- In your
settings.gradle
file, addgradle.ext.exoplayerIncludeCronetExtension = true
before the line that appliescore_settings.gradle
.
Using the extension
ExoPlayer requests data through DataSource
instances. These instances are
either instantiated and injected from application code, or obtained from
instances of DataSource.Factory
that are instantiated and injected from
application code.
If your application only needs to play http(s) content, using the Cronet
extension is as simple as updating any DataSource
s and DataSource.Factory
instantiations in your application code to use CronetDataSource
and
CronetDataSourceFactory
respectively. If your application also needs to play
non-http(s) content such as local files, use
new DefaultDataSource(
...
new CronetDataSource(...) /* baseDataSource argument */);
and
new DefaultDataSourceFactory(
...
new CronetDataSourceFactory(...) /* baseDataSourceFactory argument */);
respectively.
Links
- Javadoc: Classes matching
com.google.android.exoplayer2.ext.cronet.*
belong to this module.