Commit graph

112 commits

Author SHA1 Message Date
Edward Hervey
a57005abbc mpegts: Remove unneeded NULL check
Allocating those structures is done in all code paths leading there

CID #1219860
CID #1219861
CID #1219862
CID #1219863
CID #1219864
2014-06-02 08:24:08 +02:00
Edward Hervey
86b8388c3f atsc-section: Fix annotation 2014-05-29 14:29:16 +02:00
Edward Hervey
611edd5e96 dvb-descriptor: Fix multilingual service name parsing
the provider and service name was inverted
2014-05-29 14:29:15 +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
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
Stefan Ringel
f6fdd83b7e mpegts: bugfix mobile hand over linkage parse missmatch
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
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