1. 04 May, 2017 10 commits
    • Fix javadocs typos · 3a5548d7
      Issue:#2773
      
      -------------
      Created by MOE: https://github.com/google/moe
      MOE_MIGRATED_REVID=155062917
      aquilescanta committed
    • Propagate EXT-X-DATERANGE tags with media playlists · b408750a
      -------------
      Created by MOE: https://github.com/google/moe
      MOE_MIGRATED_REVID=155062718
      aquilescanta committed
    • Add DummySurface for use with MediaCodec · 7773831d
      A DummySurface is useful with MediaCodec on API levels 23+.
      Rather than having to release a MediaCodec instance when the
      app no longer has a real surface to output to, it's possible
      to retain the MediaCodec, using MediaCodec.setOutputSurface
      to target a DummySurface instance instead. When the app has
      a real surface to output to again, it can call swap this
      surface back in instantaneously. Without DummySurface a new
      MediaCodec has to be instantiated at this point, and decoding
      can only start from a key-frame in the media.
      
      A future change may hook this up internally in MediaCodecRenderer
      for supported use cases, although this looks a little awkward. If
      this approach isn't viable, we can require applications wanting
      this to set a DummySurface themselves. This isn't easy to do with
      the way SimpleExoPlayerView.setPlayer works at the moment, however,
      so some changes will be needed either way.
      
      Issue: #677
      
      -------------
      Created by MOE: https://github.com/google/moe
      MOE_MIGRATED_REVID=154931778
      olly committed
    • Use Looper.getMainLooper() in Handler constructors in ExoPlayer when needed. · 6d01460b
      Looper.myLooper(), the default looper, may be null in background threads. This adds a fallback to use the main app looper.
      
      This will allow ExoPlayer instances to be built in background threads in Photos.
      
      -------------
      Created by MOE: https://github.com/google/moe
      MOE_MIGRATED_REVID=154845446
      falhassen committed
    • Improve DefaultTimeBar color customization · c3158d3e
      Add attributes for the scrubber handle color and unplayed color. If attributes
      are missing, derive defaults from the played color.
      
      Issue: #2740
      
      -------------
      Created by MOE: https://github.com/google/moe
      MOE_MIGRATED_REVID=154825736
      andrewlewis committed
    • User-defined fallback if Cronet is not available · d33a6b49
      When using the CronetEngine.Builder class, it automatically selects the
      Cronet version preferring higher version codes and falling back to a Java
      Http implementation if no native or GMSCore version is available.
      
      This version selection has now been moved into the CronetEngineFactory
      class to always prefer GMSCore over natively bundled versions. We also
      ignore the Cronet internal Java implementation. Instead, users of
      CronetDataSourceFactory can provide their own fallback factory. If none is
      provided, we use DefaultHttpDataSourceFactory.
      
      -------------
      Created by MOE: https://github.com/google/moe
      MOE_MIGRATED_REVID=154821040
      tonihei committed
    • Infinite loops using new Timeline features · ab30d715
      Using the new getNextWindowIndex method of Timeline, LoopingMediaSource now
      uses a InfinitelyLoopingTimeline which does not unroll the windows to
      157 million iterations but just starts from the beginning. If an explicit
      number of iterations is given, we still unroll.
      
      This change also allows multi-window timebars to show infinitely looping
      playlists correctly.
      
      -------------
      Created by MOE: https://github.com/google/moe
      MOE_MIGRATED_REVID=154817554
      tonihei committed
    • Support for Cronet from GMSCore (Blaze only) · 94ffbb2b
      The blaze BUILD file for the Cronet extension now has three options:
      Using native bundled Cronet libs, using GMSCore, or using whichever is newer.
      The GMSCore version is preselected (as it is the smallest), but other variants
      may be used by uncommenting the respective lines.
      
      The API is the same for all cases and the CronetEngine.Builder automatically
      selects the newest option or falls back to default http.
      
      To avoid that apps using this extension need to add a dependency to Cronet
      themselves, I added a CronetEngineFactory to the Exoplayer extension.
      
      Gradle builds can't be supported (as far as I can see), as the GMSCore Cronet
      version is first party only.
      
      -------------
      Created by MOE: https://github.com/google/moe
      MOE_MIGRATED_REVID=154812029
      tonihei committed
    • Add getNextWindowIndex to Timeline · 6d2fa12e
      (Preparation for Repeat Toggle Function - GitHub Issue #2577)
      
      In addition, Timeline now also got a getPreviousWindowIndex and a
      getNextPeriodIndex method with default implementations.
      
      Changed ExoPlayerImplInternal and PlaybackControlView to use these
      methods at all occurances of period and window index operations.
      
      Note: Does not include repeat mode yet and no timelines are actually
      using it so far. Please wait for the next CLs for this.
      
      -------------
      Created by MOE: https://github.com/google/moe
      MOE_MIGRATED_REVID=154520664
      tonihei committed
    • Prevent text tracks with no language being selected by default · 5c723f4d
      -------------
      Created by MOE: https://github.com/google/moe
      MOE_MIGRATED_REVID=154421706
      aquilescanta committed
  2. 26 Apr, 2017 7 commits
  3. 25 Apr, 2017 4 commits
  4. 24 Apr, 2017 8 commits
  5. 21 Apr, 2017 9 commits
  6. 20 Apr, 2017 1 commit
  7. 18 Apr, 2017 1 commit