diff options
author | phintuka <phintuka> | 2009-08-18 10:24:03 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2009-08-18 10:24:03 +0000 |
commit | 933d86311f076402642ea944457aa55c4b46c66e (patch) | |
tree | ec7a19c34b67890f143d115da63a5b9aea641167 | |
parent | e5cf6bf517351d6fbb3aaf07c577ca0067919ff0 (diff) | |
download | xineliboutput-933d86311f076402642ea944457aa55c4b46c66e.tar.gz xineliboutput-933d86311f076402642ea944457aa55c4b46c66e.tar.bz2 |
get_buf_element(): Always leave free buffer to hd_buffer (for mpeg-ts demuxer)
-rw-r--r-- | xine_input_vdr.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/xine_input_vdr.c b/xine_input_vdr.c index b9ef528f..479c5a84 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.280 2009-08-18 10:22:35 phintuka Exp $ + * $Id: xine_input_vdr.c,v 1.281 2009-08-18 10:24:03 phintuka Exp $ * */ @@ -124,7 +124,7 @@ # include <linux/unistd.h> /* syscall(__NR_gettid) */ #endif -static const char module_revision[] = "$Id: xine_input_vdr.c,v 1.280 2009-08-18 10:22:35 phintuka Exp $"; +static const char module_revision[] = "$Id: xine_input_vdr.c,v 1.281 2009-08-18 10:24:03 phintuka Exp $"; static const char log_module_input_vdr[] = "[input_vdr] "; #define LOG_MODULENAME log_module_input_vdr #define SysLogLevel iSysLogLevel @@ -1277,7 +1277,8 @@ static buf_element_t *get_buf_element(vdr_input_plugin_t *this, int size, int fo /* HD buffer */ if (this->hd_stream && size <= HD_BUF_ELEM_SIZE) { - buf = this->hd_buffer->buffer_pool_try_alloc(this->hd_buffer); + if (this->hd_buffer->buffer_pool_num_free > 2) + buf = this->hd_buffer->buffer_pool_try_alloc(this->hd_buffer); if (!force && !buf) return NULL; } |