diff --git a/libobs/obs-output.c b/libobs/obs-output.c index 21f6745507ed76393735dab4dfc51dcf82f647fa..db84cd6c2c5e21d9f58c8e908df331cd476043b1 100644 --- a/libobs/obs-output.c +++ b/libobs/obs-output.c @@ -322,7 +322,7 @@ void obs_output_actual_stop(obs_output_t *output, bool force, uint64_t ts) bool call_stop = true; bool was_reconnecting = false; - if (stopping(output)) + if (stopping(output) && !force) return; os_event_reset(output->stopping_event); @@ -391,8 +391,8 @@ void obs_output_force_stop(obs_output_t *output) if (!stopping(output)) { output->stop_code = 0; do_output_signal(output, "stopping"); - obs_output_actual_stop(output, true, 0); } + obs_output_actual_stop(output, true, 0); } bool obs_output_active(const obs_output_t *output)