7029304b32
When connection to FTL ingest is lost, ftl_event() calls obs_output_signal_stop() to trigger a reconnect. However, during the reconnect delay, send_thread is still waiting on send_sem semaphore. After the delay, ftl_stream_start() is called, which in turn resets the semaphore and creates a new send_thread. Old send_thread now exits the loop and triggers another reconnect and the whole process repeats again. The fix resets the semaphore in ftl_event() so the old send_thread exits immediately.