1. 01 Mar, 2016 1 commit
  2. 12 Feb, 2016 1 commit
  3. 10 Feb, 2016 2 commits
  4. 09 Feb, 2016 3 commits
  5. 08 Feb, 2016 1 commit
  6. 29 Jan, 2016 2 commits
  7. 25 Jan, 2016 1 commit
  8. 20 Jan, 2016 1 commit
  9. 19 Jan, 2016 4 commits
  10. 18 Jan, 2016 1 commit
  11. 15 Jan, 2016 1 commit
  12. 14 Jan, 2016 1 commit
  13. 11 Jan, 2016 1 commit
  14. 16 Dec, 2015 1 commit
  15. 15 Dec, 2015 1 commit
  16. 14 Dec, 2015 1 commit
  17. 11 Dec, 2015 4 commits
  18. 09 Dec, 2015 1 commit
  19. 07 Dec, 2015 1 commit
  20. 05 Dec, 2015 1 commit
  21. 04 Dec, 2015 1 commit
  22. 01 Dec, 2015 1 commit
  23. 30 Nov, 2015 3 commits
  24. 27 Nov, 2015 2 commits
    • getMediaIndexForTime() looks to have a boundary issue that is causing seeks to be unreliable in live streams. While we track that down, add a tiny delta to seeks to avoid the problem.
      David LaPalomento committed
    • When we switch playlists in a live video, we have to find the right place in the new playlist to continue buffering. This is complicated because we can't guarantee the two variants are segmented at the same time positions or that the windows of time they represent are exactly in sync. Most of the time, they're pretty close to one another and we can use that fact to make better guesses at which segment to download when switching.
      
      This PR adds back tracking of expired content in the playlist loader, which can then be used to estimate the seekable window for live playlists even before we've buffered any segments from them. This also allows seekable to be accurate even when the player has paused for a long time and all the segment timing information we gathered has gone out of date. To make rejoining or seeking in a live stream even more robust, we detect when a seek "misses" the live window and seek again to a safe position.
      David LaPalomento committed
  25. 21 Nov, 2015 1 commit
  26. 20 Nov, 2015 2 commits
    • Make the default bandwidth estimate a bit less conservative. On bad connections, this may lead to slower startups but it can be overridden through options or by setting the bandwidth property early.
      David LaPalomento committed
    • Look forward and backward through the playlist to find an anchor to base seekable calculations on. This is helpful for live playlists in particular, where the only way to determine the correct starting position for the seekable range is to look at where future segments have ended up in the buffer. Without this change, the start of seekable was always zero, even if the live sliding window had moved forward.
      David LaPalomento committed