Commit graph

6 commits

Author SHA1 Message Date
Steve Maynard
17ed696faa mpegts: Add SCTE/EISS sections and table types
https://bugzilla.gnome.org/show_bug.cgi?id=708688
2013-09-28 13:15:44 +02:00
Edward Hervey
5d06aed3e2 mpegts: ABI/API break: Use GPtrArray instead of GArray
While it was a great idea, various g-i based bindings don't support
GArray with entries greater than sizeof(gpointer) :(

So let's just make everybody happy by just using GPtrArray.

And since we're breaking the API, also rename the various descriptor fields
to no longer have the descriptor_ prefix.

It does cost a bit more in terms of memory/cpu usage, but makes it usable
from bindings.
2013-08-21 08:59:42 +02:00
Edward Hervey
4fe26740c7 mpegts: Add registered mpeg-ts stream types
These are the values officially registered in the base specification
(H.222.0/13818-1). Later on we can add other enums for other variants

Note that the enum is not used in the structure fields (such as a pmt
stream stream_type field) since it can contain values from other
variants.
2013-07-04 08:45:32 +02:00
Edward Hervey
982aee25c6 mpegts: Split files and implement free functions
* In order to avoid future clashing between table_id for the various
  mpeg-ts variants, use different enums.
* In order to keep everything clean(ish) and allow for cleaner growth,
  split into different files (will need the same for descriptors later)
* Also ... implement free functions for all table types :)
2013-07-03 17:59:02 +02:00
Edward Hervey
c1366efcd6 libs/mpegts: Rename GstMpegTS => GstMpegTs
Sorry for this :( But this makes it more in sync with expected type
naming in gobject (i.e. CamelCase and not CamelMAYBECase).

Also split descriptor type enums into the different variants:
* ISO H.222.0 / 13818-1 (i.e. standard mpeg-ts)
* DVB
* ATSC
* ISDB
* miscellaneous

This will avoid future clashes when specs use the same descriptor type
2013-07-03 13:59:56 +02:00
Edward Hervey
3665e8543a gst-libs: New Mpeg-TS support library
Exposes various MPEG-TS (ISO/IEC 13818-1) and DVB (EN 300 468) Section
Information as well as descriptors for usage by plugins and applications.

This replaces entirely the old GstStructure-based system for conveying
mpeg-ts information to applications and other plugins.

Parsing and validation is done on a "when-needed" basis. This ensures
the minimal overhead for elements and applications creating and using
sections and descriptors.

Since all information is made available, this also allows applications
to parse custom sections and descriptors.

Right now the library is targeted towards parsing, but the structures
could be used in the future to allow applications to create and inject
sections and descriptors (for usage by various mpeg-ts elements).

https://bugzilla.gnome.org/show_bug.cgi?id=702724
2013-07-03 09:17:25 +02:00