- 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 20 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 -
The caller will often have C.LENGTH_UNSET already, and it's awkward to force them to do the conversion themselves. PiperOrigin-RevId: 312276810
olly committed -
PiperOrigin-RevId: 312266156
olly committed -
- Remove scratchStyleMatches output parameter from WebvttCueParser. - Switch from String[] to Set<String> for representing classes. - In-line WebvttCssStyle.reset() since it's not used anywhere else. PiperOrigin-RevId: 312249552
ibaker committed
-
- 18 May, 2020 6 commits
-
-
PiperOrigin-RevId: 312131816
olly committed -
PiperOrigin-RevId: 312130813
olly committed -
Issue: #7309 PiperOrigin-RevId: 312115330
aquilescanta committed -
- The remove(DataSpec) method was confusing because it ignored the DataSpec position and range, and instead removed all data with a matching cache key. - The remove(String) method seems better put directly on the Cache interface. PiperOrigin-RevId: 312113302
olly committed -
PiperOrigin-RevId: 312096467
ibaker committed -
This is currently only parsed if the CSS class is specified directly on the <ruby> tag (e.g. <ruby.myClass>) PiperOrigin-RevId: 312091710
ibaker committed
-