What happens is that the sender times out and drops the receiver, because the receiver cannot write the data fast enough and drops data.
The "Pipeline full" message on the client occurs when it's receiving data at a rate that's consistently faster than it the rate at which it can write it. I experienced this when using a fast compression program.
All the code below is untested. Please test it and post your results. I'm in the process of rebuilding a bootdisk with syslinux and a new kernel.
Also, I'm working on a Gui that would allow klickety-klick people to store images on a "server" and cast from the "server".
This little patch _might_ fix the problem. Apply it to senddata.c
--snip-snip-- 871c871 < if(rexmitSlice->rxmitId > 200) { ---
if(rexmitSlice->rxmitId > 20000) {
--snip-snip--
and it _might_ also be a good idea to make the buffer a little bigger on the client. Apply the following to fifo.c
--snip-snip-- 3a4,5
#define BUFBLCKSIZE (1<<17)
6,8c8,10 < fifo->dataBufSize = blockSize * 4096; < fifo->dataBuffer = malloc(fifo->dataBufSize+4096); < fifo->dataBuffer += 4096 - (((unsigned int)fifo->dataBuffer) % 4096); ---
fifo->dataBufSize = blockSize * BUFBLCKSIZE; fifo->dataBuffer = malloc(fifo->dataBufSize+ BUFBLCKSIZE); fifo->dataBuffer += BUFBLCKSIZE - (((unsigned int)fifo->dataBuffer)
% BUFBLCKSIZE); --snip-snip--
and lastly, to fix the "Press any key" bug, apply the following to udpr-negotiate.c
--snip-snip-- 3a4
#include <termios.h>
69d69 < char buffer[80]; 71c71,80 < ---
struct termios oldtio, newtio; tcgetattr(0, &oldtio); newtio = oldtio; newtio.c_lflag &= ~ECHO; newtio.c_lflag &= ~ICANON; newtio.c_cc[VMIN] = 1; newtio.c_cc[VTIME] = 0; tcsetattr(0, 0, &newtio);
76c85,86 < n = read(fd, buffer, 80); ---
n = getchar(); tcsetattr(0, 0, &oldtio);
228d237 < default: 267d275 < default: --snip-snip--
Andrew
On Tue, 29 Apr 2003, Saikrishna Dasari wrote:
Can anybody explain me what the "Pipe Line Full message" on receiver side and when does it occur??
Thanks, Sai
Do you Yahoo!? The New Yahoo! Search - Faster. Easier. Bingo. http://search.yahoo.com _______________________________________________ Udpcast mailing list Udpcast@udpcast.linux.lu http://udpcast.linux.lu/mailman/listinfo/udpcast
----------------------- Andrew Cooks TechTeam TechTeam -- "We make it work." Computer Science dept. University of Pretoria -----------------------
"I don't make jokes in base 13. Anyone who does should get help." -Douglas Adams