Hi linux-media developers,
    We are from School On Internet Asia (SOI Asia) project that uses satellite 
communication to deliver educational content.
We used Hauppauge HVR 4000 to carry IP traffic over ULE. However, there is an 
issue with high latency jitter. My boss, Husni,
identified the problem and provided a patch for this problem. We have tested 
this patch since kernel 2.6.30 on our partner
sites and it hasn't cause any issue. The default buffer size of 32 TS frames on 
cx88 causes the high latency, so our deployment
changes that to 6 TS frames. This patch made the buffer size tunable, while 
keeping the default buffer size of 32 TS frames
unchanged. Sorry, I have to use attachment for the patch. I couldn't figure out 
how to copy and paste the patch without
converting the tab to spaces in thunderbird.

Signed-off-by: Achmad Husni Thamrin <hu...@ai3.net>

diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c
index 367a653..90717ee 100644
--- a/drivers/media/video/cx88/cx88-dvb.c
+++ b/drivers/media/video/cx88/cx88-dvb.c
@@ -67,6 +67,10 @@ static unsigned int debug;
 module_param(debug, int, 0644);
 MODULE_PARM_DESC(debug,"enable debug messages [dvb]");
 
+static unsigned int dvb_buf_tscnt = 32;
+module_param(dvb_buf_tscnt, int, 0644);
+MODULE_PARM_DESC(dvb_buf_tscnt, "DVB Buffer TS count [dvb]");
+
 DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
 
 #define dprintk(level,fmt, arg...)	if (debug >= level) \
@@ -80,10 +84,10 @@ static int dvb_buf_setup(struct videobuf_queue *q,
 	struct cx8802_dev *dev = q->priv_data;
 
 	dev->ts_packet_size  = 188 * 4;
-	dev->ts_packet_count = 32;
+	dev->ts_packet_count = dvb_buf_tscnt;
 
 	*size  = dev->ts_packet_size * dev->ts_packet_count;
-	*count = 32;
+	*count = dvb_buf_tscnt;
 	return 0;
 }
 

Reply via email to