- 24 Feb, 2014 1 commit
-
-
- 23 Feb, 2014 1 commit
- 21 Feb, 2014 3 commits
-
-
-
Point to the releases page for the plugin download instead of attempting to link to the raw URL. Add entries to the release log to prepare for v0.3.0.
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 6 commits
-
-
- add videojs build postinstall hook - update package references - add repository reference in package.json
Tom Johnson committed -
-
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
- 29 Jan, 2014 3 commits
-
-
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 -
In the long run, we'd like to switch variants if we encounter a missing segment but for now just dive ahead. Player errors are reserved for fatal conditions, so it doesn't make sense to trigger an error now that we have some error handling. For the moment, an error is exposed on the hls plugin but no player-level event is triggered.
David LaPalomento committed
-
- 28 Jan, 2014 4 commits
-
-
Fixes #110. Fixes #116. If timeupdates were being firing without a media playlist available yet, fillBuffer would dereference a property on undefined and blow up. Timeupdates occur manually on a fixed interval when using the Flash tech so this was guaranteed to happen whenever the media playlist was unretrievable. To avoid this, wait to register buffer checks until a media playlist has been successfully downloaded. As it turns out, this is the same moment we normally trigger loadedmetadata so it was possible to transform a loadedmetadata handler into a direct call to fillBuffer.
David LaPalomento committed -
- 27 Jan, 2014 3 commits
-
-
Check if HTML video is available before trying to call canPlayType for HLS mime types.
David LaPalomento committed -
When CORS headers aren't enabled on a server, XHRs fail with status 0. Handle this case when downloading playlists and abort further processing. Ideally, we would ignore this for variant playlists if we have alternatives but I'm not tackling that yet.
David LaPalomento committed
- 26 Jan, 2014 1 commit
-
-
Bipbop is great for testing because it displays so much information about the current state of the video. Use a standard "src" attribute to initialize the plugin in the example.
David LaPalomento committed
-
- 25 Jan, 2014 1 commit
-
-
Check the video element for HLS mime-type support and make the plugin a no-op if the browser already has built-in support. Also, if the HLs plugin is initialized before the resource selection algorithm has run on the video element and currentSrc is not set, check for a src attribute on the tech.
David LaPalomento committed
-
- 24 Jan, 2014 1 commit
- 23 Jan, 2014 1 commit
-
-
Loop through flv tags while intra-segment seeking in one pass. Rely on the SWF to track the seek destination in currentTime instead of manually pushing it through ExternalInterface.
David LaPalomento committed
-
- 22 Jan, 2014 1 commit
-
-