1. 26 May, 2023 1 commit
    • Set video size to 0/0 when video render is disabled · a762f190
      In terms of MCVR with a `VideoRendererEventListener`, the video size is set to
      0/0 right after `onVideoDisabled()` is called and is set to the actual size as
      soon as the video size is known after 'onVideoEnabled()`.
      
      For ExoPlayer and in terms of the `Player` interface, `Player.getVideoSize()`
      returns a video size of 0/0 when `Player.getCurrentTracks()` does not support
      `C.TRACK_TYPE_VIDEO`. This is ensured by the masking behavior of
      `ExoPlayerImpl` that sets an empty track selection result when the playing
      period changes due to a seek or timeline removal.
      
      When transitioning playback from a video media item to the next, or when
      seeking within the same video media item, the renderer is not disabled.
      
      #minor-release
      
      PiperOrigin-RevId: 533479600
      (cherry picked from commit f38cbad98558145b3b89f1bb57b25f3105ea36f9)
      bachinger committed
  2. 25 May, 2023 8 commits
  3. 18 May, 2023 20 commits
  4. 17 May, 2023 11 commits
    • Enable live DASH stream for IMA DAI · 73b82337
      This change enables the IMA extension to play live DASH streams
      with DAI support. Samples streams can be found and played in the
      main demo app.
      
      Issue: google/ExoPlayer#10912
      #minor-release
      PiperOrigin-RevId: 532407708
      (cherry picked from commit 806f19c44dd3685be119bdc78e0e09f22fca13e1)
      bachinger committed
    • Update mixed input test to include images of different aspect ratios · fcc11a08
      Makes this test a little more thorough.
      
      PiperOrigin-RevId: 532386515
      (cherry picked from commit 8ab38dc3f97330ecb823f0beb0dc16e79da89d17)
      tofunmi committed
    • Test: Suppress SSIM timeouts on galaxy fold/flip. · 05c2ff34
      This is a failure only in SSIM, so it seems unlikely we'll prioritize this over
      other work or bugs soon. Suppress test failures to reduce triage burden.
      
      PiperOrigin-RevId: 532200729
      (cherry picked from commit 7050340b73529b1b8480b71676b512b9e0cf4c98)
      huangdarwin committed
    • Remove two deprecated `InvalidResponseCodeException` constructors · 14026a5f
      Use a non-deprecated constructor that accepts additional fields(`cause`, `responseBody`) to enhance error logging.
      
      #minor-release
      
      PiperOrigin-RevId: 532190896
      (cherry picked from commit d73f7dd0be749f3a786c6559ac77e7f2b88ac2c0)
      rohks committed
    • Add Player.replaceMediaItem(s) · 6197b576
      This methods allows to replace single items or a range of items directly
      without using separate operations for add and remove. The advantage is
      more readable code for apps and the potential for player
      implementations to optimize this process (e.g. only replace values
      without interrupting playback).
      
      The current change just introduces the API with its default behavior.
      The default logic will be removed again in the future in favor of
      better logic in the Player implementations.
      
      Issue: google/ExoPlayer#8046
      PiperOrigin-RevId: 532151471
      (cherry picked from commit 7289186c937245a4f328f4c9b6e9cda34129306a)
      tonihei committed
    • Allow ExoPlayer to opt into volume device control, forbidden by default · cc1ad85c
      PiperOrigin-RevId: 532136692
      (cherry picked from commit 4518dbfdc8e6d6228d2a39e0db4bb1b6245e15d7)
      jbibik committed
    • Remove deprecated `DefaultDrmSessionManager` constructors · 7ebf05c3
      Use `DefaultDrmSessionManager.Builder` instead.
      
      #minor-release
      
      PiperOrigin-RevId: 532102375
      (cherry picked from commit 9d039c6ff0452431d8ec30d42a615b4e85602e5d)
      ibaker committed
    • Effect: Multiple Texture output · 719715d2
      Allow the VideoFrameProcessor to output multiple textures at a time, so that
      lifetime of textures is up to the consumer calling VFP.releaseOutputFrame.
      
      The FinalShaderProgramWrapper also has a new maxCapacity limit added, to ensure
      the a reasonable amount of textures is used and avoid using up memory.
      
      PiperOrigin-RevId: 532094256
      (cherry picked from commit 025f71bec45e06b19b7237967af2677b84387b08)
      huangdarwin committed
    • Fix lost shader input capacity after end-of-stream · 568233f6
      When exporting compositions with multiple images in a row, transformation could
      get stuck if a shader was ready to accept input when end-of-stream was already
      signaled and queued from upstream. Fix accounting for the downstream capacity.
      
      Manually tested on concatenations with several images and several videos in a
      row, by adding logging and verifying the capacity updates as expected across
      edited media item transitions.
      
      PiperOrigin-RevId: 532088793
      (cherry picked from commit 73d05d5d9dc6fdf06c59c6cb2247efba3bbc9f86)
      andrewlewis committed
    • Delete deprecated zero-arg `DefaultBandwidthMeter` constructor · 02b989f5
      Use `DefaultBandwidthMeter.Builder` instead.
      
      #minor-release
      
      PiperOrigin-RevId: 532069549
      (cherry picked from commit 8a9ac8a9de8a62f33f61257ace98440f4ab22bfc)
      ibaker committed
    • Refactor SequenceAssetLoader release · 31a9680a
      In the past, the SequenceAssetLoader was released in TransformerInternal
      when the export ended.
      
      https://github.com/google/ExoPlayer/commit/782f19edcf9dcc4ecf47dc32776429990c4a928f was made to release the SequenceAssetLoader earlier, when
      loading ended. This was causing player release timeouts because the last
      AssetLoader in the sequence was released before the SamplePipelines (see
      https://github.com/google/ExoPlayer/commit/78669f874309aa1ea9d7679707afde8f747f0c2b for more information).
      
      The code that was releasing the SequenceAssetLoader was first commented
      out because we didn't have an understanding of what was happening.
      
      This change removes the early SequenceAssetLoader release all together.
      It doesn't have any effect as this code was already commented out.
      
      PiperOrigin-RevId: 532065673
      (cherry picked from commit ff515c1d74339df8dad11ed7b9ea6c571d3c90e9)
      kimvde committed