- 22 Feb, 2021 5 commits
-
-
There are two different patterns we use at the moment: 1. Call both deprecated and non-deprecated method from call site with no default method implementation body. 2. Use default method of non-deprecated method to call deprecated method. Pattern 1 is easier to reason about as it makes the calls more explicit, so changing all usages of pattern 2 to pattern 1. PiperOrigin-RevId: 358769803tonihei committed -
PiperOrigin-RevId: 358384778
ibaker committed -
This adds an optional DrmSessionManager#preacquireSession() method and implements it on DefaultDrmSessionManager. The manager doesn't promise to keep the preacquired sessions alive, and will proactively release them if a ResourceBusyException suggests the device is running out of available sessions in the underlying framework. In a future change, SampleQueue will preacquire sessions on the loading thread and keep track of preacquired 'references', releasing them when seeking or clearing the queue. Issue: #4133 PiperOrigin-RevId: 358381616
ibaker committed -
PiperOrigin-RevId: 358379167
aquilescanta committed -
Starting with Android 12 all components of an app that have an intent filter need to have an explicit attribute android:export that is set to either true or false. If a component filters for the MAIN or a VIEW action it needs the attribute explicitly set to true. Prior to Android 12 these were exported implicitly. See https://medium.com/androiddevelopers/lets-be-explicit-about-our-intent-filters-c5dbe2dbdce0 PiperOrigin-RevId: 358368785
bachinger committed
-
- 19 Feb, 2021 22 commits
-
-
The published Timeline contains one window only with all periods of the child sources. Issue: #4868 PiperOrigin-RevId: 358150276
tonihei committed -
The release AAR and Android sources are included for each published artifact. Issue: #5246 Issue: #8353 #minor-release PiperOrigin-RevId: 358146555
andrewlewis committed -
We already report these errors through callbacks to interested listeners. However, to ease debugging with bugreports and local error detection, it's helpful to also log these non-fatal execptions to logcat. Otherwise nothing in logcat indicates that the player recovered from an exception. Issue: #6384 PiperOrigin-RevId: 357923899
tonihei committed -
This is preferable to just logging to LogCat so that listeners can report this to analytics systems if required. Issue: #6384 PiperOrigin-RevId: 357906079
tonihei committed -
PiperOrigin-RevId: 357845774
gyumin committed -
The SampleStream.readData contract is that when reading a sample with a flags-only buffer, the buffer timestamp and flags should be set and the read position should not be advanced. #minor-release PiperOrigin-RevId: 357842130
olly committed -
PiperOrigin-RevId: 357734165
olly committed -
PiperOrigin-RevId: 357732695
olly committed -
`ImaAdsLoader` will preload the first ad of a subsequent media item, but the preloaded ad might not actually play because the user could seek to a non-zero position in that media item (which could trigger playback of a midroll, not the preroll). In this case, playback would get stuck because the midroll ad expected to play after the seek would never load, because the IMA SDK expected the preroll to play first. Fix this behavior by discarding the preloaded ad break. If there isn't a seek, the transition to the next media item is still seamless. #minor-release PiperOrigin-RevId: 357682510
andrewlewis committed -
PiperOrigin-RevId: 357656504
gyumin committed -
PiperOrigin-RevId: 357587767
olly committed -
PiperOrigin-RevId: 357587009
olly committed -
This type is different to the selection reason, which is dynamic (i.e., corresponds to the individual selected track, which can change during playback). The static type is exposed via TrackSelection, where-as the selection reason will be internal to the core (i.e., player) module. PiperOrigin-RevId: 357578201
olly committed -
Previously it was safe to query the first period in the timeline, but now we support using the ads loader in concatenations we need to use the current period index instead. #minor-release PiperOrigin-RevId: 357578003
andrewlewis committed -
These have limited value, and are confusing because they're only actually used if the override only selects a single track (if the override is an adaptive selection then the values are never used). The simpliest path forward is to remove them. PiperOrigin-RevId: 357573186
olly committed -
#minor-release Issue:#8581 PiperOrigin-RevId: 357563419
kimvde committed -
Issue: #8585 #minor-release PiperOrigin-RevId: 357553237
olly committed -
PiperOrigin-RevId: 357549002
olly committed -
It allows Bundleable classes throw a RuntimeException which is broader than IAE. Now, Bundleable implementation may utilize checkNotNull for brevity. PiperOrigin-RevId: 357546375
gyumin committed -
The source can be used in compositions (in fact, every source is automatically used in an internal composition when constructing the playlist), and there is not really a concept of top-level media source any more since the Player supports playlists. The actual restriction is that the content media source needs to have exactly one period to be able to create a SinglePeriodAdTimeline. #minor-release PiperOrigin-RevId: 357544191
tonihei committed -
- Other commands will be added later. - The returned value is a boolean until we decide what it should be. PiperOrigin-RevId: 357535877
kimvde committed -
To save bytes in serialized format, it uses shorter keys in Bundles. PiperOrigin-RevId: 357492840
gyumin committed
-
- 12 Feb, 2021 12 commits
-
-
#minor-release PiperOrigin-RevId: 357273184
olly committed -
PiperOrigin-RevId: 357219132
olly committed -
The previous logic was changed under the assumption that the first box inside a meta box was not always an hdlr box, but this is not true. #minor-release PiperOrigin-RevId: 357200713
kimvde committed -
PiperOrigin-RevId: 357190780
christosts committed -
#minor-release PiperOrigin-RevId: 357160215
kimvde committed -
PiperOrigin-RevId: 357158075
kimvde committed -
This behavior is consistent with DefaultControlDispatcher#dispatchNext(). #minor-release PiperOrigin-RevId: 357145076
kimvde committed -
It's closely tied to SimpleExoPlayer, so cannot be part of a UI module that depends only on common. PiperOrigin-RevId: 357085802
olly committed -
The available end time was accidentally substracted by the start time of the last period. To avoid similar time reference confusion in the future, also renaming many variables and methods to clearly reflect the time reference point. And to avoid constant conversion, the processManifest method also attempts to converge to time relative to the start of the window as quickly as possible. Issue: #8537 PiperOrigin-RevId: 357001624
tonihei committed -
If keepalive is disabled the existing code over-eagerly releases DrmSession instances. This is arguably OK since a (Default)DrmSession should be released before its (Default)Manager is released (since the underlying MediaDrm instance might be released when the manager is released). And if all sessions are released before the manager is released then `sessions` is empty, so the loop is a no-op. Issue: #8576 #minor-release PiperOrigin-RevId: 356955308
ibaker committed -
The `DrmConfiguration.sessionForClearTypes` property is often used to ensure a secure decoder is used for clear ads played in encrypted content. This is because some devices show black frames when switching decoders. Before this change the DRM config isn't propagated down when constructing the ad media source, meaning `DrmSessionManager.DRM_UNSUPPORTED` is always used, which will cause playback to switch from secure to clear decoder when transitioning to an ad break (ignoring the MediaItem `sessionForClearTypes` option. Issue: #8568 #minor-release PiperOrigin-RevId: 356951124
ibaker committed -
Also move out of the mediacodec package into the util package. PiperOrigin-RevId: 356949401
aquilescanta committed
-
- 11 Feb, 2021 1 commit
-
-
Issue: #4803 #minor-release PiperOrigin-RevId: 356923345
andrewlewis committed
-