obs-outputs: Disable Windows socket loop when using RTMPS

Since this is activated after starting the output, it assumes there is
no need to read anything from the connection as RTMP is send-only from
that point on. However with TLS, reading protocol messages is required
for proper operation, causing it to immediately fail on RTMPS
connections. This is a complex fix due to the way it interacts with
librtmp and mbedTLS so let's just disable it for now to avoid breaking
things for users.
This commit is contained in:
Richard Stanway 2021-09-03 18:09:33 +02:00
parent a04bd742d7
commit 9411c548d3

View File

@ -1112,6 +1112,13 @@ static bool init_connect(struct rtmp_stream *stream)
stream->low_latency_mode =
obs_data_get_bool(settings, OPT_LOWLATENCY_ENABLED);
// ugly hack for now, can be removed once new loop is reworked
if (stream->new_socket_loop &&
!strncmp(stream->path.array, "rtmps://", 8)) {
warn("Disabling network optimizations, not compatible with RTMPS");
stream->new_socket_loop = false;
}
obs_data_release(settings);
return true;
}