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
Jesper Larsen
e28b6fd523
mpegts: network_name: Check converted length
...
Check the length of the name argument after it has been converted.
https://bugzilla.gnome.org/show_bug.cgi?id=723953
2014-02-24 16:01:11 +01:00
Brendan Long
cd3c3ebf01
mpegts: Add gst_mpegts_section_get_data, to allow us to get the original binary section data.
...
https://bugzilla.gnome.org/show_bug.cgi?id=724255
2014-02-20 19:19:03 +01:00
Edward Hervey
142233d917
mpegts: Add size guards for descriptors where neeeded
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724464
2014-02-20 19:08:33 +01:00
Edward Hervey
4190a1717a
mpeg-ts: Rename private function
...
Calling it _desc_checks when it was in fact used for sections was a
tad confusing ...
2014-02-20 18:14:51 +01:00
Stefan Ringel
beb31d127b
mpegts: Add support for content descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=724034
2014-02-17 08:55:37 +01:00
Stefan Ringel
792fc1cf01
mpegts: Add support for component descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=724034
2014-02-17 08:55:12 +01:00
Stefan Ringel
347ac5fbd7
mpegts: Add support for extended event desriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=724034
2014-02-17 08:54:37 +01:00
Stefan Ringel
e6cb996cea
mpegts: Add support for DVB terrestrial delivery system descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=724069
2014-02-16 10:13:53 +01:00
Jesper Larsen
603714a405
mpegts: pmt: Detect descriptor length correct
2014-02-08 18:41:06 +01:00
Jesper Larsen
f1c8de4bc2
mpegts: Correctly check for PAT,PMT,CAT,TSDT
2014-02-08 18:38:55 +01:00
Jesper Larsen
972f7ea71f
mpegts: Fix some packetizing bugs
...
- Length of NIT stream descriptors was not detected correct
- Reserved bits was not set according to EN 300 468, ISO/IEC 13818-1
- Also set output data size if the section was previously packetized
https://bugzilla.gnome.org/show_bug.cgi?id=723892
2014-02-08 16:59:47 +01:00
Edward Hervey
042c8924b6
dvb-descriptor: Remove unneeded increment
2014-02-07 11:53:38 +01:00
Edward Hervey
63348811d2
dvb-descriptor: Fix comparision
...
we want to stop if one OR the other is NULL.
2014-02-07 11:53:28 +01:00
Jesper Larsen
dc968163da
mpegts: Updated docs with new API
2014-02-06 16:01:35 +01:00
Jesper Larsen
b7d256b4c2
mpegts: Support registration and custom descriptor
...
Support for registration descriptor (0x05)
Add function to create a descriptor with custom tag and data
2014-02-06 15:55:46 +01:00
Jesper Larsen
05bf952384
mpegts: Add creation of DVB Subtitling descriptor
...
Descriptor tag is 0x59
2014-02-06 15:55:40 +01:00
Jesper Larsen
cfb4da7215
mpegts: Support parsing of DVB Teletext descriptor
...
Descriptor tag is 0x56
2014-02-06 15:50:34 +01:00
Jesper Larsen
ffb51c2123
mpegts: Add support for creating PAT/PMT
2014-02-06 15:50:28 +01:00
Jesper Larsen
fccfc76805
mpegts: Add program_number to GstMpegTsPMT
2014-02-06 15:30:48 +01:00
Jesper Larsen
dd449c38e6
mpegts: Add network name descriptor construction
...
Add function to create a Network Name DVB descriptor.
2014-02-06 15:30:48 +01:00
Jesper Larsen
8c26d69e2f
mpegts: Add support for creating a NIT section
...
Functions that will enable user to create Network Information Tables.
2014-02-06 15:30:42 +01:00
Jesper Larsen
4632ccd5be
mpegts: Add network_id to GstMpegTsNIT
...
The network_id is stored in the subtable extension. Make a field
in the GstMpegTsNIT for better code readability
2014-02-06 14:11:53 +01:00
Jesper Larsen
8f429c6c6e
mpegts: Add functions to send sections as events
...
Added function that enables the user to send a GstMpegTsSection as
an event to a GstElement. (i.e. mpegtsmux)
2014-02-06 14:00:33 +01:00
Jesper Larsen
930cde73a7
mpegts: Add functions to packetize section
...
Sections needs to be packetized for use in i.e. mpegtsmux.
These functions handles the generic common parts of a GstMpegTsSection
2014-02-06 14:00:28 +01:00
Jesper Larsen
b1c5143b79
mpegts: Add init functions for descriptor/section
2014-02-06 12:18:13 +01:00
Jesper Larsen
4630dfda05
mpegts: Add function to encode UTF8 strings
...
This can be used to create descriptors with appropriate character maps
2014-02-06 12:18:13 +01:00
Jesper Larsen
465dea6f32
mpegts: Use big endian UCS-2 coding
...
Parsing of control codes requires a big endian character map
2014-02-06 12:18:13 +01:00
Jesper Larsen
73c82e3f1c
mpegts: Add support for two-way iconv conversions
...
To use in conversions from UTF-8 to another character map
2014-02-06 12:18:13 +01:00
Mark Nauwelaerts
1122b56ff6
mpegts: install but nodist for generated header
2014-01-26 14:42:52 +01:00
Tim-Philipp Müller
0d9690ba1e
mpegts: make headers usable with c++ compiler
...
Add G_BEGIN_DECLS G_END_DECLS
https://bugzilla.gnome.org/show_bug.cgi?id=671136
2014-01-06 15:01:22 +00:00
Sebastian Dröge
84bd65b9bd
tsdemux: Add HEVC / h265 support
2014-01-06 13:54:40 +01:00
Tim-Philipp Müller
ec3c4cb1c7
mpegts: fix g-i annotations and gtk-doc markup
2013-12-27 10:25:49 +00:00
Mariusz Buras
d5b438a984
mpegts: Install generated headers
...
https://bugzilla.gnome.org/show_bug.cgi?id=720673
2013-12-18 13:47:01 +01:00
Sebastian Dröge
73888f8e38
mpegts: Add some more element-type annotations for g-i
2013-11-08 20:24:03 +01:00
Edward Hervey
f36e0bca83
mpegts: Add support for parsing DVB Subtitling descriptor (0x59)
...
Essentially works in the same vein as the iso639 descriptor code
2013-10-11 10:21:25 +02:00
Jesper Larsen
0d57756512
mpegts: Fix assertion fault in ISO 639 parsing
...
https://bugzilla.gnome.org/show_bug.cgi?id=709180
2013-10-11 10:20:57 +02:00
Jesper Larsen
7cb434e42f
mpegts: Add ISO 639 parsing functions
...
https://bugzilla.gnome.org/show_bug.cgi?id=709180
2013-10-07 10:23:22 +02:00
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
Tim-Philipp Müller
f7079af630
mpegts: mark as unstable API
2013-08-28 11:13:14 +01: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
8b24d5829b
.gitignore: Update for new files to ignore
2013-08-14 13:59:27 +02:00
Edward Hervey
ae4d6bb334
mpegts: Unify section checks and add BAT parsing
...
* Avoid repeating code everywhere, and instead provide all parsing
information in one go.
* Add BAT support
* Refine BAT/CAT identification (by adding PID checks)
2013-07-09 12:25:11 +02:00
Edward Hervey
f3d53fcd97
mpegts: Avoid false-positives in section type detection
...
Due to the variety of section types out there, we need to add
some checks when identifying section types.
We check here that the PID is also consistent with the table_id.
2013-07-07 08:35:02 +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
d95bb48864
mpegts: Fix NIT parsing
...
The size checks were wrong. The smallest size for a NIT is 16 bytes
(12 for the smallest content + 4 for crc) and the smallest size for
a inner stream loop is 6 bytes (without any descriptors).
Also remove FIXME that has already moved elsewhere
2013-07-06 10:59:55 +02:00
Edward Hervey
f24c0b62e3
mpegts: Improve documentation
...
* Add a base page for the library
* Add pages for the base MPEG-TS section and descriptors
* Add pages for the known variants
* Add documentation on more fields/sections/types
* Remove some fixmes that were ... fixed
2013-07-04 08:45:33 +02:00
Edward Hervey
34164610b0
mpegtsdescriptor: Fix handling of unknown stream encodings
...
If we cannot identify the encoding used for a string, return a NULL
string instead of garbage and add a FIXME so we can detect and later
fix it.
2013-07-04 08:45:32 +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
51d8fa5860
mpegts: split dvb descriptors/enums into a separate file
...
We will do the same once we have ATSC/ISDB/... descriptor parsing
2013-07-03 18:52:18 +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
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