1. 20 Jul, 2021 6 commits
    • Avoid DefaultDrmSessionManager releasing too many session references · dbebd279
      Before this fix, if DefaultDrmSessionManager.release() was called while
      there was at least one 'external' session reference still active (i.e.
      session.referenceCount > 1) then the manager will release it's reference
      immediately but when the session's reference count subsequently drops to
      1 (due to external references being released) the manager will schedule
      a task to release its internal reference *again*.
      
      This change fixes the problem by only scheduling the timed release if
      the manager is unreleased. This ensures that the internal references
      are only released once.
      
      Issue: #9193
      
      PiperOrigin-RevId: 385580741
      ibaker committed
    • Fix RTSP docs and add a missing release note · 0ae71e22
      * Add release note for `RtspMediaSource.Factory.setTimeoutMs()`
      * Remove mention of what we don't support (any such list is necessarily non-exhaustive)
      * Remove markdown quote character ('>')
      
      PiperOrigin-RevId: 385143574
      ibaker committed
    • Check for TS synchronization before parsing packet from random position · 9cd6b505
      #minor-release
      Issue: #9100
      PiperOrigin-RevId: 384962258
      aquilescanta committed
    • Handle absolute URI in RtspMediaTrack. · d4c62f38
      Issue: #9183
      
      RFC2326 Section C.1.1 specifies that the URI to identify a track can be either
      absolute (like rtsp://example.com/path) or relative (like "path"). Currently
      we don't handle absolute URI, and this CL is to add the support.
      
      Note though, we don't currently use the Content-Base or Content-Location
      headers for the session URI.
      
      PiperOrigin-RevId: 384649818
      claincly committed
    • Avoid IncorrectContextUseViolation on Android 11 · 0f3818ef
      Applications may need to pass a non-visual context when creating
      a DefaultTrackSelector (e.g., because they're audio-only or are
      creating the selector in a background service).
      
      Obtaining the default display via DisplayManager avoids the strict
      mode violation that occurs when retrieving it via WindowManager.
      
      #minor-release
      
      PiperOrigin-RevId: 384487363
      olly committed
    • Explicitly override all non-deprecated methods in `Player.Listener` · a47eb8a0
      Most of the super-interfaces are deprecated, but the intention is that
      only the types are deprecated and the methods themselves shouldn't be.
      In order to reflect this in javadoc we override all the methods in
      `Player.Listener` in order to 'cancel' the deprecation.
      
      This change deliberately doesn't override methods that are explicitly
      deprecated with documented replacements (like
      `Player.EventListener#onPlayerStateChanged`) - these should contine to
      be marked as deprecated in javadoc.
      
      PiperOrigin-RevId: 384253725
      ibaker committed
  2. 16 Jul, 2021 34 commits