- 06 Apr, 2021 3 commits
-
-
PiperOrigin-RevId: 366272937
samrobinson committed -
Issue: #8783 #minor-release PiperOrigin-RevId: 366265419
olly committed -
Make BaseTrackSelection blacklist and isBlacklisted methods non-final. PiperOrigin-RevId: 366256521
olly committed
-
- 01 Apr, 2021 32 commits
-
-
PiperOrigin-RevId: 366255289
olly committed -
I've removed the "by default" statements, since this now depends on how the builder was configured. PiperOrigin-RevId: 366249995
olly committed -
This ensures BUFFER_FLAG_DECODE_ONLY is set on samples that are before the playback start position, in the case that the queue is created after the start position is set. #minor-release PiperOrigin-RevId: 366249188
olly committed -
When playing TrueHD streams, it's possible that the first decoded buffer is empty, and that the channel count and sample rate are still unknown. To correct for this, defer determining the format until a buffer that will actually be output from the decoder has been obtained, and only then query the channel count and sample rate. Issue: #8616 #minor-release PiperOrigin-RevId: 366246245
olly committed -
PiperOrigin-RevId: 366240390
samrobinson committed -
The condition is meant to be unblocked whenever the constructor is left. This should include unchecked exceptions (that may be thrown due to bugs in the dependent components, or user-inhected factories) PiperOrigin-RevId: 366235361
tonihei committed -
The buildscript entry is required by com.android.tools.build:gradle:4.0.1. For other projects, it appears that org.checkerframework is in jcenter. Without this change building with gradlew is broken, at least. #minor-release PiperOrigin-RevId: 366222799
andrewlewis committed -
PiperOrigin-RevId: 366131005
olly committed -
Issue: #8710 #minor-release PiperOrigin-RevId: 366051836
ibaker committed -
Currently they are only released when the timeline becomes non-empty again or the player is released. Issue: #8778 PiperOrigin-RevId: 366041625
tonihei committed -
Issue: #5246 #minor-release PiperOrigin-RevId: 366041182
andrewlewis committed -
Add an allowlist of Metadata.Entry implementations with stable toString overrides. PiperOrigin-RevId: 366037505
ibaker committed -
PiperOrigin-RevId: 366033200
olly committed -
The dumped output should include metadata, but doesn't because of Issue: #8710. The fix is in a follow-up change. PiperOrigin-RevId: 366028303
ibaker committed -
When playback transitions automatically, the timeline may have changed because the cast device learned about the duration of the next media item and includes this in the new media status that is sent to the CastPlayer. In such a case we need to make sure that we don't report a media item transition with reason PLAYLIST_CHANGED but for reason AUTO. PiperOrigin-RevId: 366025323
bachinger committed -
PiperOrigin-RevId: 366015326
jaewan committed -
PiperOrigin-RevId: 365998615
Oliver Woodman committed -
The new onPositionDiscontinuity callback contains sufficient information, so that this former workaround to obtain the position before a seek is no longer needed. PiperOrigin-RevId: 365993937
tonihei committed -
PiperOrigin-RevId: 365992439
olly committed -
Aims to achieve visibility parity with MediaCodecRenderer#onQueueInputBuffer. Allows measuring the time when the codec queue the first input buffer in the codec. Which means the Codec has been initialized and is about to start decoding. It also allows measuring how long it takes for the Codec to render its first frame. PiperOrigin-RevId: 365906756
olly committed -
This is generally not supported by our classes. A similar change for audio was made in https://github.com/google/ExoPlayer/commit/aa2beb080c6f621264527a6147a258bdd7f0fa27. PiperOrigin-RevId: 365795371
tonihei committed -
PiperOrigin-RevId: 365794941
ibaker committed -
If the player is created on a background thread (which is allowed as the only exception to the access-on-one-thread-only rule), it may happen that a callback on the main thread tries to access the player before the constructor even finished. This is dangerous and can cause exceptions due to uninitialized variables. To solve this, we can make sure that every player access is blocked until the constructor finished. Blocking is safe because the constructor itself is not doing any blocking work or acquiring locks. The thread verification method is already called on every entry point to the player, so we can reuse the same method for checking. PiperOrigin-RevId: 365792949
tonihei committed -
The extended onPositionDiscontinuity callback can be used to improve some listener classes: - Listening to onTimelineChanged to detect discontinuities is no longer needed. - Listening to onSeekStarted is no longer needed as the start position is part of the onPositionDiscontinuty callback. - The exact old position is also useful for media time history logging. As a side effect, removing onSeekStarted handling from PlaybackStatsListener fixes Issue: #8675 that was caused by the special EventTime handling for onSeekStarted. PiperOrigin-RevId: 365558959
tonihei committed -
PiperOrigin-RevId: 365556167
olly committed -
A TrackGroup must contain the same content in all Formats (except for the quality, encoding etc). Verify that the language and role flags are the same and log an error if don't match. Don't throw to avoid breaking existing use cases that just happen to work by chance. PiperOrigin-RevId: 365539240
tonihei committed -
Fix WebViewSubtitleOutput to respect this (CanvasSubtitleOutput already does). Issue: #8704 PiperOrigin-RevId: 365534018
ibaker committed -
PiperOrigin-RevId: 365044658
kimvde committed -
The hacky workaround for APIs 29/30 doesn't work on API 31. Instead, we can use the onDisplayInfoChanged callback, that is accessible from API 31. PiperOrigin-RevId: 364997282
tonihei committed -
The BasePlayer implementation of add/remove Listener knows about Components. As those are removed from the Player interface, the implementation of those methods needs to be moved down in Player implementations. This commit makes no functional change. PiperOrigin-RevId: 364985291
krocard committed -
All Player methods should throw NotSupportedException. Making it abstract prevents the compiler catching non implemented methods. PiperOrigin-RevId: 364974387
krocard committed -
PiperOrigin-RevId: 364871094
olly committed
-
- 25 Mar, 2021 1 commit
-
-
Denise LaFayette committed
-
- 24 Mar, 2021 4 commits
-
-
The exo_controls_background view is supposed to fill its parent, and so previously used match_parent to do this. However, if the parent uses wrap_content for its own dimensions, the constraints being specified become somewhat ambiguous. The parent is supposed to be sizing itself to wrap its children, and one of the children is supposed to be sizing itself to match the parent. Intuitively for this case, you'd hope that the layout logic would size the parent to wrap its other children, and that the match_parent child would then fill the parent with its determined size. That's not what happens, and instead the parent ends up expanding to occupy all of the space available to it. This commit sets the exo_controls_background view's dimensions to be 0dp in the layout, to stop it from influencing the size of the parent. It's then expanded to fill the parent in code. Issue: #8726 #minor-release PiperOrigin-RevId: 364868301
olly committed -
PiperOrigin-RevId: 364861539
bachinger committed -
Denise LaFayette committed
-
PiperOrigin-RevId: 364836973
kimvde committed
-