obs-ffmpeg: Add option to disable settings logging

Allows plugins to disable the logging of settings every time the ffmpeg
source is updated, by passing "log_changes" as true in the settings.
This commit is contained in:
CodeYan01 2023-01-18 20:15:57 +08:00 committed by Lain
parent d9bb556c97
commit 1d45881fcb

View file

@ -53,6 +53,7 @@ struct ffmpeg_source {
bool close_when_inactive; bool close_when_inactive;
bool seekable; bool seekable;
bool is_stinger; bool is_stinger;
bool log_changes;
pthread_t reconnect_thread; pthread_t reconnect_thread;
pthread_mutex_t reconnect_mutex; pthread_mutex_t reconnect_mutex;
@ -127,6 +128,7 @@ static void ffmpeg_source_defaults(obs_data_t *settings)
obs_data_set_default_int(settings, "reconnect_delay_sec", 10); obs_data_set_default_int(settings, "reconnect_delay_sec", 10);
obs_data_set_default_int(settings, "buffering_mb", 2); obs_data_set_default_int(settings, "buffering_mb", 2);
obs_data_set_default_int(settings, "speed_percent", 100); obs_data_set_default_int(settings, "speed_percent", 100);
obs_data_set_default_bool(settings, "log_changes", true);
} }
static const char *media_filter = static const char *media_filter =
@ -245,6 +247,8 @@ static obs_properties_t *ffmpeg_source_getproperties(void *data)
static void dump_source_info(struct ffmpeg_source *s, const char *input, static void dump_source_info(struct ffmpeg_source *s, const char *input,
const char *input_format) const char *input_format)
{ {
if (!s->log_changes)
return;
FF_BLOG(LOG_INFO, FF_BLOG(LOG_INFO,
"settings:\n" "settings:\n"
"\tinput: %s\n" "\tinput: %s\n"
@ -487,6 +491,7 @@ static void ffmpeg_source_update(void *data, obs_data_t *settings)
s->seekable = obs_data_get_bool(settings, "seekable"); s->seekable = obs_data_get_bool(settings, "seekable");
s->ffmpeg_options = ffmpeg_options ? bstrdup(ffmpeg_options) : NULL; s->ffmpeg_options = ffmpeg_options ? bstrdup(ffmpeg_options) : NULL;
s->is_stinger = is_stinger; s->is_stinger = is_stinger;
s->log_changes = obs_data_get_bool(settings, "log_changes");
if (s->speed_percent < 1 || s->speed_percent > 200) if (s->speed_percent < 1 || s->speed_percent > 200)
s->speed_percent = 100; s->speed_percent = 100;