From cffc7768bd5b8d16308c15102b4d03d08d287098 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 9 Jul 2004 23:26:10 +0000 Subject: fix recording for simpel and esound protocols git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@54 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/util.c | 49 +++++++++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 20 deletions(-) (limited to 'src/util.c') diff --git a/src/util.c b/src/util.c index 3111bd5d..6fe4bbee 100644 --- a/src/util.c +++ b/src/util.c @@ -87,36 +87,27 @@ fail: return -1; } -int pa_make_socket_low_delay(int fd) { - int ret = 0, buf_size, priority; - +int pa_socket_low_delay(int fd) { + int priority; assert(fd >= 0); - buf_size = 1024; - if (setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &buf_size, sizeof(buf_size)) < 0) - ret = -1; - - buf_size = 1024; - if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &buf_size, sizeof(buf_size)) < 0) - ret = -1; - priority = 7; if (setsockopt(fd, SOL_SOCKET, SO_PRIORITY, &priority, sizeof(priority)) < 0) - ret = -1; + return -1; - return ret; + return 0; } -int pa_make_tcp_socket_low_delay(int fd) { - int ret, tos, on; - +int pa_socket_tcp_low_delay(int fd) { + int ret, tos; + assert(fd >= 0); - ret = pa_make_socket_low_delay(fd); + ret = pa_socket_low_delay(fd); - on = 1; - if (setsockopt(fd, SOL_TCP, TCP_NODELAY, &on, sizeof(on)) < 0) - ret = -1; +/* on = 1; */ +/* if (setsockopt(fd, SOL_TCP, TCP_NODELAY, &on, sizeof(on)) < 0) */ +/* ret = -1; */ tos = IPTOS_LOWDELAY; if (setsockopt(fd, SOL_IP, IP_TOS, &tos, sizeof(tos)) < 0) @@ -126,6 +117,24 @@ int pa_make_tcp_socket_low_delay(int fd) { } +int pa_socket_set_rcvbuf(int fd, size_t l) { + assert(fd >= 0); + + if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &l, sizeof(l)) < 0) + return -1; + + return 0; +} + +int pa_socket_set_sndbuf(int fd, size_t l) { + assert(fd >= 0); + + if (setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &l, sizeof(l)) < 0) + return -1; + + return 0; +} + ssize_t pa_loop_read(int fd, void*data, size_t size) { ssize_t ret = 0; assert(fd >= 0 && data && size); -- cgit