From 23ab7ade415a32f1172fac146c83d9e5a0116e73 Mon Sep 17 00:00:00 2001 From: Cobb Date: Wed, 29 Jul 2026 08:25:14 -0700 Subject: [PATCH] =?UTF-8?q?fix(outage):=20visionOS=20OFF=20by=20default=20?= =?UTF-8?q?=E2=80=94=20restores=20muxed=20playback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit visionOS-always-on (Loop 2) unlocked adaptive video-only + separate-audio streams and a VOD HLS manifest. The Straw app has only ever received the muxed 360p stream, so it has no working adaptive/HLS playback path and video playback broke on every video. Revert the default to false, restoring the exact stream shape debug_91 played (muxed only). Re-enable visionOS once the app's adaptive-playback path is fixed and verified (NPE differential harness). --- src/youtube/stream_extractor.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/youtube/stream_extractor.rs b/src/youtube/stream_extractor.rs index 44c47e4..f71a61a 100644 --- a/src/youtube/stream_extractor.rs +++ b/src/youtube/stream_extractor.rs @@ -77,9 +77,15 @@ pub struct ExtractOptions { impl Default for ExtractOptions { fn default() -> Self { Self { - // visionOS ON by default — the real app path must fetch it on every - // open (Cobb, Loop-2 audit), matching upstream. - fetch_visionos_client: true, + // visionOS OFF by default (2026-07-29 outage fix). visionOS unlocks + // adaptive video-only + separate-audio streams + a VOD HLS manifest, + // but the Straw app has no working adaptive/HLS playback path — it + // has only ever received the muxed 360p stream — so those streams + // don't play and video playback breaks. Upstream NPE runs visionOS + // unconditionally; we can't re-enable until the client handles its + // output (fix + verify the app's adaptive path via the NPE + // differential harness first). + fetch_visionos_client: false, fetch_ios_client: false, android_streaming_pot: None, ios_streaming_pot: None,