olly f1b3f3a177 Fix broken link + minor doc tweak
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=165920927
2017-08-22 16:15:29 +01:00

2.3 KiB

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:

  1. Find the latest Cronet release here and navigate to its Release/cronet directory
  2. Download cronet_api.jar, cronet_impl_common_java.jar, cronet_impl_native_java.jar and the libs directory
  3. Copy the three jar files into the libs directory of this extension
  4. Copy the content of the downloaded libs directory into the jniLibs directory of this extension
  • In your settings.gradle file, add gradle.ext.exoplayerIncludeCronetExtension = true before the line that applies core_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 DataSources 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.

  • Javadoc: Classes matching com.google.android.exoplayer2.ext.cronet.* belong to this module.