mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-03-19 15:07:16 -04:00
This fixes a bug where the RTMP send thread can deadlock upon the underlying TCP connection being broken. By introducing a send timeout, this allows the thread to unblock and give up, triggering a reconnect as normal. The correct solution to this problem would be to rewrite librtmp with asynchronous IO, but that seems like something unlikely to happen. **Before**: - Start stream in OBS - Use tool (pfSense) to invalidate connection state - OBS bitrate drops to 0 - Output does not respond to stop signals, and hangs for an undefined amount of time (usually multiple minutes) before finally giving up **After**: - Start stream in OBS - Use tool (pfSense) to invalidate connection state - OBS bitrate drops to 0 - Output sits in blocked state for maximum of 8 seconds, then cleans up and triggers the reconnect logic