No description
Find a file
olly f8c05ebd93 Better selection of default start position for live
If the live window has a small duration, we currently
end up setting the default start position to be right
at the start of the window. This increases the chance
of a BehindLiveWindowException.

With this change we impose a minimum 5s gap between
the start of the window and the default start position.
If the window is *really* small (<10s) then doing this
would push the default start position too close to the
end of the window. We don't have much time to play with
in either direction in this case, so we put the default
start position in the middle of the window and hope for
the best.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=132054802
2016-09-02 16:20:44 +01:00
demo Support duplicate entries in ConcatenatingMediaSource 2016-09-02 16:18:04 +01:00
extensions DataSourceException: Used to specify a DataSource error. 2016-09-02 16:20:06 +01:00
gradle/wrapper Fix third_party Android Studio / Gradle config 2016-09-02 16:13:41 +01:00
library Better selection of default start position for live 2016-09-02 16:20:44 +01:00
playbacktests Better selection of default start position for live 2016-09-02 16:20:44 +01:00
testutils DataSourceException: Used to specify a DataSource error. 2016-09-02 16:20:06 +01:00
.gitignore Cronet extension project setup 2016-08-10 20:06:43 +01:00
build.gradle Fix third_party Android Studio / Gradle config 2016-09-02 16:13:41 +01:00
CONTRIBUTING.md Fix broken documentation 2016-08-31 15:25:25 +01:00
gradle.properties Tweak project structure 2016-08-08 11:53:22 +01:00
gradlew Initial drop. 1.0.10. 2014-06-16 12:56:04 +01:00
gradlew.bat Cleanup following #884 2015-10-27 21:03:16 +00:00
ISSUE_TEMPLATE Add missing issue template. 2016-06-15 19:41:32 +01:00
LICENSE Initial drop. 1.0.10. 2014-06-16 12:56:04 +01:00
README.md Fix broken link 2016-08-31 15:25:07 +01:00
RELEASENOTES.md Bump V1 to 1.5.10 + Fix incorrect Javadoc 2016-08-31 13:21:38 +01:00
settings.gradle Create Cronet extension in v2 2016-08-31 15:25:31 +01:00

ExoPlayer

ExoPlayer is an application level media player for Android. It provides an alternative to Androids MediaPlayer API for playing audio and video both locally and over the Internet. ExoPlayer supports features not currently 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

Using ExoPlayer

Via jCenter

The easiest way to get started using ExoPlayer is by including the following in your project'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.

As source

ExoPlayer can also be built from source using Gradle. You can include it as a dependent project like so:

// 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:

./gradlew jarRelease

and copy library.jar to the libs folder of your new project.

Developing ExoPlayer

Project branches

  • The project has dev-vX and release-vX branches, where X is the major version number.
  • Most development work happens on the dev-vX branch with the highest major version number. Pull requests should normally be made to this branch.
  • Bug fixes may be submitted to older dev-vX branches. When doing this, the same (or an equivalent) fix should also be submitted to all subsequent dev-vX branches.
  • A release-vX branch holds the most recent stable release for major version X.

Using Android Studio

To develop ExoPlayer using Android Studio, simply open the ExoPlayer project in the root directory of the repository.