1. 01 Jul, 2022 1 commit
  2. 29 Jun, 2022 1 commit
  3. 28 Jun, 2022 4 commits
  4. 27 Jun, 2022 2 commits
  5. 23 Jun, 2022 1 commit
  6. 21 Jun, 2022 1 commit
    • Clear pending doSomeWork messages when sleeping for offload · 59fbb455
      The offload sleeping stops as soon as a new DO_SOME_WORK message
      is handled (because this indicates an expected change in rendering
      and we want to stop sleeping until we know it's safe to do so).
      
      Every exit path from doSomeWork needs to clear other pending
      DO_SOME_WORK messages as these requests have already been handled by
      the current method invocation. This currently doesn't happen from the
      offload sleeping return path and a previously queued DO_SOME_WORK
      message can immediately wake up the rendering loop again.
      
      Fix this by moving the message removal to the beginning of the
      doSomeWork method (as it prevents forgetting it in one of the
      exit paths later).
      
      PiperOrigin-RevId: 456259715
      (cherry picked from commit a7649b63)
      tonihei committed
  7. 20 Jun, 2022 1 commit
  8. 16 Jun, 2022 1 commit
  9. 15 Jun, 2022 2 commits
  10. 10 Jun, 2022 1 commit
  11. 07 Jun, 2022 1 commit
  12. 17 Jun, 2022 1 commit
  13. 16 Jun, 2022 5 commits
  14. 15 Jun, 2022 10 commits
  15. 14 Jun, 2022 2 commits
  16. 13 Jun, 2022 2 commits
    • Use correct placeholder PlayerID value in test · b8c8a413
      The default constructor is only allowed to be called on
      API < 32 and the test should use the defined UNSET constant
      to be API independent.
      
      #minor-release
      
      PiperOrigin-RevId: 454568893
      (cherry picked from commit e8bcdf43)
      tonihei committed
    • Ensure `DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION` is always executed · f6b987d8
      `codecDrainAction` is set to `DRAIN_ACTION_NONE` in 3 places in
      `MediaCodecRenderer`:
      * The constructor (so there's no prior state to worry about)
      * `updateDrmSessionV23()`: Where `mediaCrypto` is reconfigured based
        on `sourceDrmSession` and `codecDrmSession` is also updated to
        `sourceDrmSession`.
      * `resetCodecStateForFlush()`: Where (before this change) the action
        is unconditionally set back to `DRAIN_ACTION_NONE` and so any
        required updated implied by
        `DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION` is not done.
      
      This change ensures that `flushOrReleaseCodec()` handles
      `DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION` before calling .
      
      This probably also resolves Issue: google/ExoPlayer#10274
      
      #minor-release
      
      PiperOrigin-RevId: 454114428
      (cherry picked from commit 222faa96)
      ibaker committed
  17. 09 Jun, 2022 4 commits
    • DefaultTrackSelector: Constrain audio channel count · 0fd24c2f
      The track selector will select multi-channel formats when those can be
      spatialized, otherwise the selector will prefer stereo/mono audio
      tracks. When the device supports audio spatialization (Android 12L+),
      the DefaultTrackSelector will monitor for changes in the platform
      Spatializer and trigger a new track selection upon a
      Spatializer change event.
      
      Devices with a `television` UI mode are excluded from audio channel
      count constraints.
      
      #minor-release
      
      PiperOrigin-RevId: 453957269
      (cherry picked from commit e2f0fd76)
      christosts committed
    • Fix bug: playback is frozen with HLS chunkless preparation · 74fbf017
      This change fixes a bug where the player is frozen with HLS chunkless
      preparation because the audio stream wrappers are not marked as master
      timestamp sources before preparation.
      
      #minor-release
      
      PiperOrigin-RevId: 453941815
      (cherry picked from commit 9221eeb2)
      christosts committed
    • Add session URI to Intent used with the notification · 7c0b787b
      The service handles three different types of `Intents`. Custom command and media
      command Intents created by the library and media button event Intents from other
      sources.
      
      Media commands from the library as well as from external sources have the action
      set to `android.intent.action.MEDIA_BUTTON`. If the data URI is set and can be
      used to identify a session then it is a library Intent. If the Intent is coming
      from an external KeyEvent, the service implementation is asked which session to use
      by calling `onGetSession(controllerInfo)` with the controller info being an
      anonymous legacy controller info.
      
      Intents representing a custom command are always coming from the library and hence
      always have a data URI.
      
      Issue: androidx/media#82
      PiperOrigin-RevId: 453932972
      (cherry picked from commit 8b592fc7)
      bachinger committed
    • Merge pull request #69 from ittiam-systems:rtp_amr_test · 9a73ae90
      PiperOrigin-RevId: 453905355
      (cherry picked from commit 58f7ac25)
      Marc Baechinger committed