1. 16 Jul, 2021 16 commits
  2. 14 Jun, 2021 1 commit
  3. 11 Jun, 2021 1 commit
  4. 10 Jun, 2021 11 commits
  5. 07 Jun, 2021 2 commits
  6. 06 Jun, 2021 9 commits
    • Fix version number · 5c0bd14a
      olly committed
    • Fix texture transformation in gldemo · a83e4a7a
      `SurfaceTexture` provides a transform matrix with each buffer. Previously
      gldemo ignored this but it is important to apply it to have the video render
      properly.
      
      The transformation matrix from the surface texture includes flipping so this
      change removes the hard-coded flipping from `a_texcoord`.
      
      Issue: #8992
      
      #minor-release
      
      PiperOrigin-RevId: 377271389
      andrewlewis committed
    • Align README and helloworld documentation · 29bb552b
      #minor-release
      
      PiperOrigin-RevId: 377269770
      olly committed
    • Fallback to generate profile-level-id using H264 SPS if it's missing · 3cf28171
      Related to: Issue: #9010
      
      Profile-level-id (Format.codecs) can be generated from SPS if SDP does not
      include it.
      
      #minor-release
      
      PiperOrigin-RevId: 377251211
      claincly committed
    • Allow RtspServer read a RTP dump file. · 027baa55
      #minor-release
      
      PiperOrigin-RevId: 377001305
      claincly committed
    • Keep secure MediaCodec instances when disabling the renderer · 2ab0e1dc
      A renderer is disabled (without being reset) in two situations:
      * When transitioning into a period that starts with a discontinuity
      * When stopping the player with setForegroundMode(true)
      
      Before this change the behaviour of `MediaCodecRenderer` when disabled
      (but not reset) depended on whether the content being decoded had an
      associated `DrmSession`:
      * For content without an associated DRM session the MediaCodec instance
        was kept alive.
      * For content with an associated DRM session, the MediaCodec instance
        was released. This was to prevent the DRM session from staying alive
        and continuing to make license refresh network requests while the
        player was stopped in 'foreground mode'.
      
      This change removes the second bullet, and keeps MediaCodec instances
      alive in both the secure and insecure case. This will result in the
      DRM machinery making occasional license refresh network requests (at
      a frequency defined by the license policy) while the player is stopped
      and in 'foreground mode'. This network usage is considered to be a
      'limited resource' as described by the `ExoPlayer#setForegroundMode`
      javadoc.
      
      This means that switches between secure content (or between secure and
      clear content when `MediaItem.drmConfiguration.sessionForClearTypes`
      indicates a secure decoder should be used for clear content) should
      keep the same video decoder, thus avoiding the 'black flash' that occurs
      on some devices when switching the surface away from a secure decoder.
      
      Issue: #8842
      
      #minor-release
      
      PiperOrigin-RevId: 376825501
      ibaker committed
    • Ensure DefaultDrmSessions keep working if their manager is released · 037f24a0
      This change introduces a third 'state' for `DefaultDrmSessionManager`:
      It's been fully released (prepareCount == 0) but at least one of its
      sessions is still active.
      
      In this state new acquisitions are rejected (`(pre)acquireSession()`
      calls will fail) but the machinery to support the existing sessions
      (ExoMediaDrm and MediaDrmHandler) is kept until they're all released.
      
      This change will allow us to remove the TODO in MediaCodecRenderer
      that resolves Issue: #8842.
      
      PiperOrigin-RevId: 376193952
      ibaker committed
    • Add a test for handling of DRM key refresh events · fd25d2f5
      In a follow-up change I will add an additional test to ensure these
      events continue to be correctly handled when DefaultDrmSessionManager
      has prepareCount==0 but a non-null ExoMediaDrm instance.
      
      PiperOrigin-RevId: 376190225
      ibaker committed
    • Fix incorrect re-use of non-secure DummySurface with secure decoder · 10e96c99
      Issue: #8776
      PiperOrigin-RevId: 376186877
      olly committed