1. 09 Jun, 2022 8 commits
    • 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
  2. 07 Jun, 2022 6 commits
  3. 31 May, 2022 7 commits
  4. 30 May, 2022 19 commits