Repository navigation
Instant parallel race with lossless priority and list-time videoId pinning - #283
Merged
Merged
Conversation
…-time videoId pinning - limusic-style fast path goes pure-parallel (stagger 0), stage 0 - lossless keeps first priority via 800ms head start, YT instant fallback, auditioned background hot-swap unchanged - tap never searches known videoIds; fail loud instead of substituting - pin ids at list time everywhere (reco, search, radio, home, playlists) plus one-shot backfill; buffer 500ms first frame - 4.2.3/4.2.4 hybrid match gate (60/35, no second chance), script-aware multilingual matching, feed heavy-rotation taste jitter
…g test - NON_WORD now allows marks: Latin-only diacritic stripping left Hindi matras and Thai vowels to be nuked into spaces by the word splitter - keepsPinnedTracksWithoutNetwork uses a bare video id: android.net.Uri throws on plain JVM unit tests, misclassifying pinned rows
Resolve conflicts in InnerTubeMusicApi.kt and MusicPlayer.kt. Main's playback resolver (#285) landed after this branch forked and deliberately supersedes its parallel fast-path race (single POST per client, sequential, with a whole-path budget and maxAttempts=1), the lossless head-start race in resolveRemoteTrackAudioStream (lossless now promotes via background upgrade), and focus-aware buffer durations. Keep main's implementation for those paths; retain this branch's non-conflicting changes: findBestMatch hybrid gate and stricter stream-upgrade/audition duration guards.
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.
Tap-to-play goes limusic-style: pure-parallel fast path (stagger 0) as stage 0, lossless-first via 800ms head start with instant YT fallback, auditioned background hot-swap untouched. Known videoIds never re-search (fail loud, no substitution); ids pinned at list time across reco/search/radio/home/playlists plus one-shot backfill; 500ms first-frame buffer. Matching is the 4.2.3/4.2.4 hybrid (60/35, no second chance) with script-aware multilingual normalization; feed Heavy Rotation gets taste-weighted jitter. Manifest/MPD pipeline untouched. Unbuilt: run :app:testDebugUnitTest and a device pass before merging.