
- It's probably easiest to think of this as a standalone HLS change, which is splitting out the "loading" and "consuming" sides of HlsExtractor and a good structural change in its own right. To do this, HlsExtractorWrapper becomes a final class implementing the consuming side. HlsExtractor becomes an interface defining the loading side. - The bigger picture is that, hopefully, HlsExtractor will become a lightweight extractor interface that can be used throughout the library. Because it doesn't need to implement the consuming side, we'll save on having to re-implement the consuming side for every extractor (we'll probably need one consuming side implementation for HLS/DASH/SmoothStreaming, and a second one for everything else, both of which will use SampleQueue). It's expected that the HlsExtractor interface will need to change to accommodate all use cases. - The next step in unification will be to try and have FragmentedMp4Extractor implement HlsExtractor (which will need renaming). Once this is done, I'll try and move the chunk package over to use the HlsExtractor interface.
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 (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:
-
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. e.g.
// 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.