No description
Find a file
olly 8e717e2dee Properly disable sample queues when not selected.
- The main goal of this change is to remove the need for
  discardSamplesForDisabledTracks() in continueBuffering
  in HlsTrackStreamWrapper and ExtractorSampleSource. As
  a result we'll also save one Allocation per disabled
  track.
- Another benefit of this change is that Allocator.trim
  calls can no longer be dropped. This could previously
  happen on player release if the playback thread's
  Looper quit before delivery of onLoadCanceled which
  performed the trim in the case that a load needed to be
  canceled at the time of the release.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=123957434
2016-06-15 19:42:03 +01:00
demo Show toast if media contains only unplayable audio/video. 2016-06-15 19:42:03 +01:00
extensions Make ExoPlayer systrace consistent. 2016-06-15 19:42:03 +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 Properly disable sample queues when not selected. 2016-06-15 19:42:03 +01:00
playbacktests/src/main ExoPlayer V2 Refactor - Steps 1/2. 2016-06-15 18:53:40 +01:00
third_party Update moe to include third_party jars. 2016-06-15 19:41:33 +01:00
.gitignore Add FFmpeg extension. 2016-06-15 19:41:33 +01:00
build.gradle Upgrade gradle to version 2.1.0 to benefit from instant run. 2016-06-15 19:41:29 +01:00
CONTRIBUTING.md Guidelines on filing issues + release notes update. 2016-06-15 19:37:44 +01:00
gradle.properties Misc configuration updates for V2. 2016-06-15 19:38:05 +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 Update README/RELEASENOTES from main. 2016-06-15 19:39:06 +01:00
RELEASENOTES.md Update README/RELEASENOTES from main. 2016-06-15 19:39:06 +01:00
settings.gradle Add FFmpeg extension. 2016-06-15 19:41:33 +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.

News

Read news, hints and tips on the news page.

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 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.