[linux-dvb] Help using DMX_SET_BUFFER_SIZE
Andrea
mariofutire at googlemail.com
Sat Mar 1 10:11:26 CET 2008
Florian Lohoff wrote:
> On Sat, Mar 01, 2008 at 12:20:05AM +0000, Andrea wrote:
>> 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).
>
> In 2.6.25-rc3 the dvr kernel side looks like this:
>
> 1015 switch (cmd) {
> 1016 case DMX_SET_BUFFER_SIZE:
> 1017 // FIXME: implement
> 1018 ret = 0;
> 1019 break;
>
> i guess its clear why it doesnt make a difference ;)
>
> Flo
Yes I had noticed that and I was trying to see what I can do.
My problem is that I replace the // FIXME with a printk() and it does not get called
How is it supposed to work?
I open /dev/dvb/adapter0/dvr0, I get back a file descriptor and the I call the ioctl with that file
descriptor.
This code comes from gnutv_data.c plus my additional code
// open dvr device
dvrfd = dvbdemux_open_dvr(adapter_id, 0, 1, 0);
if (dvrfd < 0) {
fprintf(stderr, "Failed to open DVR device\n");
exit(1);
}
if (buffer_size > 0)
{
int res = dvbdemux_set_buffer(dvrfd, buffer_size);
if (res < 0) {
fprintf(stderr, "Failed to set ring buffer size\n");
exit(1);
}
}
Regardless of what is implemented or not, would that be correct?
Andrea
More information about the linux-dvb
mailing list