1. 10 Jul, 2015 1 commit
    • Instead of calculating the duration by accumulating spans with and without PTS info from left to right, find the largest continuous span that has PTS information and then add up EXT-INF based durations before and after those spans. To make this proces simpler, split the interval we are calculating into segment sequences with continuous timestamps. Add segment indices for discontinuities to the m3u8 parser to support splitting intervals.
      David LaPalomento committed
  2. 04 Jun, 2015 1 commit
    • Keep track of the accurate durations of expired segments in the playlist loader so that it's possible to accurately calculate the start and end points of the seekable ranges relative to media timeline position zero, even if we switch variant streams or seek within a live stream. Track the media timeline position of the last discontinuity to allow for PTS-based variant stream synchronization instead of the incorrect media sequence based method we're currently using. Stop rewriting timestamps in the transmuxed FLV tags for that reason as well. Add m3u8 parser support for EXT-X-DISCONTINUITY-SEQUENCE.
      David LaPalomento committed
  3. 27 May, 2015 1 commit
  4. 02 Apr, 2015 3 commits
  5. 05 Jan, 2015 1 commit
  6. 05 Nov, 2014 1 commit
  7. 30 Oct, 2014 1 commit
  8. 22 Aug, 2014 1 commit
  9. 24 Jun, 2014 1 commit
  10. 25 Feb, 2014 1 commit
  11. 23 Feb, 2014 1 commit
    • When an ENDLIST tag is not present, media playlists should be continually re-requested to check for updates. The updated versions of the playlist must be reconciled with the client's metadata to continue playback. Added a single function to manage this process for media playlists with and without media sequence information, using URIs and byterange information to match segments.
      Removed parser code that defaulted the playlist type to VOD if no type was specified. The spec allows live streams to omit the playlist type if the server intends to remove segments from the playlist. None of the runtime code actually referenced playlist type so it may have been a bit premature to parse it at all.
      David LaPalomento committed
  12. 29 Jan, 2014 1 commit
  13. 17 Jan, 2014 1 commit
  14. 16 Jan, 2014 1 commit
    • Unless a comment specifies the total duration, do not add the property to the parsed manifest object. Also, do not default it to zero if it is not defined in the manifest. Instead, calculate the total duration from the target duration and segment metadata whenever a new playlist is selected.
      David LaPalomento committed
  15. 15 Jan, 2014 1 commit
    • Stop attempting to calculate the segment time range in the media playlist parsing, instead we can re-calculate it on demand. Remove some trailing commas in expected parser output because that is not valid JSON. Do not create an attributes property when parsing stream-inf if no actual attribute values were parsed.
      David LaPalomento committed
  16. 10 Jan, 2014 2 commits
  17. 08 Jan, 2014 1 commit
  18. 07 Jan, 2014 3 commits
    • Move the duration update functionality so it happens inline instead of in a custom event. Add a test case. Clean up formatting inconsistencies.
      David LaPalomento committed
    • It's not valid according to the spec, but bipbop has whitespace after the commas in its key-value pair lists. Strip leading and trailing whitespace before splitting the key and value when parsing now. Update one of the manifests to use the bad format. Add differentiated media playlists.
      David LaPalomento committed
    • If a master playlist has been downloaded, immediately fetch the default variant playlist and start buffering it. This matches HLS network activity in Safari on OS X which also seems to lazily load the non-default variant streams. Consolidate relative URL resolution and use a solution involving the `base` element to take advantage of browser logic for URL composition. Update test cases to expect absolute URLs for XHRs after the initial manifest request.
      David LaPalomento committed
  19. 06 Jan, 2014 1 commit
  20. 03 Jan, 2014 1 commit
  21. 25 Dec, 2013 2 commits
  22. 22 Dec, 2013 1 commit
  23. 20 Dec, 2013 2 commits
  24. 18 Dec, 2013 1 commit
    • Add the peg parser generation step to the gruntfile. Include the generated parser in the test harness page. Update many of the m3u8 tests to work with the new parser. There are a number of tests still failing. I believe this is because parts of the grammar are not sufficiently flexible to handle some optional parameters. For instance, #EXT-X-BYTE-RANGE is being glommed incorrectly into the #EXTINF definition and that's throwing off parsing. This commit is a progress checkpoint; things are definitely not working correctly.
      David LaPalomento committed
  25. 01 Dec, 2013 1 commit
  26. 18 Nov, 2013 1 commit
  27. 24 Oct, 2013 2 commits
  28. 23 Oct, 2013 1 commit