[dvblast-devel] biTStream & DVBlast releases

Georgi Chorbadzhiyski gf at unixsol.org
Wed Sep 28 14:52:00 CEST 2011


Guys it seems that DVBlast 2.0 is blocked by the fact that biTSream has
not seen official release (also I presume Christophe is very busy). I
would like us to migrate biTSream to git (jb), apply my patch queue (see
bellow), release biTSream 1.0 and then release DVBlast 2.0.

My current patch queue for biTSream consists of 57 commits (~5000 added
lines), that can be accessed at : git://github.com/gfto/bitstream.git dev
or viewed in the web at : https://github.com/gfto/bitstream/compare/master...dev
I can post patches here if you want 57 email patch bomb ;)

In my opinion they complete MPEG/DVB SI support enough (more descriptors
and tables than libdvbpsi, decoding and encoding examples) to justify 1.0
release.

My future plans for biTSream is to add more (all?) DVB descriptors and
eventually split (opinions?) mpeg/psi{_print}.h and dvb/si{_print}.h into
separate files for each table/descriptor with main files including them.

The current pending biTStream commits are:

> Change biTStream license to MIT license.

As discussed by the authors.

> Fix compiler warnings.
> Remove unused variables.
> Mark f_print with printf type attribute to allow format checking.

Misc fixes.

> dvb/si: Fix tdt_get_utc() function.

> examples: Add "make local" for direct build against parent biTStream.
> examples: Allow examples to link on OS X.

Build extras.

> mpeg/psi: Fix psi_set_version() function to set the two reserved bits.
> dvb/si_print: Make text output of SDT services similar to XML output.

> mpeg/psi: Complete support for descriptor 0x09 (CA).
> dvb/si: Complete support for descriptor 0x48 (Service descriptor).
> dvb/si: Complete support for descriptor 0x41 (Service list).
> dvb/si: Complete support for descriptor 0x43 (Satellite delivery).
> dvb/si: Complete support for descriptor 0x44 (Cable delivery).
> dvb/si: Complete support for descriptor 0x5a (Terrestrial delivery).
> dvb/si: Complete support for descriptor 0x5f (Private data specifier).

Add missing init and set functions.

> dvb/si: Fix generation of descriptor 0x46 (VBI teletext descriptor).

> dvb/si: Print text value of audiotype in descriptor 0x0a.
> dvb/si: Show text type for descriptor 0x46.
> mpeg/psi: Add pmt_get_streamtype_txt() and use it in pmt_print().

Misc fixes.

> mpeg/psi: Add descriptor length to XML descriptor tag.
> mpeg/psi: Add length and value to unknown descriptors printed as text.
> Show descriptor name when printing in text format.

Descriptor extras.

> dvb/si: Add more helper functions to work with DVB time.

Will be used in EIT and descriptors.

> mpeg/psi: Complete support for CAT (Conditional Access Table).

The commit description is:
    - Set reserved bits to 1 in cat_init().
    - Add cat_get_descs() that returns descriptor loop in user specified buffer.
    - Add cat_set_descs() that puts descriptors loop back to CAT.
    - Add cat_set_desclength()
    - Use named constants in cat_alloc_descs().
    - Add support for CAT in examples/dvb_print_si.
...
Yes descriptor handling is different than other tables due to non-standard
descriptor loop but with cat_get_descs() and cat_set_descs() it is not
so bad.

> dvb/si: Complete support for EIT (Event Information Table).
> dvb/si: Complete support for TDT (Time and Date Table).
> dvb/si: Complete support for TOT (Time offset table).

Add missing set functions, print functions and examples/dvb_print_si
support.

> dvb/si: Add support for BAT (Bouquet Association Table).
> dvb/si: Add support for RST (Running Status Table).
> dvb/si: Add support for ST (Stuffing table).
> dvb/si: Add support for DIT (Discontinuity Information Table).

New tables.

> mpeg/psi: Add support for descriptor 0x02 (Video stream).
> mpeg/psi: Add support for descriptor 0x03 (Audio stream).
> mpeg/psi: Add support for descriptor 0x04 (Hierarchy descriptor).
> mpeg/psi: Add support for descriptor 0x06 (Data stream alignment).
> mpeg/psi: Add support for descriptor 0x07 (Target Background Grid).
> mpeg/psi: Add support for descriptor 0x08 (Video Window descriptor).
> mpeg/psi: Add support for descriptor 0x0B (System clock).
> mpeg/psi: Add support for descriptor 0x0C (Multiplex buffer).
> mpeg/psi: Add support for descriptor 0x0D (Copyright descriptor).
> mpeg/psi: Add support for descriptor 0x0E (Maximum bitrate).
> mpeg/psi: Add support for descriptor 0x0F (Private data indicator).
> mpeg/psi: Add support for descriptor 0x10 (Smoothing buffer).
> mpeg/psi: Add support for descriptor 0x11 (STD descriptor).
> mpeg/psi: Add support for descriptor 0x12 (IBP descriptor).

With the above all MPEG defined descriptors are now supported.

> dvb/si: Add support for descriptor 0x47 (Bouquet name).
> dvb/si: Add support for descriptor 0x4d (Short event descriptor).
> dvb/si: Add support for descriptor 0x4e (Extended event descriptor).
> dvb/si: Add support for descriptor 0x52 (Stream identifier).
> dvb/si: Add support for descriptor 0x54 (Content descriptor).
> dvb/si: Add support for descriptor 0x55 (Parential rating descriptor).
> dvb/si: Add support for descriptor 0x58 (Local time offset).

Additional DVB descriptors support.

> Add examples/dvb_gen_si

An example program that demonstrates how to build tables and
descriptors with biTSream.

> Add myself as author.
> Add TODO file.
> README: List supported SI tables and MPEG/DVB descriptors.

Self explanatory.

-- 
Georgi Chorbadzhiyski
http://georgi.unixsol.org/


More information about the dvblast-devel mailing list