From 10b8036f81d51fc3933324de21e74a28f3fb5b18 Mon Sep 17 00:00:00 2001 From: Grimfoss Date: Mon, 9 Mar 2026 19:04:12 -0600 Subject: [PATCH] obs-outputs: Fix directory normalization logic --- plugins/obs-ffmpeg/obs-ffmpeg-mux.c | 4 ++-- plugins/obs-outputs/mp4-output.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-mux.c b/plugins/obs-ffmpeg/obs-ffmpeg-mux.c index f152b2849e3e1a..08879c3e4c5c0d 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-mux.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-mux.c @@ -582,10 +582,10 @@ static void generate_filename(struct ffmpeg_muxer *stream, struct dstr *dst, boo char *filename = os_generate_formatted_filename(ext, space, fmt); dstr_copy(dst, dir); - dstr_replace(dst, "\\", "/"); - if (dstr_end(dst) != '/') + if (dstr_end(dst) != '/' && dstr_end(dst) != '\\') dstr_cat_ch(dst, '/'); dstr_cat(dst, filename); + dstr_replace(dst, "\\", "/"); char *slash = strrchr(dst->array, '/'); if (slash) { diff --git a/plugins/obs-outputs/mp4-output.c b/plugins/obs-outputs/mp4-output.c index fd4e1fca43bb69..a2cdc490a73879 100644 --- a/plugins/obs-outputs/mp4-output.c +++ b/plugins/obs-outputs/mp4-output.c @@ -392,10 +392,10 @@ static void generate_filename(struct mp4_output *out, struct dstr *dst, bool ove char *filename = os_generate_formatted_filename(ext, space, fmt); dstr_copy(dst, dir); - dstr_replace(dst, "\\", "/"); - if (dstr_end(dst) != '/') + if (dstr_end(dst) != '/' && dstr_end(dst) != '\\') dstr_cat_ch(dst, '/'); dstr_cat(dst, filename); + dstr_replace(dst, "\\", "/"); char *slash = strrchr(dst->array, '/'); if (slash) {