[YouTube] Fix page reload required error on streams and remove TVHTML5 client#1438
Merged
Stypox merged 5 commits intoTeamNewPipe:devfrom Jan 27, 2026
Merged
Conversation
Playability status for the WEB client isn't checked anymore, as it requires a valid signatureTimestamp from JavaScript player to avoid a page reload error. Until we can get and use n parameter function decoding for streaming URLs of HTML5 clients again and support SABR streams, it doesn't really make sense to fetch a huge JavaScript player just to get metadata. Age-restricted content which can be watched with the embedded player is also broken due to extraction failure and non-ability to run the n parameter function, so fetching this embedded player has been also removed and all age-restricted content will throw an AgeRestrictedContentException. Playability error status checks have been adapted, as mobile clients get different error responses than the WEB client. Some strings have been extracted into constants and a fallback for unlisted privacy check has been added, in YoutubeStreamExtractor for both points.
c7c2858 to
cfa9854
Compare
Stypox
approved these changes
Jan 27, 2026
Member
Stypox
left a comment
There was a problem hiding this comment.
(I had to unlock the conversation otherwise GitHub wouldn't let me post review comments 🤦♂️)
Thank you very much! The code looks good to me, and can be merged directly if needed.
icewind1991
added a commit
to icewind1991/piped-flake
that referenced
this pull request
Jan 27, 2026
Member
I am about to open a PR for this |
Stypox
approved these changes
Jan 27, 2026
This comment was marked as resolved.
This comment was marked as resolved.
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
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
This is the extractor part of the fix for TeamNewPipe/NewPipe#13082.⚠️ It introduces breaking API changes: as TVHTML5 client won't likely be used anymore, it has be removed ⚠️
See commit messages and code changes for more details about code changes.
TODO:
YoutubeStreamExtractorDefaultTest.invalidId? The initial response is an empty JSON object, soYoutubeParsingHelper.getValidJsonResponseBodythrows aParsingException