1. 25 Jan, 2023 3 commits
    • Add setPlaybackLooper ExoPlayer builder method · e42c65bc
      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 79b809b5)
      Googler committed
    • Fix NPE when listener is not set · e2e7c43c
      PiperOrigin-RevId: 488970696
      (cherry picked from commit f52bb274)
      Googler committed
    • Changed decoder list sort to order by functional support of format · 97d7ed7d
      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.
      
      UnitTests 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 1eb8a6b3)
      michaelkatz committed
  2. 05 Jan, 2023 1 commit
  3. 24 Nov, 2022 1 commit
  4. 23 Nov, 2022 2 commits
  5. 22 Nov, 2022 5 commits
  6. 17 Nov, 2022 7 commits
  7. 10 Nov, 2022 9 commits
  8. 09 Nov, 2022 6 commits
  9. 08 Nov, 2022 2 commits
  10. 07 Nov, 2022 3 commits
    • Move muxer initialization off application thread · 194a32c0
      Problem: We are initialising muxer as soon as we start the transformation. Now the startTransformation() method can be called from main thread, but muxer creation is an I/O operation and should be not be done on main thread.
      
      Solution: Added lazy initialisation of muxer object. The actual transformation happens on background thread so the muxer will be initialised lazily from background thread only.
      
      Another way was to provide an initialize() method on MuxerWrapper which will explicitly initialise muxer object but with this approach the caller need to call the initialise method before calling anything else. With current implementation the renderers are calling MuxerWrapper methods on various callbacks (Not sequentially) and also we are sharing same muxer with multiple renderers so It might become confusing for the caller on when to call the initialise() method. Also there are few methods on MuxerWrapper which dont really need muxer object. So in short it might make MuxerWrapper APIs more confusing.
      
      Validation: Verified the transformation from demo app.
      PiperOrigin-RevId: 486735787
      (cherry picked from commit b10b4e6d)
      sheenachhabra committed
    • HDR: Set decoder codec profile and level if available. · 09698192
      This should be necessary to ensure decoders see fewer errors.
      
      Setting this resulted in removing native_dequeueOutputBuffer errors on OMX.MTK decoders for in-app tone mapping prototyping.
      
      PiperOrigin-RevId: 486715941
      (cherry picked from commit 0b7e5bba)
      huangdarwin committed
    • HDR: Update test FileUtil to handle null ColorInfo. · 9ad56508
      PiperOrigin-RevId: 486706595
      (cherry picked from commit 0b53c934)
      huangdarwin committed
  11. 04 Nov, 2022 1 commit