No description
Find a file
Oliver Woodman 2422912be8 Refactor HLS support.
- The HlsSampleSource now owns the extractor. TsChunk is more or less dumb.
  The previous model was weird, because you'd end up "reading" samples from
  TsChunk objects that were actually parsed from the previous chunk (due to
  the way the extractor was shared and maintained internal queues).
- Split out consuming and reading in the extractor.
- Make it so we consume 5s ahead. This is a window we allow for uneven
  interleaving, whilst preventing huge read-ahead (e.g. in the case of sparse
  ID3 samples).
- Avoid flushing the extractor for a discontinuity until it has been fully
  drained of previously parsed samples. This avoids skipping media shortly
  before discontinuities.
- Also made start-up faster by avoiding double-loading the first segment.

Issue: #3
2014-10-28 19:25:44 +00:00
demo Add ID3 Timed Metadata support for HLS #67 2014-10-28 13:24:12 -04:00
gradle/wrapper Initial drop. 1.0.10. 2014-06-16 12:56:04 +01:00
library Refactor HLS support. 2014-10-28 19:25:44 +00:00
.gitignore Add gitignore 2014-07-18 23:00:12 +09:00
build.gradle Update tools version 2014-07-18 23:00:44 +09:00
CONTRIBUTING.md Initial drop. 1.0.10. 2014-06-16 12:56:04 +01:00
gradle.properties Initial drop. 1.0.10. 2014-06-16 12:56:04 +01:00
gradlew Initial drop. 1.0.10. 2014-06-16 12:56:04 +01:00
gradlew.bat Initial drop. 1.0.10. 2014-06-16 12:56:04 +01:00
LICENSE Initial drop. 1.0.10. 2014-06-16 12:56:04 +01:00
README.md Update README.md 2014-07-18 23:14:07 +09:00
settings.gradle Initial drop. 1.0.10. 2014-06-16 12:56:04 +01:00

ExoPlayer Readme

Description

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 (as of KitKat), including DASH and SmoothStreaming adaptive playbacks, persistent caching and custom renderers. Unlike the MediaPlayer API, ExoPlayer is easy to customize and extend, and can be updated through Play Store application updates.

Developer guide

The ExoPlayer developer guide provides a wealth of information to help you get started.

Reference documentation

Class reference (Documents the ExoPlayer library classes).

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 Eclipse

The repository includes Eclipse projects for both the ExoPlayer library and its accompanying demo application. To get started:

  1. Install Eclipse and setup the Android SDK.

  2. Open Eclipse and navigate to File->Import->General->Existing Projects into Workspace.

  3. Select the root directory of the repository.

  4. Import the ExoPlayerDemo and ExoPlayerLib projects.

Using Gradle

ExoPlayer can also be built using Gradle. You can include it as a dependent project and build from source. e.g.

// setting.gradle
include ':app', ':..:ExoPlayer:library'

// app/build.gradle
dependencies {
    compile project(':..:ExoPlayer:library')
}

If you want to use ExoPlayer as a jar, run:

./gradlew jarRelease

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