summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2009-09-11 11:36:52 +0000
committerphintuka <phintuka>2009-09-11 11:36:52 +0000
commitdbaf47568cbcc33dcdf3801e3a39876a2fa97645 (patch)
tree5c0deb155faa3d6409bd6a5faa6a135129d346ed
parent0b3e9eb6a25b5a99ab9be5bc4c6f13eebb81a1bb (diff)
downloadxineliboutput-dbaf47568cbcc33dcdf3801e3a39876a2fa97645.tar.gz
xineliboutput-dbaf47568cbcc33dcdf3801e3a39876a2fa97645.tar.bz2
Use larger video fifo for media player
-rw-r--r--xine_input_vdr.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/xine_input_vdr.c b/xine_input_vdr.c
index e0b71cfc..cd8bfc23 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.284 2009-08-25 09:47:18 phintuka Exp $
+ * $Id: xine_input_vdr.c,v 1.285 2009-09-11 11:36:52 phintuka Exp $
*
*/
@@ -87,6 +87,8 @@
#define RADIO_MAX_BUFFERS 10
+#define SLAVE_VIDEO_FIFO_SIZE 1000
+
#ifndef NOSIGNAL_IMAGE_FILE
# define NOSIGNAL_IMAGE_FILE "/usr/share/vdr/xineliboutput/nosignal.mpv"
#endif
@@ -125,7 +127,7 @@
# include <linux/unistd.h> /* syscall(__NR_gettid) */
#endif
-static const char module_revision[] = "$Id: xine_input_vdr.c,v 1.284 2009-08-25 09:47:18 phintuka Exp $";
+static const char module_revision[] = "$Id: xine_input_vdr.c,v 1.285 2009-09-11 11:36:52 phintuka Exp $";
static const char log_module_input_vdr[] = "[input_vdr] ";
#define LOG_MODULENAME log_module_input_vdr
#define SysLogLevel iSysLogLevel
@@ -2207,9 +2209,18 @@ static int handle_control_playfile(vdr_input_plugin_t *this, const char *cmd)
#endif
if(!this->slave_stream) {
+ cfg_entry_t *e = this->class->xine->config->lookup_entry(this->class->xine->config,
+ "engine.buffers.video_num_buffers");
+ int vbufs = e ? e->num_value : 250;
+ this->class->xine->config->update_num(this->class->xine->config,
+ "engine.buffers.video_num_buffers", SLAVE_VIDEO_FIFO_SIZE);
+ LOGMSG("xine_stream_new(slave_stream): using %dMB video fifo", SLAVE_VIDEO_FIFO_SIZE*8/1024);
this->slave_stream = xine_stream_new(this->class->xine,
this->stream->audio_out,
this->stream->video_out);
+
+ this->class->xine->config->update_num(this->class->xine->config,
+ "engine.buffers.video_num_buffers", vbufs);
}
if(!this->slave_event_queue) {