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