No description
Find a file
olly 83e466d129 Toward API finalization
- Remove getNewPlayingPeriodIndex from MediaSource
- Remove all absolute references to period indices from
  Window. Their existence prevents ConcatenatingMediaSource
  from being able to efficiently handle children with
  large numbers of entries (e.g. a cursor backed source),
  since it would copy all windows into its merged timeline.
- Fix ExoPlayerImplInternal to attempt a restart in the
  case that the loading (but not yet prepared) period is
  removed, in absence of a playing period.
- Implement logic for finding the "next" period in the old
  timeline when attempting a retry.

Removing some of the nasty US<->MS conversions left as a
virtual TODO.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=130659973
2016-08-31 15:25:18 +01:00
demo Demo app bug fixes 2016-08-31 15:25:17 +01:00
extensions Remove playWhenReadyCommitted. 2016-08-31 15:25:06 +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 Toward API finalization 2016-08-31 15:25:18 +01:00
playbacktests Prepare for removal of period based ExoPlayer methods 2016-08-31 15:25:17 +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 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 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.