1. 14 Jan, 2022 3 commits
    • Fix decoder fallback logic for Dolby Atmos and Dolby Vision. · 607ef989
      The media codec renderers have fallback logic in getDecoderInfos
      to assume that E-AC3 decoders can handle the 2D version of E-AC3-JOC and
      that H264/H265 decoders can handle some base layer of Dolby Vision
      content. Both fallbacks are useful if there is no decoder for the
      enhanced Dolby formats.
      
      Both fallbacks are not applied during track selection at the moment
      because the separate MediaCodecInfo.isCodecSupported method verifies
      that the mime type corresponding to format.codecs is the same as the
      decoder mime type (which isn't true for the fallback case).
      
      To fix the fallback logic, we can just completely remove this additional
      check because it's not needed in the context of this method that is only
      called after we already established that the decoder can handle the
      format.sampleMimeType.
      
      In addition, we need to map the Dolby Vision profiles to the equivalent
      H264/H265 profile to make the codec profile comparison sensible again.
      
      PiperOrigin-RevId: 420959104
      tonihei committed
    • Remove most allocations in SampleQueue.release · c3b470f3
      SampleQueues may be released in the context of a finally block
      after an out of memory error. Allocating in that scenario can
      throw yet a new OutOfMemoryError. By safely releasing SampleQueue
      memory, we increase the possibility of handling the error
      gracefully.
      
      PiperOrigin-RevId: 420859022
      aquilescanta committed
    • Require playback to be stuck for a minimum period before failing · 8c89c9c6
      PiperOrigin-RevId: 420738165
      olly committed
  2. 10 Jan, 2022 6 commits
  3. 07 Jan, 2022 10 commits
  4. 05 Jan, 2022 4 commits
    • Add translatable playback speed strings · ac6207c9
      The UI component will be switched over to use them in a
      subsequent commit, once the translations have been
      imported.
      
      Issue: google/ExoPlayer#9811
      PiperOrigin-RevId: 419632617
      olly committed
    • Allow continuous seeking. · 90912b07
      PiperOrigin-RevId: 419629912
      claincly committed
    • Transformer GL: Fix rotation distortion by considering aspect ratio · 34ed8e2b
      Compensate for aspect ratio of input frames, so that they're applied on
      rectangular frames instead of square normalized-device-coordinate frames.
      
      This fixes distortion most visible when rotating any GL video 45°
      (non-rectangular frames) or 90° (stretched frames)
      
      Tested by rotating several landscape/portrait demo videos.
      (Automated tests will follow in <unknown commit>)
      
      PiperOrigin-RevId: 419619743
      huangdarwin committed
    • Refactor checking muxer support. · 54130bf0
      * Move checking that the output format is supported by the muxer
        from supportsFormat (which deals with the input format) to
        ensureConfigured.
      * Add maps for the supported MIME types so that the muxer can
        return what MIME types it supports rather than just check a
        MIME type.
      
      PiperOrigin-RevId: 419578165
      hschlueter committed
  5. 04 Jan, 2022 17 commits