Vincent Penquerc'h
4275a70cb5
mpegdemux: catch section lengths extending past the buffer length
...
This is probably the cause for an occasional crash while streaming
MPEG. Blind fix after staring at the code and following logic, so
may or may not fix the issue, I cannot test.
2011-11-07 11:59:12 +00:00
Olivier Crête
ad97807497
mpegdemux: Restore erroneously removed data++
...
Also, put back some unused code in comment and replace // comments by /* */
2011-07-13 13:38:31 -04:00
Olivier Crête
dcd54fced1
mpegtsdemux: Fix unused-but-set warnings
2011-07-12 17:50:27 -04:00
Tim-Philipp Müller
0777b678f5
gst: some more unused-but-set-variable warning fixes
2011-06-04 20:35:03 +01:00
Mart Raudsepp
b69450af92
mpegtspacketizer: Handle all ISO8859-x encodings in get_encoding()
...
... according to ETSI EN 300 468, "Selection of character table"
2011-03-21 19:57:39 +01:00
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