* If beforeRequest is set, reuse it on source changes
* Allow changing global xhr beforeRequest at runtime
* Always use latest beforeRequest instead of setting it when creating hls object
* blacklist the playlist that has stopped being updated
* pull out the playlistEnd calculation to a separate function, rewrite seekable and playlistEnd to reduce the amount of repeat code and add tests for playlistEnd
* handle the expired for VOD case, check for null on expired instead of checking the sync points and rename playlist update check function
* add event listener for playlist isn't a fresh update in playlist-loader
* never blacklist final available final rendition
* reset the loader state after error occurs to keep requesting the final rendition
* delay the requests for final rendition and get the segment loader start loading after errors
* 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