Mechanical README cleanups

PiperOrigin-RevId: 401767060
This commit is contained in:
olly 2021-10-08 15:31:27 +01:00 committed by bachinger
parent 1d29f12677
commit e7c6ed5e7f
28 changed files with 144 additions and 144 deletions

View File

@ -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 Androids MediaPlayer API for playing audio and video both
@ -7,7 +7,7 @@ supported by Androids 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.

View File

@ -1,4 +1,4 @@
# Cast demo application #
# Cast demo application
This folder contains a demo application that showcases ExoPlayer integration
with Google Cast.

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.*`

View File

@ -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.

View File

@ -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.*`

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.*`

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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
View File

@ -1,4 +1,4 @@
# ExoPlayer test data #
# ExoPlayer test data
Provides sample data for ExoPlayer unit and instrumentation tests.

View File

@ -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.