No description
Find a file
olly 153c0aef2b Rework MediaPeriod track selection
This change allows MediaPeriod instances to replace
SampleStream instances when the selection isn't changing.
It also allows MediaPeriod instances to retain a
SampleStream but indicate that the renderer consuming
from it needs to be reset.

The change is used to fix the ref'd bug, and is used to
do the same thing in HLS without the need for the source
to report a discontinuity. Note that reporting discontinuity
could cause unnecessary failure when used as a child of
MergingMediaSource.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=129971782
2016-08-31 13:22:15 +01:00
demo MatroskaExtractor: Implement subsample encryption 2016-08-31 13:20:50 +01:00
extensions Hide the shutter view when no video is being rendered. 2016-08-10 20:10:14 +01:00
gradle/wrapper Increase gradle version to 2.10 and Android Plugin for Gradle to 1.5. 2016-06-15 19:37:45 +01:00
library Rework MediaPeriod track selection 2016-08-31 13:22:15 +01:00
playbacktests Expose the seekable window. 2016-08-10 20:07:56 +01:00
testutils CacheSpan and Util.un/escapeFileName tests. 2016-08-10 20:06:06 +01:00
.gitignore Cronet extension project setup 2016-08-10 20:06:43 +01:00
build.gradle Finalize v2 directory + package name 2016-07-08 12:12:09 +01:00
CONTRIBUTING.md Fix branch documentation 2016-07-28 20:04:40 +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 branch documentation 2016-07-28 20:04:40 +01:00
RELEASENOTES.md Bump V1 to 1.5.10 + Fix incorrect Javadoc 2016-08-31 13:21:38 +01:00
settings.gradle Finalize v2 directory + package name 2016-07-08 12:12:09 +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.