1. 25 Jan, 2021 7 commits
    • Some more language fixes · dc7fde1f
      Issue: #7565
      PiperOrigin-RevId: 353613493
      olly committed
    • Migrate CronetDataSourceFactory to DefaultHttpDataSource.Factory · bfc73698
      We normally wouldn't do this kind of thing, given CronetDataSourceFactory is
      deprecated, but it's needed to change the cronet --> core dependency to a
      cronet --> common dependency.
      
      PiperOrigin-RevId: 353609198
      olly committed
    • Allow playback for ads buffered to end · c37f7578
      `ImaAdsLoader` only loads ad media URLs once playback of the preceding ad (if
      any) has started, and this behavior is likely to be similar for other ad loader
      implementations due to limits on how long before an ad plays it is meant to be
      loaded. This is problematic for very short ads followed by an ad because the ad
      will load to the end but load control may not allow playback to start due to
      the total buffered duration being low.
      
      Fix this by allowing playback to start regardless of load control if we are
      waiting for an ad media period to prepare.
      
      An alternative fix would be to fake the ad progress in the `ImaAdsLoader` to
      trigger loading the next ad, but this would only allow one ad to load ahead (so
      the problem would remain for two short ads in a row followed by another ad).
      
      Issue: #8492
      PiperOrigin-RevId: 353600088
      andrewlewis committed
    • LoadControler no longer uses TrackSelectionArray · 6a900ab1
      Instead it uses a TrackSelection[].
      
      #player-to-common
      
      PiperOrigin-RevId: 353584567
      krocard committed
    • Remove non Player use of TrackSelectionArray, use TrackSelection[] · bf3816bd
      This is necessary for the child cl that `TrackSelection`
      in two distinct class. It avoids to split the array
      version of such class too.
      
      TrackSelectionArray exist to have an immutable array of TrackSelection.
      Internal users are trusted to not mutate the array.
      
      One drawback of this approach is that a `TrackSelectionArray`
      has to be allocated on the boundary of the `Player` interface.
      This should not be a performance issue as this only happens
      on trackSelection changes, when the user calls
      `Player.getCurrentTrackSelections` and on
      `updateLoadControlTrackSelection`.
      
      #player-to-common
      
      PiperOrigin-RevId: 353582654
      krocard committed
    • Move factory mutations out of DefaultDataSourceFactory#createMediaSource · c5a81549
      #minor-release
      
      PiperOrigin-RevId: 353394376
      ibaker committed
    • Add contract test for CronetDataSource · 0a3542e5
      PiperOrigin-RevId: 353290124
      christosts committed
  2. 22 Jan, 2021 17 commits
  3. 19 Jan, 2021 11 commits
  4. 18 Jan, 2021 5 commits