
[Step 4 - Partial, of [] - The capabilities checks previously performed in VideoFormatSelectorUtil are now performed in MediaCodecVideoTrackRenderer. This means they'll be useful for non-chunk use cases (e.g. when using ExtractorSampleSource). - Added capabilities checks for audio in MediaCodecAudioTrackRenderer. We didn't check audio capabilities previously. - Added functionality to allow a TrackRenderer to indicate the extent of its adaptive support. The idea here is that a TrackSelector (to be introduced) will have access to: (a) TrackGroups from the SampleSource that indicate whether they support adaptive playbacks and the formats of each individual track. (b) TrackRenderers that indicate whether they support adaptive playbacks as well as how capable they are of rendering formats of individual tracks. This is everything that a TrackSelector needs from the player components in order to decide how to wire things up. Note that a TrackSelector may opt to treat FORMAT_EXCEEDS_CAPABILITIES as FORMAT_HANDLED at its own risk, if it thinks that it (or the user) knows better. This is a request that we've seen from third parties for better handling cases where capabilities aren't accurately reported by the underlying platform. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=114427428
ExoPlayer
ExoPlayer is an application level media player for Android. It provides an alternative to Android’s MediaPlayer API for playing audio and video both locally and over the Internet. ExoPlayer supports features not currently 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.
News
Read news, hints and tips on the news page.
Documentation
- The developer guide provides a wealth of information to help you get started.
- The class reference documents the ExoPlayer library classes.
- The release notes document the major changes in each release.
Using ExoPlayer
Via jCenter
The easiest way to get started using ExoPlayer is by including the following in
your project's build.gradle
file:
gradle
compile 'com.google.android.exoplayer:exoplayer:rX.X.X'
where rX.X.X
is the your preferred version. For the latest version, see the
project's Releases. For more details, see the project on Bintray.
As source
ExoPlayer can also be built from source using Gradle. You can include it as a dependent project like so:
gradle
// settings.gradle
include ':app', ':..:ExoPlayer:library'
// app/build.gradle
dependencies {
compile project(':..:ExoPlayer:library')
}
As a jar
If you want to use ExoPlayer as a jar, run:
sh
./gradlew jarRelease
and copy library.jar
to the libs folder of your new project.
Developing ExoPlayer
Project branches
- The
master
branch holds the most recent minor release. - Most development work happens on the
dev
branch. - Additional development branches may be established for major features.
Using Android Studio
To develop ExoPlayer using Android Studio, simply open the ExoPlayer project in the root directory of the repository.
Using Eclipse
To develop ExoPlayer using Eclipse:
- Install Eclipse and setup the Android SDK.
- Open Eclipse and navigate to File->Import->General->Existing Projects into Workspace.
- Select the root directory of the repository.
- Import the projects.