Hi, On Friday 01 April 2005 17:53, Dominique Dumont wrote: > Manu and I are currently exchanging ideas (and code) related to the > next ca_zap (i.e. the small user space application in charge of > sending a ca_pmt message to the CAM on a Twinhan card). > > We are thinking about providing a library to parse PAT and PMT and to > generate an EN50221 CA_SET_PMT message. > > I've seen that mpsys library [1] alreasy provides a C library to parse > PMT and most of a TS stream. Using the XML protocol description, it > should be quite easy to provide an EN50221 parser also. (although, > I'm not so sure about the encoding part of the EN50221 messages ... I > may have to dust off my XSLT cookbook ) > > What do you think of this library ? > Is there any reason not to use it with dvb application ? > Or not to recommend it ? I'm not sure why you want to bring xml into this picture? Abstracting? I'm thinking: We merge the code from *zap and scan in a library, similar to the alsa library. Importing common features such as the vdr ci code (which is used by at least mythtv and iirc videolan), then provide a common method of tuning that includes the quirks of handling an associated cam. The library would have control over a configuration file that resides in etc, which the application may or may not use as it sees fit. Both the in kernel frontend and ci threads could potentionally be moved to userspace, reducing the kernel driver footprint. The interface of this library must offcourse be pondered on, as it should remain very stable and allow extensions that potentially could be introduced by new adapter types. IIRC there is also an implementation of ts2ps (or similar) in the kernel that could be ripped out. The CAM handling could then be very simplyfied, allowing either the application or the library (plugins?) to handle the features of decrypting the stream. IIRC Marcus Metzler pointed out to me that there are meny methods of controlling decrypting a stream, that involves controlling a remote device, which also would fit well in this picture. We could start simple, just providing the features of handling decryption, then put in other blocks to handle other aspects of dvb. What do you think? To radical a goal? Kenneth