From 0018788780d756dbf0d3a77f6b40b384183348f7 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 14 Apr 2025 11:38:52 +0200 Subject: Redesign audio to support multiple audio tracks explicitly --- include/Config.hpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'include/Config.hpp') diff --git a/include/Config.hpp b/include/Config.hpp index 0e8e4eb..bbb5381 100644 --- a/include/Config.hpp +++ b/include/Config.hpp @@ -6,7 +6,7 @@ #include #include -#define GSR_CONFIG_FILE_VERSION 1 +#define GSR_CONFIG_FILE_VERSION 2 namespace gsr { struct SupportedCaptureOptions; @@ -30,6 +30,14 @@ namespace gsr { std::string to_string(bool spaces = true, bool modifier_side = true) const; }; + struct AudioTrack { + std::vector audio_inputs; // ids + bool application_audio_invert = false; + + bool operator==(const AudioTrack &other) const; + bool operator!=(const AudioTrack &other) const; + }; + struct RecordOptions { std::string record_area_option = "screen"; int32_t record_area_width = 0; @@ -38,10 +46,11 @@ namespace gsr { int32_t video_height = 0; int32_t fps = 60; int32_t video_bitrate = 15000; - bool merge_audio_tracks = true; // Currently unused for streaming because all known streaming sites only support 1 audio track - bool application_audio_invert = false; + bool merge_audio_tracks = true; // TODO: Remove in the future + bool application_audio_invert = false; // TODO: Remove in the future bool change_video_resolution = false; - std::vector audio_tracks; + std::vector audio_tracks; // ids, TODO: Remove in the future + std::vector audio_tracks_list; std::string color_range = "limited"; std::string video_quality = "very_high"; std::string video_codec = "auto"; -- cgit v1.2.3-70-g09d2