1. 12 Feb, 2021 2 commits
  2. 04 Feb, 2021 9 commits
  3. 03 Feb, 2021 4 commits
  4. 02 Feb, 2021 1 commit
  5. 01 Feb, 2021 17 commits
  6. 26 Jan, 2021 1 commit
  7. 25 Jan, 2021 6 commits
    • Bump version to 2.13.0 · 724ded16
      PiperOrigin-RevId: 353655249
      ibaker committed
    • Use maximum supported channel count for Atmos from API 29 · e696a7c6
      #minor-release
      
      PiperOrigin-RevId: 353649545
      andrewlewis committed
    • OkHttp/Rtmp extensions: Remove dependency on core · 3fcc14b3
      They only require common. This allows their use for non-playback networking
      without requiring the user to depend on the whole of core. I will also make
      the same change for Cronet, although this needs a little more work.
      
      PiperOrigin-RevId: 353649388
      olly committed
    • Replace non-inclusively named constant · a1f06987
      Issue: #7565
      PiperOrigin-RevId: 353649187
      olly committed
    • Move Player in common · b0258e71
      This is the last CL to move Player in common.
      
      #player-to-common
      
      PiperOrigin-RevId: 353642347
      krocard committed
    • Split mutations method out of TrackSelection · ec437350
      `TrackSelection` had mutation methods which were to be called only
      internally by ExoPlayer components but were exposed in the
      public `Player` interface.
      
      The mutation methods have been moved out of `TrackSelection`
      to a new class `ExoTrackSelection`.
      
      Current track related read-only method have also been moved out,
      because they are actually something quite unclear.
      Even for a single item playlist, it's the track being buffered rather
      than the track being played, which is unclear.
      But when you have a playlist it starts to get really confusing,
      because if the next item is being buffered, then it's actually
      the last track to be buffered in the currently playing item.
      As a final aside, the implementations don't do proper thread synchronization
      to ensure visibility of updated state by the calling thread.
      
      Exposing those mutable methods in the public `Player` interface
      was problematic because they leaking internal concepts of `ExoPlayer`.
      This is also required to minimize the `Player` interface for long term
      stability.
      
      `ExoTrackSelection` is a subclass of `TrackSelection`.
      This is not ideal as an `TrackSelection` implementation could
      break the current immutability.
      This was done in order for this refactor to be simpler.
      A future patch will fully split the two classes.
      
      All `MediaPeriod` and `Sources` had to be updated to use the new
      `TrackSelection` dynamic aspect class name.
      An alternative would have been to break ExoPlayer's public API, keeping
      `TrackSelection` as the dynamic aspect name, and calling the public static
      aspect class `TrackSelectionState` or similar.
      Nevertheless, while it would have impacted less files, it would have
      many more small apps and casual users of ExoPlayer.
      
      #player-to-common
      
      PiperOrigin-RevId: 353637924
      krocard committed