-
Notifications
You must be signed in to change notification settings - Fork 45
merge: v3 <- dev #145
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
Merged
Merged
merge: v3 <- dev #145
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Added a 'close' event listener to the socket when a session is successfully resumed to ensure proper cleanup and prevent resource leaks. Also updates connection metrics on resume.
…ation improve: add source-specific configuration validation
Added _buildReadableTime and _buildPublishedAtFromTimestamp to resolve ReferenceError during track resolution.
- Implement BilibiliSource supporting Video, Audio, Live, and Bangumi. - Implement BilibiliLyrics for subtitle support. - Add FlvDemuxer and update streamProcessor to handle FLV streams (required for Bilibili Live). - Add sessdata configuration in config.default.js for premium content access. - Ensure robust stream handling with proper headers and API fallback to web platform.
- Implement GeniusSource as a media resolver/mirror. - Extract direct media links from Genius pages using robust JS execution extraction. - Implement mirror logic to fallback to search if direct links are missing or fail. - Enhance metadata by resolving direct links via other enabled sources during playlist loading. - Enable Genius source in config.default.js and fix lyrics configuration.
- Force immediate URL refresh on aborted range requests. - Skip local retries for aborted connections to prevent playback stalls.
- Implement automatic access token refresh using session cookies. - Add native HLS stream management with AES-128 decryption and TS-to-MP3 demuxing. - Expand support for various VK link formats (playlists, albums, artists, user audios). - Improve scraping resilience and URL pattern recognition. - Fix syntax errors and ensure code quality with Biome linting. - Add vkmusic configuration options to config.default.js.
- Implement Amazon Music source with metadata resolution. - Support track detection in albums via trackAsin (handles encoded ampersands). - Extract author, artwork, and ISRC from JSON-LD and HTML fallbacks. - Remove all comments from the source file.
- Implement Pinterest source with metadata resolution using PinResource API. - Support video extraction (MP4) from standard Pins and Idea Pins. - Implement robust loadStream using PassThrough for consistent playback.
- Replace manual buffer concatenations with RingBuffer to reduce GC pressure. - Implement buffer pooling in AudioMixer for zero-copy mixing. - Optimize VolumeTransformer using Int16Array for faster sample processing. - Add robust EBML parsing and byte tracking in WebmOpusDemuxer. - Fix missing constants and add getSource helper to SourceManager.
Implement BufferPool to reuse RingBuffers and reduce GC pressure. Split player updates (fast) from stats updates (slow) to reduce IPC overhead. Configurable statsUpdateInterval (default 30s) for websocket updates. Metrics collection interval adapts to 5s if metrics are enabled.
Lazy instantiate filters in FiltersManager to reduce initial memory footprint per player. Cache volume multiplier calculations in VolumeTransformer to reduce CPU usage during stable playback.
Ensure the cloudflared child process is terminated with SIGKILL on NodeLink exit, SIGINT, or SIGTERM to avoid orphan processes that require manual intervention.
- Added intelligent cost scoring based on CPU, lag, and player states. - Implemented proactive scaling using configurable thresholds. - Set high process priority for workers to improve audio stability. - Added event loop lag monitoring and stats reporting. - Updated config.default.js with new scaling parameters.
Refactor WebmOpus demuxer to use BigInt for VINT parsing to prevent integer overflows during seeking. Add safety checks for invalid tag sizes to handle garbage data gracefully. Harden RingBuffer methods against invalid inputs. Fix ReferenceError in utils.js by removing undefined instance argument in recursive call.
in short words: enabling this allows the encoder to send minimal packtes during silence periods, which saves bandwidth especially on unstable networks. Can even help saving CPU. Does not affect audio quality.
This fixes a crash on bun when searching.
Just a maintance commit, this updates to their lastest's versions
This commit adds the support for audiomack search & playback, uses admsearch/audiomack by default.
this commit adds support for the shazam source, which will be mirrored from the youtube or apple music source, has search support with shsearch and szsearch
Signed-off-by: AV <134554554+southctrl@users.noreply.github.com>
Signed-off-by: AV <134554554+southctrl@users.noreply.github.com>
Signed-off-by: AV <134554554+southctrl@users.noreply.github.com>
Signed-off-by: Lucas Morais Rodrigues <76886832+1Lucas1apk@users.noreply.github.com>
Fixed "Invalid track object" error in loadLyrics endpoint & Moved chapter loading to worker queue, improve's the speed.
This commit fixes the Cannot read properties of undefined (reading 'sourceName') for loadlyrics
this should fix sometimes artWorkUrl always beign null.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes
Write here about the changes you've made
Why
Write here why you think this should be merged
Checkmarks
Additional information
If you have any additional information, write it here