- Fix bug where we'd try and call replaceStream having already notified the renderer that the current stream is final. This could occur if a period was added to the end of the playlist. - If the current period being played is removed and a new period to play cannot be resolved, assume we've gone off the end of the playlist and transition to the ended state. This allows the current source to be re-used (unlike the previous behavior of considering it an error). Treat valid seeks that cannot be resolved due to concurrent timeline update similarly. - Add seek sanity check back to ExoPlayerImpl. Meh. It's probably best to keep this, since it stops the exposed window index being invalid w.r.t the exposed timeline. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=141167151 |
||
|---|---|---|
| demo | ||
| extensions | ||
| gradle/wrapper | ||
| library | ||
| playbacktests | ||
| testutils | ||
| .gitignore | ||
| build.gradle | ||
| CONTRIBUTING.md | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| ISSUE_TEMPLATE | ||
| LICENSE | ||
| README.md | ||
| RELEASENOTES.md | ||
| settings.gradle | ||
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.
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
The easiest way to get started using ExoPlayer is to add it as a gradle
dependency. You need to make sure you have the jcenter repository included in
the build.gradle file in the root of your project:
repositories {
jcenter()
}
Next, include the following in your module's build.gradle file:
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.
Developing ExoPlayer
Project branches
- The project has
dev-vXandrelease-vXbranches, whereXis the major version number. - Most development work happens on the
dev-vXbranch with the highest major version number. Pull requests should normally be made to this branch. - Bug fixes may be submitted to older
dev-vXbranches. When doing this, the same (or an equivalent) fix should also be submitted to all subsequentdev-vXbranches. - A
release-vXbranch holds the most recent stable release for major versionX.
Using Android Studio
To develop ExoPlayer using Android Studio, simply open the ExoPlayer project in the root directory of the repository.