* Add support for description audio tracks (marked with CHARACTERISTICS of 'public.accessibility.describes-video')
* Update m3u8-parser to 2.1.0
* Add test for correctly setting alternative audio kinds
* Fix a bug with the combination of seek-to-live (#1006) and resync-on-a-poor-guess (#1016) behaviors
* Added tests to ensure the proper sequence of events for seekable and resync logic
* Unregister the seekablechanged event handler from the tech on dispose
* Fix discontinuity sync-strategy and re-enable tests
* Fixed segment strategy to always return the segment sync-point that is closest to currentTime to ensure the most accurate decisions
* Improve sync-point determination by trying each sync-strategy and selecting the sync-point that is closest to the currentTime regardless of the order of sync-strategies
* If the last segment loaded was too far in the past, attempt to generate a better sync-point and guess again
* Changed the resync on poor guess logic to no longer rely on the buffered value for Flash compatibility
* Fix resuming after long pause on live streams by keeping seekable updated
* If new sync info shows we are trying to seek outside of seekable range, seek back to live point
* Set seekable to main when audio seekable and main seekable have no intersection
* Always trigger syncinfoupdate when updating a segment loader playlist
* Move seeking outside of seekable check to playback watcher
* 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