Repository navigation
Fix playback of the user's own uploaded songs - #761
Merged
kushagrasinghx merged 1 commit intoOct 18, 2026
Merged
Conversation
Owner
|
please add yourself as a primary author of the commit to list in contributors |
Uploaded tracks are private to their owner. Asked for as ordinary tracks, the InnerTubeX extractor sends no login cookie on the media request, so the CDN refuses the stream and playback fails. - Recognise uploads when parsing library rows (delete-entity menu command or a PRIVATELY_OWNED video type) and remember them in UploadedTracks. - Ask InnerTubeX for known uploads with ContentHints(isUploaded = true); if an ordinary ask is refused while signed in, retry once as an upload straight away. - Fix the stream probe building a negative byte range (bytes=1048576--9223...) for hosts PlayerClient.rangeBytesFor() doesn't recognise, e.g. *.c.youtube.com. The server answered 416, which the probe read as a refusal, so valid streams were discarded. Also log why a probe refuses. - Play a known upload's only stream even if the probe objects. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HdCHy56wYcts5YGA8bYMXr
steeben
force-pushed
the
pr/uploaded-songs-playback
branch
from
October 15, 2026 18:32
2c8a43f to
92cf483
Compare
kushagrasinghx
added a commit
that referenced
this pull request
Oct 18, 2026
#761 fixed the probe's overflowing range for hosts with no range cap by capping every probe at 16 KiB, which also shrank googlevideo probes below the 512 KiB-1 MiB the real fetch asks for — the size that catches URLs that serve small reads and refuse playback-sized ones. Only the uncapped case changes now: it asks for the rest of the file. Also drop the second as-an-upload retry in innerTubeXStreamAllowingUploads. innerTubeXStream already re-asks a refused first stream as an upload while signed in; the extra pass put up to three more extractions in front of every signed-in failure.
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 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.
Hello, the main issue I've had with BitChord is that user-uploaded songs do not play. I vibe coded a fix that works in testing on my One Plus 15. I hope this can help fix the issue in the app.
Uploaded tracks are private to their owner. Asked for as ordinary tracks, the InnerTubeX extractor sends no login cookie on the media request, so the CDN refuses the stream and playback fails.