* fix: swap to use getTech and null-check flash tech
* Fix#968
* only registerComponent Hls in older vjs
* use registerPlugin if it exists
* addTrack cross-compat
* Add events for underflow and live resync
For QoS measurement purposes, it may be useful to know how often the playback watcher is activating. Add new events for when the player falls off the back of the live window or stalls due to a video buffer gap.
* Review comments
Minor cleanup and an additional assertion.
* Add test for qualityLevels from video with source.
* Fix qualityLevels integration where a player is created from a video
with a source.
* Defer setQualityLevels_ until tech is ready.
overrideNative requires emulated text tracks and silently fails if it's misconfigured. Instead, fail spectacularly and early and document that behavior.
* Fixed mediaIndex tracking so that it is consistent when the playlist updates during a live stream
* Removed any code in SegmentLoader#handleUpdateEnd_ that changed the mediaIndex
* Reordered SegmentLoader#playlist to make it easier to follow
* All changes to both mediaIndexes (SegmentLoader's and segmentInfo's) now happen in SegmentLoader#playlist
* Added tests for proper mediaIndex tracking with live playlists
If the segment request triggers progress events (that is, XHR2 is supported), bubble those up to the tech. This makes it clearer that buffering is happening even on very slow connections.
* Change processing segment reference on playlist refresh
* Test for correct segment references on pending segments
* Fix unreachable segment tests after rebase on async monitor buffer change
* Update media index on playlist refreshes for all requests (including syncs)
- Convert all calls to fillBuffer_ to calls to monitorBuffer_
- Rename monitorBuffer_ to monitorBufferTick_ which becomes the 500ms buffer check timer loop
- Make monitorBuffer_ schedule an immediate timer for monitorBufferTick_
* fix representations enabled function closure and seperate blacklisting from enabling
* populate quality level list in hls when available
* use uri for representation id
* update readme
* add isEnabled and isBlacklisted function for playlists
* filter blacklisted playlists from representations
* update unit tests
* Map legacy AVC codecs to their modern equivalents when excluding incompatible playlists
* Add JSDoc and replace arrow function for mapLegacyAvcCodecs
* Mark mapLegacyAvcCodecs as private
* Fix references to mapLegacyAvcCodecs_
* Fix a segment hop in live
In a case where the live playlist updates during processing of the first segment request, it is possible that we'd skip over the next segment and proceed down the playlist. This accounts for the change in media sequence during update end.
* Remove unnecessary isSyncRequest check in handleUpdateEnd
Fixed seeking behavior
Updated getMediaIndexForTime to be simple and stupid
Remove spurious console logs
Fixed an issue with forward seeks and a different problem with backwards seeking (thanks Matt!). Fixed fast rendition change behavior.
Remove limits on gap-skipper. Skip instantly without waiting.
Use the proper native MediaSource duration for buffer removals.
Improvements for live stream rendition changes
Fixed an undefined variable bug
Some more simplification and a very conservative live stream rendition change approach
VOD fixes
Experimental change to the way we throttle the fetcher
Use GOAL_BUFFER_LENGTH again
Continued massive changes to segment fetching. Cleanup and comments.
Fixed a bug where we were fetching starting at mediaIndex 0 on every seek.
Refactor probing code in preparation for pulling into it's own module or class
Moved sync-related logic out of segment-loader and into a new sync-controller class
Removed expired from the SegmentLoader
Update mux.js dependency to 2.5.0
Don't error when the tsprobe returns null
Fixed two issues: MAAT switching and Flash seeking
Rename duration variable
fix flash failing first segment load (#859)
dont use tech for has played (#861)
Code Coverage and Unit tests for Simple Fetcher (#862)
fix has played returning false on vod (#866)
Fixed preload="none" behavior and reduced the incidence of repeating initial segment requests (#878)
Provide option to set contrib-hls first in the HTML5 tech (#889)
This reverts commit 59ddbe1188.
Add playback tests (#894)
Fixed MSE and environment test helpers, restore properly
Removed unused test files
remove expired time tracking and use sync points to calculate seekable (#898)
Fixing a few tests for QUnit 2.0
* Use 'decrypt' with callback instead of Decrypter directly
Cast request.response ArrayBuffer to Uint8Array for explicit passing to
decrypt
* Fix text with Uint8Array key result
* fix test for decrypting (#1)
* s/var/let/
* Upgrade aes-decrypter to ^2.0.0
* Added support for the throughput of the whole system to the ABR algorithm to allow it to adjust better to poor performance especially with flash.
* Added tests for systemBandwidth and throughput
* Replaced instances of (new Date()).getTime() with Date.now()
* Removed redundant test and added a comment to explain bandwidith and throughput setters
* Renamed startOfLoad_ to startOfAppend which is a more accurate name