mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 13:08:50 +02:00
66a7db7f2a
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 |
||
---|---|---|
.. | ||
.clang-format | ||
amf.c | ||
amf.h | ||
bytes.h | ||
cencode.c | ||
cencode.h | ||
COPYING | ||
handshake.h | ||
hashswf.c | ||
http.h | ||
log.c | ||
log.h | ||
md5.c | ||
md5.h | ||
parseurl.c | ||
rtmp_sys.h | ||
rtmp.c | ||
rtmp.h |