1. 26 May, 2023 14 commits
    • Add artwork display mode to PlayerView · d0a3468b
      This change deprecates `PlayerView.setUseArtwork(boolean)` and
      introduces `setArtworkDisplayMode(mode)` and
      `artworkDisplayMode="off|fit|fill"` instead.
      
      - off: no artwork is displayed (like deprecated useArtwork=false)
      - fit: letterbox like media (like deprecated useArtwork=true)
      - fill: scales the artwork to fill the entire width/weight of the player view
      
      #minor-release
      
      PiperOrigin-RevId: 534167226
      (cherry picked from commit 7f3f2fe0758e083cc5baf8781b1f1be20d32f052)
      bachinger committed
    • Fix seeking bug in opus · 85a9d563
      Fix a bug when seeking in an opus container. The calculations inside
      DefaultOggSeeker may overflow a long primitive.
      
      Issue: androidx/media#391
      
      #minor-release
      
      PiperOrigin-RevId: 534128513
      (cherry picked from commit 5535cd18ec50862425adadd231778752bfe12ba1)
      christosts committed
    • Write metadata to Mp4Muxer in the release() method · 0e937ff9
      Earlier metadata was written multiple times as it came.
      With new changes, all the distinct metadata entries will
      get collected and will be written at once in the end.
      
      PiperOrigin-RevId: 534088401
      (cherry picked from commit f88fde8b88c2422f096425b6568ee7ac8ebb2ade)
      sheenachhabra committed
    • Effect: Add GlTextureInfo release() and accessor methods. · e755359e
      This allows us to disallow access after release.
      
      PiperOrigin-RevId: 534046475
      (cherry picked from commit d357cd616c47cce0a5cdd066b25e307488d25534)
      huangdarwin committed
    • ExoPlayer: Add setVideoFrameProcessorFactory(). · 05c5fe23
      This allows apps to use a custom VideoFrameProcessor implementation for video
      playback. This may be useful, for example, when outputting to a texture.
      
      PiperOrigin-RevId: 534044831
      (cherry picked from commit 703923d196934fdcc019ffd610b6f778f8fa043d)
      huangdarwin committed
    • Untangle PlayerInfo/PlaybackInfo updates · a80b1675
      The methods in ExoPlayerImpl and MediaControllerImplBase that determine
      the new PlayerInfo/PlaybackInfo currently have a hard-to-reason-about
      setup where the method generating the new info accesses other methods
      that rely on the existing class field instead of working with the
      passed in PlayerInfo/PlaybackInfo. This prevents reuse of the util
      methods (e.g. for replaceMediaItems) because they access potentially
      stale state.
      
      This change untangles these methods a bit by making the util methods
      either static or at least ensure that they don't rely on existing
      class fields of PlayerInfo/PlaybackInfo. Overall, the change is a
      complete no-op.
      
      #minor-release
      
      PiperOrigin-RevId: 534036633
      (cherry picked from commit f898a7f17376d50c4de6cd8f67fe047410581527)
      tonihei committed
    • Extend main Player Javadoc · 9f6969bc
      The main interface documentation hasn't been updated substantially
      since 2017 and is missing notes for many of its current features and
      requirements.
      
      Also change the recommendation for implementors from BasePlayer to
      SimpleBasePlayer to ensure new classes are more likely to cover all
      of the interface requirements.
      
      #minor-release
      
      PiperOrigin-RevId: 534027117
      (cherry picked from commit d75e24a713dd8648ff775c6d29be6db30a7d31d9)
      tonihei committed
    • Remove unnecessary `volatile` · ce12edf4
      This field is always accessed with the mutex held.
      
      PiperOrigin-RevId: 534027096
      (cherry picked from commit ea42465fef89a667655c4d2603e7b48b54157d92)
      andrewlewis committed
    • Use `Ascii` for conversion to lower case · 2469ee43
      PiperOrigin-RevId: 534016337
      (cherry picked from commit 42632b29670b0008b440b7059071a48a0a07b5cb)
      andrewlewis committed
    • Run `clang-format` on GLSL · 82af7f1d
      PiperOrigin-RevId: 534015933
      (cherry picked from commit 65c33e69709f34ef94f8831b290eb30df2a4306b)
      andrewlewis committed
    • Remove deprecated zero-arg `DefaultTrackSelector` constructor · 9066652b
      Use `DefaultTrackSelector(Context)` instead.
      
      #minor-release
      
      PiperOrigin-RevId: 533985937
      (cherry picked from commit a8928fba7f13ddd1033368b69d601da1e8bfb852)
      ibaker committed
    • Make DrmConfiguration Bundleable · 01e5f461
      PiperOrigin-RevId: 533721679
      (cherry picked from commit 5e7334545ad6bfc4fe88559c7949bbc227543681)
      jbibik committed
    • Move MdtaMetadataEntry class into container module · dfbfdc82
      This class is to be shared between extractor, transformer
      and muxer module.
      
      PiperOrigin-RevId: 533490888
      (cherry picked from commit fe5dedb84e4e947d0647fc7d5363eb5a1f500384)
      sheenachhabra committed
    • 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 18 commits