1. 25 Jan, 2023 2 commits
    • 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
    • HDR: Implement ForceInterpretHdrVideoAsSdr · 39d9aef0
      Also, document that we tone map when no HDR features are explicitly set
      
      PiperOrigin-RevId: 487310971
      (cherry picked from commit 8bdd2784)
      huangdarwin committed
    • Set HDR color info on FrameworkMuxer · 98c981f6
      Not setting the color info results in a missing "colr" box in the produced
      container, under file/moov/trak/mdia/minf/stbl/stsd/hvc1. This means extractors
      will not be able to find out the transcoded file is HDR.
      
      In `Transformer`, this means it can't transcode this transcoded file, because
      it currently relies on the container bearing HDR info to construct the
      transcoding sample pipeline.
      
      PiperOrigin-RevId: 487276712
      (cherry picked from commit d6c8e3a8)
      claincly committed
    • Change UnsupportedEncodingException to IllegalArgumentException · 70f74fde
      In startTransformation method we were throwing UnsupportedEncodingException (IOException) when mediaItem with unsupported arguments is passed.
      Changed this to IllegalArgumentException which seems more logical here.
      
      PiperOrigin-RevId: 487259296
      (cherry picked from commit 4598cc92)
      sheenachhabra committed
    • Add ExoPlayerAssetLoader · 1ffe6a73
      Just move some code around for now, to start setting up the overall
      structure.
      
      PiperOrigin-RevId: 487229329
      (cherry picked from commit 5d1cab0c)
      kimvde committed
    • Merge Issue: google/ExoPlayer#10762: Fix ffmpeg jni wrapper returning invalid result codes · 95d9e492
      Imported from GitHub PR Issue: google/ExoPlayer#10762
      
      This ensure that ffmpeg error code are properly translated to values that the ExoPlayer decoder understand.
      The main gain is that it allows the decoder to properly ignore more cases of invalid data and recover.
      The second gain is that the other errors are now proper ExoPlayer errors and no more obscure buffer ones.
      
      Fixes: Issue: google/ExoPlayer#10760
      Merge 82ceeb77d6df71f5ffb0474db66a36fd6eb8e51a into 972e169b
      COPYBARA_INTEGRATE_REVIEW=go/exoghi/10762 from Tolriq:ffmpeg_error_code 82ceeb77d6df71f5ffb0474db66a36fd6eb8e51a
      PiperOrigin-RevId: 487189910
      
      (cherry picked from commit 6d2e7a1b)
      Tolriq committed
    • Move slow mo logic to sample pipelines · 881838ba
      This is to avoid having this logic in TransformerInternal once it is
      added.
      
      PiperOrigin-RevId: 487159941
      (cherry picked from commit b59fdf5e)
      kimvde committed
  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
  12. 03 Nov, 2022 1 commit