1. 13 Nov, 2017 11 commits
  2. 07 Nov, 2017 9 commits
  3. 03 Nov, 2017 9 commits
  4. 02 Nov, 2017 6 commits
  5. 01 Nov, 2017 5 commits
    • Preserve original on redirect with the set-cookie flow. · 46172ffd
      We need to make sure the original header is retained when we redirect.
      
      I filed a request on Cronet to allow headers to be provided to the UrlRequest#followRedirect method:
      https://bugs.chromium.org/p/chromium/issues/detail?id=779611
      
      Until that API is changed, i.e., pulled into GMSCore, and most clients are using the version of GMSCore with the API change, we can stick with this approach.
      
      FYI
      
      Cronet generally uses the original headers on redirect:
      
      http://[]
      
      but modifies the headers for these special cases:
      
      hhttp://[]
      
      -------------
      Created by MOE: https://github.com/google/moe
      MOE_MIGRATED_REVID=174074572
      falhassen committed
    • Use resolved position for masking when seeking to C.TIME_UNSET · 72b67916
      Also fire onPositionDiscontinuity in this case
      
      -------------
      Created by MOE: https://github.com/google/moe
      MOE_MIGRATED_REVID=174039483
      olly committed
    • Execute DownloadTask threads manually · 37d33f58
      Instead of using an Executor to run DownloadTasks creates and manages
      threads internally.
      
      Also added DownloadThread internal class to better separate the code
      that doesn't run on the main thread.
      
      -------------
      Created by MOE: https://github.com/google/moe
      MOE_MIGRATED_REVID=174036872
      eguven committed
    • Split PlaybackInfo into its own file · 199b983d
      -------------
      Created by MOE: https://github.com/google/moe
      MOE_MIGRATED_REVID=174030901
      olly committed
    • Fix masking step 1 · f1508565
      1. Move Timeline/Manifest into PlaybackInfo
      2. Don't update externally visible Timeline/Manifest during preparation
      3. Ignore MSG_POSITION_DISCONTINUITY during preparation
      4. Correctly set masking variables at start of preparation, and use them
      
      Once this change goes in, PlaybackInfo will contain timeline, manifest
      and position, which should always be self-consistent with one another.
      The next step would then be to move a bunch of logic in ExoPlayerImpl
      that derives state from timeline and position into PlaybackInfo, and
      split that into its own top level class that can be easily tested to make
      sure it never IndexOutOfBounds.
      
      I think we could also replace the masking variables and instead just assign
      a new PlaybackInfo to the playbackInfo variable whenever we're doing
      something that requires masking. This should be possible because we no
      longer update playbackInfo whenever we have pending acks. It would
      require allowing PlaybackInfo to mask the window position internally when
      the timeline is empty, but I think this is ok, and again is something we
      could test pretty easily.
      
      Issue: #3362
      
      -------------
      Created by MOE: https://github.com/google/moe
      MOE_MIGRATED_REVID=173909791
      olly committed