fix recording for simpel and esound protocols

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@54 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Lennart Poettering 2004-07-09 23:26:10 +00:00
parent 863fb90d90
commit cffc7768bd
22 changed files with 480 additions and 176 deletions

View file

@ -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);