From b2872318a162f8802a7a1c37438937f2ae20161b Mon Sep 17 00:00:00 2001 From: bin Date: Sun, 26 Feb 2023 03:26:53 +0800 Subject: [PATCH] UI: Add "audio_names" setting to FFmpeg output settings --- UI/window-basic-main-outputs.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/UI/window-basic-main-outputs.cpp b/UI/window-basic-main-outputs.cpp index 8624ca91c..ac4b85201 100644 --- a/UI/window-basic-main-outputs.cpp +++ b/UI/window-basic-main-outputs.cpp @@ -1984,8 +1984,25 @@ inline void AdvancedOutput::SetupFFmpeg() config_get_int(main->Config(), "AdvOut", "FFAEncoderId"); const char *aEncCustom = config_get_string(main->Config(), "AdvOut", "FFACustom"); + + OBSDataArrayAutoRelease audio_names = obs_data_array_create(); + + for (size_t i = 0; i < MAX_AUDIO_MIXES; i++) { + string cfg_name = "Track"; + cfg_name += to_string((int)i + 1); + cfg_name += "Name"; + + const char *audioName = config_get_string( + main->Config(), "AdvOut", cfg_name.c_str()); + + OBSDataAutoRelease item = obs_data_create(); + obs_data_set_string(item, "name", audioName); + obs_data_array_push_back(audio_names, item); + } + OBSDataAutoRelease settings = obs_data_create(); + obs_data_set_array(settings, "audio_names", audio_names); obs_data_set_string(settings, "url", url); obs_data_set_string(settings, "format_name", formatName); obs_data_set_string(settings, "format_mime_type", mimeType);