- 28 Apr, 2015 1 commit
-
-
Split up large segments that need AES-128 decryption and hand control back to the browser between segments. Clean up the decryption block loop a bit since it's no longer critical to finish before the next frame is rendered.
David LaPalomento committed
-
- 21 Apr, 2015 1 commit
-
-
For #218. Use TypedArrays instead of DataViews because they weren't getting optimized very well. Use Int32Arrays instead of Uint32Arrays to avoid v8 deoptimization at runtime when negative values were encountered. Swap byte order in the main loop instead of before-hand. These changes don't get decrypt running in less than 16ms on my machine but they do speed things up an order of magnitude or so. Additional work to make the decryption asynchronous appears necessary.
David LaPalomento committed
-
- 16 Apr, 2015 9 commits
-
-
-
Temporarily use a newer version of videojs-swf then is included in the mainline video.js release.
David LaPalomento committed -
-
Never match media indices on playlist reload based on segment URI because some streams may re-use the same segment in multiple positions. Change fetchKeys() so that it operates on buffered segments instead of directly modifying a version of the playlist. Before that change, live playlists with low segment durations could stall because the key would be applied to the previous version of the live playlist and segments would get blocked up forever in the queue waiting for their key to arrive. Use a much less destructive mechanism for playing across discontinuities. vjs_discontinuity() on the SWF allows us to signal a timestamp discontinuity without flushing the playback buffer. That means we don't have to wait until the buffer is empty when a discontinuity is encountered and feeding data to the SWF doesn't have to block either. Update tests to reflect new key-segment request ordering.
David LaPalomento committed
-
- 15 Apr, 2015 1 commit
-
-
If we have a perfect resolution match for playlist and player, use that playlist. Otherwise, get the next highest resolution matched playlist, even if bigger than the player.
Gary Katsevman committed
-
- 13 Apr, 2015 2 commits
-
-
- 10 Apr, 2015 1 commit
-
-
- 02 Apr, 2015 10 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 -
-
-
-
-
-
-
- 20 Mar, 2015 15 commits
-
-
-
-
-
-
-
-
-
Moving live start time calculation earlier in the code flow to eliminate a race condition, repeating it on first play to create a smooth experience, and making sure currentTime is updated to match these changes.
Brandon Bay committed -
-