1. 08 Jan, 2021 11 commits
  2. 07 Jan, 2021 9 commits
    • Deprecate stop(boolean) · 456622a2
      `stop(true)` is almost the same as `clearMediaItems(); stop();`, except that
      any player error isn't cleared. Clearing media items more clearly expresses the
      intent.
      
      PiperOrigin-RevId: 350516748
      andrewlewis committed
    • Fix MIGHT_NOT_USE_FULL_NETWORK_SPEED for VOD DASH streams. · 2c925a41
      The flag compared against the nowTime in the period that is only
      set to a positive value for live streams.
      
      PiperOrigin-RevId: 350514934
      tonihei committed
    • Update surface frame-rate based on fixed frame-rate estimate · 855db95f
      PiperOrigin-RevId: 350442843
      olly committed
    • Clarify parameter Javadoc for playback speed values. · 25ed6b12
      In many cases we just used "playback speed" as a detailed Javadoc
      parameter or return type definition. This doesn't define which scale
      the speed is using.
      
      PlaybackParameters as the main point to set the speed already uses a
      more precise wording to describe the value as a factor by which playback
      will be sped up.
      
      This change replaces other usages of "playback speed" with this wording
      whereever we would usually add a unit, keeping "playback speed" for
      summary statements etc to reference the general concept that doesn't
      usually require a unit.
      
      PiperOrigin-RevId: 350379139
      tonihei committed
    • Propagate audio session ID to MediaCodecVideoRenderer · d1d28a41
      Issue: #8190
      PiperOrigin-RevId: 350357825
      olly committed
    • Turn on parallel video and audio adaptation by default. · aa2beb08
      The experimental setting shows positive results and can be turned
      on by default. To avoid adaptation between HLS audio formats without
      bitrates, we need to ensure that only formats with bitrates are
      considered for adaptation.
      
      Also added tests for these features.
      
      Issue: #5111
      PiperOrigin-RevId: 350315296
      tonihei committed
    • Keep pending output format after multiple flushes · 51d90a40
      The AsynchronousMediaCodecCallback has logic to retain a pending
      output format in case flush() is called. This commit fixes a case where
      calling flush() again while an output format is pending would nullify
      the pending output format.
      
      A unit test is added in AsynchronousMediaCodecCallback but not the
      AsynchronousMediaCodecAdapter. That is because the adapter operates
      directly on top of MediaCodec, but Robolectric's ShadowMediaCodec
      produces an output format on every MediaCodec.start(). This is
      unrealistic when operating MediaCodec in asynchronous mode where we
      need to call MediaCodec.start() after every MediaCodec.flush().
      
      PiperOrigin-RevId: 350176659
      christosts committed
    • Clean up parallel adaptation code. · a4fbc2c9
       - The AdaptiveTrackSelection doesn't need to use the experimental
      terminolgy because the code is always triggered if there are multiple
      adaptive selections.
      
      - It's also confusing to pass the state on the outside after the object
      creation, so moving everything into a simple control flow again where
      the adaptation checkpoints are passed in via the constructor.
      
      - Instead of triple arrays, we can use more readable named structures.
      
      - The calculation of the checkpoints can be cleaned up to be more
      readable by moving things to helper methods.
      
      - The reserved bandwidth from all fixed track selections is really just
      a special case of multiple parallel adaptataions. So this logic doesn't
      need to be separate.
      
      - The whole logic also didn't have test coverage so far. Added tests
      for the actual adaptation using these checkpoints and the builder
      calculating the checkpoints.
      
      Overall this should be a no-op change.
      
      PiperOrigin-RevId: 350162834
      tonihei committed
    • Remove internal renderer audio session ID propagation · 0901fe6e
      Overriding this method will never be necessary or advisable once we
      improve routing of audio session IDs
      
      Issue: #8190
      PiperOrigin-RevId: 350146302
      olly committed
  3. 05 Jan, 2021 4 commits
  4. 24 Dec, 2020 1 commit
  5. 23 Dec, 2020 15 commits