From 87f14a12547bd57e60e915d17b02daabe2e47793 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Sat, 20 May 2017 12:27:02 -0700 Subject: [PATCH] libobs: Always call stop callback Rather than have the back-end try to determine whether the output can or cannot stop, allow the stop callback to continue in the plugin either way and let the plugin itself make that determination. This fixes a bug where the back-end wouldn't have data active while connecting, therefore the stop callback wouldn't be called, and once connected it wouldn't know that it was supposed to stop. In other words trying to call obs_output_stop on an output that was in a state of connecting would do nothing and the output would never stop. --- libobs/obs-output.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libobs/obs-output.c b/libobs/obs-output.c index 17d8f346e..403f44d16 100644 --- a/libobs/obs-output.c +++ b/libobs/obs-output.c @@ -346,10 +346,10 @@ void obs_output_actual_stop(obs_output_t *output, bool force, uint64_t ts) obs_output_end_data_capture(output); os_event_signal(output->stopping_event); } else { - call_stop = data_active(output); + call_stop = true; } } else { - call_stop = data_active(output); + call_stop = true; } if (output->context.data && call_stop) {