Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] some problems...
Hi,
last weekend I migrated my TV-server linux box from kernel 2.2.13 to 2.4.2
and noticed several problems regarding the different DVB versions, which
might interest someone who plans to upgrade as well. I started from
dvb_0.8.1 (on 2.2.13), slightly patched with the VES1893 and bitfilter
bugfixes of the DVB-0-8 branch. This worked stable for weeks without having
major problems. The only function I really missed was the ability to change
the language of encrypted channels (I reported this some time ago). After
installing the new kernel I tried dvb_0.8.1, but this didn't work. I
installed dvb_0.8.2 (CVS DVB-0-8), but this didn't work either, until I
noticed that I have to pull off the CAM(s) to get the driver booting (0.8.1
didn't have problems with that). When re-inserting the CAM(s) after startup,
the encrypted channels are displayed again. So far it went well, but when
switching channels a bit I noticed a problem with the videotext filtering. I
use a PES filter to feed the videotext stream of a channel to /dev/ost/dvr.
First time this filter is set up it works fine, but after switching a
channel (and shutting down the filter by DMX_STOP), it seems impossible to
get another filter working with a different PID (that of the videotext
stream of the new channel) on that device. The return value of the ioctl
call is -EPERM (-1), which does not make any sense to me. I tried using
DVB-0-9 (version of sunday morning), but my problems with videotext
filtering remained. I use the following piece of code:
//
// OutputDevice->vbiDev contains filehandle of a formerly opened demux
device
// InputDevice->FileHandle stores the resulting handle of dvr device
//
openVideoText (deviceName /* := "/dev/ost/dvr" */, tpid)
{
struct dmxPesFilterParams pesFilterParamsT;
if ((tpid)==0 || (tpid)==0xffff)
ioctl(OutputDevice->vbiDev, DMX_STOP, 0);
else
{
pesFilterParamsT.pid = tpid;
pesFilterParamsT.input = DMX_IN_FRONTEND;
pesFilterParamsT.output = DMX_OUT_TS_TAP;
pesFilterParamsT.pesType = DMX_PES_TELETEXT;
pesFilterParamsT.flags = DMX_IMMEDIATE_START;
if (ioctl(OutputDevice->vbiDev, DMX_SET_PES_FILTER,
&pesFilterParamsT) < 0)
logPrintf (0, "set_tpid error\n");
}
InputDevice->FileHandle = open (deviceName, O_RDONLY);
}
Any suggestions to get a solution would be appreciated.
Best regards
Rolf HAkenes
---
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index