diff options
author | phintuka <phintuka> | 2009-07-06 10:30:22 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2009-07-06 10:30:22 +0000 |
commit | 7cf8355e2b34b85b90207fd59beebadc5ce61b77 (patch) | |
tree | d179f6feb5a418b4f30fecfb3e773e989b7446da | |
parent | 56814d94c427db5d80c6c69c17975d0e37707713 (diff) | |
download | xineliboutput-7cf8355e2b34b85b90207fd59beebadc5ce61b77.tar.gz xineliboutput-7cf8355e2b34b85b90207fd59beebadc5ce61b77.tar.bz2 |
Simplify UDP queue full handling
-rw-r--r-- | xine_input_vdr.c | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/xine_input_vdr.c b/xine_input_vdr.c index b893f618..b55775fb 100644 --- a/xine_input_vdr.c +++ b/xine_input_vdr.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: xine_input_vdr.c,v 1.256 2009-07-05 11:26:56 phintuka Exp $ + * $Id: xine_input_vdr.c,v 1.257 2009-07-06 10:30:22 phintuka Exp $ * */ @@ -3656,8 +3656,8 @@ static int vdr_plugin_read_net_udp(vdr_input_plugin_t *this) if (!read_buffer) { pthread_testcancel(); + read_buffer = get_buf_element_timed(this, 2048+sizeof(stream_rtp_header_impl_t), 100); - read_buffer = get_buf_element(this, 2048+sizeof(stream_rtp_header_impl_t), 0); if (!read_buffer) { /* if queue is full, skip (video) frame. Waiting longer for free buffers just makes things worse ... */ @@ -3667,20 +3667,9 @@ static int vdr_plugin_read_net_udp(vdr_input_plugin_t *this) this->scr->jump (this->scr, 40*90); LOGMSG("SCR jump: +40 ms (live=%d, tuning=%d)", this->live_mode, this->scr_tuning); udp->scr_jump_done = 50; - xine_usec_sleep(5*1000); } } - - if (!this->control_running) - break; - - read_buffer = get_buf_element_timed(this, 2048+sizeof(stream_rtp_header_impl_t), 100); - if (!read_buffer) { - if (!this->is_paused) - LOGMSG("Fifo buffer still full !"); - xine_usec_sleep(5*1000); - return result; - } + return XIO_READY; } if (udp->scr_jump_done) |