YouTube caps tokenless stream URLs at exactly their leading 1 MiB: plain, open-ended, and oversized requests get 403, and fresh URLs refuse offset starts, so playback died mid-first-minute. PO tokens would lift the cap but the token-capable Innertube clients need signature deciphering that is broken in rustypipe upstream (botguard was built and tested — ineffective through the iOS client). The player now streams every http(s) source through a windowed SourceStream (bounded ~1 MiB ranges, 200-body fallback, eager seek/reconnect so rejected windows fail typed instead of retrying forever) and the capture downloader windows the same way. Stream URLs come from a minimal yt-dlp sidecar again — metadata stays on the pure-Rust rustypipe extractor — whose cipher-solved URLs stream whole files at a throttled ~32 KB/s; a missing binary degrades to 1 MiB streams with a warning. botguard_bin is wired through so streams flip back to pure Rust when upstream deciphering recovers. Live-verified on the exact track from the failure log. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| bookmarks.md | ||
| captures.md | ||
| cbd-bundle.md | ||
| fs-provider.md | ||
| help-modal.md | ||
| incremental-captures.md | ||
| node-editing.md | ||
| overview.md | ||
| progressive-queueing.md | ||
| queue-persistence.md | ||
| search.md | ||
| youtube-provider.md | ||
| youtube-rustypipe.md | ||