1. 19 Aug, 2020 18 commits
  2. 29 Jun, 2020 2 commits
  3. 26 Jun, 2020 1 commit
    • Fix postroll content complete notifications · ce8bb268
      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
      andrewlewis committed
  4. 23 Jun, 2020 5 commits
    • Fix resuming postrolls · 67c99e1d
      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 committed
    • Fix handling of postrolls preloading · df10fdf7
      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 committed
    • Fix incorrect rounding of ad cue points · 0ffe7470
      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
      andrewlewis committed
    • Bump version to 2.11.6 · f39a65cb
      PiperOrigin-RevId: 316949571
      olly committed
  5. 17 Jun, 2020 14 commits