Hi, I've tried to add an extra argument to gnutv to set the size of the dvb_ringbuffer via DMX_SET_BUFFER_SIZE.
I have not really understood the difference between dvr and demux. It seems that gnutv uses the dvr to read from the DVB card and then copies the content to a file. I call int dvbdemux_set_buffer(int fd, int bufsize) { return ioctl(fd, DMX_SET_BUFFER_SIZE, bufsize); } on the dvr (I think), but it does not make much of a change. The ioctl call returns success. I've printed a lot of debug output (adding a few dprintk) and this is what I see when I run gnutv. Now, I set the buffer to 1024 * 1024 which is nowhere in the log. I cannot see in the log the 2 functions (demux and dvr) handling this ioctl call: dvb_demux_do_ioctl and dvb_dvr_do_ioctl (I've added some printk as well). printk("function : %s %d\n", __FUNCTION__, cmd); /sbin/modprobe dvb_core debug=1 dvbdev_debug=1 Feb 29 23:59:34 thinkpad kernel: function : dvb_demux_open Feb 29 23:59:34 thinkpad kernel: dmxdev: dvb_ringbuffer_init 8192 Feb 29 23:59:34 thinkpad kernel: function : dvb_dmxdev_filter_set Feb 29 23:59:34 thinkpad kernel: function : dvb_dvr_open Feb 29 23:59:34 thinkpad kernel: function : dvb_demux_open Feb 29 23:59:34 thinkpad kernel: dmxdev: dvb_ringbuffer_init 8192 Feb 29 23:59:34 thinkpad kernel: function : dvb_dmxdev_filter_set Feb 29 23:59:34 thinkpad kernel: dmxdev: dvb_ringbuffer_init 1925120 Feb 29 23:59:34 thinkpad kernel: function : dvb_demux_open Feb 29 23:59:34 thinkpad kernel: dmxdev: dvb_ringbuffer_init 8192 Feb 29 23:59:35 thinkpad kernel: dmxdev: section callback 00 b0 25 10 04 c5 Feb 29 23:59:35 thinkpad kernel: function : dvb_demux_open Feb 29 23:59:35 thinkpad kernel: dmxdev: dvb_ringbuffer_init 8192 Feb 29 23:59:35 thinkpad kernel: function : dvb_dmxdev_filter_set Feb 29 23:59:35 thinkpad kernel: function : dvb_demux_open Feb 29 23:59:35 thinkpad kernel: dmxdev: dvb_ringbuffer_init 8192 Feb 29 23:59:35 thinkpad kernel: dmxdev: section callback 02 b0 82 10 84 c7 Feb 29 23:59:35 thinkpad kernel: function : dvb_demux_open Feb 29 23:59:35 thinkpad kernel: dmxdev: dvb_ringbuffer_init 8192 Feb 29 23:59:35 thinkpad kernel: function : dvb_demux_open Feb 29 23:59:35 thinkpad kernel: dmxdev: dvb_ringbuffer_init 8192 Feb 29 23:59:35 thinkpad kernel: function : dvb_demux_open Feb 29 23:59:35 thinkpad kernel: dmxdev: dvb_ringbuffer_init 8192 Feb 29 23:59:35 thinkpad kernel: function : dvb_demux_open Feb 29 23:59:35 thinkpad kernel: dmxdev: dvb_ringbuffer_init 8192 Feb 29 23:59:35 thinkpad kernel: function : dvb_demux_open Feb 29 23:59:35 thinkpad kernel: dmxdev: dvb_ringbuffer_init 8192 Feb 29 23:59:35 thinkpad kernel: function : dvb_demux_open Feb 29 23:59:35 thinkpad kernel: dmxdev: dvb_ringbuffer_init 8192 Feb 29 23:59:35 thinkpad kernel: function : dvb_demux_open Feb 29 23:59:35 thinkpad kernel: dmxdev: dvb_ringbuffer_init 8192 Feb 29 23:59:35 thinkpad kernel: function : dvb_demux_open Feb 29 23:59:35 thinkpad kernel: dmxdev: dvb_ringbuffer_init 8192 Feb 29 23:59:35 thinkpad kernel: function : dvb_demux_open Feb 29 23:59:35 thinkpad kernel: dmxdev: dvb_ringbuffer_init 8192 Feb 29 23:59:35 thinkpad kernel: function : dvb_demux_open Feb 29 23:59:35 thinkpad kernel: dmxdev: dvb_ringbuffer_init 8192 Feb 29 23:59:35 thinkpad kernel: dmxdev: section callback 00 b0 25 10 04 c5 Feb 29 23:59:35 thinkpad kernel: dmxdev: section callback 02 b0 82 10 84 c7 Feb 29 23:59:35 thinkpad kernel: dmxdev: section callback 00 b0 25 10 04 c5 Feb 29 23:59:35 thinkpad kernel: dmxdev: section callback 02 b0 82 10 84 c7 Feb 29 23:59:35 thinkpad kernel: dmxdev: section callback 00 b0 25 10 04 c5 Feb 29 23:59:35 thinkpad kernel: dmxdev: section callback 02 b0 82 10 84 c7 Feb 29 23:59:36 thinkpad kernel: dmxdev: section callback 70 70 05 d4 fd 23 Feb 29 23:59:36 thinkpad kernel: dmxdev: section callback 00 b0 25 10 04 c5 Feb 29 23:59:36 thinkpad kernel: dmxdev: section callback 02 b0 82 10 84 c7 Feb 29 23:59:36 thinkpad kernel: dmxdev: section callback 00 b0 25 10 04 c5 Feb 29 23:59:36 thinkpad kernel: dmxdev: section callback 02 b0 82 10 84 c7 My questions are 1) how many ringbuffers are there? 2 sizes are reported in the log. 2) in the log it seems the buffer is recreated every time. 3) why can't I see any call to dvb_demux_do_ioctl and dvb_dvr_do_ioctl? 4) ... what is the difference between demux and dvr? :-) I'm using a Hauppauge WinTV NOVA T USB2, 2.6.24.2, letest mercurial source code. _______________________________________________ linux-dvb mailing list linux-dvb@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb