Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: Proposal/Announcement: Alternative SI library



> This came just in time for VDR 1.3 :-)
>
> The diff you provided doesn't remove the libdtv stuff from the makefile.
> Does this mean you still use parts of that lib? A short glance over your
> code would indicate you don't...

No, I don't use any parts of libdtv (actually libsi uses si_tables.h, but I 
copied that into headers.h). I think I replaced everything in eit.{c,h} which 
used libdtv. I simply didn't remove it from the Makefile.

>
> Also (again, this is just after a quick glance at the code, so please
> forgive me if I've overlooked something): the section data that VDR 1.3
> will distribute to the individual filters (maybe implemented by plugins)
> will be 'const u_char *'. For instance, the new cFilter class will have a
> member
>
>  virtual void Process(const u_char *Data, int Length);
>
> which will be offered any section data block that gets received (and
> was requested by that filter), but must not alter that data in any way.
>
> I'm wondering whether your functions all accept 'const' data.
> If they don't, you may want to change that.

Data is stored in CharArray objects (see util.c). A buffer is allocated and 
received data is copied exactly once for each section, and that chunk of data 
is shared between all objects (Descriptors, LoopElements, Strings,...) a 
section contains. It is deleted when the last object containing a reference 
is deleted.
So with this solution, the only function which has to accept const data is 
CharArray::assign, and that's no problem.

Nevertheless it might be a good idea to change everything in internal use to 
const because even if we operate on a private buffer there is no sense in 
changing it.

Marcel

>
> Klaus



-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index