1. 15 Jun, 2022 7 commits
  2. 14 Jun, 2022 2 commits
  3. 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
  4. 09 Jun, 2022 10 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
    • Add COMMAND_SET_MEDIA_ITEM to Player.Commands · 35691bce
      Some Player implementations have no playlist capability but can still
      set a MediaItem for playback. Examples are a MediaController connected
      to a legacy MediaSession, ExoPlayer up to 2.12 or MediaPlayer.
      
      To indicate this capability, we need an allowed command in addition
      to COMMAND_CHANGE_MEDIA_ITEMS that just allows to set a single item
      that replaces everything that is currently played.
      
      #minor-release
      
      PiperOrigin-RevId: 453879626
      (cherry picked from commit 5333c67d)
      tonihei committed
    • Avoid using ConcurrentHashMap · 35c9585f
      Use Collections.synchronizedSet() instead of creating a set from a
      ConcurrentHashMap because ConcurrentHashMap has a bug in APIs 21/22
      that can result in lost updates.
      
      PiperOrigin-RevId: 453696565
      (cherry picked from commit d506c709)
      christosts committed
    • Audio passthrough: handle unset audio format channel count · 31c7ccbc
      With HLS chunkless preparation, audio formats may have no value
      for channel count. In this case, the DefaultAudioSink will either query
      the platform for a supported channel count (API 29+) or assume a max
      channel count based on the encoding spec in order to decide whether the
      audio format can be played with audio passthrough.
      
      Issue: google/ExoPlayer#10204
      
      #minor-release
      
      PiperOrigin-RevId: 453644548
      (cherry picked from commit 86973382)
      christosts committed
    • Forward legacy controller onPlay/PrepareFromXY calls to onAddMediaItems · f5dc99f5
      These legacy callbacks are currently forwarded to onSetMediaUri which
      will be removed in the future.
      
      Also make sure to only call player.prepare/play after the items have
      been set.
      
      The calls to onAddQueueItem are also forwarded to onAddMediaItems to
      actually allow a session to resolve these items to playable media, which
      wasn't possible so far.
      
      PiperOrigin-RevId: 453625204
      (cherry picked from commit bd126ec5)
      tonihei committed
    • Clarify that `ShuffleOrder` must be consistent in both directions · 926327ef
      #minor-release
      
      PiperOrigin-RevId: 453622964
      (cherry picked from commit 4a6f431f)
      ibaker committed
    • Merge pull request #53 from ittiam-systems:rtp_opus · fd1eb4b4
      PiperOrigin-RevId: 453490088
      (cherry picked from commit a2a45043)
      Marc Baechinger committed
  5. 07 Jun, 2022 6 commits
  6. 31 May, 2022 7 commits
  7. 30 May, 2022 6 commits