[linux-dvb] Johannes' idea of simple zap (szap)
Manu Abraham
manu at kromtek.com
Mon Jun 13 00:23:49 CEST 2005
Andrew de Quincey wrote:
> On Sunday 12 June 2005 22:00, Manu Abraham wrote:
>>Andrew de Quincey wrote:
>>>On Sunday 12 June 2005 21:38, Patrick Boettcher wrote:
>>>>Hi,
>>>>
>>>>On Sun, 12 Jun 2005, Andrew de Quincey wrote:
>>>>>>Attached is my current channels.conf and a hacked version of scan which
>>>>>>prints out the service_id at the very end. It is not a big problem to
>>>>>>add in to parse the VDR format too, as i had a parser for the Metzler's
>>>>>>libdvb format also, but temporarily removed of all those bells and
>>>>>>whistles to make testing and debugging easier..
>>>>>I'd be interested in helping with parsing the file formats to start with
>>>>>- if they were to be exported into a seperate library that is.
>>>>>
>>>>>Looking at VDR 1.26 there are three config files:
>>>>>
>>>>>From what I know the channels.conf-format from 1.3.* changed
>>>>
>>>>significantly. I would first implement 1.3-parsing and later, if really
>>>>necessary (1.4 (= stable) is near), later implement support for
>>>>1.2-format, if at all.
>>>Ah thats a good idea. I'll have a look into 1.3.x then.
>>>
>>>OK, where do I get the ca_zap sources - so I can see what is there
>>>already and start some coding?
>>I have not committed the sources to CVS or anywhere, i would wait for a
>>day or two to go through it again/test things out before i make it public.
>
> No problem. I've been thinking about additional structures to cope with VDR's
> extra configuration information (basically struct source_params and struct
> diseqc_params).
>
Since we are going to have multiple uses for it, it would need more
config information..
> BTW Patrick, I downloaded VDR 1.3.26 - I couldn't see any changes to the
> config files in 1.2.6 really. Hmm, I notice I said 1.26 initially - that was
> wrong - I meant 1.2.6 sorry.
>
> I have a couple of questions about channels.c tho:
>
> 1) As far as I can see, the code parses the file every time a channel is
> requested. The problem is that with VDR you need to parse 3 files, so the
> time required is going to get longer. If we loaded the config files into
> memory, we could then just convert them internally into a common set of data
> structures... although that means we do use more memory I suppose...
>
Initially this was just a hack that i had to read in a single line only
(ie one single channel). I needed to get ca_zap and the libs going on,
the factorization came later when i started upon splitting things up to
avoid a potential hairloss..
Reading the entire config into memory is not a bad deal, but would
depend on the channels list size again.. But in general cases that
wouldn't be a big problem i guess consoidering that even embedded
systems these days have around 64Megs at least ..
> 2) In channels.h, you define "struct channel_params" as having seperate
> entries in the strurcture for bandwidth/polarity etc. Would it not just be
> easier to embed a struct dvb_frontend_parameters directly in there? Then you
> could just parse it once and pass it directly to the dvb IOCTLs etc.
>
> Attached is an example revised header file including the above points - just
> for discussion though... I've no problems being told it is total rubbish :)
>
I don't mind reusing the structures from the API itself rather than me
defining it again.
Manu
More information about the linux-dvb
mailing list