From: Mauro B. <mau...@te...> - 2006-03-14 10:47:22
|
Barry Scott wrote: > For some reason demux_synchronise waits for 200 timeouts in the input > handler before giving up. > This leads to a timeout of 200*5s when input_rtp.c times out when the > stream is lost. > > The patch changes this to 1 time out, 5s. > > Barry > >------------------------------------------------------------------------ > >--- src/input/demux_ts.c.orig 2006-03-13 14:40:03.000000000 +0000 >+++ src/input/demux_ts.c 2006-03-13 14:40:03.000000000 +0000 >@@ -1468,7 +1468,7 @@ > this->read_zero++; > } else this->read_zero = 0; > >- if (this->read_zero > 200) { >+ if (this->read_zero > 1) { > xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, "demux_ts: read 0 packets too many times!\n"); > this->status = DEMUX_FINISHED; > return NULL; > > Hello Barry, I recall writing those lines of code a few years ago! :-) That value was meant to work nicely with input_dvb (with frequent reads which might quite likely return no data). However, I know that input_dvb is now quite different from my proposal at that time: just check that your patch does not break the correct behavior when demux_ts receives its data from input_dvb. I'll try to also check that. Ciao, Mauro. |