1. 17 Sep, 2021 3 commits
    • Move EventListener registration down from Player · 74c6ef9b
      The deprecated `Player.addListener(EventListener)`
      is moved out of Player into its subclasses
      (CastPlayer and ExoPlayer).
      
      This is unlikely to break users because:
       - the method has been deprecated in the last major version
       - the method is still present in the major implementations
      
      If an users is affected, they can either:
       - use ExoPlayer instead of Player
       - (recommended) switch to Player.Listener.
      
      Additionally update the threading guarantees that did not
      reflect the current implementation.
      
      PiperOrigin-RevId: 397272144
      krocard committed
    • Add track type disabling to Track selection parameters · a75f902c
      This will allow to disable video/audio... through the player
      interface.
      
      PiperOrigin-RevId: 397183548
      krocard committed
    • DownloadService: Minor improvements · 4ff4263a
      * Avoid ActivityManager log spam by only calling startForeground once,
        and subsequently updating the notification via NotificationManager.
      * Tweak demo app service to make it a tiny bit easier to swap the Scheduler.
      
      PiperOrigin-RevId: 397179398
      olly committed
  2. 16 Sep, 2021 19 commits
  3. 14 Sep, 2021 15 commits
  4. 10 Sep, 2021 3 commits
    • Constrain resolved period positions to be within the period · 68ee587e
      This is a candidate fix for #8906. As mentioned in that issue,
      negative positions within windows might be (kind of) valid in
      live streaming scenarios, where the window starts at some
      non-zero position within the period. However, negative positions
      within periods are definitely not valid. Neither are positions
      that exceed the period duration.
      
      There was already logic in ExoPlayerImplInternal to prevent a
      resolved seek position from exceeding the period duration. This
      fix adds the equivalent constraint for the start of the period.
      It also moves the application of the constraints into Timeline.
      This has the advantage that the constraints are applied as part
      of state masking in ExoPlayerImpl.seekTo, removing any UI flicker
      where the invalid seek position is temporarily visible.
      
      Issue: #8906
      PiperOrigin-RevId: 395917413
      olly committed
    • Fix RTSP session header parsing regex error. · 4f064193
      Issue: #9416
      
      The dash "-" in the brackets must be escaped, or it acts like a range operator.
      
      #minor-release
      
      PiperOrigin-RevId: 395909845
      claincly committed
    • Add MediaItem.DrmConfiguration.Builder and use it in MediaItem.Builder · 9f3c2fb5
      PiperOrigin-RevId: 395896034
      ibaker committed