No description
Find a file
olly 1d9d68dd12 Assume samples are at start of mdat when offset is negative
We've seen this issue reported three times now, so it's
obviously not an isolated problem. Do you think anything
bad will happen to non-SmoothStreaming playback cases if
I do this? I suspect not, but if you feel strongly I can
easily add a FLAG_WORKAROUND_X flag for it, and enable
it for SmoothStreaming only.

https://github.com/google/ExoPlayer/issues/2292
https://github.com/google/ExoPlayer/issues/2101
https://github.com/google/ExoPlayer/issues/1152

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=143583714
2017-01-04 23:07:58 +00:00
demo Fix bad indent + clean up Format formatting 2017-01-04 23:04:07 +00:00
extensions Add a new flag to DataSpec which permits content to be cached even if its length can not be resolved 2017-01-04 23:07:58 +00:00
gradle/wrapper Update gradle wrapper 2016-10-24 18:42:37 +01:00
library Assume samples are at start of mdat when offset is negative 2017-01-04 23:07:58 +00:00
playbacktests Fix GTS playback test timestamp verifications 2017-01-04 23:07:57 +00:00
testutils Improving handling of atoms with size less than header in FragmentedMp4Extractor. 2016-12-16 16:21:16 +00:00
.gitignore Cronet extension project setup 2016-08-10 20:06:43 +01:00
build.gradle Revert "Improving handling of atoms with size less than header in FragmentedMp4Extractor." 2017-01-04 22:32:28 +00:00
CONTRIBUTING.md Fix broken documentation 2016-08-31 15:25:25 +01:00
gradle.properties Tweak project structure 2016-08-08 11:53:22 +01:00
gradlew Initial drop. 1.0.10. 2014-06-16 12:56:04 +01:00
gradlew.bat Cleanup following #884 2015-10-27 21:03:16 +00:00
ISSUE_TEMPLATE Revert: Rm newline 2016-12-06 21:09:44 +00:00
LICENSE Initial drop. 1.0.10. 2014-06-16 12:56:04 +01:00
README.md Bump version to 2.0.2 + document inclusion of OkHttp extension 2016-10-05 21:20:34 +01:00
RELEASENOTES.md Fix typo in release notes 2017-01-04 23:07:58 +00:00
settings.gradle Create Cronet extension in v2 2016-08-31 15:25:31 +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

The easiest way to get started using ExoPlayer is to add it as a gradle dependency. You need to make sure you have the jcenter repository included in the build.gradle file in the root of your project:

repositories {
    jcenter()
}

Next, include the following in your module'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.

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.