mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 04:42:18 +02:00
obs-outputs: Set a fixed size socket buffer on Windows 7
Auto tuning apparently doesn't work very well on this version and
af6844f5c2
caused throughput
regressions.
This commit is contained in:
parent
2f48733f3c
commit
bfcc066099
@ -16,6 +16,9 @@
|
||||
******************************************************************************/
|
||||
|
||||
#include "rtmp-stream.h"
|
||||
#ifdef _WIN32
|
||||
#include <util/windows/win-version.h>
|
||||
#endif
|
||||
|
||||
#ifndef SEC_TO_NSEC
|
||||
#define SEC_TO_NSEC 1000000000ULL
|
||||
@ -605,6 +608,24 @@ static void *send_thread(void *data)
|
||||
os_set_thread_name("rtmp-stream: send_thread");
|
||||
|
||||
#if defined(_WIN32)
|
||||
// Despite MSDN claiming otherwise, send buffer auto tuning on
|
||||
// Windows 7 doesn't seem to work very well.
|
||||
if (get_win_ver_int() == 0x601) {
|
||||
DWORD cur_sendbuf_size;
|
||||
DWORD desired_sendbuf_size = 524288;
|
||||
socklen_t int_size = sizeof(int);
|
||||
|
||||
if (!getsockopt(stream->rtmp.m_sb.sb_socket, SOL_SOCKET,
|
||||
SO_SNDBUF, (char *)&cur_sendbuf_size,
|
||||
&int_size) &&
|
||||
cur_sendbuf_size < desired_sendbuf_size) {
|
||||
|
||||
setsockopt(stream->rtmp.m_sb.sb_socket, SOL_SOCKET,
|
||||
SO_SNDBUF, (char *)&desired_sendbuf_size,
|
||||
sizeof(desired_sendbuf_size));
|
||||
}
|
||||
}
|
||||
|
||||
log_sndbuf_size(stream);
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user