info("Buffering...");
while(nsamples < readahead)
pthread_cond_wait(&cond, &lock);
info("Buffering...");
while(nsamples < readahead)
pthread_cond_wait(&cond, &lock);
len = sizeof rcvbuf;
if(getsockopt(rtpfd, SOL_SOCKET, SO_RCVBUF, &rcvbuf, &len) < 0)
fatal(errno, "error calling getsockopt SO_RCVBUF");
len = sizeof rcvbuf;
if(getsockopt(rtpfd, SOL_SOCKET, SO_RCVBUF, &rcvbuf, &len) < 0)
fatal(errno, "error calling getsockopt SO_RCVBUF");
if(setsockopt(rtpfd, SOL_SOCKET, SO_RCVBUF,
&target_rcvbuf, sizeof target_rcvbuf) < 0)
error(errno, "error calling setsockopt SO_RCVBUF %d",
if(setsockopt(rtpfd, SOL_SOCKET, SO_RCVBUF,
&target_rcvbuf, sizeof target_rcvbuf) < 0)
error(errno, "error calling setsockopt SO_RCVBUF %d",