1. 05 Oct, 2022 3 commits
    • Fix RequestMetadata JavaDoc link to point to the right MediaController. · a31a6c6c
      The JavaDoc of RequestMetadata should point to the media3 controller,
      not the platform one.
      
      PiperOrigin-RevId: 479047924
      (cherry picked from commit b70258e4)
      tonihei committed
    • Add FrameProcessor functionality to release a frame immediately · 1b25dc26
      Currently `FrameProcessor.releaseOutputFrame()` method supports
      
      Release at a specific system time
      Drops the frame
      This API is not that convenient to use when the caller wants to release a frame, now, regardless of the release time. A use case is to release (present) a frame when no frame is shown for a while, and it's thus better to just release the frame, now.
      
      Currently if MCVR wants a frame to be rendered now, MCVR calls release frame with a set offset like 10us: `releaseOutputFrame(System.nanoTime() + 10_000)`. The 10us offset is to prevent the frame processor dropping the frame, due to thread hopping delays.
      
      To make the API better usable, consider adding a mode for releasing the frame now, like (bold marks the new mode)
      
      - Use C.TIME_UNSET to drop
      - **Use -1 to release the frame immediately, or**
      - Use an actual release time.
      
      PiperOrigin-RevId: 479044215
      (cherry picked from commit 139a6e8d)
      claincly committed
    • Add button to show/hide input player in TransformerActivity · 3ff7c050
      PiperOrigin-RevId: 479003655
      (cherry picked from commit 50df923b)
      Googler committed
  2. 04 Oct, 2022 2 commits
    • HDR: Check isToneMappingApplied in HDR editing test. · 4449ba9c
      Assert that tone mapping is applied when an HDR edit cannot be HDR, but is successfully tone mapped. Meanwhile, assert that fallback, which is applied after codec configuration (which throws the "Tone-mapping requested but not supported by the decoder" error) is not applied when that error is called.
      
      PiperOrigin-RevId: 478762951
      (cherry picked from commit 253486d4)
      huangdarwin committed
    • Allow using different notification IDs for different media sessions · 9842c273
      When a media service currently produces multiple media sessions, the notification of the second session overwrites the notification of the first one, because all sessions use the same notification ID. When we use different notification IDs for different sessions, multiple media notifications can be up at the same time, which means that they can both be controlled at the same time.
      
      PiperOrigin-RevId: 478709069
      (cherry picked from commit 7783c6e4)
      Googler committed
  3. 03 Oct, 2022 1 commit
  4. 30 Sep, 2022 3 commits
  5. 29 Sep, 2022 1 commit
  6. 28 Sep, 2022 3 commits
  7. 27 Sep, 2022 2 commits
  8. 26 Sep, 2022 4 commits
    • Fix badly formatted AudioProcessor javadoc. · b39dff76
      PiperOrigin-RevId: 476909855
      (cherry picked from commit 3e4aa050)
      samrobinson committed
    • Remove test that just times out · c91cdb49
      One of the tests in MediaBrowserListenerTest caused the remote
      browser service to crash and then just timed out. As this asserts
      nothing useful besides checking that the timeout method is working,
      we can remove the test.
      
      Crashing the remote browser service had the side effect of letting
      subsequent tests in the same class fail because the previous session
      was never released and was still present in the static MediaSession
      SESSION_ID_TO_SESSION_MAP instance, which prevented the creation
      of new sessions with the same id. This is only an issue in test
      runs because a real process would also lose its static variables
      when it crashes.
      
      PiperOrigin-RevId: 476905337
      (cherry picked from commit d2887d52)
      tonihei committed
    • Don't start the service in the foreground with a pause intent · 05ebdb92
      `PlaybackStateCompat.toKeyCode(command)` was replaced by our
      own implementation of `toKeyCode()`. The legacy implementation used PLAY and PAUSE, while the new implementation uses PLAY_PAUSE. This made `pause` a pending intent that attempt to start the service in the foreground, but `service.startForeground()` won't be called in `MediaNotificationManager.updateNotificationInternal` when paused.
      
      PiperOrigin-RevId: 476895752
      (cherry picked from commit acd9e581)
      bachinger committed
    • HDR: Update gamma comments to linear. · 4c3acbf7
      Comment-only change.
      
      PiperOrigin-RevId: 476873286
      (cherry picked from commit 16dca182)
      huangdarwin committed
  9. 23 Sep, 2022 4 commits
    • Call callback future listeners on app handler · cc6c6aa6
      Calling maybeUpdateLegacyErrorState potentially creates a new legacy playback
      state which involves calling player methods. This change makes sure that the call
      sites of `maybeUpdateLegacyErrorState` are called on the app thread as enforced by
      the library.
      
      PiperOrigin-RevId: 476406282
      (cherry picked from commit 74124f48)
      bachinger committed
    • Add setPreferredAudioDevice method to ExoPlayer · e1b947ec
      This allows to access the associated functionality of AudioTrack and
      fills a feature gap to MediaPlayer, which has a similar method.
      
      Issue: androidx/media#135
      PiperOrigin-RevId: 476398964
      (cherry picked from commit a069ebda)
      tonihei committed
    • Add example CLUT to demo. · 638d806a
      PiperOrigin-RevId: 476390089
      (cherry picked from commit 5b3efa8a)
      leonwind committed
    • Store LUT bitmap as texture with processor creation. · 09e0dd85
      * Before this CL, the texture was stored during the construction of the LUT processor. This failed since if one creates a list of GlEffects on the application thread, the texture will get stored in the application thread during the effect creation and not on the GL thread, which executes the FrameProcessors.
      * This is an issue since the executing thread then can't index from the texture stored on a different thread.
      
      PiperOrigin-RevId: 476388021
      (cherry picked from commit 44b9aec0)
      leonwind committed
  10. 30 Sep, 2022 1 commit
  11. 23 Sep, 2022 4 commits
  12. 22 Sep, 2022 4 commits
  13. 21 Sep, 2022 2 commits
  14. 20 Sep, 2022 1 commit
  15. 16 Sep, 2022 2 commits
  16. 15 Sep, 2022 1 commit
  17. 14 Sep, 2022 2 commits