- 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
-
- 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
-
- 27 May, 2015 1 commit
-
-
- 02 Apr, 2015 3 commits
-
-
Custom IVs are naturally expressed as Uint8Arrays but our expected manifest format was json. Swap to plain JS so we don't have to do anything hacky for testing with custom IVs.
David LaPalomento committed -
-
-
- 05 Jan, 2015 1 commit
-
-
Changing the live start time from 30s to 3 target durations. Using 30s as a fallback if the playlist does not define a target duration.
Brandon Bay committed
-
- 05 Nov, 2014 1 commit
- 30 Oct, 2014 1 commit
-
-
- 22 Aug, 2014 1 commit
-
-
Enhance ParseStream to recognize and parse #EXT-X-KEY lines. Update Parser to track a currently active key and annotate each segment with the parsed key information. Added test cases and an example encrypted playlist.
David LaPalomento committed
-
- 24 Jun, 2014 1 commit
- 25 Feb, 2014 1 commit
-
-
Modify the parser to include an attribute when the endlist tag shows up in a media playlist. Update test playlist parses to add the attribute where appropriate. Trigger a playlist reload and merge if endlist isn't present in the parse. Clean up some formatting.
David LaPalomento committed
-
- 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
-
- 29 Jan, 2014 1 commit
-
-
When parsing a media playlist, if a URI is encountered without a corresponding #EXTINF with valid duration, default its value to the last encountered #EXT-X-TARGETDURATION tag.
David LaPalomento committed
-
- 17 Jan, 2014 1 commit
-
-
If segment requests are not aborted, fillBuffer will detect an outstanding XHR and fail to download the target segment. This would force the user to click twice on the progress bar to get seek to "take" if their was a segment request in progress.
David LaPalomento committed
-
- 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 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
-
- 10 Jan, 2014 2 commits
-
-
- 08 Jan, 2014 1 commit
-
-
- 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
-
- 06 Jan, 2014 1 commit
-
-
- Updated test suite now looks for manifest.totalDuration. - Implemented ZEN-TOTAL-DURATION tag recognition.
Tom Johnson committed
-
- 03 Jan, 2014 1 commit
-
-
Figure out an absolute path to segment URLs that are specified like "/path/0.ts". If the currentSrc URL ends in ".m3u8" attempt to load it during init. Re-organize XHR mocking in test cases to capture multiple request URLs.
David LaPalomento committed
-
- 25 Dec, 2013 2 commits
-
-
Forgot these in an earlier commit. Add in a couple examples of absolute URIs in a media playlist.
David LaPalomento committed -
Move more of the manifest management and segment loading into a more customary location for a plugin implementation. Get a single segment downloading and playing. Add test cases for the plugin initialization and first segment download. Use a linked version of media sources to pick up an event listening implementation on SourceBuffer that doesn't require an unminified version of video.js.
David LaPalomento committed
-
- 22 Dec, 2013 1 commit
-
-
Take all the remaining test cases and conver them into pairs of m3u8 and json files. Removed handlebars since it's no longer in use.
David LaPalomento committed
-
- 20 Dec, 2013 2 commits
-
-
There are a ton of tests in m3u8_test.js currently and it's getting a bit difficult to manage. Instead of hand-writing checks for each property of the parsed output, automatically convert manifests to javscript strings during the build process and then compare the parse of that string against a JSON file with the same name.
David LaPalomento committed -
Create a parser that interprets parsing events and produces a manifest object. Get all the tests working. Comment a few manifest controller tests out because the interface of that object needs to be updated to use the new parser.
David LaPalomento committed
-
- 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
-
- 01 Dec, 2013 1 commit
-
-
- 18 Nov, 2013 1 commit
- 24 Oct, 2013 2 commits
-
-
Explicitly list out source files so they are concatenated in the correct order in the final build.
David LaPalomento committed
-
- 23 Oct, 2013 1 commit
-
-