* add playback watcher check for unknown player waiting
* do not do unknownwaiting check when the tech fires a native waiting event
* dont track current time waiting when at the end of the buffer
* call techWaiting_ when we detect a stall at the end of buffer
* first draft at fixing bandwidth tester and playing around with abr/bandwidth calculations
* More fixes and better per-millisecond resolution for simulation
* More fixes to allow reverting of non-network-simulation files back to their original content
* Added the ability to change bitrates and minor ABR settings
* Added a server that can simulate network conditions based on a network trace file
Added the ability to specify segment sizes for the simulator to simulate a specific video
Changed the simulator to use average bitrates for segment sizes if they are provided
* use specified mediasequence for VOD expired sync instead of assuming 0
* use synccontroller for expired
* target sync-point by index for expired instead of time 0
* minor fixes
* add vod test for expired
* 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