1. 09 Mar, 2022 2 commits
  2. 08 Mar, 2022 12 commits
  3. 24 Feb, 2022 1 commit
  4. 23 Feb, 2022 5 commits
  5. 22 Feb, 2022 9 commits
  6. 21 Feb, 2022 11 commits
    • Disable IMA SSAI DASH live streams for now · 37391a85
      #minor-release
      
      PiperOrigin-RevId: 428761508
      bachinger committed
    • Prevent adding multiple IMA SSAI media source instances to the playlist · e668521b
      Currently only a single instance of ImaServerSideAdInsertionMediaSource is
      supported at the same time in a playlist. This change makes sure that an
      attempt to add multiple instances is prevented by throwing a an exception.
      
      #minor-release
      
      PiperOrigin-RevId: 428743140
      bachinger committed
    • Skip played server side inserted ads in a single period window · 9088256b
      This change makes sure played server side ads are skipped in a single period
      timeline. It avoids creating an ad-MediaPeriodInfo for played postrolls and
      creates a content info instead. It also sets the end position for content infos
      that terminate the stream before the stream is actually finished. This prevents
      the player from continue playing the remaining media delivered by the
      MediaPeriod.
      
      We also make sure that the discontinuity of played ads are not reported because
      there is actually no discontinuity.
      
      #minor-release
      
      PiperOrigin-RevId: 428734387
      bachinger committed
    • Do not manipulate the duration of SSAI periods in FakeTimeline · 190aa84d
      #minor-release
      
      PiperOrigin-RevId: 428727560
      bachinger committed
    • Reset stream manager in AdsLoader.release() · 76c87462
      This prevents a stack trace that is shown in the logs when the stream manager is
      released after the activity was stopped. In this case the call to
      `streamManager.destroy()` coming from `releaseSourceInternal()` of the media
      source is too late and produces an error saying `Application attempted to call on
      a destroyed WebView`. The error has no effect but it's nice to not have this
      stack trace in the logs.
      
      PiperOrigin-RevId: 428574231
      bachinger committed
    • Make AdsLoader.addMediaSourceResources package private. · e4ae5cbd
      #minor-release
      
      PiperOrigin-RevId: 428565444
      bachinger committed
    • Fix debug frame showing through player on old devices · d6157412
      PiperOrigin-RevId: 428524300
      andrewlewis committed
    • Seek to start position when reusing the last used shared period · 0fba5e72
      The last used shared media period is reused after all media periods have been
      released. In case the sample streams are already filled up, they need to be
      reset or they download samples from the current position up to the seek
      position. This causes long buffering states or load stuck exceptions.
      
      A seek when reusing the shared period takes care for reseting the period or
      internally seeks to the current position in the already available samples.
      
      #minor-release
      
      PiperOrigin-RevId: 428484187
      bachinger committed
    • Make usage of live minDurationForQualityIncrease more consistent · 727a4c09
      We have two ways to choose the minDurationForQualityIncreaseMs value in
      AdaptiveTrackSelection: use the configured value for non-live or when
      enough buffered data is available, or use a fraction of the available
      duration to allow switching when playing close to the live edge.
      
      The decision point when to use which value isn't quite consistent because
      we compare against availableDurationUs before making the adjustments. This
      means there is range of values where no up-switching is possible despite
      perfect buffering. Fix this by choosing the minimum of both values.
      
      Issue: google/ExoPlayer#9784
      
      #minor-release
      
      PiperOrigin-RevId: 428474332
      tonihei committed
    • Use content timeline to get ad group index and ad index in ad group · 066f9db3
      The timeline used to map ad groups to periods needs to report the original content period duration without subtracting the serverside inserted ad duration. When marking played ads in onPositionDiscontinuity, the public timeline has been used which crashed the app when the ads media source is playing on a window index different to zero (in a playlist).
      
      #minor-release
      
      PiperOrigin-RevId: 428465833
      bachinger committed
    • Improve transformer activity layout · 911fce76
      On Samsung S21 with light theme the debug labels weren't showing up because the player view was visible (with a black background) while the transformation was in progress, matching the debug label text color. Hide the player view until the transformation is complete to fix this.
      
      Also tweak the layout slightly to add space between the card border and the labels.
      
      #mse-bug-week
      
      PiperOrigin-RevId: 428455824
      andrewlewis committed