1. 17 Feb, 2022 34 commits
  2. 08 Feb, 2022 6 commits
    • Misc clean-up in ExoPlayerImpl. · 9042aa7c
      This brings listener invocations closer together and removes
      unnecessary methods.
      
      Also fixes a bug where a change in track selection parameters only
      queued a callback but never flushed it to actually inform the
      listeners.
      
      #minor-release
      
      PiperOrigin-RevId: 427201691
      tonihei committed
    • Avoid special-casing AnalyticsCollector when informing listeners. · 6dbf9cac
      In some cases (whose where we previously used EventListener),
      AnalyticsCollector is registered as a listener to receive updates,
      in other cases it is called directly.
      
      Avoid this inconsistent handling by registering it as normal listener
      and removing all callbacks that are handled by the normal listener flow.
      
      The remaining direct usages of AnalyticsCollector calls are those
      callbacks that have no equivalent in Player.Listener.
      
      #minor-release
      
      PiperOrigin-RevId: 427201525
      tonihei committed
    • Android 12L: Always set codec max output channels · 258925d5
      With this change, MediaCodecAudioRenderer always configures MediaCodec
      with max output channels set to 99 on API 32+.
      
      #minor-release
      
      PiperOrigin-RevId: 427192801
      christosts committed
    • Make Codec an interface and introduce DefaultCodec. · a41bdbad
      PiperOrigin-RevId: 427191610
      claincly committed
    • Remove self-listening from ExoPlayerImpl · 9582a9f0
      SimpleExoPlayer used to register a listener on ExoPlayerImpl for
      the old EventListener callbacks. Now both classes are merged, this is
      no longer needed and should be removed in favor of calling methods
      directly.
      
      #minor-release
      
      PiperOrigin-RevId: 427187875
      tonihei committed
    • Fix delayed discontinuity for failed ad insertions. · 3ab5437c
      We have logic to not immediately interrupt playback when an ad group
      fails to load and instead let the current content play and transition
      at the point where the ad group should have been.
      
      This logic was broken by https://github.com/androidx/media/commit/dcbdbe53417d6642f2be98c82ac941d34908bd49 because of one of the conditions
      used MediaPeriodId.adGroupIndex, which is always -1 for content ids.
      It still worked for the last ad group because the next ad group index
      was C.INDEX_UNSET.
      
      Fix the issue and amend the test that was meant to catch this to test
      the ad failures for the last ad and previous ads.
      
      Also fix the PositionInfo reported in such a case, which was also wrong.
      
      Issue: google/ExoPlayer#9929
      
      #minor-release
      
      PiperOrigin-RevId: 427143223
      tonihei committed