Files
GMW/patches/ffmpeg-headers-fix.patch
T
MythEclipseandClaude Opus 4.7 9b49c05f32 fix(streaming): quote User-Agent header to prevent ffmpeg argument splitting
The ffmpeg -headers option was receiving the User-Agent value split across
multiple arguments due to spaces not being properly quoted. This caused ffmpeg
to interpret "Mozilla/5.0" as an output format, resulting in:
  [NULL @ ...] Unable to find a suitable output format for 'Mozilla/5.0'

Fixed by wrapping the entire headers string in quotes so parseArgsStringToArgv
treats it as a single argument. The headers string is now properly passed to
ffmpeg as: -headers "User-Agent: ... \r\nConnection: ..."

The fix has been applied to vendor/discord-video-stream/src/media/newApi.ts
and compiled into dist/media/newApi.js. A patch file and documentation have
been added to the patches/ directory for reference.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 17:35:42 +07:00

20 lines
616 B
Diff

diff --git a/src/media/newApi.ts b/src/media/newApi.ts
index original..modified 100644
--- a/src/media/newApi.ts
+++ b/src/media/newApi.ts
@@ -261,12 +261,10 @@ export function prepareStream(
if (isHttpUrl) {
- command.inputOptions(
- "-headers",
- Object.entries(customHeaders)
- .map(([k, v]) => `${k}: ${v}`)
- .join("\r\n"),
- );
+ const headersString = Object.entries(customHeaders)
+ .map(([k, v]) => `${k}: ${v}`)
+ .join("\r\n");
+ command.inputOptions(`-headers "${headersString}"`);
if (!isHls) {
command.inputOptions([
"-reconnect 1",