Skip to content

v0.14.4

Compare
Choose a tag to compare
@hlsjs-ci hlsjs-ci released this 20 Jul 15:14

Bugfixes and Improvements

  • Fix playback disrupted when an audio stream uses multiple container formats #2900 resolves #2887
  • Fix Safari video playback, and fragment timing #2902 resolves #1801, #2122

This release comes with some long overdue improvements to how the start time of segment's media is estimated, which is key to the timing of each audio and video sample.

When MSE buffering changed in Chrome 63 to report PTS times, this project switched from appending on DTS to PTS. The problem was, in one place in the mp4 remuxer, the next estimated PTS was being used to set the next estimated AVC DTS. This caused all sorts of errors, as workarounds, meant to fix bad streams, kicked in when they should not, misaligning video and audio and causing frames to be dropped or overwritten.

That is now fixed, along with the estimated startPTS of the next segment. Fragment timing, the basis of the timeline hls.js uses to buffer media, is now much more stable. I hope this improves the stability of playback and reduces stalls in your apps. ✌️