- 29 6月, 2020 2 次提交
-
-
由 Oliver Woodman 提交于
r2.11.7
-
由 olly 提交于
PiperOrigin-RevId: 318790917
-
- 26 6月, 2020 1 次提交
-
-
由 andrewlewis 提交于
On reaching the end of the content we would notify content complete and skip unplayed ads, causing a timeline change. That timeline change was handled in a way that caused a further timeline change in the 2.11.6 release, where we don't yet deduplicate no-op Timeline changes, causing repeated timeline changes indefinitely. At tip-of-tree, the timeline wouldn't refresh repeatedly. However the code for sending content complete at the point of transitioning to play a preloaded postroll ad was not correct in that it didn't mark previous ads as skipped. Instead they happened to be marked as skipped later on due to the timeline change handling content completion code triggering again. Fix this by only marking ads as skipped when content completes once, to avoid the duplicate timeline change, and moving the skipped ad marking so it happens in the same place as notifying content complete. PiperOrigin-RevId: 318454908
-
- 24 6月, 2020 1 次提交
-
-
由 Oliver Woodman 提交于
r2.11.6
-
- 23 6月, 2020 4 次提交
-
-
由 andrewlewis 提交于
Postrolls would be skipped because the period duration wasn't know at the moment of resuming playback after backgrounding, so the position wouldn't be resolved to resume the postroll ad. We have the period duration stored in the AdPlaybackState, so we can use that directly. Issue: #7518 PiperOrigin-RevId: 317830418
-
由 andrewlewis 提交于
The IMA SDK now preloads postrolls which is great as we no longer need to rely on detecting buffering at the end of the stream to trigger playing postrolls. Add in the required logic to detect the period transition to playing the postroll. Issue: #7518 PiperOrigin-RevId: 317610682
-
由 andrewlewis 提交于
We currently get float ad cue points from IMA, but store these as longs in microseconds. The cast from double to long would take the floor of the value, which could lead to stored ad cue points being off-by-one. Use Math.round to avoid this. ImaAdsLoader also has code to map a double AdPodInfo position (which should match a cue point) onto the corresponding ad group index by searching the long ad cue points. Match the calculation used where we map float cue points, including narrowing the position to a float first to avoid regressions if IMA SDK behavior changes to represent positions in more than float precision later, and also remove the requirement that the ad positions match exactly as a defensive measure. PiperOrigin-RevId: 317607017
-
由 olly 提交于
PiperOrigin-RevId: 316949571
-
- 18 6月, 2020 14 次提交
-
-
由 Oliver Woodman 提交于
-
由 andrewlewis 提交于
After an ad pod coming up has preloaded, if the user seeks before it plays we get pauseAd/stopAd called for that ad pod. Also, the ad will not load again. Work around this unexpected behavior by handling pauseAd/stopAd and discarding the ad. In future, it's likely that the IMA SDK will stop calling those methods, and will loadAd again for the preloaded ad that was unexpectedly discarded. This change should be compatible with that, because the ad won't be discarded any more due to not calling stopAd. Issue: #7492 PiperOrigin-RevId: 316873699
-
由 andrewlewis 提交于
Ads can appear due to asynchronous ad tag requests completing after earlier ads in a pod have loaded, so remove the requirement that the ad count can't change. The MediaPeriodQueue should handling discarding buffered content if an ad appears before already buffered content, so I think this case is actually handled correctly by the core player already. Also remove the requirement that an ad URI can't change. This is a defensive measure for now, but it's likely that a later fix in the IMA SDK for an issue where loadAd is not called after preloading then seeking before a preloaded ad plays will result in loadAd being called more than once, and I think it's possible that the second call to loadAd may have a different URI. Because the ad URI should only change after an intermediate seek to another MediaPeriod, there shouldn't be any problems with buffered data not getting discarded. Issue: #7477 PiperOrigin-RevId: 316871371
-
由 andrewlewis 提交于
The release() method was added in the recent IMA API changes for preloading and now 'collides' with the ExoPlayer AdsLoader release method. This led to all ads completing being treated as a call to completely release the ads loader, which meant that the ad playback state was not updated on resuming after all ads had completed, which in turn led to playback getting stuck buffering on returning from the background after all ads played. Move the IMA callbacks into an inner class to avoid this. Issue: #7508 PiperOrigin-RevId: 316834561
-
由 olly 提交于
- Leaving the TODO, since there are still MIME types we're unsure about. - Removing AAC because xHE-AAC does not have this property. We may re-add it with an additional profile check to exclude xHE-AAC in the future. PiperOrigin-RevId: 316715147
-
由 ibaker 提交于
We're then able to use this same helper class from tests, to avoid running into spurious failures caused by long microseconds being round-tripped through float seconds. PiperOrigin-RevId: 316435084
-
由 andrewlewis 提交于
This is useful for debugging both in tests and via logging. PiperOrigin-RevId: 316102968
-
由 andrewlewis 提交于
Some but not all VideoAdPlayer callbacks from the IMA SDK included defensive handling of unexpected cases. Add the remaining ones. Issue: #7492 PiperOrigin-RevId: 316082651
-
由 andrewlewis 提交于
PiperOrigin-RevId: 316079131
-
由 andrewlewis 提交于
PiperOrigin-RevId: 315867160
-
由 olly 提交于
Issue: #5507 PiperOrigin-RevId: 315512207
-
由 andrewlewis 提交于
In a later change it will be necessary to be able to destroy the ads manager if all ads are skipped while creating ads rendering settings. This change prepares for doing that by not having the ads manager passed into the method (so the caller can null or initialize it). PiperOrigin-RevId: 315488830
-
由 andrewlewis 提交于
This is in preparation for refactoring the logic to support not playing an ad before the resume position (optionally). PiperOrigin-RevId: 315431483
-
由 andrewlewis 提交于
Previously the fake ads loader listener would always pass the same ad durations to the fake player, but actually the known ad durations can change during playback. Make the fake behavior more realistic by only exposing durations for ads that have loaded. PiperOrigin-RevId: 314956223
-
- 09 6月, 2020 1 次提交
-
-
由 Oliver Woodman 提交于
-
- 05 6月, 2020 4 次提交
-
-
由 Oliver Woodman 提交于
r2.11.5
-
由 olly 提交于
PiperOrigin-RevId: 314925639
-
由 Oliver Woodman 提交于
This reverts commit c20b85ac.
-
由 olly 提交于
PiperOrigin-RevId: 314903986
-
- 04 6月, 2020 1 次提交
-
-
由 olly 提交于
Issue: #7453 PiperOrigin-RevId: 314710328
-
- 03 6月, 2020 3 次提交
-
-
由 olly 提交于
Issue: #6901 PiperOrigin-RevId: 314418536
-
由 olly 提交于
Issue: #7456 PiperOrigin-RevId: 314408767
-
由 aquilescanta 提交于
Issue:#7325 PiperOrigin-RevId: 314321914
-
- 02 6月, 2020 6 次提交
-
-
由 Oliver Woodman 提交于
-
由 Oliver Woodman 提交于
-
由 Oliver Woodman 提交于
Merge fix for #7193 into dev-v2-r2.11.5
-
由 tonihei 提交于
We currently have a currentMediaPeriodId and an activeSessionId that are more or less tracking the same thing unless the current media period isn't "active" yet. Simplify this logic by using a single currentSessionId field and the respective isActive flag of this session. Also move all session creation and activation code in the same method to make it easier to reason about the code. This change also fixes a subtle bug where events after a seek to a new window are not ignored as they should. PiperOrigin-RevId: 289432181
-
由 tonihei 提交于
Currently, this method is only supposed to be called before removing the listener from the player or when releasing the player. If called at other times, it will throw an exception later when a playback session is ended automatically. issue:#7193 PiperOrigin-RevId: 308254993
-
由 tonihei 提交于
The first session should only be created once we have the media items and/or called prepare. Otherwise the first session is created with an EventTime having an empty timeline making it less useful. issue:#7193 PiperOrigin-RevId: 308100555
-
- 01 6月, 2020 1 次提交
-
-
由 Oliver Woodman 提交于
This reverts commit b05e9944.
-
- 30 5月, 2020 2 次提交
-
-
由 andrewlewis 提交于
PiperOrigin-RevId: 312083761
-
由 andrewlewis 提交于
PiperOrigin-RevId: 312080838
-