Commit graph

45 commits

Author SHA1 Message Date
Edward Hervey
29c507bf3a examples: Properly handle extended descriptors
By checking the extended tag. Provides a bit more information (if extended tag
is known)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1781>
2020-11-09 11:51:00 +01:00
Edward Hervey
6a9108884c mpegts: Add support for SCTE-35 sections
Not all commands are supported, but the most common ones are.
Both parsing and packetizing is supported
2019-10-31 12:31:27 +00:00
Nicolas Dufresne
1cf1aac9a7 meson: Define GST_USE_UNSTABLE_API in the build system
This way meson and autotools both do the same thing and we don't need to
modify the code after all.
2017-10-04 10:00:48 -04:00
Reynaldo H. Verdejo Pinochet
5edd068e30 Fix autotools build broken by 25dee2f2cb
Build fails on GST_USE_UNSTABLE_API being redefined
2017-10-03 15:27:37 -07:00
Nicolas Dufresne
25dee2f2cb tsparses: Define GST_USE_UNSTABLE_API
This example is entirely based on unstable API, this avoids the expected
compilation warning.
2017-10-03 17:17:50 -04:00
Edward Hervey
b191053c7f examples: Add CAT section and CA descriptor support
https://bugzilla.gnome.org/show_bug.cgi?id=732986
2014-07-11 08:32:07 +02:00
Stefan Ringel
43dd0ec62a mpegts: use getter for egde linkage descriptor type
https://bugzilla.gnome.org/show_bug.cgi?id=730914
2014-07-09 07:41:33 +02:00
Edward Hervey
22dfd9aef3 mpegts: Unify API : GstMpegts / gst_mpegts_ / GST_*_MPEGTS_
It was previously a mix and match of both variants, introducing just too much
confusion.

The prefix are from now on:
* GstMpegts for structures and type names (and not GstMpegTs)
* gst_mpegts_ for functions (and not gst_mpeg_ts_)
* GST_MPEGTS_ for enums/flags (and not GST_MPEG_TS_)
* GST_TYPE_MPEGTS_ for types (and not GST_TYPE_MPEG_TS_)

The rationale for chosing that is:
* the namespace is shorter/direct (it's mpegts, not mpeg_ts nor mpeg-ts)
* the namespace is one word under Gst
* it's shorter (yah)
2014-06-25 14:50:05 +02:00
Stefan Ringel
7c884374eb mpegts: change to GType and from gchar[] to gchar*
https://bugzilla.gnome.org/show_bug.cgi?id=730914
2014-06-24 16:06:01 +02:00
Stefan Ringel
6a622a678e example: ts-parser: add parential rating descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=730854
2014-05-29 14:29:15 +02:00
Stefan Ringel
ac88f31ac7 example: ts-parser: add ca iddentifier descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=730854
2014-05-29 14:29:15 +02:00
Stefan Ringel
20410a70f5 example: ts-parser: add stream identifier descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=730854
2014-05-29 14:29:15 +02:00
Stefan Ringel
c35dc33b7f example: ts-parser: add content descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=730854
2014-05-29 14:29:15 +02:00
Stefan Ringel
1c9bbb1e00 example: ts-parser: add component descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=730854
2014-05-29 14:29:15 +02:00
Edward Hervey
74681cf00a examples: factor dumping code
We can just re-use the new function instead of having two duplicates
2014-05-29 11:55:51 +02:00
Stefan Ringel
1db9d6c9df example: ts-parser: add linkage descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=730901
2014-05-29 11:26:21 +02:00
Thiago Santos
fa1eb09520 mpegts: atsc: add missing field to ETT table
Set the subtable_extension as ett_table_id_extension
for ETT tables as it is used by it

https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:38:00 +02:00
Thiago Santos
1cab60b713 mpegts: atsc: add atsc's EIT table parsing
ATSC has its own version of the EIT table (DVB also has one).

This patch adds parsing for the ATSC EIT table and also fixed
the section identification to mark it as the ATSC one.

The implementation aws refactored to reuse some common internal
structures from ETT.

Also adds its dumping function to ts-parser example

https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:38:00 +02:00
Thiago Santos
0c6bb561e0 mpegts: atsc: add STT table parsing
Adds the system time table structure and functions for convenient parsing of
it and for getting the UTC datetime that it represents. Also adds its
information dumping to the ts-parser example

https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:37:59 +02:00
Thiago Santos
01178115a4 examples: mpegts: add function to dump ETT tables
https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:37:59 +02:00
Thiago Santos
9eed28d353 mpegts: add atsc MGT section parsing
Add a parsing function for MGT and also detect the EIT tables
for ATSC, the EIT pids are reported inside the MGT and we are still
only relying only on the table id for detecting it. In the future we
would want to also check the pid and compare with whatever the MGT
previously reported to confirm that it is indeed the EIT.

https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:37:59 +02:00
Thiago Santos
a1866ef8c1 examples: ts-parser: add TVCT and CVCT tables dumping
https://bugzilla.gnome.org/show_bug.cgi?id=730642
2014-05-29 10:37:59 +02:00
Edward Hervey
14adeaa1c8 examples: Avoid shadowing main loop variable
We end up with interesting results otherwise :)
2014-05-28 16:18:13 +02:00
Edward Hervey
5d483a0482 examples: Add support for private-data-specifier and frequency-list 2014-05-28 15:55:40 +02:00
Stefan Ringel
2bbf4ec96c example: ts-parser: add terrestrial delivery system descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=730847
2014-05-28 07:03:59 +02:00
Stefan Ringel
a09f32d0a7 example: ts-parser: printing enum types
https://bugzilla.gnome.org/show_bug.cgi?id=730847
2014-05-28 07:03:58 +02:00
Edward Hervey
79071e23b3 examples: Add DVB Extended event parsing 2014-05-27 17:34:48 +02:00
Stefan Ringel
c0ac6ce432 examples: Add support for DVB multilingual component descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:41 +02:00
Stefan Ringel
2277011875 examples: Add support for DVB multilingual service name descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:41 +02:00
Stefan Ringel
86b78c040d examples: Add support for DVB multilingual bouquet name descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:41 +02:00
Stefan Ringel
455c8271df examples: Add support for DVB multilingual network name descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:41 +02:00
Edward Hervey
8d71ec9f38 examples: Add support for DVB Bouquet Name parsing 2014-05-26 11:55:31 +02:00
Edward Hervey
2240630b04 examples: Add support for DVB Service List descriptor 2014-05-26 11:42:46 +02:00
Jesper Larsen
5f32708148 examples: ts-parser: Add table_id_name function
https://bugzilla.gnome.org/show_bug.cgi?id=721682
2014-03-15 18:16:13 +01:00
Jesper Larsen
1f2f0f31bf examples: ts-parser: Add DVB teletext/subtitling
https://bugzilla.gnome.org/show_bug.cgi?id=721682
2014-03-15 18:16:13 +01:00
Edward Hervey
a4ee1abb15 examples: Add descriptor dumping 2013-09-28 13:15:43 +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
0ef3e3c7d2 examples: Add BAT support to mpegts example 2013-07-09 12:25:11 +02:00
Edward Hervey
057d24811d mpegts: Properly handle UTC time in sections
* don't unref inexistant GstDateTime
* Fine-tune hour/min/sec BCD reading code
* Update example code accordingly
2013-07-06 12:39:49 +02:00
Edward Hervey
b4e2261749 examples: Registration descriptor support
And output the length of the descriptors
2013-07-06 10:59:55 +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
6a611e5d3d mpegts: Fix TOT section parsing
And use it in example
2013-07-03 18:44:54 +02:00
Edward Hervey
61a8cbae41 examples: Fix a leak 2013-07-03 18:00:55 +02:00
Edward Hervey
b99a91deed examples: GstMpegTS => GstMpegTs 2013-07-03 14:00:58 +02:00
Edward Hervey
dc160e7ca7 examples: Add an example of a mpeg-ts SI extractor
Serves as an example of usage of the new mpegts library from an
application.

Will parse/dump all sections received on a bus.

Usage is ./tsparse <any gst-launch line using tsdemux or tsparse>

Examples:
  ./tsparse file:///some/mpegtsfile ! tsparse ! fakesink
  ./tsparse dvb://CHANNEL ! tsparse ! fakesink
  ./tsparse playbin uri=dvb://CHANNEL
  ./tsparse playbin uri=file:///some/mpegtsfile
  ...

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