1. 12 Apr, 2023 9 commits
    • Rename ExoTrackSelection.blacklist to excludeTrack · 7ee53219
      It is not possible to provide a safe deprecation path because
      BaseTrackSelection can't easily know which of the methods is
      implemented by subclasses.
      
      PiperOrigin-RevId: 523471578
      tonihei committed
    • Change format logged when AudioSink throws InitializationException · baf1aa1c
      Change what format is logged from MediaCodecAudioRenderer when
      AudioSink throws InitializationException. We printed the
      AudioSink's format, which most of the times is audio/raw (PCM)
      and not the renderer's format. With this change both formats are
      logged.
      
      #minor-release
      
      Issue: google/ExoPlayer#11066
      PiperOrigin-RevId: 523456840
      christosts committed
    • Remove setters for streamOffset. · 32be985c
      In addition to the changes in https://github.com/androidx/media/commit/3a5c4277a7679c488992d707142a7ad81e6de3ff
      
      This change essentially reverts https://github.com/androidx/media/commit/30e5bc9837e2423cd2bb426c5797211e0f6ad76b (Merged Jul 2022).
      
      From this CL on, `VideoFrameProcessor` takes in non-offset, monotonically
      increasing timestamps. For example, with one 5s and one 10s video,
      
      - `VideoFrameProcessor`'s input should start from 0
      - On switching to the second video (10s), the timestamp of the first frame in
        the second video should be at 5s.
      
      In ExoPlayer however, `streamOffset` is managed differently and thus needs
      correction before sending the frames to `VideoFrameProcessor`:
      - The timestamp of the first video is offset by a large int, so the first frame
        of the first media item has timestamp (assuming) 10000000000000000
      - The last frame of the first media item has 10000005000000000
      - At this point the stream off set is updated to 10000005000000000
      - The pts of the first frame of the second video starts from 0 again.
      
      PiperOrigin-RevId: 523444236
      claincly committed
    • HDR: Add HDR pixel tests. · acdb7ee9
      Implement HDR input support for texture output, and add HDR pixel tests.
      
      PiperOrigin-RevId: 523417701
      huangdarwin committed
    • Make PlayerView fold aware · 509830f3
      PiperOrigin-RevId: 523413988
      Googler committed
    • Fix audio encode timestamp off by one · d43fe347
      Simplify the audio encoder input timestamp calculation. The new calculation
      avoids drifting by tracking the total number of bytes encoded rather than
      tracking the timestamp and remainder separately, and also makes the timestamps
      match the decoder output buffer timestamps.
      
      Also switch one of the export tests that was passing through AMR samples over
      to using WAVE audio. The problem with using AMR is that the compressed samples
      are not necessarily an integer number of audio frames and the shadow decoder
      would pass them from input to output, so the audio encoder was receiving
      non-integer numbers of audio frames.
      
      Tested by logging the timestamps at the decoder output and encoder input with
      forcing transcoding audio, and verifying that after this change the audio
      timestamps are no longer off by one.
      
      PiperOrigin-RevId: 523409869
      andrewlewis committed
    • Release sample pipelines before asset loaders · 0b40bc37
      The video asset loader renders decoder output to a surface texture, and if the
      video sample pipeline is in the process of updating the surface texture image
      at the moment when the asset loader video decoder is released this seems to
      cause `MediaCodec.release` to get stuck.
      
      Swap the release order so that we stop updating the texture before trying to
      release the codec.
      
      PiperOrigin-RevId: 523401619
      andrewlewis committed
    • Improve error logging · ba2c3273
      Log at debug level immediately when MediaCodec throws. This logging will be
      output closer to the time when the error actually happened so should make it
      easier to identify the order of components failing.
      
      Downgrade logging of errors after export ends to warning level, as output may
      still be fine if there was a problem after exporting completed (though it's
      still worth logging a warning as the device may not be in a good state).
      
      PiperOrigin-RevId: 523370457
      andrewlewis committed
    • Replace deprecated onBackPressed call · be85684d
      PiperOrigin-RevId: 523361561
      tonihei committed
  2. 11 Apr, 2023 9 commits
  3. 05 Apr, 2023 22 commits