- 22 Mar, 2014 1 commit
-
-
- 21 Mar, 2014 3 commits
-
-
Also, remove resetting setTimeout as it's already being done in setup/teardown.
Gary Katsevman committed -
Change out the custom synchronous XHR to use sinon's fake XHR. This allows to decide exactly when to respond to XHRs.
Gary Katsevman committed -
-
- 18 Mar, 2014 1 commit
- 17 Mar, 2014 2 commits
-
-
- 14 Mar, 2014 5 commits
-
-
- 07 Mar, 2014 1 commit
-
-
`downloadPlaylist` was quite complicated so try to tease apart some of the cases that were being managed there. Stopped playlists from refreshing when they're not currently active.
David LaPalomento committed
-
- 04 Mar, 2014 1 commit
-
-
Create a helper method for creating XMLHttpRequests and migrate downloadPlaylist to using it.
David LaPalomento committed
-
- 01 Mar, 2014 1 commit
-
-
The original test was invoking the playlist reload callback which tested whether the media index was updating correctly after a refresh. Now, the test correctly triggers the a variant switch after downloading a segment. Consolidated media index update code and ensured state is properly updated after a switch.
David LaPalomento committed
-
- 28 Feb, 2014 1 commit
-
-
When refreshing a playlist, determine the new media index by comparing segment URIs. Consolidate playlist update logic. "Sliding window" live streams are now working.
David LaPalomento committed
-
- 27 Feb, 2014 1 commit
-
-
Unless an explicit total duration tag is present in the playlist, set the duration to Infinity for live HLS. Document iOS behavior for live streams.
David LaPalomento committed
-
- 26 Feb, 2014 1 commit
-
-
When a media playlist was loaded directly, the URI wasn't being set on the implicit master playlist created by the plugin. That meant that playlist reloads weren't being correctly associated with the old playlist version and merges weren't happening. Now, live media playlists loaded directly should be updated properly after being refreshed and segment URLs are resolved directly against the media playlists when the master playlist is only inferred.
David LaPalomento committed
-
- 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
-
- 19 Feb, 2014 1 commit
-
-
Start a doc to track some popular HLS live streams and the manifest features they utilize. Fill out info for Unicorn Media streams.
David LaPalomento committed
-
- 13 Feb, 2014 4 commits
-
-
Call play as soon as the media source has been set if autoplay is present in the player options.
David LaPalomento committed -
When the final item in the queue is processed, no additional callbacks should be scheduled to run.
David LaPalomento committed
- 12 Feb, 2014 1 commit
-
-
Pushing an entire segment worth of FLV tags into the source buffer at once caused noticeable delays with high-bitrate segments. Instead, wrap each call to appendBuffer in a setTimeout of zero so that the browser has a chance to render frames while the segment is being transferred to the SWF. Make sure that appends-in-progress are cleared if a seek is initiated.
David LaPalomento committed
-
- 10 Feb, 2014 5 commits
-
-
-
Make sure that if the segment parser produces tags with ascending pts values, the plugin filters out tags with pts < currentTime before appending to the media source.
David LaPalomento committed -
The segment parser allows fragmentary input to the muxing process so it's not always clear when a tag should be finalized at the end of the input. By calling segmentParser.flushTags(), the parser is instructed to wrap up whatever input it currently has buffered into an FLV tag. Before this change, the last tag of the video stream would be buffered in the parser, waiting for additional input (i.e. another segment download) to flush it out. When you seeked within a segment, that last tag would have a timestamp greater than your seek point and we were assuming that timestamp values were sorted in ascending order. We would see the timestamp value greater than the desired seek location and start feeding tags into the media source, which resulted in the segment appearing to restart. Now, we close off any tags that are buffered at the end of a segment so the inter-segment seeking routine can assume that tags are delivered in the order of playback.
David LaPalomento committed
-
- 09 Feb, 2014 2 commits
-
-
Get rid of leftovers from the previous iteration of managing manifest and stream downloading. That logic has been consolidated into the main plugin file.
David LaPalomento committed
- 06 Feb, 2014 1 commit
- 05 Feb, 2014 2 commits
-
- 04 Feb, 2014 2 commits
-
-
We were assuming that the program_info_descriptors field in the program mapping table was always of zero length and would end up misaligned reading the table entries if that metadata was present. Also added helper functions for testing to generate mp2t packets.
David LaPalomento committed
- 31 Jan, 2014 2 commits
-
-
Instead of only supporting the src attribute, check options.sources for HLS on init. This means re-implementing something that looks a lot like video.js's source selection algorithm. That's another reason to consider converting this plugin into a tech but I'm deferring that for now.
David LaPalomento committed