olly 3501332dd3 Converge track selection to a single place.
This change merges the duties of FormatEvaluator into
TrackSelection classes, so that both the static and
dynamic parts of track selection are implemented in a
single place.

New feature: Demo app now allows you to enable random
adaptation in the track selection dialog.

Notes:

- It should be quite easy to allow application side
track blacklisting in addition to source side, as an
extension to this. That would effectively allow
applications to do seamless/deferred track selection
by creating a TrackSelection with all tracks enabled,
and then toggling the blacklist flags to select the
ones they want to be active.

- It should be trivial to implement format blacklisting
for DASH and SS as an extension to this. Will do in a
follow up CL.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=128707517
2016-07-28 20:04:40 +01:00
2016-07-28 20:04:40 +01:00
2016-07-22 22:41:35 +01:00
2016-07-28 20:04:40 +01:00
2014-06-16 12:56:04 +01:00
2015-10-27 21:03:16 +00:00
2016-06-15 19:41:32 +01:00
2014-06-16 12:56:04 +01:00
2016-07-28 20:04:40 +01:00
2016-06-15 19:43:17 +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.

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 project has dev-vX and release-vX branches, where X is the major version number.
  • Most development work happens on the dev-vX branch with the highest major version number. Pull requests should normally be made to this branch.
  • Bug fixes may be submitted to older dev-vX branches. When doing this, the same (or an equivalent) fix should also be submitted to all subsequent dev-vX branches.
  • A release-vX branch holds the most recent stable release for major version X.

Using Android Studio

To develop ExoPlayer using Android Studio, simply open the ExoPlayer project in the root directory of the repository.

Description
About Jetpack Media3 support libraries for media use cases, including ExoPlayer, an extensible media player for Android
Readme Apache-2.0 752 MiB
Languages
Java 98.3%
Kotlin 0.6%
C++ 0.4%
GLSL 0.3%
PostScript 0.2%
Other 0.1%