tt2468 66a7db7f2a obs-outputs: Implement send timeout in librtmp
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
2022-04-30 16:22:10 -07:00
..
2014-04-01 11:48:28 -07:00
2014-04-01 11:48:28 -07:00
2014-04-01 11:48:28 -07:00
2014-04-01 11:48:28 -07:00
2014-04-01 11:48:28 -07:00
2014-04-01 11:48:28 -07:00
2014-04-01 11:48:28 -07:00
2014-04-01 11:48:28 -07:00
2014-04-01 11:48:28 -07:00