1. 19 Mar, 2020 9 commits
    • Reorder renderer enabling/disabling · 4d4e2cdd
      We currently have the following logic to update renderers during
      period transitions:
       1. Wait for the currently reading period to finish reading all its
          streams.
       	a. Advance reading period.
      	b. Set all streams that can't be replaced to final.
      	c. If streams can be replaced, replace them now.
       2. Wait until playback position reaches the transition point
       	a. Disable all unneeded renderers (or those that need
                 re-enabling).
      	b. Advance playing period.
      	c. Enable all new renderers (i.e. all except the ones where
                 we replaced streams directly in step 1c.
      
      This logic causes delays because steps 2a and 2c can easily happen
      before 2b. Doing this allows a smooth transition for cases where
      renderers change or where they need to be re-enabled.
      
      The new order after this change is:
       1. Wait for currently reading period to finish reading.
      	a. Advance reading period.
      	b. Set all streams that can't be replaced to final.
       2. Update reading renderers iteratively.
      	a. If streams can be replaced, replace them asap.
      	b. If renderes need to be disabled, do so as soon as the
      	   respective renderer ended.
      	c. Once step b is fully finished, enable or re-enable all new
                 renderers.
       3. Wait unril playback position reaches the transition point AND
          all tasks in step 2 are done (i.e. all renderers are set up for the
          playing period).
              a. Advance playing period.
      
      As a nice side effect, decoder enabled and disabled events are now
      always reported for the reading period, which is more consistent with
      other renderer callbacks.
      
      PiperOrigin-RevId: 300526983
      tonihei committed
    • Make DataSource extend DataReader and upcast uses · 1f202f0a
      This means DataSource.read now may throw InterruptedException.
      
      PiperOrigin-RevId: 300523430
      aquilescanta committed
    • Tweak the assertions in MediaSourceTestRunner to give clearer failures · 93e203f9
      PiperOrigin-RevId: 300519989
      ibaker committed
    • Fix spurious reset of PreparedState boolean flags · 16e6ea6e
      PiperOrigin-RevId: 300513930
      olly committed
    • No-op change removing bookkeeping for enabled renderers. · c85e5137
      This list was meant to simplify some usages where we only want to
      make operations on enabled renderers. However, keeping this list
      up-to-date is slightly error-prone (because renderers aren't added
      and removed from this list next to the corresponding enable and disable
      calls) and it makes it hard to do more fine-grained changes that only
      enable or disabled a single renderer at a time.
      
      PiperOrigin-RevId: 300513788
      tonihei committed
    • Add public API for pauseAtEndOfMediaItem · 82599960
      Also adds tests covering the internal implementation.
      
      Issue:#5660
      PiperOrigin-RevId: 300513548
      tonihei committed
    • remove deprecated usage of PlaybackParameter · 527563da
      Removes usage of PlaybackParameters where it seems to be trivial.
      
      PiperOrigin-RevId: 300435199
      bachinger committed
    • remove PlaybackParameter dependency from MediaClock · 07272027
      After this change MediaClocks and ExoPlayerImplInternal don't depend on the deprecated PlaybackParameter anymore but only know about playbackSpeed.
      
      PiperOrigin-RevId: 300428791
      bachinger committed
    • add get/setPlaybackSpeed and listener callback · 683cb026
      This change deprecates the PlaybackParameters and remove the skipSilenceField from the PlaybackParameters. This implies that enabling and disabling skipping silences needs to be done on the Player.AudioComponent after this change.
      
      After submission of the change, all Player API changes are done which are required to bring playbackSpeed and skipSilenceEnabled in the converged Player API state.
      
      PiperOrigin-RevId: 300420843
      bachinger committed
  2. 11 Mar, 2020 11 commits
  3. 10 Mar, 2020 20 commits