1. 19 Mar, 2020 16 commits
    • add media item based playlist methods · 2028fdd7
      After this change users of ExoPlayerImpl and SimpleExoPlayer can use the media item base playlist API which converts the media item to a media source.
      
      It adds the media item based methods to the ExoPlayer instead of the Player interface. This avoids a big change in the CastPlayer which requires migrating the cast extension to the MediaItem of the core module (follow up CLs).
      
      PiperOrigin-RevId: 300575567
      bachinger committed
    • update ExoPlayerTest to use get/setPlaybackSpeed · 1e387601
      PiperOrigin-RevId: 300554337
      bachinger committed
    • Drop prefix test- from test methods under v2/library · 920117b0
      This CL removes the prefixes to the tests added after https://github.com/google/ExoPlayer/commit/a6d0caaa3c95746beb4e82c1005c06cbb14b6f6c.
      
      This CL is generated by following command
      $ find -name '*Test.java' | xargs -I{} sed -i 's/^\ \ public\ void\ test\([A-Z]\)\(.*\)$/  public void \L\1\E\2/' {}
      
      PiperOrigin-RevId: 300547504
      olly committed
    • Add DRM event plumbing to Playlist and CompositeMediaSource · f08eed41
      Related to issue:#6765
      
      PiperOrigin-RevId: 300539527
      ibaker committed
    • Drop prefix test- from test methods under v2/playbacktests · beab272a
      This is one step toward following the google3's test naming convention.
      See go/java-testing/getting_started#basic-test-template for details
      why prefix test isn't necessary.
      
      This CL is generated by following command
      $ find -name '*Test.java' | xargs -I{} sed -i 's/^\ \ public\ void\ test\([A-Z]\)\(.*\)$/  public void \L\1\E\2/' {}
      
      PiperOrigin-RevId: 300537212
      olly committed
    • Drop prefix test- from test methods under v2/extensions · 2f91c12f
      This is one step toward following the google3's test naming convention.
      See go/java-testing/getting_started#basic-test-template for details
      why prefix test isn't necessary.
      
      This CL is generated by following command
      $ find -name '*Test.java' | xargs -I{} sed -i 's/^\ \ public\ void\ test\([A-Z]\)\(.*\)$/  public void \L\1\E\2/' {}
      
      PiperOrigin-RevId: 300530329
      olly committed
    • Use a Multiset for reference counting in MediaSourceEventDispatcher · 2bd4d61b
      This avoids duplicate events being dispatched to object foo if
      addListener(foo) is called more than once.
      
      Part of issue:#6765
      
      PiperOrigin-RevId: 300529733
      ibaker committed
    • 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 13 commits