Skip to content

fix(youtube): respect active SABR tracks on cold start#80

Merged
InfinityLoop1308 merged 1 commit into
InfinityLoop1308:mainfrom
Priveetee:fix/2575-sabr-audio-only-cold-start
Jul 3, 2026
Merged

fix(youtube): respect active SABR tracks on cold start#80
InfinityLoop1308 merged 1 commit into
InfinityLoop1308:mainfrom
Priveetee:fix/2575-sabr-audio-only-cold-start

Conversation

@Priveetee

@Priveetee Priveetee commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Part of InfinityLoop1308/PipePipe#2575

Pairs with the client-side lockscreen/background fix: InfinityLoop1308/PipePipeClient#70

Summary

While testing the Android 17 lockscreen issue, I found one SABR-side problem in the background/audio-only path.

Follow-up SABR requests already respected the active track state, but the first media request still behaved like audio + video were selected. In background playback this can make the session start with the wrong shape.

This makes the cold-start request respect the active SABR track types too.

Changes

  • Use the stream state's enabled track bitfield for the first media request.
  • Only write preferred audio formats when audio is active.
  • Only write preferred video formats when video is active.
  • Treat incomplete media-only SABR responses as recoverable and retry/reload instead of killing the session immediately.

Validation

Tested with the paired client patch on Pixel 8 / Android 17:

  • foreground playback
  • background audio
  • lockscreen play/pause
  • lockscreen seek backward / forward
  • queue transition after lockscreen seek

Build:

  • ./gradlew :extractor:compileJava
  • git diff --check

@InfinityLoop1308 InfinityLoop1308 force-pushed the fix/2575-sabr-audio-only-cold-start branch from eb71dff to f2b4bbe Compare July 3, 2026 02:49
@InfinityLoop1308

Copy link
Copy Markdown
Owner

The integrity recovery changes didn’t LGTM because they could hide protocol errors and cause long retries. I
updated the commit to keep only the active-track cold-start fix.

@InfinityLoop1308 InfinityLoop1308 merged commit a28de1b into InfinityLoop1308:main Jul 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants