- 03 Feb, 2021 4 commits
-
-
This is a more targeted workaround, which still allows for the containing package name to be obfuscated. #minor-release PiperOrigin-RevId: 355381201
olly committed -
#minor-release PiperOrigin-RevId: 355203044
olly committed -
* Move cherrypicked changes from dev-v2 to 2.13.0 * Use a bulleted list instead of comma-separated. * Standardise everything into present, imperative sentences. * Remove a couple of mixed-font words (I left cases with a separating apostrophe, as these seemed visually clearer). * Merge multiple issue links into a single set of parentheses. #minor-release PiperOrigin-RevId: 355180143
ibaker committed -
#minor-release PiperOrigin-RevId: 355159635
ibaker committed
-
- 02 Feb, 2021 1 commit
-
-
Note: We only support pro-guard on a best effort basis, and developers should use R8 whenever possible. #minor-release PiperOrigin-RevId: 355129695
olly committed
-
- 01 Feb, 2021 17 commits
-
-
#minor-release PiperOrigin-RevId: 354949992
kimvde committed -
#minor-release PiperOrigin-RevId: 354938190
kimvde committed -
Without this no error is currently logged or propagated to EventLogger. The propagation doesn't happen because MergingMediaSource.ForwardingEventListener only propagates events originating from the "main" source in the merge: <unknown commit> #minor-release PiperOrigin-RevId: 354902467
ibaker committed -
We can dequeue as part of getting output buffers (or output buffer info) in `MediaCodecAdapterWrapper`, which simplifies the caller slightly. Also try to make minor clarifications in method naming in `TransformerAudioRenderer`. #minor-release PiperOrigin-RevId: 354890796
andrewlewis committed -
The caller knows whether it's queued end-of-stream, so we can remove the return value of the method. #minor-release PiperOrigin-RevId: 354888298
andrewlewis committed -
This also moves DefaultHttpDataSource to common, which seems sensible, else non-player components that need a DataSource don't have any useful concrete implementations. We should think about moving some of the other concrete implementations to common as well. PiperOrigin-RevId: 354738925
olly committed -
This is needed to move it to common, since we don't want to start adding any nullness exemptions for the common module. PiperOrigin-RevId: 354734715
olly committed -
- Store output format in `MediaCodecAdapterWrapper` when we get a format from the codec, instead of creating it on demand. - Make format building code not audio-specific. - Remove `MediaCodecAdapterWrapper.getConfigFormat` and instead keep track of the input/output formats in the renderer. This will mean that the code still works if an audio processor changes the audio format in future. - Make exceptions thrown during audio rendering use the same (input) renderer format. - Misc other minor cleanup. #minor-release PiperOrigin-RevId: 354556619
andrewlewis committed -
Add an interface to muxers to allow tests to pass a dumpable muxer. #minor-release PiperOrigin-RevId: 354543388
andrewlewis committed -
IMA can now handle the full locale code properly. PiperOrigin-RevId: 354528700
olly committed -
PiperOrigin-RevId: 354293679
Oliver Woodman committed -
Thanks to the move of the Player API to common, the cast player no longer need to depend on core. #player-to-common PiperOrigin-RevId: 354257309
krocard committed -
- Fix comparison between a byte and 0xFF to avoid conversion of 0xFF to byte and to int again (due to numeric promotion). - Fix addition of int and byte with most significant bit set. The byte was incorrectly promoted to an int negative value. Issue:#8496 #minor-release PiperOrigin-RevId: 353865751
kimvde committed -
This is needed for the MediaFormat#getInteger calls in onConfigured(). The end-to-end playback tests this is used for have to run on API 29 anyway (because of ShadowMediaCodec and ShadowMediaCodecList functionality). #minor-release PiperOrigin-RevId: 353858622
ibaker committed -
PiperOrigin-RevId: 353858581
christosts committed -
#minor-release PiperOrigin-RevId: 353856211
andrewlewis committed -
These changes are all in 2.12.3, they shouldn't be in the 2.13.0 section. #minor-release PiperOrigin-RevId: 353855677
ibaker committed
-
- 26 Jan, 2021 1 commit
-
-
This component isn't ready to be released yet.
Ian Baker committed
-
- 25 Jan, 2021 16 commits
-
-
PiperOrigin-RevId: 353655249
ibaker committed -
#minor-release PiperOrigin-RevId: 353649545
andrewlewis committed -
They only require common. This allows their use for non-playback networking without requiring the user to depend on the whole of core. I will also make the same change for Cronet, although this needs a little more work. PiperOrigin-RevId: 353649388
olly committed -
Issue: #7565 PiperOrigin-RevId: 353649187
olly committed -
This is the last CL to move Player in common. #player-to-common PiperOrigin-RevId: 353642347
krocard committed -
`TrackSelection` had mutation methods which were to be called only internally by ExoPlayer components but were exposed in the public `Player` interface. The mutation methods have been moved out of `TrackSelection` to a new class `ExoTrackSelection`. Current track related read-only method have also been moved out, because they are actually something quite unclear. Even for a single item playlist, it's the track being buffered rather than the track being played, which is unclear. But when you have a playlist it starts to get really confusing, because if the next item is being buffered, then it's actually the last track to be buffered in the currently playing item. As a final aside, the implementations don't do proper thread synchronization to ensure visibility of updated state by the calling thread. Exposing those mutable methods in the public `Player` interface was problematic because they leaking internal concepts of `ExoPlayer`. This is also required to minimize the `Player` interface for long term stability. `ExoTrackSelection` is a subclass of `TrackSelection`. This is not ideal as an `TrackSelection` implementation could break the current immutability. This was done in order for this refactor to be simpler. A future patch will fully split the two classes. All `MediaPeriod` and `Sources` had to be updated to use the new `TrackSelection` dynamic aspect class name. An alternative would have been to break ExoPlayer's public API, keeping `TrackSelection` as the dynamic aspect name, and calling the public static aspect class `TrackSelectionState` or similar. Nevertheless, while it would have impacted less files, it would have many more small apps and casual users of ExoPlayer. #player-to-common PiperOrigin-RevId: 353637924
krocard committed -
Issue: #7565 PiperOrigin-RevId: 353616594
olly committed -
PiperOrigin-RevId: 353615959
ibaker committed -
This change fixes a bug in CronetDataSource when it makes a Range request but the server does not support Range requests and returns the entire resource. Before the fix, the CronetDataSource would read more bytes than the intended range. PiperOrigin-RevId: 353614477
christosts committed -
Issue: #7565 PiperOrigin-RevId: 353613493
olly committed -
We normally wouldn't do this kind of thing, given CronetDataSourceFactory is deprecated, but it's needed to change the cronet --> core dependency to a cronet --> common dependency. PiperOrigin-RevId: 353609198
olly committed -
`ImaAdsLoader` only loads ad media URLs once playback of the preceding ad (if any) has started, and this behavior is likely to be similar for other ad loader implementations due to limits on how long before an ad plays it is meant to be loaded. This is problematic for very short ads followed by an ad because the ad will load to the end but load control may not allow playback to start due to the total buffered duration being low. Fix this by allowing playback to start regardless of load control if we are waiting for an ad media period to prepare. An alternative fix would be to fake the ad progress in the `ImaAdsLoader` to trigger loading the next ad, but this would only allow one ad to load ahead (so the problem would remain for two short ads in a row followed by another ad). Issue: #8492 PiperOrigin-RevId: 353600088
andrewlewis committed -
Instead it uses a TrackSelection[]. #player-to-common PiperOrigin-RevId: 353584567
krocard committed -
This is necessary for the child cl that `TrackSelection` in two distinct class. It avoids to split the array version of such class too. TrackSelectionArray exist to have an immutable array of TrackSelection. Internal users are trusted to not mutate the array. One drawback of this approach is that a `TrackSelectionArray` has to be allocated on the boundary of the `Player` interface. This should not be a performance issue as this only happens on trackSelection changes, when the user calls `Player.getCurrentTrackSelections` and on `updateLoadControlTrackSelection`. #player-to-common PiperOrigin-RevId: 353582654
krocard committed -
#minor-release PiperOrigin-RevId: 353394376
ibaker committed -
PiperOrigin-RevId: 353290124
christosts committed
-
- 22 Jan, 2021 1 commit
-
-
PiperOrigin-RevId: 353254249
kimvde committed
-