andrewlewis 9c27cfcda7 Fix parameter names on overridden methods
The dokka javadoc generation tool complains when parameter names don't match between a method and its override. This change updates occurrences where there is currently a mismatch.

Notable renamings that might be controversial:
- `onPlaybackStateChanged(int state)` to `onPlaybackStateChanged(int playbackState)` affected a lot of lines but seems more consistent with other '-Changed' methods.
- `handleMessage(int messageType, Object payload)` to `handleMessage(int messageType, Object message)`
- `ExtractorInput` and `DataSource` inherit `DataReader` which had `read(byte[] target, ...`, while data sources normally called the first parameter `buffer`. I have standardized these all to use `buffer` even though it looks out of place in the `ExtractorInput` interface (which has more `read` methods with `target`).

PiperOrigin-RevId: 387290360
2021-07-28 09:15:29 +01:00
..
2021-06-30 13:53:01 +01:00
2021-06-30 13:54:16 +01:00

ExoPlayer OkHttp extension

The OkHttp extension is an HttpDataSource implementation that uses Square's OkHttp.

OkHttp is a modern network stack that's widely used by many popular Android applications. It supports the HTTP and HTTP/2 protocols.

License note

Please note that whilst the code in this repository is licensed under Apache 2.0, using this extension requires depending on OkHttp, which is licensed separately.

Getting the extension

The easiest way to use the extension is to add it as a gradle dependency:

implementation 'com.google.android.exoplayer:extension-okhttp:2.X.X'

where 2.X.X is the version, which must match the version of the ExoPlayer library being used.

Alternatively, you can clone the ExoPlayer repository and depend on the module locally. Instructions for doing this can be found in ExoPlayer's top level README.

Using the extension

ExoPlayer requests data through DataSource instances. These instances are obtained from instances of DataSource.Factory, which are instantiated and injected from application code.

If your application only needs to play http(s) content, using the OkHttp extension is as simple as updating any DataSource.Factory instantiations in your application code to use OkHttpDataSource.Factory. If your application also needs to play non-http(s) content such as local files, use:

new DefaultDataSourceFactory(
    ...
    /* baseDataSourceFactory= */ new OkHttpDataSource.Factory(...));
  • Javadoc: Classes matching com.google.android.exoplayer2.ext.okhttp.* belong to this module.