
The following sequence was problematic: 1. See start of a cluster having not output a seek map. Decide to seek for the cues. Enter CUES_STATE_BUILDING state. 2. Error occurs before seek map is output. 3. ExtractorSampleSource isn't prepared yet, so restarts from the start of the stream. 4. See start of the same cluster having not output a seek map. This time cuesState is CUES_STATE_BUILDING, so we just carry on. We then fill the buffer with sample data, despite the source not being prepared, at which point we get stuck. It's unclear to me why cuesState needed three states, so I've rm'd the BUILDING state. Step (4) above will now do the same thing as in step (1). If the failure repeats, we'll eventually fail, which is WAI.
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.