- 24 Feb, 2021 4 commits
-
-
The release AAR and Android sources are included for each published artifact. Issue: #5246 Issue: #8353 #minor-release PiperOrigin-RevId: 358146555
andrewlewis committed -
This behavior is consistent with DefaultControlDispatcher#dispatchNext(). #minor-release PiperOrigin-RevId: 357145076
kimvde committed -
#minor-release PiperOrigin-RevId: 359041513
bachinger committed -
PiperOrigin-RevId: 359000734
marcbaechinger committed
-
- 23 Feb, 2021 2 commits
- 22 Feb, 2021 8 commits
-
-
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 -
`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 -
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. PiperOrigin-RevId: 357578003
andrewlewis committed -
Issue:#8581 PiperOrigin-RevId: 357563419
kimvde committed -
Issue: #8585 PiperOrigin-RevId: 357553237
olly 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 -
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: 357160215
kimvde committed
-
- 13 Feb, 2021 1 commit
-
-
r2.13.1
Oliver Woodman committed
-
- 12 Feb, 2021 11 commits
-
-
#minor-release PiperOrigin-RevId: 357273184
olly committed -
PiperOrigin-RevId: 357219132
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 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 PiperOrigin-RevId: 356951124
ibaker committed -
Issue: #4803 PiperOrigin-RevId: 356923345
andrewlewis committed -
Issue: #8565 PiperOrigin-RevId: 356691251
andrewlewis committed -
Without this a new manager is instantiated for every item in a playlist, meaning the impact of caching improvements to DefaultDrmSessionManager are reduced (since the cache doesn't persist across playlist items). With this change, playlists of items with identical DRM config will use the same manager instance (and thus share existing sessions). Issue: #8523 PiperOrigin-RevId: 356690852
ibaker committed -
Also allow the player's prepared ad media period durations array to exceed the length of the loaded ad URIs array, as it's possible for the player to buffer an ad media period fully at the point where it's known that an ad is coming up but its URI is still unknown. PiperOrigin-RevId: 356249284
andrewlewis committed -
This may happen for HLS live streams without program date time information. Issue: #8560 PiperOrigin-RevId: 356227729
tonihei committed -
#minor-release PiperOrigin-RevId: 356221487
kimvde committed
-
- 04 Feb, 2021 9 commits
-
-
r2.13.0
Oliver Woodman committed -
#minor-release PiperOrigin-RevId: 355652144
kimvde committed -
PiperOrigin-RevId: 355621265
olly committed -
Before, the level was set to null in this case. MediaCodecUtil.getCodecProfileAndLevel() was therefore returning null and the fallback to AVC/HEVC was not enabled in MediaCodecVideoRenderer. Issue:#8530 PiperOrigin-RevId: 355574499
kimvde committed -
Oliver Woodman committed
-
Oliver Woodman committed
-
In both cases it's deliberate that all excluded constants should use the default branch. Furthermore, there are quite a lot of excluded constants missing, so it's probably better to suppress the warning than to include them all. #minor-release PiperOrigin-RevId: 355426749
olly committed -
This resolves the following constraint resolution issue when running our release script: > Cannot find a version of 'org.chromium.net:cronet-api' that satisfies the version constraints: Dependency path 'com.google.android.exoplayer:extension-cronet:unspecified' --> 'com.google.android.gms:play-services-cronet:17.0.0' --> 'org.chromium.net:cronet-api:72.3626.96' Constraint path 'com.google.android.exoplayer:extension-cronet:unspecified' --> 'org.chromium.net:cronet-api:{strictly 72.3626.96}' because of the following reason: debugRuntimeClasspath uses version 72.3626.96 Dependency path 'com.google.android.exoplayer:extension-cronet:unspecified' --> 'org.chromium.net:cronet-embedded:76.3809.111' --> 'org.chromium.net:cronet-common:76.3809.111' --> 'org.chromium.net:cronet-api:76.3809.111' #minor-release PiperOrigin-RevId: 355414968olly committed -
#minor-release PiperOrigin-RevId: 355381610
kimvde committed
-
- 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
-