Commit graph

103 commits

Author SHA1 Message Date
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
0c0379e8f0 mpegts: atsc: add encoding conversion for UTF-16 ETT strings
https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:37:59 +02:00
Thiago Santos
7ced36eccd mpegts: atsc: add ETT structures and parsing
ETT (extended text table) contains ATSC text information with descriptions
of virtual channels and events. The text can be internationalized and also
compressed.

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
8f6a3c0a99 mpegts: atsc: rename TVCT to VCT as it is the same as CVCT
Make the ATSC section parse handle both TVCT and CVCT as they are
nearly the same struct (CVCT uses 2 reserved bits that are ignored
in TVCT).

This is changing the glib type and the struct name but TVCT wasn't
released in a stable package yet so there should be no problem.

Also includes some parsing fixes and changes short_name to be
directly stored as utf8 rather than utf16

https://bugzilla.gnome.org/show_bug.cgi?id=730642
2014-05-29 10:37:59 +02:00
Edward Hervey
6e1679b9cb mpegts: Make some fields optional
Some people might just not care about the contents
2014-05-28 15:55:40 +02:00
Edward Hervey
ca2847e234 mpegts: Update docs for DVB frequency list 2014-05-28 15:55:40 +02:00
Edward Hervey
7852430934 mpegts: Fix Logical Channel Descriptor parsing
No wonder we were getting garbage ...
2014-05-28 08:03:09 +02:00
Edward Hervey
1797802bd2 mpegts: Ensure NULL-terminated language code
Yup, it breaks API and ABI, I know. But let's avoid people and bindings
printing out garbage
2014-05-27 17:34:48 +02:00
Edward Hervey
f7b1b5fcd3 mpegts: Fix Extended DVB descriptor parsing
We were over-reading data, and the nb_items field isn't needed,
it's a property of the GPtrArray
2014-05-27 17:34:48 +02:00
Edward Hervey
b207a15073 mpegts: Fix usage of memcpy
source and destination were inverted
2014-05-27 16:17:39 +02:00
Stefan Ringel
0168160863 mpegts: add multilingual component descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:40 +02:00
Stefan Ringel
b0f3892ae5 mpegts: add multilingual service name descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:40 +02:00
Stefan Ringel
cac329a621 mpegts: add multilingual bouquet name descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:39 +02:00
Stefan Ringel
b4cc5a2177 mpegts: add multilingual network name descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:39 +02:00
Edward Hervey
42c061b0e7 mpegts: Fix Bouquet Name parsing
the field is not length prefixed
2014-05-26 11:54:50 +02:00
Stefan Ringel
bc7cf1520c mpegts: add bouquet name descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728364
2014-05-26 11:18:20 +02:00
Stefan Ringel
985d19deaa mpegts: add stuffing descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728364
2014-05-26 11:18:20 +02:00
Stefan Ringel
570f78df79 mpegts: add service list descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728364
2014-05-26 11:18:19 +02:00
Sebastian Dröge
752b3a503e dvb-section: Don't compare unsigned integers for >= 0
gst-dvb-section.c:93:12: error: comparison of unsigned expression >= 0 is always true
      [-Werror,-Wtautological-compare]
  if (hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && second >= 0
      ~~~~ ^  ~
gst-dvb-section.c:93:40: error: comparison of unsigned expression >= 0 is always true
      [-Werror,-Wtautological-compare]
  if (hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && second >= 0
                                ~~~~~~ ^  ~
gst-dvb-section.c:93:70: error: comparison of unsigned expression >= 0 is always true
      [-Werror,-Wtautological-compare]
  if (hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && second >= 0
                                                              ~~~~~~ ^  ~
2014-05-21 08:53:03 +02:00
Thiago Santos
0cdcc5a7b1 mpegts: Check hour:minute:second values before creating datetime
Avoids assertions when the packets are malformed and also add the case
where the time isn't specified, only the date.
2014-05-19 14:55:21 -03:00
Thiago Santos
43f3f837fa mpegts: mpegtsdescriptor: fix gobject-introspection warnings
Adds missing : to gobject-introspection markers
2014-05-15 21:34:31 -03:00
Thiago Santos
f99fe4747e mpegts: sections: prevent assertion when packet parsing fails
the descriptors entry can be left as NULL and freeing the structure
will fail (assertion happens)
2014-05-15 19:25:06 -03:00
Edward Hervey
2b92709154 mpegts: Fix leak
The cell extension was never added to the parent cell

CID #1212162
2014-05-09 14:32:49 +02:00
Stefan Ringel
eeaf6e4811 mpegts: add dvb ca identifier descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=727560
2014-04-16 09:23:23 +02:00
Stefan Ringel
0c773b8cdd mpegts: add scrambling descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=727560
2014-04-16 09:23:05 +02:00
Stefan Ringel
e535967ee9 mpegts: add frequency list descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=727560
2014-04-16 09:22:46 +02:00
Stefan Ringel
ace60abef5 mpegts: add data broadcast id descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:45 +02:00
Stefan Ringel
065abf6d54 mpegts: add private data specifier descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:45 +02:00
Sebastian Dröge
8407ee9ee9 dvb: Minor code style fix 2014-04-16 09:21:45 +02:00
Stefan Ringel
e71c264dbb mpegts: add parential rating descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:45 +02:00
Stefan Ringel
eb246e2bfd mpegts: add linkage descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:44 +02:00
Tim-Philipp Müller
990efe1fc0 mpegts: for loop initial declarations are only allowed in C99 mode
Fixes compiler warnings.
2014-04-16 00:28:37 +01:00
Stefan Ringel
f566d17202 mpegts: add atsc terrestrial virtual channel table
https://bugzilla.gnome.org/show_bug.cgi?id=727460
2014-04-10 09:09:38 +02:00
Vincent Penquerc'h
8f4123a881 mpegts: fix sdt length check
It was originally test for 9 bytes (as the comment says) and was
rewritten buggily. So rewrite it a third way, which is now
hopefully consistent with the original and the comment, while
being more sense-making to humans.

Coverity 1139654
2014-04-09 16:01:43 +01:00
Vincent Penquerc'h
195470a785 mpegts: turns out glib aborts on allocation failure
So this is actually pointless. We'll just have to ignore
Coverity moaning on those.

Revert "mpegts: test for allocation failure"

This reverts commit 224cb81b8f.
2014-04-09 16:01:43 +01:00
Vincent Penquerc'h
224cb81b8f mpegts: test for allocation failure
While it's unlikely to get there, it silences the coverity warning
on the error code path that we test for NULL before freeing, when
all branches there are from locations where pmt cannot be NULL,
and removing the NULL check makes the code more vulnerable to a
hypothetical future branch from somewhere where it can be.

Coverity 1139852
2014-04-09 15:44:10 +01:00
Stefan Ringel
73862d5096 mpegts: fix docs
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=727356
2014-03-31 15:05:48 +02:00
Stefan Ringel
b7efacfe15 mpegts: add dvb-t2 delivery system descriptor
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=727356
2014-03-31 15:05:48 +02:00
Stefan Ringel
e8c86e355f mpegts: bugfix delivery system descriptors
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=726979
2014-03-31 15:02:01 +02:00
Stefan Ringel
d108fe7ee1 mpegts: use GST_READ_UINT32_BE
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=727187
2014-03-31 15:00:54 +02:00
Stefan Ringel
8b8ceb2dd9 mpegts: add parsing data broadcast descriptor
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=727187
2014-03-31 15:00:54 +02:00
Stefan Ringel
f8b7a130cc mpegts: add parsing stream identifier
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=727187
2014-03-31 15:00:54 +02:00
Stefan Ringel
2e051cf412 mpegts: use glib alloc and free
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=727159
2014-03-31 14:54:17 +02:00
Stefan Ringel
fd8bda1c03 dvbsrc: mpegts: change bandwidth to DVBv5 values
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=725463
2014-03-15 18:33:18 +01:00
Stefan Ringel
40e7bfd35d docs: mpegts: add missed docs
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=725278
2014-02-27 08:48:17 +01:00
Jesper Larsen
a9b1fdd948 mpegts: Add constructor for dvb service descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=724981
2014-02-25 14:34:29 +01:00
Jesper Larsen
d43e7173d8 mpegts: Add support for creation of SDT
https://bugzilla.gnome.org/show_bug.cgi?id=724981
2014-02-25 14:34:29 +01:00
Jesper Larsen
3fe1608e83 mpegts: Add transport_stream_id to GstMpegTsSDT
The transport_stream_id is contained in the subtable extension.
Introduce a variable for readability.

https://bugzilla.gnome.org/show_bug.cgi?id=724981
2014-02-25 14:34:29 +01:00
Edward Hervey
63145f4576 mpegts: Fix descriptor checks
Only use g_return_val_if_fail on provided direct arguments. The others get
checked all the time.

https://bugzilla.gnome.org/show_bug.cgi?id=724464
2014-02-25 10:19:23 +01:00