1. 10 Dec, 2021 6 commits
    • Add support for showing debug info during transformation · 9676d548
      Being able to see the output of the GL pipeline is useful for debugging. For
      example, when we previously saw flakiness it would have been useful to be able
      to tell quickly whether the output looked wrong without needing to run a
      transformation to the end then inspect the output file, and when working on
      support for HDR editing it's useful to be able to do manual testing on devices
      that don't support HDR encoding (but do support decoding/processing it with
      GL).
      
      Also change the progress indicator to be linear as this looks better in the
      demo app when shown next to the debug preview.
      
      PiperOrigin-RevId: 414999491
      andrewlewis committed
    • Don't sort decoders by format support in supportsFormat · 27f905f5
      This is a no-op change that updates supportsFormat to use the
      decoder list before it's reordered by format support. Instead,
      supportsFormat iterates through the decoders listed in their
      original priority order as specified by the MediaCodecSelector.
      The end result is identical.
      
      This is necessary groundwork for a subsequent change that will
      indicate in Capabilities whether the decoder that suppports the
      format is the primary one as specified by the MediaCodecSelector
      (i.e., the one at index=0 in the lists that are now used).
      
      Issue: google/ExoPlayer#9565
      PiperOrigin-RevId: 414971986
      olly committed
    • Fix FFWD/RWND color in night mode · dff04b34
      The color set via textAppearance is overridden by any non-null
      textColor set directly on the style. We always want the specific
      properties the textAppearance specifies, so set them directly to
      prevent them from being overridden.
      
      #minor-release
      Issue: google/ExoPlayer#9765
      PiperOrigin-RevId: 414967143
      olly committed
    • Support IMA DAI streams for HLS · a92e48e5
      PiperOrigin-RevId: 414804513
      bachinger committed
    • Rename `DecoderCounters#inputBufferCount` to `queuedInputBufferCount` · eaa4ab59
      This more accurately reflects the value stored in this field.
      
      PiperOrigin-RevId: 414762892
      ibaker committed
    • Configure MediaCodec in API 32+ to always output 99 channels · e5c59846
      Configure MediaCodec in API 32+ to always output 99 channels
      so that we use the audio is spatialized, if the platform can apply
      spatialization to it.
      
      In a follow-up change, the output channel count will be set based on the
      device's spatialization capabilities.
      
      PiperOrigin-RevId: 414751543
      christosts committed
  2. 08 Dec, 2021 5 commits
    • Add a builder to `DefaultAudioSink` · 97206b9c
      `DefaultAudioSink` already has 3 telescoping
      constructors and an other one would be have been
      needed to add a buffer size tuning option.
      
      PiperOrigin-RevId: 414703366
      krocard committed
    • Fix how drop-to-keyframe events are recorded in `DecoderCounters` · 0f48dfc9
      The existing code creates an imbalance between `inputBufferCount` and
      `droppedBufferCount` by adding 'dropped source buffers' to
      `droppedBufferCount` but not to `inputBufferCount`. This results in
      assertion failures in `DashTestRunner`.
      
      PiperOrigin-RevId: 414672175
      ibaker committed
    • Migrate usages of Timeline#getPeriodPosition to getPeriodPositionUs · 5c2f6186
      #minor-release
      
      PiperOrigin-RevId: 414671861
      ibaker committed
    • Retry creating a MediaCodec instance in MediaCodecRenderer · 07352a45
      It's been observed that some devices fail when releasing a secure codec
      attached to a surface and immediately trying to create a new codec
      (secure or insecure) attached to the same surface. This change catches
      all exceptions thrown during codec creation, sleeps for a short time,
      and then retries the codec creation. This is observed to fix the problem
      (we believe this is because it allows enough time for some background
      part of the previous codec release operation to complete).
      
      This change should have no effect on the control flow when codec
      creation succeeds first time. It will introduce a slight delay when
      creating the preferred codec fails (while we sleep and retry), which
      will either delay propagating a permanent error or attempting to
      initialize a fallback decoder. We can't avoid the extra delay to
      instantiating the fallback decoder because we can't know whether we
      expect the second attempt to create the preferred decoder to succeed or
      fail. The benefit to always retrying the preferred decoder creation
      (fixing playback failures) outweighs the unfortunate additional delay
      to instantiating fallback decoders.
      
      Issue: google/ExoPlayer#8696
      #minor-release
      PiperOrigin-RevId: 414671743
      ibaker committed
    • GL: Document ambiguous parameter names in comments. · fcdb96f0
      Also, made a few other refactoring changes for clarity. No functional changes
      intended.
      
      PiperOrigin-RevId: 414487729
      huangdarwin committed
  3. 07 Dec, 2021 5 commits
  4. 06 Dec, 2021 13 commits
  5. 02 Dec, 2021 11 commits