- 03 Feb, 2021 1 commit
-
-
#minor-release PiperOrigin-RevId: 355159635
ibaker committed
-
- 02 Feb, 2021 2 commits
-
-
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 -
Main improvement is to switch away from ExoPlayerTestRunner and to split out the waiting component so that the same class can be used from Robolectric tests in the future. The only functional difference is that that BufferLengthLogAction is removed completely because the data isn't used downstream and the method of collecting this data is a bit arbitrary. PiperOrigin-RevId: 355117850
tonihei committed
-
- 01 Feb, 2021 16 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 -
PiperOrigin-RevId: 354268013
tonihei 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 -
This can happen for instrumented tests that are run on a non-Looper thread. If these tests send a message to a Looper thread to start the test procedure, they should just triger the message directly as before. PiperOrigin-RevId: 354066836
tonihei committed -
https://github.com/google/ExoPlayer/commit/91b595bd2778dc64dabb84d8a5c6b28b91f6189e
*** Original commit *** Update Gradle version to 4.1.1 This was suggested by AndroidStudio. *** PiperOrigin-RevId: 353887400
krocard committed -
This was suggested by AndroidStudio. PiperOrigin-RevId: 353879939
krocard committed
-
- 26 Jan, 2021 13 commits
-
-
Add color decoding tests to SsaDecoderTest, remove SubStation Alpha colors" from media.exolist.json.
Arnold Szabo committed -
Arnold Szabo committed
-
- The order of sample stream (and thus the order in which loads are triggered) currently depends on a Set and thus on the hash codes of the objects that change with every run. Changing to a List solves this problem. - The FakeAdaptiveDataSet directly created a static Random (with random seed) to compute the variation of chunk sizes. Changing this to an injected Random object that can always be initialized with the same seed also removed this randomness from the tests. PiperOrigin-RevId: 353878661
tonihei committed -
This is achieved by only triggering one message at a time. After triggering a message we send another to ourselves to know when the following message can be triggered. Other required changes: - The messages need to be sorted correctly (by time and creation order) - To prevent deadlocks when one thread is waiting for another, we need to add new method to Clock to indicate that the current thread is about to wait. This then allows us to trigger messages from other threads in FakeClock. - AnalyticsCollectorTest needed some adjustments: - onTimelineChanged now deterministically arrives after the initial timline is already known, so some of the period information changes from window only to full period info. - The playlistOperations test suffers from a bug that the first frame is rendered too early and that's why we now get additional events. PiperOrigin-RevId: 353877832tonihei committed -
We currently only remove messages that have already been sent to the actual Handler, not the pending ones that are only kept in the FakeClock. Fix this by also removing matching messages from the FakeClock list. PiperOrigin-RevId: 353877049
tonihei committed -
Currently only delayed messages are handled. Change this to handling all messages so that we have more control over their execution order. This requires adding a new wrapper type for the Message to support the obtainMessage + sendToTarget use case. PiperOrigin-RevId: 353876557
tonihei committed -
This functionality isn't used and there is no point in supporting it. PiperOrigin-RevId: 353876038
tonihei 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 -
PiperOrigin-RevId: 353864181
gyumin 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
-
- 25 Jan, 2021 8 commits
-
-
Arnold Szabo committed
-
Arnold Szabo committed
-
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
-