1. 09 Feb, 2021 5 commits
    • Wire CodecException.isRecoverable to ExoPlaybackException · 01b6061b
      PiperOrigin-RevId: 355896218
      olly committed
    • Ensure BandwidthProfileDataSource loading is fully deterministic · 91c2f891
      We currently block the loading thread until the calculated load
      time has past and then unblock again by a message sent from the
      playback thread. However, because the loading thread itself is not
      using a Looper and runs freely, we don't control when the short
      calculations on the loader thread that determine how long we have
      to wait are happening, and we also don't control how long it takes
      to start and stop this thread.
      
      To solve these problems and to make the playback deterministic we
      can
       1. Send a message on the playback thread to block until the loader
          thread has started.
       2. Block the playback thread whenever a loading thread is doing its
          short calculation of wait times. The playback thread knows when it
          can continue because loading either enter a new waiting state for
          a simulated load time or loading is finished completely.
       3. Also wait on the playback thread until the loader has shut down.
          As this is waiting for a message on the playback thread, we can
          achieve this by sending messages to ourselves at the current time
          until the loader is shut down.
      All 3 steps together ensure that the loading thread interaction is
      compeltely deterministic when simulating bandwidth profiles with the
      BandwidthProfileDataSource. As we need to notify the source before and
      after the load started/finished, we also need a small wrapper for the
      chunk source when running the playback.
      
      PiperOrigin-RevId: 355810408
      tonihei committed
    • Consistently throw the original exception if recovery fails · 438bcada
      PiperOrigin-RevId: 355664280
      olly committed
    • #ExoPlayerMigration Ensure RawResourceDataSource class is obfuscated · a245fbdc
      PiperOrigin-RevId: 355659628
      olly committed
    • Clarify AudioFocusManager by renaming some methods/field · 91d3f47e
      The current naming had cause confusinon in b/179369346
      and #8545.
      
      PiperOrigin-RevId: 355656404
      krocard committed
  2. 04 Feb, 2021 10 commits
  3. 03 Feb, 2021 7 commits
  4. 02 Feb, 2021 2 commits
    • Fix ProGuard configuration for 2.13 · b1920f3a
      Note: We only support pro-guard on a best effort basis,
      and developers should use R8 whenever possible.
      
      #minor-release
      
      PiperOrigin-RevId: 355129695
      olly committed
    • Modernize bandwidth profile simulator. · 05fddff8
      Main improvement is to switch away from ExoPlayerTestRunner and to
      split out the waiting component so that the same class can be used
      from Robolectric tests in the future.
      
      The only functional difference is that that BufferLengthLogAction
      is removed completely because the data isn't used downstream and the
      method of collecting this data is a bit arbitrary.
      
      PiperOrigin-RevId: 355117850
      tonihei committed
  5. 01 Feb, 2021 16 commits