From fb09db432fe733795523c0ecfb7c557c486b9781 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Sat, 27 Dec 2014 21:21:36 -0800 Subject: [PATCH] libobs: Save/load source audio sync and flags When a source is being saved, include the audio sync as well as the flags. --- libobs/obs.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libobs/obs.c b/libobs/obs.c index 7b923d123..96d740db7 100644 --- a/libobs/obs.c +++ b/libobs/obs.c @@ -1218,6 +1218,8 @@ obs_source_t *obs_load_source(obs_data_t *source_data) const char *id = obs_data_get_string(source_data, "id"); obs_data_t *settings = obs_data_get_obj(source_data, "settings"); double volume; + int64_t sync; + uint32_t flags; source = obs_source_create(OBS_SOURCE_TYPE_INPUT, id, name, settings); @@ -1225,6 +1227,12 @@ obs_source_t *obs_load_source(obs_data_t *source_data) volume = obs_data_get_double(source_data, "volume"); obs_source_set_volume(source, (float)volume); + sync = obs_data_get_int(source_data, "sync"); + obs_source_set_sync_offset(source, sync); + + flags = (uint32_t)obs_data_get_int(source_data, "flags"); + obs_source_set_flags(source, flags); + obs_data_release(settings); return source; @@ -1263,6 +1271,8 @@ obs_data_t *obs_save_source(obs_source_t *source) obs_data_t *source_data = obs_data_create(); obs_data_t *settings = obs_source_get_settings(source); float volume = obs_source_get_volume(source); + int64_t sync = obs_source_get_sync_offset(source); + uint32_t flags = obs_source_get_flags(source); const char *name = obs_source_get_name(source); const char *id = obs_source_get_id(source); @@ -1271,6 +1281,8 @@ obs_data_t *obs_save_source(obs_source_t *source) obs_data_set_string(source_data, "name", name); obs_data_set_string(source_data, "id", id); obs_data_set_obj (source_data, "settings", settings); + obs_data_set_int (source_data, "sync", sync); + obs_data_set_int (source_data, "flags", flags); obs_data_set_double(source_data, "volume", volume); obs_data_release(settings);