Mailing List archive

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

[linux-dvb] Re: dvbsak 0.0.2



On Tue, Oct 15, 2002 at 01:34:33PM +0200, Benjamin Forgeau wrote:

> 	* What about organization? Do you want to share the development with 
> other coders? Then something like CVS in SourceForge or, much better if 
> possible, linuxtv.org would be a good idea. As soon as possible!

Of course. I'm just not sure yet which CVS repository to use.

> 	* What about documentation? Many tools can do that for you, if you set 
> some comments in your code. I only know javadoc and perceps, but 
> Doxygen seems to be a good choice nowadays.

Ugh... =) I think I'll lean towards Doxygen.

> 	* What about specifications? I know it's a hard thing to do, but could 
> you explain us what is the concept behind your library?? I mean what 
> are the main types, the main functions, etc. If you could define and 
> present your API before implementing it, it would help everybody, we 
> could have a real global discussion about the needs.

The library consists of several 'modules':
	- Transport Stream demuxer (struct dvbts_demux)
	- Service Information decoder (struct dvbsi_decoder)
	- DVB demux device handler (struct dvbdmx_dev, should be dvbdev_dmx)
	- DVB frontend device handler (struct dvbfe_dev, should be dvbdev_fe)
	- And others, as soon as they're implemented =)

dvbts_demux takes care of validating the incoming TS packets and
sending them away according to PID. It also takes care of continuity
checking. Data is fed to dvbts_demux by

int dvbts_push_packet(struct dvbts_demux *, const uint8_t * packet)

in 188 byte chunks (which equals to the size of the TS packet, surprisingly).
Packet handlers are registered using:

int dvbts_add_processor(struct dvbts_demux *, int pid,
                        dvbts_processor_callback_t callback, void *cb_arg);


dvbsi_decoder is the complex part. It takes either TS packets or full
sections as it's input. In case of TS packets, there's a state machine
that takes care of constructing full sections from the packets. After
the full section has been fed or collected, dvbsi_decoder tries to
decode the table contained in it. If it knows how to handle the table, it
decodes the table and feeds it to a callback, if one has been registered.

I think the device handlers are pretty straightforward.

> 	And pliize, keep it simple, avoid dependencies (I far as I understood, 
> you want to use RTP, maybe not so useful to install for the networkless 
> user), use autoconf, and concentrate on the primary features.

The core library will be kept simple, with few, if any, dependencies. RTP et
al. will be done by tools built to use the library.

> PS: dvbsak, what does it mean?

DVB Swiss Army Knife. =)

Cheers,
Juha


-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index