- 29 May, 2020 9 commits
-
-
PiperOrigin-RevId: 313630376
olly committed -
This fixes an issue where the output track's sample format is null for rawCC captions when endTracks method is called. PiperOrigin-RevId: 313622631
olly committed -
PiperOrigin-RevId: 313605791
bachinger committed -
PiperOrigin-RevId: 313596831
tonihei committed -
If the sample times don't overlap and are independent, splicing makes no difference because all samples (starting from the first one, which must be a keyframe) will be appended to the end of the queue anyway. PiperOrigin-RevId: 313594372
tonihei committed -
PiperOrigin-RevId: 313573424
bachinger committed -
PiperOrigin-RevId: 313566474
olly committed -
PiperOrigin-RevId: 313556143
tonihei committed -
PiperOrigin-RevId: 313481722
olly committed
-
- 27 May, 2020 13 commits
-
-
We aim to have the same media item instance published in the timeline that is passed to the createMediaSource(mediaItem) method. This means when the manifest uri is manually replaced by a developer, the media item published in the next timeline update is still the same. Note: This leads to the fact that the manifest published in that timeline is loaded from a different URI than the URI of the media item in the same timeline. PiperOrigin-RevId: 313375421
bachinger committed -
PiperOrigin-RevId: 313372995
Oliver Woodman committed -
A future implementation will depend on MediaParser. PiperOrigin-RevId: 313367998
aquilescanta committed -
- The new CacheWriter is simplified somewhat - Blocking on PriorityTaskManager.proceed is moved out of CacheWriter and into the Downloader tasks. This is because we want to shift only the caching parts of the Downloaders onto their Executors, whilst keeping the blocking parts on the main Downloader threads. Else we can end up "using" the Executor threads indefinitely whilst they're blocked. Issue: #5978 PiperOrigin-RevId: 313222923
olly committed -
I skipped it where it didn't make sense (e.g. singleton lists, or lists where all elements are identical). PiperOrigin-RevId: 313217398
ibaker committed -
Add an `_` in long constants. Eg: 10000 => 10_000. I'm proposing this change because I have had multiple missread due to confusing the number of 0 in a long number. More specifically, added an underscore to all number matching: `final.*\ [0-9]{2,}000;` PiperOrigin-RevId: 313186920krocard committed -
The test was flaky because it didn't wait for pending commands to finish after pausing the test playback. Also add more debug information to the toString() method because the expected and actual state only differed in the nextAdGroupIndex in the flaky case. PiperOrigin-RevId: 313175919
tonihei committed -
PiperOrigin-RevId: 313171970
tonihei committed -
Sometimes it's useful to be able to block until something on some other thread "really has finished". This will be needed for moving caching operations onto the executor in Downloader implementations, since we need to guarantee that Downloader.download doesn't return until it's no longer modifying the underlying cache. One solution to this is of course just to not interrupt the thread that's blocking on the condition variable, but there are cases where you do need to do this in case the thread is at some other point in its execution. This is true for Downloader implementations, where the Download.download thread will also be blocking on PriorityTaskManager.proceed. Arranging to conditionally interrupt the thread based on where it's got to is probably possible, but seems complicated and error prone. Issue: #5978 PiperOrigin-RevId: 313152413
olly committed -
Every timeline refresh currently assumes that it corresponds to a manifest refresh and issues the respective load events. However, there are other timeline updates that don't have a manifest refresh (e.g. ad state updates)and thus shouldn't issue these events. PiperOrigin-RevId: 313150489
tonihei committed -
This ensure style themes are correctly applied. issue:#7357 PiperOrigin-RevId: 313145345
tonihei committed -
This is necessary now we have Guava in debug (no-minified) apps. Also switch to AndroidX multidex to remove the support library dependency. Temporarily we need to add an Application class, as internal jetification doesn't seem to handle declaring MultiDexApplication in AndroidManifest.xml. issue:#7421 PiperOrigin-RevId: 313145023
andrewlewis committed -
This fixes the "cannot access ListenableFuture" build error, even though it seems on the surface like we shouldn't need a Guava dependency here. There's more info about what's going on here: https://blog.gradle.org/guava PiperOrigin-RevId: 312712991
ibaker committed
-
- 24 May, 2020 1 commit
-
-
Noam Tamim committed
-
- 21 May, 2020 17 commits
-
-
A recent change tried to make this condition clearer by using Integer.MAX_VALUE, but this only works if the comparison also compares against larger values. PiperOrigin-RevId: 312697530
tonihei committed -
PiperOrigin-RevId: 312679454
tonihei committed -
The code that uses these variables is already commneted out. Android Studio complains about unused variables and code and it's better to comment them out as long as they are not used. PiperOrigin-RevId: 312660512
tonihei committed -
This change adds an overloaded createMediaSource method which allows developers to pass in a media item with a in-memory manifest. Without this method the developer would not have a chance to pass in a non-dummy media item when using the factory for creting a DASH media source with an in-memory manifest. PiperOrigin-RevId: 312660418
bachinger committed -
Previously if the AudioCapabilities reported that an encoding/channel count was supported, DefaultAudioSink could try to play it via passthrough. However, DefaultAudioSink does not support passthrough of every possible format (for example, it's likely that AAC passthrough does not work given it's never been tested and recent GitHub issues indicate that trying to use it leads to no audio being played). Add additional checks to make sure the encoding is in the list of encodings that are known to work with passthrough in DefaultAudioSink. issue:#7404 PiperOrigin-RevId: 312651358
andrewlewis committed -
A subsequent change will rename it to CacheWriter and make it instantiable. Issue: #5978 PiperOrigin-RevId: 312648623
olly committed -
https://github.com/google/ExoPlayer/commit/78c850a88579beb5ebf2c487a0bdd45a97d0c881
*** Original commit *** Remove set timeout on release() and setSurface() Removes the experimental methods to set a timeout when releasing the player and setting the surface. *** PiperOrigin-RevId: 312647457
christosts committed -
PiperOrigin-RevId: 312646461
bachinger committed -
- To make it clear that cache keys are for whole resources - To explicitly make it clear to implementors that deriving a cache key from position and length is invalid. We've seen at least one developer trying to do this [1], so it seems worthwhile to be explicit! [1] https://github.com/google/ExoPlayer/issues/5978#issuecomment-618977036 Issue: #5978 PiperOrigin-RevId: 312643930
olly committed -
It currently crashes if the samples change such that the persisted position is no longer within bounds. PiperOrigin-RevId: 312554337
olly committed -
PiperOrigin-RevId: 312481058
ibaker committed -
PiperOrigin-RevId: 312479370
samrobinson committed -
PiperOrigin-RevId: 312479354
ibaker committed -
Issue:#7338 PiperOrigin-RevId: 312470913
olly committed -
PiperOrigin-RevId: 312467496
bachinger committed -
Guava is heavily optimized for Android and the impact on binary size is minimal (and outweighed by the organic growth of the ExoPlayer library). This change also replaces Util.toArray() with Guava's Ints.toArray() in order to introduce a Guava usage into a range of modules. PiperOrigin-RevId: 312449093
ibaker committed -
This will replace the need to use CacheUtil.getCached, and is part of refactoring CacheUtil to only do writing (it will be renamed to CacheWriter in a subsequent change). PiperOrigin-RevId: 312366040
olly committed
-