- 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 6 commits
-
-
-
-
Make sure the request did not receive an error status code (and hence the response is unavailable) before assuming it was aborted.
David LaPalomento committed -
The segment response callback was getting pretty deeply nested, so invert the readyState check and return early. Also added some comments.
David LaPalomento committed -
Missed this in my last commit. Don't overwrite player.error, hang errors off the plugin object instead.
David LaPalomento committed
-
- 21 Jan, 2014 2 commits
-
-
The error method is not writable in video.js so store error objects on the HLS plugin to be sure we don't break error notifications when the HLS plugin is not in use. Remove 'missing' from error message text since we're now using the same text for all status codes > 400.
David LaPalomento committed -
-
- 20 Jan, 2014 3 commits
-
- 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 2 commits
-
-
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 4 commits
-
-
-
-
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
-
- 14 Jan, 2014 2 commits
-
-
-
Use a single loop through the FLV tags to determine the right tag to begin buffering at. Fix up some whitespace.
David LaPalomento committed
-