diff options
author | phintuka <phintuka> | 2009-07-15 16:46:56 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2009-07-15 16:46:56 +0000 |
commit | edf113180ac13433db22e08c605dee892ec71c89 (patch) | |
tree | 3e9b0da6fe285b0a9826114a327f03f2b781bb1d | |
parent | 9ba0ec21b5cb0206164421b8727203f65bc588ab (diff) | |
download | xineliboutput-edf113180ac13433db22e08c605dee892ec71c89.tar.gz xineliboutput-edf113180ac13433db22e08c605dee892ec71c89.tar.bz2 |
flush_all_fifos(): free all queued UDP packets
-rw-r--r-- | xine_input_vdr.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/xine_input_vdr.c b/xine_input_vdr.c index fc3c418d..6746b8e7 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.264 2009-07-15 16:45:34 phintuka Exp $ + * $Id: xine_input_vdr.c,v 1.265 2009-07-15 16:46:56 phintuka Exp $ * */ @@ -1154,6 +1154,15 @@ static void flush_all_fifos (vdr_input_plugin_t *this, int full) this->read_buffer = NULL; } + if (this->udp_data) { + int i; + for (i = 0; i <= UDP_SEQ_MASK; i++) + if (this->udp_data->queue[i]) { + this->udp_data->queue[i]->free_buffer(this->udp_data->queue[i]); + this->udp_data->queue[i] = NULL; + } + } + if (full) { if (this->stream && this->stream->audio_fifo) this->stream->audio_fifo->clear(this->stream->audio_fifo); |