Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update dependency hls.js to ^0.14.0 #2992

Merged
merged 2 commits into from
Jun 4, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 25, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
hls.js ^0.13.1 -> ^0.14.0 age adoption passing confidence

Release Notes

video-dev/hls.js (hls.js)

v0.14.17

Compare Source

Bugfixes

  • Parse all ID3 tags (not just standard PRIV, TXXX and WXXX tags) #​3284

Misc

  • Update workflow files in patch branch for releases

Summary

Demo
https://hls-js-76506a25-92a4-462c-aa38-cc2cd20ce706.netlify.app/demo/

v0.14.16

Compare Source

Bugfixes

Summary

v0.14.15

Compare Source

Bugfixes

  • Improve handling of PTS rollover initPTS calculation #​3088

Summary

This release patches a fix in v0.14.14 that may have impacted HLS streams with PTS rollover in TS segments.

v0.14.14

Compare Source

Bugfixes

  • Fix for subtitle loading after hls.stopload() was used and skip segments seeked over #​3063
  • Handle PTS rollover on initial sample of video or audio #​3082

Summary

Thanks to @​netTrekfd for reporting and addressing the subtitle loading issue, and to @​stevendesu for reporting the issue with PTS rollover.

v0.14.13

Compare Source

Bugfixes

  • Fix remuxing of AVC with bad PTS #​3049

Misc

  • Added saucelab-connect test fixes and updates to patch/v0.14.x branch

Summary

v0.14.12

Compare Source

Bugfixes

  • Allow mp3 data that does not contain ID3. Fixes #​3037

Summary

v0.14.11

Compare Source

Bugfixes

  • Fix handling of NULL delimiter when parsing ID3 WXXX tags #​3006

Summary

v0.14.10

Compare Source

Bugfixes

  • Fix mp4-remuxer CHUNK_DEMUXER_ERROR_APPEND_FAILED in Chrome 74 and lower, as well as Chromium based browsers like Opera 58. Reduces composition time of initial video samples in older browsers so that moof base decode time starts at 0 or higher. #​2995

This patch fixes a regression introduced around v0.14.4 where negative base decode times used to remove start gaps in the video track cause append errors:

The video playback was aborted due to a corruption problem or because the video used features your browser did not support - CHUNK_DEMUXER_ERROR_APPEND_FAILED: video frame with PTS 40000us has negative DTS -40000us after applying timestampOffset, handling any discontinuity, and filtering against append window

Summary

v0.14.9

Compare Source

Bugfixes and Improvements

  • Only apply minimum ID3 cue duration when cue does not have one. #​2964 resolves #​2963

This patch fixes a regression introduced in v0.14.8 where we applied a minimum duration 0.25s to all metadata cues. All cues must have a positive duration, but we shouldn't modify valid ones, since those cue ranges may be considered critical to application logic.

Summary

v0.14.8

Compare Source

Bugfixes and Improvements

  • Fix edge-case in main audio-only with track descriptions #​2943 resolves #​2837
  • Fix PTS/DTS calculation on rollover #​2930 resolves #​1796
  • Require min cue duration of 0.25 on ID3 cues #​2951 ensures that TextTrack "change" events fire for all appended VTTCues
  • Fix audio remuxer out of sequence sample drop regression #​2960 resolves #​2959

Enhancements

  • Silence redundant fragment selection logs

Other Improvements

  • Improve stability of function tests
  • Minimal logging on functional tests
  • Improve demo video size menu
  • Show multiple demo test tabs using modifier key

Big-big thanks to @​itsjamie for the rollover timestamp handling and CI logging improvements, and all the review and feedback! 🥳
And many thanks to @​jnatalzia for the id3 cue duration fix. ⌚ 👀

Summary

v0.14.7

Compare Source

Bugfixes and Improvements

  • Fix regression in streams with PTS wrapping prior to DTS #​2929
  • Fix regression where stream duration became shorter prior to discontinuities in segments with misaligned audio and video #​2932
  • Prevent negative DTS time ranges in fragments #​2908

Summary

v0.14.6

Compare Source

Bugfixes and Improvements

  • Fix stalling on discontinuity with audio track #​2919 resolves #​2913, #​2545
  • Fix initial audio video desync for fMP4 #​2832
  • Prevent immediate level switch from performing unnecessary pause and seeks #​2918

Misc

This release is focused on stability in streams using alternate audio tracks. Live streams and streams with discontinuities frequently presented problems depending on the order in which playlists and media were received initially. With this release, regardless of that order, alt audio media will be synced to the variant playlist media, by deferring final parsing and appending of audio segments (not the fetching of) until they can be aligned with variant media PTS.

v0.14.5

Compare Source

Bugfixes and Improvements

This release fixes a long standing bug with IE11/Edge where video was not rendering when seeking to the start of a live stream just short of the buffer start. The bug is in IE11/Edge (it should render video once playback enters the buffered range containing video - it just doesn't when we perform two seeks before "seeked" moves into the range where playback starts), but doing a clean seek right into the start of the buffer avoids it. This was common in streams that have segments where audio samples start before video samples - or the buffered start is later than the manifest start time.

v0.14.4

Compare Source

Bugfixes and Improvements

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. ✌️

v0.14.3

Compare Source

Bugfixes and Improvements

  • Fix gaps introduced in video buffer by remuxer work-around #​2894

This release fixes a regression in v0.13.0+ that introduced buffer gaps at segment boundaries in streams with variable frame rates, or when adapting to another rendition where the target segment has a high composition time (cts) on the first video frame. See #​2894 for more details.

v0.14.2

Compare Source

Bugfixes and Improvements

  • Fix IE11 regression in mp4 remuxer #​2891

v0.14.1

Compare Source

Bugfixes and Improvements

  • Fix frame dropping after discontinuities #​2873

For a list of MP4 remuxer improvements related to this patch see #​2876

v0.14.0

Compare Source

Version 0.14 adds API features found in the feature/v1.0.0 branch. This is intended to make transitioning to v1.0.0 easier and also provide API parity for A/B testing the current release and next major update of hls.js.

In addition to these features and bug fixes, we've made changes to how our CI versions preview builds which are published to npm to account for pre-releases while maintaining semver precedence. To do this, we have replaced the canary channel with an alpha channel. Previously, if we cut a beta or release candidate like 0.14.0-rc.2 the next commit would generate a canary, using the last release patch+1 - so 0.13.3-canary.5704. That worked following 0.13.2, but after 0.14.0-beta.1, it ignores that we are already heading on to the next minor release. To fix this, we now generate an alpha, using the last tag. So in the case of a prerelease - 0.14.0-rc.2.0.alpha.5718. And for releases we still increment the patch - so following this release you will see CI builds versions like 0.14.1-0.alpha.5720.

Enhancements

  • Add CEA-608 captions 4 channel support
  • Add renderTextTracksNatively config option (defaults to true) which allows for disabling the addition of captions/subtitle TextTracks to the video element for 608/VTT tracks
    • When set to false rather than a new TextTrack being added for captions and subtitles, NON_NATIVE_TEXT_TRACKS_FOUND and CUES_PARSED events are emitted so that the application using hls.js can handle rendering of the track and its cue points.
  • Add support for #EXT-X-SESSION-DATA tag in master playlist
  • Add removeLevel() method to API
    • Can be used to remove a loaded level from the list of levels, or a level url in from a list of redundant level urls.
  • Remove unnecessary files form the NPM distribution
    • Only dist and src files are included in releases moving forward
  • XHR loader and fetch loaders always read from globals window.XMLHttpRequest and window.fetch instead of once on script embed
  • Add support for DRM system options audioRobustness and videoRobustness in hls.config. drmSystemOptions for requestMediaKeySystemAccess audioCapabilities and videoCapabilities configuration
  • Media key sessions are closed and media keys cleared when media is detached

Bugfixes

  • Fix EME controller async error
  • Fix an exception in a stream with an end fragment that contained only ID3 data and no valid elementary video or audio streams
  • Fix false positive ADTS probes
  • Improve handling of large start gaps
  • Fix exception in abr-controller with missing levels
  • Fix player size evaluation in cap-level-controller when video element includes width and height attributes that do not match actual size
  • Fix Cannot read property 'realBitrate' of undefined exception
  • Fix playback stops on short segment (DAI streams)
  • Fix playback of audio-only streams (EXT-X-STREAM-INF) with with alternate audio tracks (EXT-X-MEDIA)

Documentation

  • Added entries for
    • fpsDroppedMonitoringPeriod
    • fpsDroppedMonitoringThreshold
    • bufferController
    • capLevelController
    • fpsController
    • emeEnabled
    • widevineLicenseUrl
    • drmSystemOptions
    • requestMediaKeySystemAccessFunc
  • Mark lowBufferWatchdogPeriod as deprecated
  • Fix broken logo image urls and mixed content (insecure) urls
  • Make the readme example work out of the box again

Logging enhancements

  • Include buffer size in playback stall warnings
  • Reduce log output for unknown elementary stream types
  • Fix audio gap output when injecting audio frames
  • Distinguish functional test logs from player logs (CI)

Misc

  • Add Timeline chart tab to the demo page
  • netlify CI improvements
  • npm package updates
  • TypeScript fixes
    • Optional chaining
  • Test improvements
    • Functional tests run in a single browser session (CI)
    • IE compatibility fixes
    • "smooth switch" test improvements
    • Add audio-only with alt audio track test streams

Configuration

📅 Schedule: Branch creation - "every weekend" in timezone US/Eastern, Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

Copy link
Contributor Author

renovate bot commented May 25, 2024

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: yarn.lock
/opt/containerbase/tools/corepack/0.28.1/15.14.0/node_modules/corepack/dist/lib/corepack.cjs:9398
          if (typeof this !== "object" || this === null || !(#target in this)) {
                                                             ^^^^^^^

SyntaxError: Unexpected identifier
    at Object.compileFunction (node:vm:355:18)
    at wrapSafe (node:internal/modules/cjs/loader:1022:15)
    at Module._compile (node:internal/modules/cjs/loader:1056:27)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10)
    at Module.load (node:internal/modules/cjs/loader:972:32)
    at Function.Module._load (node:internal/modules/cjs/loader:813:14)
    at Module.require (node:internal/modules/cjs/loader:996:19)
    at require (node:internal/modules/cjs/helpers:92:18)
    at Object.<anonymous> (/opt/containerbase/tools/corepack/0.28.1/15.14.0/node_modules/corepack/dist/yarn.js:3:1)
    at Module._compile (node:internal/modules/cjs/loader:1092:14)

Copy link
Contributor Author

renovate bot commented May 27, 2024

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

Copy link
Contributor

@asadali145 asadali145 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@mudassir-hafeez mudassir-hafeez merged commit a2146dc into master Jun 4, 2024
7 checks passed
@mudassir-hafeez mudassir-hafeez deleted the renovate/hls.js-0.x branch June 4, 2024 08:47
This was referenced Jun 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants