1. 12 Apr, 2023 13 commits
    • Enable multidex for demo-gl app · 96aa5bd8
      #minor-release
      
      PiperOrigin-RevId: 523708424
      rohks committed
    • Update comment on `Track.nalUnitLengthFieldLength` · 469a78ef
      This field is also non-zero for h.265 tracks.
      
      PiperOrigin-RevId: 523676455
      ibaker committed
    • Remove cache term from TestUtil methods · 001d3468
      PiperOrigin-RevId: 523675327
      sheenachhabra committed
    • Rename misleading COMMAND_GET/SET_MEDIA_ITEMS_METADATA · cd16da03
      The setter command is only used for setPlaylistMetadata and can
      be named COMMAND_SET_PLAYLIST_METADATA. The getter commnad is
      used to access getMediaMetadata and getPlaylistMetadata and can
      be better named COMMAND_GET_METADATA to reflect this usage.
      
      PiperOrigin-RevId: 523673286
      tonihei committed
    • Channel mix to 16-bit int not float · 74ae1af7
      Previously `ChannelMixingAudioProcessor` output float because it was
      implemented using the audio mixer's float mixing support.
      
      Move the implementation over to just using the `ChannelMixingMatrix` and make
      it publicly visible in the common module so it can be used by apps for both
      playback and export.
      
      Also resolve a TODO that no longer had a bug attached by implementing support
      for putting multiple mixing matrices to handle different input audio channel
      counts, and fix some nits in the test code.
      
      Tested via unit tests and manually configuring a `ChannelMixingAudioProcessor`
      in the transformer demo app and playing an audio stream that identifies
      channels, and verifying that they are remapped as expected.
      
      PiperOrigin-RevId: 523653901
      andrewlewis committed
    • Rename ExoTrackSelection.blacklist to excludeTrack · 2c042844
      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 · 81d9c6c1
      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. · b9205746
      In addition to the changes in https://github.com/google/ExoPlayer/commit/b18fb368cca9843aeca2cc4d5a01aa4fa41b4bd7
      
      This change essentially reverts https://github.com/google/ExoPlayer/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. · fd9beb68
      Implement HDR input support for texture output, and add HDR pixel tests.
      
      PiperOrigin-RevId: 523417701
      huangdarwin committed
    • Make PlayerView fold aware · b743ad9f
      PiperOrigin-RevId: 523413988
      Googler committed
    • Fix audio encode timestamp off by one · 0a9134ff
      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 · 78669f87
      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 · eac4b536
      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
  2. 11 Apr, 2023 8 commits
  3. 05 Apr, 2023 19 commits