
An accumulation of several fixes: 1. Change to HlsExtractorWrapper is just a move + documentating things that were already true + adding a precondition in the configureSpliceTo method. 2. Change in HlsSampleSource.readData ensures that configureSpliceTo and hasSamples aren't called on an extractor that isn't prepared. 3. The other change in HlsSampleSource ensures the correct "previous" TsChunk is used. If a TsChunk fails to load and is replaced, the previous chunk should be the one before that whose load completed successfully. 4. Determine switchingVariantSpliced based on the actual format of the previous chunk, so it's set correctly in the case of a TsChunk load failure and subsequent replacement.
ExoPlayer Readme
Description
ExoPlayer is an application level media player for Android. It provides an alternative to Android’s MediaPlayer API for playing audio and video both locally and over the Internet. ExoPlayer supports features not currently supported by Android’s 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
- The developer guide provides a wealth of information to help you get started.
- The class reference documents the ExoPlayer library classes.
- The release notes document the major changes in each release.
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:
-
Install Eclipse and setup the Android SDK.
-
Open Eclipse and navigate to File->Import->General->Existing Projects into Workspace.
-
Select the root directory of the repository.
-
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:
// settings.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.
The project is also available on jCenter:
compile 'com.google.android.exoplayer:exoplayer:rX.X.X'
Where rX.X.X
should be replaced with the desired version.