Tim-Philipp Müller
405aae4568
qtdemux: guard against bogus atom sizes and short reads
...
Check the possibly 64-bit atom size more carefully before casting it
to an int and passing it to gst_pad_pull_range(), otherwise we might
end up pulling 0 bytes, getting an empty buffer as requested and
dereferencing not available data whilst thinking we actually asked
for and got 0x1000000000000 bytes. Similar fix for push mode operation
where neededbytes ends up being 0 bytes, which makes us assert. Fixes
crash with broken or fuzzed file (NB #122378 ).
2009-07-01 09:24:38 +01:00
Tim-Philipp Müller
c730912f67
qtdemux: use 0x prefix when logging numbers in hex
2009-07-01 09:24:38 +01:00
Tim-Philipp Müller
1fb30a154a
qtdemux: don't process track_num/track_count tags with a 0 value
...
Number/count values of 0 mean they're not set. Don't put those in the
taglist.
2009-06-26 13:29:27 +01:00
Julien Moutte
5503a59a57
qtdemux: Make sure we don't blacklist streams by wrongly comparing their
...
duration with entire clip duration.
2009-06-25 13:23:40 +02:00
Edward Hervey
4780d17894
qtdemux: Remove dead assignments and unused variables.
...
Also add branch likeliness macros.
2009-06-25 07:41:44 +02:00
Edward Hervey
b9d7f2527e
qtdemux: Fix uninitialized variables. Fixes build on macosx
2009-06-25 07:41:43 +02:00
Edward Hervey
86c2299ed1
qtdemux: Another round of G_*LIKELY micro-optimisations.
2009-06-24 12:48:32 +02:00
Edward Hervey
30dd458567
qtdemux: Take last sample duration for dummy segment calculation.
...
This fixes the cases where files without EDL wouldn't output their
last buffer.
2009-06-24 12:48:32 +02:00
Edward Hervey
279be94321
qtdemux: Add GST_MEMDUMP statements for unknown atoms.
...
This is to help developers track down and implement unhandled atoms faster.
2009-06-24 12:37:38 +02:00
Tim-Philipp Müller
da4c1c9227
qtdemux: don't leak cover art
2009-06-23 15:35:37 +01:00
Tim-Philipp Müller
ace09d40bd
qtdemux: use GST_MEMDUMP
2009-06-22 10:49:03 +01:00
Tim-Philipp Müller
b8176ee9cc
qtdemux: post container-format tags
2009-06-22 10:49:01 +01:00
Mark Nauwelaerts
71eb4a4dfa
qtdemux: map some tags to COMPOSER rather than ARTIST
2009-06-17 12:31:40 +02:00
Mark Nauwelaerts
0d2db95453
qtdemux: fix some 3GP tag extraction (keywords, genre, location)
2009-06-17 12:31:37 +02:00
Mark Nauwelaerts
0f0117aabb
qtdemux: extract pixel-aspect-ratio information
2009-06-17 12:31:32 +02:00
Wim Taymans
9050fb26e9
Revert "Revert "qtdemux: fill timestamp table completely""
...
This reverts commit 9f022c8a85
.
Sorry, I was thinking about the wrong module.
2009-06-07 20:54:06 +02:00
Wim Taymans
9f022c8a85
Revert "qtdemux: fill timestamp table completely"
...
This reverts commit 790b050fc5
.
I forgot we were frozen.
2009-06-07 20:49:50 +02:00
Wim Taymans
790b050fc5
qtdemux: fill timestamp table completely
...
When there are less timestamps that there are samples, fill up the sample table
with the last know timestamp. This situation can happen when the last sample
does not decode and doesn't need a timestamp. We however calculate the total
track length using the last sample timestamp so we need to have something
sensible in there.
Fixes #585056
2009-06-07 20:46:45 +02:00
Wim Taymans
a6424471f1
qtdemux: parse in24 boxes to get endianness
...
in24 samples are normally big-endian but an enda box can change this to
little-endian. Recurse into the in24 box and find the enda box so that we get
the endianness right.
Fixes #582515
2009-05-21 22:05:11 +02:00
Marco Ballesio
8e7273076d
qtdemux: fix byte order swapping in 3GPP classification entity tag
...
Fixes #580746 .
2009-05-06 00:16:37 +03:00
Wim Taymans
70d1b6e1ae
qtdemux: use binary search for index
...
Use the new binary search method for finding the right index entry faster.
2009-05-04 12:35:19 +02:00
Wim Taymans
1619c09e3e
qtdemux: add some more micro optimisations
2009-05-01 19:35:11 +02:00
Wim Taymans
ab0d1bc942
qtdemux: micro optimize qtdemux a little
...
Sprinkle some G_LIKELY around.
Avoid traversing and dumping the tree when debugging is not activated.
2009-04-30 18:41:44 +02:00
Wim Taymans
b5d84439fd
qtdemux: add support for subtitle pictures
...
Add support for subtitle pictures.
Fixes #568278 .
2009-04-30 14:22:27 +02:00
Hans de Goede
6cfa856381
qtdemux: handle ac-3 audio
...
fix demuxing of m4v streams with ac-3 audio
Fixes #580554
2009-04-29 12:19:27 +02:00
Michael Smith
922c9f529a
qtdemux: override caps based on data from ESDS atoms in mpeg4.
...
If the codec is actually something else (e.g. mjpeg) change the caps to
match when parsing the ESDS atom.
Also, for AAC, override rate and channels with correct values read from
ESDS, since the rate/channels values elsewhere are often wrong.
2009-04-21 14:04:07 -07:00
Mark Nauwelaerts
cfcf76df11
Fix push mode buffering sanity check to actually fit the description.
2009-04-20 13:49:03 +02:00
Edward Hervey
0cb5b42d54
Remove trivial unused variables detected by CLang static analyzer.
2009-04-18 18:51:28 +02:00
Edward Hervey
cdb03bdc2b
Remove blank {set|get}_property/change_state/finalize methods.
2009-04-18 18:51:27 +02:00
Marco Ballesio
94d5d24cf0
qtdemux: implement 3GPP (TS 26.244 V8.0.0) Asset metadata handling, Fixes #132193
...
Implements 3gpp iso metadata tags which are different from mov udta atoms.
2009-04-15 20:14:19 +03:00
Zaheer Merali
988a4c6532
Fix grammar.
2009-04-03 09:57:15 +01:00
Stefan Kost
0889ac1092
qtdemux: don't use ininitialized var in debug log statement
...
Also make the log statement useful by printing the human readable format name.
2009-03-31 16:22:42 +03:00
Stefan Kost
f4f6d9799c
qtdemux: don't leak atom data in case of a wrong fourcc
2009-03-31 12:01:21 +03:00
Mark Nauwelaerts
3360f449c0
qtdemux: some stream synchronization to aid seeking in unbalanced clips
...
Some clips (trailers) may have (length-wise) unbalanced streams,
which stalls the pipeline if seeking into that region.
Additional stream synchronization can handle this, as well as
sparse (subtitle) streams (at some later time ?)
2009-03-26 14:39:06 +01:00
Mark Nauwelaerts
a5502c9b37
qtdemux: additional safety and sanity checks (push based mode)
2009-03-26 14:38:02 +01:00
Tim-Philipp Müller
2199592039
i18n: make sure gettext gives us UTF-8 at all times
2009-03-25 15:42:15 +00:00
Mark Nauwelaerts
cfb39dbb1b
qtdemux: handle FLUSH_STOP event
...
Clean up some state (most notably pad flow returns) to resume
proper streaming following flushing seek.
2009-03-24 15:48:26 +01:00
Mark Nauwelaerts
cc1a869a2c
qtdemux: support seeking in push based mode
2009-03-20 17:59:38 +01:00
Mark Nauwelaerts
d5120cda4b
qtdemux: align push based behaviour more with pull based
...
Cater for DELTA_UNIT flag on buffers, keep track of current
position, remove and warn about edit lists if any (as those
as are de facto discarded anyway), add some debug statements
and indent fixes.
2009-03-20 17:59:35 +01:00
Mark Nauwelaerts
21fc435c71
qtdemux: fix mem leaks and prevent excessive buffering in push based mode
2009-03-20 17:59:32 +01:00
Wim Taymans
af7aaef37a
qtdemux: sanitize tag names
...
Sanitize the tag names before turning them into a structure name. We can only
add alphanumeric values as the structure name.
2009-03-09 15:20:05 +01:00
Edward Hervey
6512b3eb81
qtdemux: Also use "(c)inf" to fill the comment tag
2009-02-24 14:41:26 +01:00
David Schleef
40bd377230
qtdemux: Add handling for stps atoms
...
stps atoms contain "partial sync" information, which means that it's
a sync point where pts != dts. This is needed to properly handle
MPEG2, H.264, Dirac, etc., in quicktime.
2009-02-06 16:21:58 -08:00
Jan Schmidt
fea851d100
Don't do void pointer arithmetic
2009-01-30 17:34:45 +00:00
Edward Hervey
b2f17781ac
Add support for the 'Requirement' and 'Encoder' tags
2009-01-30 15:34:31 +01:00
Edward Hervey
1af5a5d001
Modify private-tag name formatter so that it doesn't go mad at fourcc starting with '(c)'.
2009-01-30 15:33:19 +01:00
Stefan Kost
a99d3f8769
Update and add documentation for plugins with no deps (gst).
...
Link to properties. Correct titles for examples. Document a few trivial cases. Keep lists in section file and docs/plugins/Makefile.am alphabetically ordered.
2009-01-28 12:32:59 +02:00
David Schleef
66de4c1bba
Add a few more video fourcc's
2009-01-25 19:26:46 -08:00
David Schleef
bdc20b9baf
Fix for security advisory TKADV2009-0xx
...
Fix potential buffer overflows while reading quicktime headers.
Security issue noticed by Tobias Klein.
2009-01-22 14:33:05 +00:00
Wim Taymans
293671170e
gst/qtdemux/qtdemux.c: Catch invalid and commonly wrong playback rates in the elst atoms.
...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_segments):
Catch invalid and commonly wrong playback rates in the elst atoms.
Fixes #567800 .
2009-01-15 14:53:18 +00:00