Commit graph

55 commits

Author SHA1 Message Date
Jan Schmidt
0d36dcab4e examples: Add an mpegtsmux example of prog-map usage.
Add an example of how to construct the prog-map structure for
the MPEG-TS muxers and assign streams to programs, and set PCR
and PMT PIDs.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2039>
2021-03-18 15:07:53 +00:00
Edward Hervey
d75ee7b16d examples/ts-parser: Use the section type for descriptor identification
Some descriptors can only be present in some section

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1880>
2020-12-14 17:57:40 +01:00
Edward Hervey
160106885a examples/ts-parser: Try more descriptor/stream types
These were added recently

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1880>
2020-12-14 17:57:40 +01:00
Edward Hervey
3cb32df838 mpegts: Add support for SIT sections
Selection Information Tables (EN 300 468)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1852>
2020-12-14 16:37:29 +01:00
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
Nirbheek Chauhan
1c0f75bc90 tests: Fix minor bugs in usage of config.h 2020-01-14 09:23:03 +05:30
Edward Hervey
ef16d7558f mpegtsmux: Add SCTE-35 support
This adds two properties:
* scte-35-pid: If not 0, enables the SCTE-35 support for the current
  program. This will write the proper PMT and send SCTE-35 NULL
  commands (i.e. heartbeats) at a regular interval
* scte-35-null-interval: This specifies the interval at which the
  NULL commands should be sent

Sending SCTE-35 commands is done by creating the appropriate SCTE-35
GstMpegtsSection and then sending them on the muxer. See the
associated example
2019-10-31 12:31:27 +00: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
Tim-Philipp Müller
f218ec2794 Remove autotools build system 2019-10-14 13:54:27 +01:00
Mathieu Duponchelle
1d90a0afc5 tests: add example for injecting MPEG-TS sections 2019-05-30 13:53:05 +00:00
Nicolas Dufresne
06f7d1f6c5 examples: Don't install non-prefixed examples 2018-06-06 14:32:56 -04: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
f793e04db0 meson: Build tsparser example 2017-10-03 17:17:59 -04: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