1. 25 Jan, 2023 14 commits
    • Do not require package visibility when obtaining SessionTokens · fa6b8fe0
      The only reason this is required at the moment is to set the
      process UID field in the token, that is supposed to make it easier
      for controller apps to identify the session. However, if this
      visibility is not provided, it shouldn't stop us from creating
      the controller for this session.
      
      Also docuement more clearly what UID means in this context.
      
      PiperOrigin-RevId: 490184508
      (cherry picked from commit c41a5c84)
      tonihei committed
    • Add `set -eu` to all shell scripts · 3476ca92
      These flags ensure that any errors cause the script to exit (instead of
      just carrying on) (`-e`) and that any unrecognised substitution variables
      cause an error instead of silently resolving to an empty string (`-u`).
      
      Issues like Issue: google/ExoPlayer#10791 should be more quickly resolved with
      `set -e` because the script will clearly fail with an error like
      `make: command not found` which would give the user a clear pointer
      towards the cause of the problem.
      
      #minor-release
      
      PiperOrigin-RevId: 490001419
      (cherry picked from commit 45b8fb0a)
      ibaker committed
    • Do not require package visibility when connecting to a Media3 session · f4f801a8
      When we currently call SessionToken.createSessionToken with a legacy
      token, we call the package manager to get the process UID. This
      requires visiblity to the target package, which may not be available
      unless the target runs a service known to the controller app.
      
      However, when connecting to a Media3, this UID doesn't have to be
      known, so we can move the call closer to where it's needed to
      avoid the unncessary visibility check.
      
      In addition, a legacy session may reply with unknown result code
      to the session token request, which we should handle as well.
      
      One of the constructor can be removed since it was only used from
      a test.
      
      PiperOrigin-RevId: 489917706
      (cherry picked from commit 2fd4aac3)
      tonihei committed
    • Add remaining state and getters to SimpleBasePlayer · 9e424266
      This adds the full Builders and State representation needed to
      implement all Player getter methods and listener invocations.
      
      PiperOrigin-RevId: 489503319
      (cherry picked from commit 81918d8d)
      tonihei committed
    • Pass correct frame size for passthrough playback · 0e628fb4
      When estimating the AudioTrack min buffer size, we must use a PCM
      frame of 1 when doing direct playback (passthrough). The code was
      passing -1 (C.LENGTH_UNSET).
      
      PiperOrigin-RevId: 489238392
      (cherry picked from commit 07d25bf4)
      christosts committed
    • Add additional codecs to the eosPropagationWorkaround list. · 68a1571c
      Issue: google/ExoPlayer#10756
      PiperOrigin-RevId: 489236336
      (cherry picked from commit d1b470e4)
      tonihei committed
    • Throw exception if a released player is passed to TestPlayerRunHelper · 9ac50620
      I considered moving this enforcement inside the ExoPlayerImpl
      implementation, but it might lead to app crashes in cases that apps
      (incorrectly) call a released player, but it wasn't actually causing a
      problem.
      
      PiperOrigin-RevId: 489233917
      (cherry picked from commit cba65c8c)
      ibaker committed
    • Mark broadcast receivers as not exported · 91c51fe9
      They are called from the system only and don't need to be exported
      to be visible to other apps.
      
      PiperOrigin-RevId: 489210264
      (cherry picked from commit 22ccc1a1)
      tonihei committed
    • Load bitmaps for `MediaBrowserCompat`. · f3268ac8
      * Transforms the `ListenableFuture<LibraryResult<MediaItem>>` and `ListenableFuture<LibraryResult<List<MediaItem>>>` to `ListenableFuture<MediaBrowserCompat.MediaItem>` and `ListenableFuture<List<MediaBrowserCompat.MediaItem>>`, and the result will be sent out when `ListenableFuture` the `MediaBrowserCompat.MediaItem` (or the list of it) is fulfilled.
      * Add `artworkData` to the tests in `MediaBrowserCompatWithMediaLibraryServiceTest`.
      
      PiperOrigin-RevId: 489205547
      (cherry picked from commit 4ce171a3)
      tianyifeng committed
    • Add setPlaybackLooper ExoPlayer builder method · 9ba059f7
      The method allows clients to specify a pre-existing thread
      to use for playback. This can be used to run multiple ExoPlayer
      instances on the same playback thread.
      
      PiperOrigin-RevId: 488980749
      (cherry picked from commit e1fe3120)
      Googler committed
    • Fix NPE when listener is not set · c11b5cf9
      PiperOrigin-RevId: 488970696
      (cherry picked from commit f3ed9e35)
      Googler committed
    • Add bundling exclusions with unit tests · 73d40e1c
      The exclusion will be used in a follow-up CL when sending PlayerInfo updates.
      
      #minor-release
      
      PiperOrigin-RevId: 488939258
      (cherry picked from commit bae50900)
      bachinger committed
    • Update targetSdkVersion of demo session app to appTargetSdkVersion · bbf73244
      PiperOrigin-RevId: 488884403
      (cherry picked from commit cfe36af8)
      tianyifeng committed
    • Changed decoder list sort to order by functional support of format · 537f8b26
      Added new method to check if codec just functionally supports a format.
      Changed getDecoderInfosSortedByFormatSupport to use new function to
      order by functional support. This allows decoders that only support
      functionally and are more preferred by the MediaCodecSelector to keep
      their preferred position in the sorted list.
      
      Unit tests included
      -Two MediaCodecVideoRenderer tests that verify hw vs sw does not have an
      effect on sort of the decoder list, it is only based on functional
      support.
      
      Issue: google/ExoPlayer#10604
      PiperOrigin-RevId: 487779284
      (cherry picked from commit fab66d97)
      michaelkatz committed
  2. 23 Nov, 2022 2 commits
  3. 22 Nov, 2022 4 commits
  4. 17 Nov, 2022 9 commits
  5. 10 Nov, 2022 11 commits