Mechanical README cleanups
PiperOrigin-RevId: 401767060
This commit is contained in:
parent
1d29f12677
commit
e7c6ed5e7f
20
README.md
20
README.md
@ -1,4 +1,4 @@
|
||||
# ExoPlayer <img src="https://img.shields.io/github/v/release/google/ExoPlayer.svg?label=latest"/> #
|
||||
# ExoPlayer <img src="https://img.shields.io/github/v/release/google/ExoPlayer.svg?label=latest"/>
|
||||
|
||||
ExoPlayer is an application level media player for Android. It provides an
|
||||
alternative to Android’s MediaPlayer API for playing audio and video both
|
||||
@ -7,7 +7,7 @@ supported by Android’s MediaPlayer API, including DASH and SmoothStreaming
|
||||
adaptive playbacks. Unlike the MediaPlayer API, ExoPlayer is easy to customize
|
||||
and extend, and can be updated through Play Store application updates.
|
||||
|
||||
## Documentation ##
|
||||
## Documentation
|
||||
|
||||
* The [developer guide][] provides a wealth of information.
|
||||
* The [class reference][] documents ExoPlayer classes.
|
||||
@ -20,7 +20,7 @@ and extend, and can be updated through Play Store application updates.
|
||||
[release notes]: https://github.com/google/ExoPlayer/blob/release-v2/RELEASENOTES.md
|
||||
[developer blog]: https://medium.com/google-exoplayer
|
||||
|
||||
## Using ExoPlayer ##
|
||||
## Using ExoPlayer
|
||||
|
||||
ExoPlayer modules can be obtained from [the Google Maven repository][]. It's
|
||||
also possible to clone the repository and depend on the modules locally.
|
||||
@ -29,7 +29,7 @@ also possible to clone the repository and depend on the modules locally.
|
||||
|
||||
### From the Google Maven repository
|
||||
|
||||
#### 1. Add ExoPlayer module dependencies ####
|
||||
#### 1. Add ExoPlayer module dependencies
|
||||
|
||||
The easiest way to get started using ExoPlayer is to add it as a gradle
|
||||
dependency in the `build.gradle` file of your app module. The following will add
|
||||
@ -77,7 +77,7 @@ found on the [Google Maven ExoPlayer page][].
|
||||
[extensions directory]: https://github.com/google/ExoPlayer/tree/release-v2/extensions/
|
||||
[Google Maven ExoPlayer page]: https://maven.google.com/web/index.html#com.google.android.exoplayer
|
||||
|
||||
#### 2. Turn on Java 8 support ####
|
||||
#### 2. Turn on Java 8 support
|
||||
|
||||
If not enabled already, you also need to turn on Java 8 support in all
|
||||
`build.gradle` files depending on ExoPlayer, by adding the following to the
|
||||
@ -89,13 +89,13 @@ compileOptions {
|
||||
}
|
||||
```
|
||||
|
||||
#### 3. Enable multidex ####
|
||||
#### 3. Enable multidex
|
||||
|
||||
If your Gradle `minSdkVersion` is 20 or lower, you should
|
||||
[enable multidex](https://developer.android.com/studio/build/multidex) in order
|
||||
to prevent build errors.
|
||||
|
||||
### Locally ###
|
||||
### Locally
|
||||
|
||||
Cloning the repository and depending on the modules locally is required when
|
||||
using some ExoPlayer extension modules. It's also a suitable approach if you
|
||||
@ -128,15 +128,15 @@ implementation project(':exoplayer-library-dash')
|
||||
implementation project(':exoplayer-library-ui')
|
||||
```
|
||||
|
||||
## Developing ExoPlayer ##
|
||||
## Developing ExoPlayer
|
||||
|
||||
#### Project branches ####
|
||||
#### Project branches
|
||||
|
||||
* Development work happens on the `dev-v2` branch. Pull requests should
|
||||
normally be made to this branch.
|
||||
* The `release-v2` branch holds the most recent release.
|
||||
|
||||
#### Using Android Studio ####
|
||||
#### Using Android Studio
|
||||
|
||||
To develop ExoPlayer using Android Studio, simply open the ExoPlayer project in
|
||||
the root directory of the repository.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Cast demo application #
|
||||
# Cast demo application
|
||||
|
||||
This folder contains a demo application that showcases ExoPlayer integration
|
||||
with Google Cast.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# ExoPlayer main demo #
|
||||
# ExoPlayer main demo
|
||||
|
||||
This is the main ExoPlayer demo application. It uses ExoPlayer to play a number
|
||||
of test streams. It can be used as a starting point or reference project when
|
||||
|
@ -1,4 +1,4 @@
|
||||
# ExoPlayer website #
|
||||
# ExoPlayer website
|
||||
|
||||
The [ExoPlayer website](https://exoplayer.dev/) is hosted on
|
||||
GitHub Pages, and is statically generated using Jekyll.
|
||||
|
@ -1,9 +1,9 @@
|
||||
# ExoPlayer AV1 extension #
|
||||
# ExoPlayer AV1 extension
|
||||
|
||||
The AV1 extension provides `Libgav1VideoRenderer`, which uses libgav1 native
|
||||
library to decode AV1 videos.
|
||||
|
||||
## License note ##
|
||||
## License note
|
||||
|
||||
Please note that whilst the code in this repository is licensed under
|
||||
[Apache 2.0][], using this extension also requires building and including one or
|
||||
@ -11,7 +11,7 @@ more external libraries as described below. These are licensed separately.
|
||||
|
||||
[Apache 2.0]: https://github.com/google/ExoPlayer/blob/release-v2/LICENSE
|
||||
|
||||
## Build instructions (Linux, macOS) ##
|
||||
## Build instructions (Linux, macOS)
|
||||
|
||||
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
|
||||
@ -61,14 +61,14 @@ to configure and build libgav1 and the extension's [JNI wrapper library][].
|
||||
[Ninja]: https://ninja-build.org
|
||||
[JNI wrapper library]: https://github.com/google/ExoPlayer/blob/release-v2/extensions/av1/src/main/jni/gav1_jni.cc
|
||||
|
||||
## Build instructions (Windows) ##
|
||||
## Build instructions (Windows)
|
||||
|
||||
We do not provide support for building this extension on Windows, however it
|
||||
should be possible to follow the Linux instructions in [Windows PowerShell][].
|
||||
|
||||
[Windows PowerShell]: https://docs.microsoft.com/en-us/powershell/scripting/getting-started/getting-started-with-windows-powershell
|
||||
|
||||
## Using the extension ##
|
||||
## Using the module
|
||||
|
||||
Once you've followed the instructions above to check out, build and depend on
|
||||
the extension, the next step is to tell ExoPlayer to use `Libgav1VideoRenderer`.
|
||||
@ -96,7 +96,7 @@ a custom track selector the choice of `Renderer` is up to your implementation.
|
||||
You need to make sure you are passing a `Libgav1VideoRenderer` to the player and
|
||||
then you need to implement your own logic to use the renderer for a given track.
|
||||
|
||||
## Using the extension in the demo application ##
|
||||
## Using the module in the demo application
|
||||
|
||||
To try out playback using the extension in the [demo application][], see
|
||||
[enabling extension decoders][].
|
||||
@ -104,7 +104,7 @@ To try out playback using the extension in the [demo application][], see
|
||||
[demo application]: https://exoplayer.dev/demo-application.html
|
||||
[enabling extension decoders]: https://exoplayer.dev/demo-application.html#enabling-extension-decoders
|
||||
|
||||
## Rendering options ##
|
||||
## Rendering options
|
||||
|
||||
There are two possibilities for rendering the output `Libgav1VideoRenderer`
|
||||
gets from the libgav1 decoder:
|
||||
@ -129,7 +129,7 @@ gets from the libgav1 decoder:
|
||||
Note: Although the default option uses `ANativeWindow`, based on our testing the
|
||||
GL rendering mode has better performance, so should be preferred
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.ext.av1.*`
|
||||
belong to this module.
|
||||
|
@ -1,22 +1,22 @@
|
||||
# ExoPlayer Cast extension #
|
||||
# ExoPlayer Cast extension
|
||||
|
||||
## Description ##
|
||||
## Description
|
||||
|
||||
The cast extension is a [Player][] implementation that controls playback on a
|
||||
Cast receiver app.
|
||||
|
||||
[Player]: https://exoplayer.dev/doc/reference/index.html?com/google/android/exoplayer2/Player.html
|
||||
|
||||
## Getting the extension ##
|
||||
## Getting the module
|
||||
|
||||
The easiest way to use the extension is to add it as a gradle dependency:
|
||||
The easiest way to get the module is to add it as a gradle dependency:
|
||||
|
||||
```gradle
|
||||
implementation 'com.google.android.exoplayer:extension-cast:2.X.X'
|
||||
```
|
||||
|
||||
where `2.X.X` is the version, which must match the version of the ExoPlayer
|
||||
library being used.
|
||||
where `2.X.X` is the version, which must match the version of the other media
|
||||
modules 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
|
||||
@ -24,7 +24,7 @@ locally. Instructions for doing this can be found in ExoPlayer's
|
||||
|
||||
[top level README]: https://github.com/google/ExoPlayer/blob/release-v2/README.md
|
||||
|
||||
## Using the extension ##
|
||||
## Using the module
|
||||
|
||||
Create a `CastPlayer` and use it to integrate Cast into your app using
|
||||
ExoPlayer's common `Player` interface.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# ExoPlayer Cronet extension #
|
||||
# ExoPlayer Cronet extension
|
||||
|
||||
The Cronet extension is an [HttpDataSource][] implementation that uses
|
||||
[Cronet][].
|
||||
@ -14,16 +14,16 @@ for most use cases.
|
||||
[HttpDataSource]: https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/upstream/HttpDataSource.html
|
||||
[Cronet]: https://developer.android.com/guide/topics/connectivity/cronet
|
||||
|
||||
## Getting the extension ##
|
||||
## Getting the module
|
||||
|
||||
The easiest way to use the extension is to add it as a gradle dependency:
|
||||
The easiest way to get the module is to add it as a gradle dependency:
|
||||
|
||||
```gradle
|
||||
implementation 'com.google.android.exoplayer:extension-cronet:2.X.X'
|
||||
```
|
||||
|
||||
where `2.X.X` is the version, which must match the version of the ExoPlayer
|
||||
library being used.
|
||||
where `2.X.X` is the version, which must match the version of the other media
|
||||
modules 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
|
||||
@ -31,7 +31,7 @@ locally. Instructions for doing this can be found in ExoPlayer's
|
||||
|
||||
[top level README]: https://github.com/google/ExoPlayer/blob/release-v2/README.md
|
||||
|
||||
## Using the extension ##
|
||||
## Using the module
|
||||
|
||||
ExoPlayer requests data through `DataSource` instances. These instances are
|
||||
obtained from instances of `DataSource.Factory`, which are instantiated and
|
||||
@ -47,16 +47,16 @@ new DefaultDataSourceFactory(
|
||||
/* baseDataSourceFactory= */ new CronetDataSource.Factory(...) );
|
||||
```
|
||||
|
||||
## Cronet implementations ##
|
||||
## Cronet implementations
|
||||
|
||||
To instantiate a `CronetDataSource.Factory` you'll need a `CronetEngine`. A
|
||||
`CronetEngine` can be obtained from one of a number of Cronet implementations.
|
||||
It's recommended that an application should only have a single `CronetEngine`
|
||||
instance.
|
||||
|
||||
### Available implementations ###
|
||||
### Available implementations
|
||||
|
||||
#### Google Play Services ####
|
||||
#### Google Play Services
|
||||
|
||||
By default, ExoPlayer's Cronet extension depends on
|
||||
`com.google.android.gms:play-services-cronet`, which loads an implementation of
|
||||
@ -72,7 +72,7 @@ includes one of the alternative Cronet implementations described below, you will
|
||||
not be able to instantiate a `CronetEngine` in this case. Your application code
|
||||
should handle this by falling back to use `DefaultHttpDataSource` instead.
|
||||
|
||||
#### Cronet Embedded ####
|
||||
#### Cronet Embedded
|
||||
|
||||
Cronet Embedded bundles a full Cronet implementation directly into your
|
||||
application. To use it, add an additional dependency on
|
||||
@ -84,7 +84,7 @@ use of Cronet Embedded may be appropriate if:
|
||||
not widely available.
|
||||
* You want to control the exact version of the Cronet implementation being used.
|
||||
|
||||
#### Cronet Fallback ####
|
||||
#### Cronet Fallback
|
||||
|
||||
There's also a fallback implementation of Cronet, which uses Android's default
|
||||
network stack under the hood. It can be used by adding a dependency on
|
||||
@ -98,7 +98,7 @@ you know when your application's `CronetEngine` has been obtained from the
|
||||
fallback implementation. In this case, avoid using it with ExoPlayer and use
|
||||
`DefaultHttpDataSource` instead.
|
||||
|
||||
### CronetEngine instantiation ###
|
||||
### CronetEngine instantiation
|
||||
|
||||
Cronet's [Send a simple request][] page documents the simplest way of building a
|
||||
`CronetEngine`, which is suitable if your application is only using the
|
||||
@ -121,7 +121,7 @@ still using it for other networking performed by your application.
|
||||
|
||||
[Send a simple request]: https://developer.android.com/guide/topics/connectivity/cronet/start
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.ext.cronet.*`
|
||||
belong to this module.
|
||||
|
@ -1,9 +1,9 @@
|
||||
# ExoPlayer FFmpeg extension #
|
||||
# ExoPlayer FFmpeg extension
|
||||
|
||||
The FFmpeg extension provides `FfmpegAudioRenderer`, which uses FFmpeg for
|
||||
decoding and can render audio encoded in a variety of formats.
|
||||
|
||||
## License note ##
|
||||
## License note
|
||||
|
||||
Please note that whilst the code in this repository is licensed under
|
||||
[Apache 2.0][], using this extension also requires building and including one or
|
||||
@ -11,7 +11,7 @@ more external libraries as described below. These are licensed separately.
|
||||
|
||||
[Apache 2.0]: https://github.com/google/ExoPlayer/blob/release-v2/LICENSE
|
||||
|
||||
## Build instructions (Linux, macOS) ##
|
||||
## Build instructions (Linux, macOS)
|
||||
|
||||
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
|
||||
@ -77,14 +77,14 @@ cd "${FFMPEG_EXT_PATH}/jni" && \
|
||||
"${FFMPEG_EXT_PATH}" "${NDK_PATH}" "${HOST_PLATFORM}" "${ENABLED_DECODERS[@]}"
|
||||
```
|
||||
|
||||
## Build instructions (Windows) ##
|
||||
## Build instructions (Windows)
|
||||
|
||||
We do not provide support for building this extension on Windows, however it
|
||||
should be possible to follow the Linux instructions in [Windows PowerShell][].
|
||||
|
||||
[Windows PowerShell]: https://docs.microsoft.com/en-us/powershell/scripting/getting-started/getting-started-with-windows-powershell
|
||||
|
||||
## Using the extension ##
|
||||
## Using the module
|
||||
|
||||
Once you've followed the instructions above to check out, build and depend on
|
||||
the extension, the next step is to tell ExoPlayer to use `FfmpegAudioRenderer`.
|
||||
@ -116,7 +116,7 @@ then implement your own logic to use the renderer for a given track.
|
||||
[#2781]: https://github.com/google/ExoPlayer/issues/2781
|
||||
[Supported formats]: https://exoplayer.dev/supported-formats.html#ffmpeg-extension
|
||||
|
||||
## Using the extension in the demo application ##
|
||||
## Using the module in the demo application
|
||||
|
||||
To try out playback using the extension in the [demo application][], see
|
||||
[enabling extension decoders][].
|
||||
@ -124,7 +124,7 @@ To try out playback using the extension in the [demo application][], see
|
||||
[demo application]: https://exoplayer.dev/demo-application.html
|
||||
[enabling extension decoders]: https://exoplayer.dev/demo-application.html#enabling-extension-decoders
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Troubleshooting using extensions][]
|
||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.ext.ffmpeg.*`
|
||||
|
@ -1,9 +1,9 @@
|
||||
# ExoPlayer Flac extension #
|
||||
# ExoPlayer Flac extension
|
||||
|
||||
The Flac extension provides `FlacExtractor` and `LibflacAudioRenderer`, which
|
||||
use libFLAC (the Flac decoding library) to extract and decode FLAC audio.
|
||||
|
||||
## License note ##
|
||||
## License note
|
||||
|
||||
Please note that whilst the code in this repository is licensed under
|
||||
[Apache 2.0][], using this extension also requires building and including one or
|
||||
@ -11,7 +11,7 @@ more external libraries as described below. These are licensed separately.
|
||||
|
||||
[Apache 2.0]: https://github.com/google/ExoPlayer/blob/release-v2/LICENSE
|
||||
|
||||
## Build instructions (Linux, macOS) ##
|
||||
## Build instructions (Linux, macOS)
|
||||
|
||||
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
|
||||
@ -53,27 +53,27 @@ ${NDK_PATH}/ndk-build APP_ABI=all -j4
|
||||
[top level README]: https://github.com/google/ExoPlayer/blob/release-v2/README.md
|
||||
[Android NDK]: https://developer.android.com/tools/sdk/ndk/index.html
|
||||
|
||||
## Build instructions (Windows) ##
|
||||
## Build instructions (Windows)
|
||||
|
||||
We do not provide support for building this extension on Windows, however it
|
||||
should be possible to follow the Linux instructions in [Windows PowerShell][].
|
||||
|
||||
[Windows PowerShell]: https://docs.microsoft.com/en-us/powershell/scripting/getting-started/getting-started-with-windows-powershell
|
||||
|
||||
## Using the extension ##
|
||||
## Using the module
|
||||
|
||||
Once you've followed the instructions above to check out, build and depend on
|
||||
the extension, the next step is to tell ExoPlayer to use the extractor and/or
|
||||
renderer.
|
||||
|
||||
### Using `FlacExtractor` ###
|
||||
### Using `FlacExtractor`
|
||||
|
||||
`FlacExtractor` is used via `ProgressiveMediaSource`. If you're using
|
||||
`DefaultExtractorsFactory`, `FlacExtractor` will automatically be used to read
|
||||
`.flac` files. If you're not using `DefaultExtractorsFactory`, return a
|
||||
`FlacExtractor` from your `ExtractorsFactory.createExtractors` implementation.
|
||||
|
||||
### Using `LibflacAudioRenderer` ###
|
||||
### Using `LibflacAudioRenderer`
|
||||
|
||||
* If you're passing a `DefaultRenderersFactory` to `ExoPlayer.Builder`, you can
|
||||
enable using the extension by setting the `extensionRendererMode` parameter of
|
||||
@ -96,7 +96,7 @@ a custom track selector the choice of `Renderer` is up to your implementation,
|
||||
so you need to make sure you are passing an `LibflacAudioRenderer` to the
|
||||
player, then implement your own logic to use the renderer for a given track.
|
||||
|
||||
## Using the extension in the demo application ##
|
||||
## Using the module in the demo application
|
||||
|
||||
To try out playback using the extension in the [demo application][], see
|
||||
[enabling extension decoders][].
|
||||
@ -104,7 +104,7 @@ To try out playback using the extension in the [demo application][], see
|
||||
[demo application]: https://exoplayer.dev/demo-application.html
|
||||
[enabling extension decoders]: https://exoplayer.dev/demo-application.html#enabling-extension-decoders
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.ext.flac.*`
|
||||
belong to this module.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# ExoPlayer IMA extension #
|
||||
# ExoPlayer IMA extension
|
||||
|
||||
The IMA extension is an [AdsLoader][] implementation wrapping the
|
||||
[Interactive Media Ads SDK for Android][IMA]. You can use it to insert ads
|
||||
@ -7,16 +7,16 @@ alongside content.
|
||||
[IMA]: https://developers.google.com/interactive-media-ads/docs/sdks/android/
|
||||
[AdsLoader]: https://exoplayer.dev/doc/reference/index.html?com/google/android/exoplayer2/source/ads/AdsLoader.html
|
||||
|
||||
## Getting the extension ##
|
||||
## Getting the module
|
||||
|
||||
The easiest way to use the extension is to add it as a gradle dependency:
|
||||
The easiest way to get the module is to add it as a gradle dependency:
|
||||
|
||||
```gradle
|
||||
implementation 'com.google.android.exoplayer:extension-ima:2.X.X'
|
||||
```
|
||||
|
||||
where `2.X.X` is the version, which must match the version of the ExoPlayer
|
||||
library being used.
|
||||
where `2.X.X` is the version, which must match the version of the other media
|
||||
modules 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
|
||||
@ -24,7 +24,7 @@ locally. Instructions for doing this can be found in ExoPlayer's
|
||||
|
||||
[top level README]: https://github.com/google/ExoPlayer/blob/release-v2/README.md
|
||||
|
||||
## Using the extension ##
|
||||
## Using the module
|
||||
|
||||
To use the extension, follow the instructions on the
|
||||
[Ad insertion page](https://exoplayer.dev/ad-insertion.html#declarative-ad-support)
|
||||
@ -52,7 +52,7 @@ in the "IMA sample ad tags" section of the sample chooser. The demo app's
|
||||
`PlayerActivity` also shows how to persist the `ImaAdsLoader` instance and the
|
||||
player position when backgrounded during ad playback.
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [ExoPlayer documentation on ad insertion][]
|
||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.ext.ima.*`
|
||||
|
@ -1,4 +1,4 @@
|
||||
# ExoPlayer Leanback extension #
|
||||
# ExoPlayer Leanback extension
|
||||
|
||||
This [Leanback][] Extension provides a [PlayerAdapter][] implementation for
|
||||
ExoPlayer.
|
||||
@ -6,16 +6,16 @@ ExoPlayer.
|
||||
[PlayerAdapter]: https://developer.android.com/reference/android/support/v17/leanback/media/PlayerAdapter.html
|
||||
[Leanback]: https://developer.android.com/reference/android/support/v17/leanback/package-summary.html
|
||||
|
||||
## Getting the extension ##
|
||||
## Getting the module
|
||||
|
||||
The easiest way to use the extension is to add it as a gradle dependency:
|
||||
The easiest way to get the module is to add it as a gradle dependency:
|
||||
|
||||
```gradle
|
||||
implementation 'com.google.android.exoplayer:extension-leanback:2.X.X'
|
||||
```
|
||||
|
||||
where `2.X.X` is the version, which must match the version of the ExoPlayer
|
||||
library being used.
|
||||
where `2.X.X` is the version, which must match the version of the other media
|
||||
modules 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
|
||||
@ -23,7 +23,7 @@ locally. Instructions for doing this can be found in ExoPlayer's
|
||||
|
||||
[top level README]: https://github.com/google/ExoPlayer/blob/release-v2/README.md
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.ext.leanback.*`
|
||||
belong to this module.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# ExoPlayer Media2 extension #
|
||||
# ExoPlayer Media2 extension
|
||||
|
||||
The Media2 extension provides builders for [SessionPlayer][] and [MediaSession.SessionCallback][] in
|
||||
the [Media2 library][].
|
||||
@ -6,16 +6,16 @@ the [Media2 library][].
|
||||
Compared to [MediaSessionConnector][] that uses [MediaSessionCompat][], this provides finer grained
|
||||
control for incoming calls, so you can selectively allow/reject commands per controller.
|
||||
|
||||
## Getting the extension ##
|
||||
## Getting the module
|
||||
|
||||
The easiest way to use the extension is to add it as a gradle dependency:
|
||||
The easiest way to get the module is to add it as a gradle dependency:
|
||||
|
||||
```gradle
|
||||
implementation 'com.google.android.exoplayer:extension-media2:2.X.X'
|
||||
```
|
||||
|
||||
where `2.X.X` is the version, which must match the version of the ExoPlayer
|
||||
library being used.
|
||||
where `2.X.X` is the version, which must match the version of the other media
|
||||
modules 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
|
||||
@ -23,20 +23,20 @@ locally. Instructions for doing this can be found in ExoPlayer's
|
||||
|
||||
[top level README]: https://github.com/google/ExoPlayer/blob/release-v2/README.md
|
||||
|
||||
## Using the extension ##
|
||||
## Using the module
|
||||
|
||||
### Using `SessionPlayerConnector` ###
|
||||
### Using `SessionPlayerConnector`
|
||||
|
||||
`SessionPlayerConnector` is a [SessionPlayer][] implementation wrapping a given `Player`.
|
||||
You can use a [SessionPlayer][] instance to build a [MediaSession][], or to set the player
|
||||
associated with a [VideoView][] or [MediaControlView][]
|
||||
|
||||
### Using `SessionCallbackBuilder` ###
|
||||
### Using `SessionCallbackBuilder`
|
||||
|
||||
`SessionCallbackBuilder` lets you build a [MediaSession.SessionCallback][] instance given its
|
||||
collaborators. You can use a [MediaSession.SessionCallback][] to build a [MediaSession][].
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Javadoc][]: Classes matching
|
||||
`com.google.android.exoplayer2.ext.media2.*` belong to this module.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# ExoPlayer MediaSession extension #
|
||||
# ExoPlayer MediaSession extension
|
||||
|
||||
The MediaSession extension mediates between a Player (or ExoPlayer) instance
|
||||
and a [MediaSession][]. It automatically retrieves and implements playback
|
||||
@ -7,16 +7,16 @@ behaviour can be extended to support other playback and custom actions.
|
||||
|
||||
[MediaSession]: https://developer.android.com/reference/android/support/v4/media/session/MediaSessionCompat.html
|
||||
|
||||
## Getting the extension ##
|
||||
## Getting the module
|
||||
|
||||
The easiest way to use the extension is to add it as a gradle dependency:
|
||||
The easiest way to get the module is to add it as a gradle dependency:
|
||||
|
||||
```gradle
|
||||
implementation 'com.google.android.exoplayer:extension-mediasession:2.X.X'
|
||||
```
|
||||
|
||||
where `2.X.X` is the version, which must match the version of the ExoPlayer
|
||||
library being used.
|
||||
where `2.X.X` is the version, which must match the version of the other media
|
||||
modules 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
|
||||
@ -24,7 +24,7 @@ locally. Instructions for doing this can be found in ExoPlayer's
|
||||
|
||||
[top level README]: https://github.com/google/ExoPlayer/blob/release-v2/README.md
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Javadoc][]: Classes matching
|
||||
`com.google.android.exoplayer2.ext.mediasession.*` belong to this module.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# ExoPlayer OkHttp extension #
|
||||
# ExoPlayer OkHttp extension
|
||||
|
||||
The OkHttp extension is an [HttpDataSource][] implementation that uses Square's
|
||||
[OkHttp][].
|
||||
@ -9,7 +9,7 @@ applications. It supports the HTTP and HTTP/2 protocols.
|
||||
[HttpDataSource]: https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/upstream/HttpDataSource.html
|
||||
[OkHttp]: https://square.github.io/okhttp/
|
||||
|
||||
## License note ##
|
||||
## 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
|
||||
@ -17,16 +17,16 @@ licensed separately.
|
||||
|
||||
[Apache 2.0]: https://github.com/google/ExoPlayer/blob/release-v2/LICENSE
|
||||
|
||||
## Getting the extension ##
|
||||
## Getting the module
|
||||
|
||||
The easiest way to use the extension is to add it as a gradle dependency:
|
||||
The easiest way to get the module is to add it as a gradle dependency:
|
||||
|
||||
```gradle
|
||||
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.
|
||||
where `2.X.X` is the version, which must match the version of the other media
|
||||
modules 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
|
||||
@ -34,7 +34,7 @@ locally. Instructions for doing this can be found in ExoPlayer's
|
||||
|
||||
[top level README]: https://github.com/google/ExoPlayer/blob/release-v2/README.md
|
||||
|
||||
## Using the extension ##
|
||||
## Using the module
|
||||
|
||||
ExoPlayer requests data through `DataSource` instances. These instances are
|
||||
obtained from instances of `DataSource.Factory`, which are instantiated and
|
||||
@ -50,7 +50,7 @@ new DefaultDataSourceFactory(
|
||||
/* baseDataSourceFactory= */ new OkHttpDataSource.Factory(...));
|
||||
```
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.ext.okhttp.*`
|
||||
belong to this module.
|
||||
|
@ -1,9 +1,9 @@
|
||||
# ExoPlayer Opus extension #
|
||||
# ExoPlayer Opus extension
|
||||
|
||||
The Opus extension provides `LibopusAudioRenderer`, which uses libopus (the Opus
|
||||
decoding library) to decode Opus audio.
|
||||
|
||||
## License note ##
|
||||
## License note
|
||||
|
||||
Please note that whilst the code in this repository is licensed under
|
||||
[Apache 2.0][], using this extension also requires building and including one or
|
||||
@ -11,7 +11,7 @@ more external libraries as described below. These are licensed separately.
|
||||
|
||||
[Apache 2.0]: https://github.com/google/ExoPlayer/blob/release-v2/LICENSE
|
||||
|
||||
## Build instructions (Linux, macOS) ##
|
||||
## Build instructions (Linux, macOS)
|
||||
|
||||
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
|
||||
@ -58,14 +58,14 @@ ${NDK_PATH}/ndk-build APP_ABI=all -j4
|
||||
[top level README]: https://github.com/google/ExoPlayer/blob/release-v2/README.md
|
||||
[Android NDK]: https://developer.android.com/tools/sdk/ndk/index.html
|
||||
|
||||
## Build instructions (Windows) ##
|
||||
## Build instructions (Windows)
|
||||
|
||||
We do not provide support for building this extension on Windows, however it
|
||||
should be possible to follow the Linux instructions in [Windows PowerShell][].
|
||||
|
||||
[Windows PowerShell]: https://docs.microsoft.com/en-us/powershell/scripting/getting-started/getting-started-with-windows-powershell
|
||||
|
||||
## Notes ##
|
||||
## Notes
|
||||
|
||||
* Every time there is a change to the libopus checkout:
|
||||
* Arm assembly should be converted by running `convert_android_asm.sh`
|
||||
@ -73,7 +73,7 @@ should be possible to follow the Linux instructions in [Windows PowerShell][].
|
||||
* If you want to use your own version of libopus, place it in
|
||||
`${OPUS_EXT_PATH}/jni/libopus`.
|
||||
|
||||
## Using the extension ##
|
||||
## Using the module
|
||||
|
||||
Once you've followed the instructions above to check out, build and depend on
|
||||
the extension, the next step is to tell ExoPlayer to use `LibopusAudioRenderer`.
|
||||
@ -100,7 +100,7 @@ a custom track selector the choice of `Renderer` is up to your implementation,
|
||||
so you need to make sure you are passing an `LibopusAudioRenderer` to the
|
||||
player, then implement your own logic to use the renderer for a given track.
|
||||
|
||||
## Using the extension in the demo application ##
|
||||
## Using the module in the demo application
|
||||
|
||||
To try out playback using the extension in the [demo application][], see
|
||||
[enabling extension decoders][].
|
||||
@ -108,7 +108,7 @@ To try out playback using the extension in the [demo application][], see
|
||||
[demo application]: https://exoplayer.dev/demo-application.html
|
||||
[enabling extension decoders]: https://exoplayer.dev/demo-application.html#enabling-extension-decoders
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.ext.opus.*`
|
||||
belong to this module.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# ExoPlayer RTMP extension #
|
||||
# ExoPlayer RTMP extension
|
||||
|
||||
The RTMP extension is a [DataSource][] implementation for playing [RTMP][]
|
||||
streams using [LibRtmp Client for Android][].
|
||||
@ -7,7 +7,7 @@ streams using [LibRtmp Client for Android][].
|
||||
[RTMP]: https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol
|
||||
[LibRtmp Client for Android]: https://github.com/ant-media/LibRtmp-Client-for-Android
|
||||
|
||||
## License note ##
|
||||
## License note
|
||||
|
||||
Please note that whilst the code in this repository is licensed under
|
||||
[Apache 2.0][], using this extension requires depending on LibRtmp Client for
|
||||
@ -15,16 +15,16 @@ Android, which is licensed separately.
|
||||
|
||||
[Apache 2.0]: https://github.com/google/ExoPlayer/blob/release-v2/LICENSE
|
||||
|
||||
## Getting the extension ##
|
||||
## Getting the module
|
||||
|
||||
The easiest way to use the extension is to add it as a gradle dependency:
|
||||
The easiest way to get the module is to add it as a gradle dependency:
|
||||
|
||||
```gradle
|
||||
implementation 'com.google.android.exoplayer:extension-rtmp:2.X.X'
|
||||
```
|
||||
|
||||
where `2.X.X` is the version, which must match the version of the ExoPlayer
|
||||
library being used.
|
||||
where `2.X.X` is the version, which must match the version of the other media
|
||||
modules 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
|
||||
@ -32,7 +32,7 @@ locally. Instructions for doing this can be found in ExoPlayer's
|
||||
|
||||
[top level README]: https://github.com/google/ExoPlayer/blob/release-v2/README.md
|
||||
|
||||
## Using the extension ##
|
||||
## Using the module
|
||||
|
||||
ExoPlayer requests data through `DataSource` instances. These instances are
|
||||
obtained from instances of `DataSource.Factory`, which are instantiated and
|
||||
@ -47,7 +47,7 @@ doesn't need to handle any other protocols, you can update any
|
||||
`DataSource.Factory` instantiations in your application code to use
|
||||
`RtmpDataSource.Factory` directly.
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.ext.rtmp.*`
|
||||
belong to this module.
|
||||
|
@ -1,9 +1,9 @@
|
||||
# ExoPlayer VP9 extension #
|
||||
# ExoPlayer VP9 extension
|
||||
|
||||
The VP9 extension provides `LibvpxVideoRenderer`, which uses libvpx (the VPx
|
||||
decoding library) to decode VP9 video.
|
||||
|
||||
## License note ##
|
||||
## License note
|
||||
|
||||
Please note that whilst the code in this repository is licensed under
|
||||
[Apache 2.0][], using this extension also requires building and including one or
|
||||
@ -11,7 +11,7 @@ more external libraries as described below. These are licensed separately.
|
||||
|
||||
[Apache 2.0]: https://github.com/google/ExoPlayer/blob/release-v2/LICENSE
|
||||
|
||||
## Build instructions (Linux, macOS) ##
|
||||
## Build instructions (Linux, macOS)
|
||||
|
||||
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
|
||||
@ -65,14 +65,14 @@ ${NDK_PATH}/ndk-build APP_ABI=all -j4
|
||||
[top level README]: https://github.com/google/ExoPlayer/blob/release-v2/README.md
|
||||
[Android NDK]: https://developer.android.com/tools/sdk/ndk/index.html
|
||||
|
||||
## Build instructions (Windows) ##
|
||||
## Build instructions (Windows)
|
||||
|
||||
We do not provide support for building this extension on Windows, however it
|
||||
should be possible to follow the Linux instructions in [Windows PowerShell][].
|
||||
|
||||
[Windows PowerShell]: https://docs.microsoft.com/en-us/powershell/scripting/getting-started/getting-started-with-windows-powershell
|
||||
|
||||
## Notes ##
|
||||
## Notes
|
||||
|
||||
* Every time there is a change to the libvpx checkout:
|
||||
* Android config scripts should be re-generated by running
|
||||
@ -83,7 +83,7 @@ should be possible to follow the Linux instructions in [Windows PowerShell][].
|
||||
`generate_libvpx_android_configs.sh` and the makefiles may need to be modified
|
||||
to work with arbitrary versions of libvpx.
|
||||
|
||||
## Using the extension ##
|
||||
## Using the module
|
||||
|
||||
Once you've followed the instructions above to check out, build and depend on
|
||||
the extension, the next step is to tell ExoPlayer to use `LibvpxVideoRenderer`.
|
||||
@ -111,7 +111,7 @@ a custom track selector the choice of `Renderer` is up to your implementation,
|
||||
so you need to make sure you are passing an `LibvpxVideoRenderer` to the
|
||||
player, then implement your own logic to use the renderer for a given track.
|
||||
|
||||
## Using the extension in the demo application ##
|
||||
## Using the module in the demo application
|
||||
|
||||
To try out playback using the extension in the [demo application][], see
|
||||
[enabling extension decoders][].
|
||||
@ -119,7 +119,7 @@ To try out playback using the extension in the [demo application][], see
|
||||
[demo application]: https://exoplayer.dev/demo-application.html
|
||||
[enabling extension decoders]: https://exoplayer.dev/demo-application.html#enabling-extension-decoders
|
||||
|
||||
## Rendering options ##
|
||||
## Rendering options
|
||||
|
||||
There are two possibilities for rendering the output `LibvpxVideoRenderer`
|
||||
gets from the libvpx decoder:
|
||||
@ -144,7 +144,7 @@ gets from the libvpx decoder:
|
||||
Note: Although the default option uses `ANativeWindow`, based on our testing the
|
||||
GL rendering mode has better performance, so should be preferred.
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.ext.vp9.*`
|
||||
belong to this module.
|
||||
|
@ -4,16 +4,16 @@ This extension provides a Scheduler implementation which uses [WorkManager][].
|
||||
|
||||
[WorkManager]: https://developer.android.com/topic/libraries/architecture/workmanager.html
|
||||
|
||||
## Getting the extension
|
||||
## Getting the module
|
||||
|
||||
The easiest way to use the extension is to add it as a gradle dependency:
|
||||
The easiest way to get the module is to add it as a gradle dependency:
|
||||
|
||||
```gradle
|
||||
implementation 'com.google.android.exoplayer:extension-workmanager:2.X.X'
|
||||
```
|
||||
|
||||
where `2.X.X` is the version, which must match the version of the ExoPlayer
|
||||
library being used.
|
||||
where `2.X.X` is the version, which must match the version of the other media
|
||||
modules 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
|
||||
|
@ -1,4 +1,4 @@
|
||||
# ExoPlayer full library #
|
||||
# ExoPlayer full library
|
||||
|
||||
An empty module that depends on all of the other library modules. Depending on
|
||||
the full library is equivalent to depending on all of the other library modules
|
||||
@ -6,8 +6,8 @@ individually. See ExoPlayer's [top level README][] for more information.
|
||||
|
||||
[top level README]: https://github.com/google/ExoPlayer/blob/release-v2/README.md
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Javadoc][]: Note that this Javadoc is combined with that of other modules.
|
||||
* [Javadoc][]: Note that this Javadoc is combined with that of other modules.
|
||||
|
||||
[Javadoc]: https://exoplayer.dev/doc/reference/index.html
|
||||
|
@ -1,10 +1,10 @@
|
||||
# ExoPlayer common library module #
|
||||
# ExoPlayer common library module
|
||||
|
||||
Common code used by other ExoPlayer modules.
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Javadoc][]: Note that this Javadoc is combined with that of other modules.
|
||||
* [Javadoc][]: Note that this Javadoc is combined with that of other modules.
|
||||
|
||||
[Javadoc]: https://exoplayer.dev/doc/reference/index.html
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
# ExoPlayer core library module #
|
||||
# ExoPlayer core library module
|
||||
|
||||
The core of the ExoPlayer library.
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Javadoc][]: Note that this Javadoc is combined with that of other modules.
|
||||
* [Javadoc][]: Note that this Javadoc is combined with that of other modules.
|
||||
|
||||
[Javadoc]: https://exoplayer.dev/doc/reference/index.html
|
||||
|
@ -1,4 +1,4 @@
|
||||
# ExoPlayer DASH library module #
|
||||
# ExoPlayer DASH library module
|
||||
|
||||
Provides support for Dynamic Adaptive Streaming over HTTP (DASH) content.
|
||||
|
||||
@ -16,7 +16,7 @@ For advanced playback use cases, applications can build `DashMediaSource`
|
||||
instances and pass them directly to the player. For advanced download use cases,
|
||||
`DashDownloader` can be used directly.
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Developer Guide][].
|
||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.source.dash.*`
|
||||
|
@ -1,4 +1,4 @@
|
||||
# ExoPlayer HLS library module #
|
||||
# ExoPlayer HLS library module
|
||||
|
||||
Provides support for HTTP Live Streaming (HLS) content.
|
||||
|
||||
@ -16,7 +16,7 @@ For advanced playback use cases, applications can build `HlsMediaSource`
|
||||
instances and pass them directly to the player. For advanced download use cases,
|
||||
`HlsDownloader` can be used directly.
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Developer Guide][].
|
||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.source.hls.*` belong to
|
||||
|
@ -1,4 +1,4 @@
|
||||
# ExoPlayer SmoothStreaming library module #
|
||||
# ExoPlayer SmoothStreaming library module
|
||||
|
||||
Provides support for SmoothStreaming content.
|
||||
|
||||
@ -17,7 +17,7 @@ For advanced playback use cases, applications can build `SsMediaSource`
|
||||
instances and pass them directly to the player. For advanced download use cases,
|
||||
`SsDownloader` can be used directly.
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Developer Guide][].
|
||||
* [Javadoc][]: Classes matching
|
||||
|
@ -1,8 +1,8 @@
|
||||
# ExoPlayer transformer library module #
|
||||
# ExoPlayer transformer library module
|
||||
|
||||
Provides support for transforming media files.
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.transformer.*`
|
||||
belong to this module.
|
||||
|
@ -1,8 +1,8 @@
|
||||
# ExoPlayer UI library module #
|
||||
# ExoPlayer UI library module
|
||||
|
||||
Provides UI components and resources for use with ExoPlayer.
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Developer Guide][].
|
||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.ui.*`
|
||||
|
2
testdata/README.md
vendored
2
testdata/README.md
vendored
@ -1,4 +1,4 @@
|
||||
# ExoPlayer test data #
|
||||
# ExoPlayer test data
|
||||
|
||||
Provides sample data for ExoPlayer unit and instrumentation tests.
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
# ExoPlayer test utils #
|
||||
# ExoPlayer test utils
|
||||
|
||||
Provides utility classes for ExoPlayer unit and instrumentation tests.
|
||||
|
||||
## Links ##
|
||||
## Links
|
||||
|
||||
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.testutil` belong to this
|
||||
module.
|
||||
|
Loading…
x
Reference in New Issue
Block a user