Commit graph

50 commits

Author SHA1 Message Date
Edward Hervey
ee0c9ae2f3 mpegtspacketizer: Don't forget the GType when using caps_new_simple() 2011-01-10 19:11:22 +01:00
Tim-Philipp Müller
d4441a3025 mpegtsdemux: fix silly way of creating caps 2011-01-10 11:25:47 +00:00
Karol Sobczak
0b4dfa685d mpegtsdemux: fix re-syncing on invalid data after seek
Or possibly even at startup. If we couldn't find a sync within
the first few bytes, we'd just push more data into the adapter
but never discard any of the invalid data at the beginning, so
would never be able to re-sync.

https://bugzilla.gnome.org/show_bug.cgi?id=639063
2011-01-10 11:18:52 +00:00
Andoni Morales Alastruey
e307bfe6e6 mpegtsparse: Create a sub-buffer with the section length 2010-11-23 11:26:56 +01:00
Andoni Morales Alastruey
fb9234de78 mpegtsparse: fix thinko 2010-11-19 18:33:10 +01:00
Andoni Morales Alastruey
b11f737096 mpegtsparse: fix handling of TOT and TDT sections. Fixes #635281.
TDT and TOT sections, with PID=0x14, doesn't extend to several packets
and the section filter is not needed here and shouldn't be used at all
for these tables because the have a different structure.
For example, TDT tables were not parsed for odd hours because this bit
is the 'current_next_indicator' bit for the other sections, and the table
was discarded.
2010-11-19 18:11:50 +01:00
Zaheer Abbas Merali
c7b195740e mpegtsparse: actually work when we have small buffers coming in
available_fast is not what we want and it will never get to discover packet
size if 188 byte buffers are being picked up.
2010-07-29 10:38:58 +01:00
Sebastian Pölsterl
58b926b978 mpegtspacketizer: fix minor memory leak
Don't leak language code.

Fixes #619444.
2010-05-23 19:20:31 +01:00
Zaheer Abbas Merali
d2bd939899 mpegtsparse: parse TDT table in mpegts.
Some tables in MPEG-TS do not have a crc in the spec, so also mpegtsparse
is not calculating crc for sections with table_id 0x70 - 0x72 because they
do not have a CRC in the spec. See EN300468. Parse Time and Date table and
output bus message.
2010-05-12 13:00:16 +02:00
Sebastian Pölsterl
d7ab75abb8 mpegtspacketizer: Additionally use the CRC to check if tables are duplicates
The current code just uses table id, subtable extension and version number to
check if the section has been seen before. However, this comparison is not
sufficient, causing actually new tables being dismissed.

Fixes bug #614479.
2010-04-02 19:52:25 +02:00
Benjamin Otte
240f494aa7 Add -Wold-style-definition
and fix the warnings
2010-03-22 16:56:03 +01:00
Benjamin Otte
33c2f5fb01 Add -Wwrite-strings
and fix its warnings
2010-03-22 13:16:33 +01:00
Benjamin Otte
b7655bbd2e Add -Wredundant-decls flag
and fix warnings from it
2010-03-22 12:05:59 +01:00
Benjamin Otte
f96e4f1581 Add -Wmissing-declarations -Wmissing-prototypes to configure flags
And fix all warnings
2010-03-21 21:39:18 +01:00
Xavier Queralt Mateu
b6b1658e97 Expose lang codes in pmt 2009-11-24 10:14:49 +00:00
Edward Hervey
ba460f587a mpegdemux: Fix pointer-differences printout
There is unfortunately no G_*_FORMAT conversion specifier for differences of
pointers in glib, and we can't rely either on all platforms being 64bit.

So let's just cast the difference to a gint and be done with it.
2009-11-04 17:45:34 +01:00
Josep Torra
3fedf9e9a5 mpegdemux: fix warnings in macosx snow leopard 2009-10-11 12:56:29 +02:00
Sebastian Pölsterl
bf3cf014ab mpegtsparse: Ignore emphasis on/off bytes, and do fallback string encoding.
For fallback, try ISO 8859-9 encoding if ISO 6637 failed.
Add more debug calls.
2009-10-06 17:46:36 +01:00
Zaheer Abbas Merali
bf34bdd3ab Revert "mpegtsparse: use fixed size array rather than dynamically allocating"
This reverts commit ae75b6f366.
2009-09-20 17:53:24 +01:00
Zaheer Abbas Merali
ae75b6f366 mpegtsparse: use fixed size array rather than dynamically allocating 2009-09-20 15:32:14 +01:00
Zaheer Abbas Merali
f9c4b3cce9 mpegtsparse: replace streams hashtable with an array of streams 2009-09-20 15:23:44 +01:00
Zaheer Abbas Merali
309eaafb04 mpegtsparse: unref caps on dispose, reset packet size on _reset 2009-09-20 14:12:59 +01:00
Zaheer Abbas Merali
ec100c87c7 mpegtsparse: make sure packetsize is set on caps of buffers 2009-09-20 13:25:53 +01:00
Zaheer Abbas Merali
bdf11016fa mpegtsparse: detect packetsize and don't just assume 188 bytes. 2009-09-20 13:25:34 +01:00
Edward Hervey
8b981fba5c mpegtspacketizer: Make next_packet() return an enum.
This avoids calling an extra gst_adapter_available() in a tight loop.
2009-09-19 12:45:39 +02:00
Edward Hervey
879e00b969 mpegtspacketizer: Spread branch prediction macros 2009-09-19 12:45:39 +02:00
Edward Hervey
fcc4f8388c mpegtsparse/mpegtspacketizer: Register and use GQuark for structures. 2009-09-19 12:41:34 +02:00
Edward Hervey
d88af539f9 mpegtspacketizer: Initialize debugging in _get_type
There's no need for an extra function since all debuggin will require
a MpegTSPacketizer which means that the GType will be created, therefore
move the debug category initialization there.
2009-09-19 12:41:27 +02:00
Edward Hervey
56b71d6a48 mpegtspacketizer: memset structure instead of individually setting fields to 0 2009-09-19 12:32:21 +02:00
Edward Hervey
69aab98702 mpegtspacketizer: Remove g_return_if_fail
It's overkill for code only used by one element.
2009-09-19 12:32:17 +02:00
Edward Hervey
0ac7e16066 mpegtspacketizer/parse: Don't use gst_structure_to_string() for debugging.
There's GST_PTR_FORMAT for that, and too bad for the systems that don't have
support for that. It just costs too much cpu.
2009-09-19 12:32:10 +02:00
Zaheer Merali
3d44d92630 mpegtsparse: add component tag to the video component structure in eit 2009-07-17 09:40:12 +01:00
Zaheer Merali
1a6cd35c50 mpegtsparse: add component tag to structure for component message 2009-07-15 18:27:39 +01:00
Sebastian Pölsterl
fc80a08e44 mpegtsdemux: Fix double free
The hash table already makes sure that the stream is correctly
free'd when elements are removed.

Fixes bug #587819.
2009-07-08 15:27:48 +02:00
Miguel Àngel Farré
4266fd443a mpegtsparse: parse component tag 2009-07-08 10:34:02 +01:00
Miguel Àngel Farré
c90fccd986 mpegtsparse: parse carousel identifier descriptor 2009-07-08 10:33:44 +01:00
Zaheer Abbas Merali
66a5549094 mpegtsparse: add parsing of data broadcast descriptors 2009-07-08 10:33:29 +01:00
Zaheer Abbas Merali
2e6de387ac mpegtsparse: fix sdt parsing.
fix parsing of everything for each service from eit schedule flag on and also
add a running-status parameter to the bus message structure.
2009-07-02 15:58:00 +01:00
Vincent Genieux
e41401e317 mpegtsparse: Ignore subtable extension when parsing PAT
Fixes #569673.
2009-05-03 17:42:44 +01:00
Zaheer Abbas Merali
c5825f9e1d mpegtsparse: detect AC3 streams in PMT table
add 'has-ac3' boolean to pmt bus message
2009-04-21 12:09:31 +01:00
Zaheer Merali
71be79f668 mpegtsparse: fix leak of GST_TYPE_LIST gvalue 2009-04-18 23:42:57 +01:00
Sebastian Pölsterl
12ac5763f9 mpegtsparse: fix memleak
Fix memleak in mpegts_packetizer_clear where MpegTSPacketizerStream is
not freed properly when using foreach_stream_clear function.
2009-03-03 19:08:28 +00:00
Zaheer Abbas Merali
3a2cdc25e1 gst/mpegdemux/mpegtspacketizer.c: Guard interval is 4 if descriptor part shows binary 11 (3 not 4).
Original commit message from CVS:
* gst/mpegdemux/mpegtspacketizer.c:
Guard interval is 4 if descriptor part shows binary 11 (3 not 4).
2009-01-05 17:41:51 +00:00
Sebastian Pölsterl
21b795ef9e gst/mpegdemux/mpegtspacketizer.c: Fix memleak. Fixes #565614.
Original commit message from CVS:
Patch by: Sebastian Pölsterl <sebp at k-d-w dot org>
* gst/mpegdemux/mpegtspacketizer.c: (mpegts_packetizer_parse_eit):
Fix memleak. Fixes #565614.
2008-12-29 16:29:08 +00:00
Sebastian Pölsterl
b4152f7308 gst/mpegdemux/mpegtspacketizer.c: Add a scrambled field to the service structures retrieved from SDT to determine if ...
Original commit message from CVS:
Patch by: Sebastian Pölsterl <sebp at k-d-w dot org>
* gst/mpegdemux/mpegtspacketizer.c: (mpegts_packetizer_parse_sdt):
Add a scrambled field to the service structures retrieved from SDT to
determine if a channel is scrambled. Fixes #565613.
2008-12-29 16:18:47 +00:00
Sebastian Pölsterl
a65390d31a gst/mpegdemux/gstmpegdesc.c: Length should be a guint8 not a gint.
Original commit message from CVS:
patch by: Sebastian Pölsterl
* gst/mpegdemux/gstmpegdesc.c:
Length should be a guint8 not a gint.
* gst/mpegdemux/mpegtspacketizer.c:
Convert text to utf8 for each descriptor separately and not
concatenate them first and convert after.
2008-11-05 18:11:55 +00:00
Sebastian Pölsterl
eca13dce9b Fix memleaks.
Original commit message from CVS:
patch by: Sebastian Pölsterl
* gst/mpegdemux/mpegtspacketizer.c:
* sys/dvb/gstdvbsrc.c:
Fix memleaks.
2008-11-04 17:25:09 +00:00
David Härdeman
77de331815 gst/mpegdemux/mpegtspacketizer.c: Add support for the frequency list descriptor, which provides additional frequencie...
Original commit message from CVS:
Patch by: David Härdeman <david at hardeman dot nu>
* gst/mpegdemux/mpegtspacketizer.c: (mpegts_packetizer_parse_nit):
Add support for the frequency list descriptor, which provides
additional frequencies that should be scanned by a DVB application.
Fixes bug #557814.
2008-10-27 08:57:27 +00:00
Sebastian Pölsterl
d8ed703cdb gst/mpegdemux/mpegtspacketizer.c: Fixes segfault in get_encoding_and_convert.
Original commit message from CVS:
patch by: Sebastian Pölsterl
* gst/mpegdemux/mpegtspacketizer.c:
Fixes segfault in get_encoding_and_convert.
Fixes #556482
2008-10-16 08:17:59 +00:00
Zaheer Abbas Merali
f6aeac7868 Move of mpegtsparse to mpegdemux.
Original commit message from CVS:
* configure.ac:
* gst-plugins-bad.spec.in:
* gst/mpegdemux/Makefile.am:
* gst/mpegdemux/flumpegdemux.c:
* gst/mpegdemux/gstmpegdesc.c:
* gst/mpegdemux/gstmpegdesc.h:
* gst/mpegdemux/mpegtspacketizer.c:
* gst/mpegdemux/mpegtspacketizer.h:
* gst/mpegdemux/mpegtsparse.c:
* gst/mpegdemux/mpegtsparse.h:
Move of mpegtsparse to mpegdemux.
Fixes #555193.
2008-10-08 15:25:24 +00:00