summaryrefslogtreecommitdiffstats
path: root/gst/qtdemux
Commit message (Collapse)AuthorAgeFilesLines
* qtdemux: check some more atom sizes prior to parsingMark Nauwelaerts2009-10-151-5/+55
|
* qtdemux: add GstIndex supportMark Nauwelaerts2009-10-142-4/+72
|
* qtdemux: Fix uninitialized variable warningJan Schmidt2009-10-131-1/+1
| | | | Fix another bogus may-be-used-uninitialized warning in qtdemux
* qtdemux: Fix uninitialized variable warningsJan Schmidt2009-10-131-8/+8
| | | | | | The gcc on the OS/X buildbot complains about these variables not being initialized, even though they can't possibly actually be used uninitialized.
* qtdemux: also consider Quicktime text subtitlesMark Nauwelaerts2009-10-091-1/+5
|
* qtdemux: provide language tag for streamMark Nauwelaerts2009-10-091-0/+22
|
* qtdemux: refactor common parts in track parsingMark Nauwelaerts2009-10-091-31/+26
|
* qtdemux: refactor buffer processing and sendingMark Nauwelaerts2009-10-092-124/+121
| | | | ... so it can be used in both pull and push based mode.
* qtdemux: extract palette data for dvd subpicture streamsMark Nauwelaerts2009-10-091-1/+62
| | | | ... and send it downstream using custom dvd event
* qtdemux: support 3GPP timed text subtitlesMark Nauwelaerts2009-10-093-13/+81
| | | | In particular, also make subtitle support less subp(icture)-centric.
* qtdemux: NULL is not a valid taglistMark Nauwelaerts2009-10-091-6/+8
|
* qtdemux: recognize some more encypted track casesMark Nauwelaerts2009-10-092-2/+5
|
* qtdemux: fix warnings building on macosxJosep Torra2009-10-091-16/+21
|
* build: fprintf, sprintf, sscanf need stdio.hStefan Kost2009-10-071-0/+1
|
* qtdemux: make sure compatible brands buffer exists before dereferencing itTim-Philipp Müller2009-10-051-1/+3
|
* qtdemux: fix printf warnings on OSXRobert Swain2009-10-051-2/+3
| | | | | | | Cast variables passed to printf to avoid warnings about incorrect formats (most likely caused by sizeof returning a size_t). Fixes #597348.
* qtdemux: remove internal genre tableTim-Philipp Müller2009-10-051-38/+12
| | | | | | No need to maintain our own genre table in qtdemux. The genres are identical to the ID3 genres, so we can just use libgsttag's gst_tag_id3_genre_get() to look them up.
* qtdemux: some optional QT specified stsd MPEG-4 atoms also apply to H264Mark Nauwelaerts2009-09-251-0/+10
| | | | Fixes #596319.
* qtdemux: only send tag events downstream after newsegmentMark Nauwelaerts2009-09-251-16/+63
|
* qtdemux: add durations modulo 1<<32Wim Taymans2009-09-251-1/+2
| | | | | | | For calculating the durations of each sample, we are supposed to add each duration modulo 1<<32 so make the elapsed time counter a uint32. Fixes #595942
* qtdemux: small cleanupWim Taymans2009-09-241-9/+11
|
* qtdemux: don't use core API that doesn't exist yetTim-Philipp Müller2009-09-241-1/+7
| | | | There's no gst_byte_reader_has_remaining() yet. Fixes build.
* qtdemux: map some atomparser functions to their new bytereader equivalentsTim-Philipp Müller2009-09-241-79/+27
| | | | | Now that GstByteReader has unchecked and inlined variants as well, map atomparser functions to their respective bytereader equivalents.
* qtdemux: add qt_atom_parser_has_chunks() and fix indentationTim-Philipp Müller2009-09-243-22/+33
|
* qtdemux: bail out instead of trying to alloc silly index sizesTim-Philipp Müller2009-09-241-3/+20
| | | | | | | If it looks like we would be allocating a silly size for our sample index, just bail out instead of trying to allocate it. Helps with broken or fuzzed files where we might end up trying to malloc a couple of hundred MBs otherwise.
* qtdemux: error out correctly if we don't even have enough bytes for an atom ↵Tim-Philipp Müller2009-09-241-4/+14
| | | | header
* qtdemux: init fourcc to 0 as well to avoid invalid reads when printf'ing ↵Tim-Philipp Müller2009-09-241-1/+1
| | | | error message
* qtdemux: add qt_atom_parse_has_remaining() to avoid overflows with ↵Tim-Philipp Müller2009-09-243-23/+30
| | | | _get_remaining()
* qtdemux: use GstByteReader when parsing tkhd atomTim-Philipp Müller2009-09-231-9/+16
|
* qtdemux: use unsigned ints for node length and do more sanity checking of ↵Tim-Philipp Müller2009-09-231-10/+23
| | | | the atom length
* qtdemux: use GstByteReader for atom dumping and fix a few bugsTim-Philipp Müller2009-09-234-305/+455
|
* qtdemux: move stco, stts, stss and stps atom parsing over to GstByteReaderTim-Philipp Müller2009-09-231-121/+155
| | | | | | | | | | | Make sure we don't read beyond the atom boundary. Note that the code behaves slightly differently in the corner case where there is not enough atom data for the specified number of samples (n_samples_time) in the atom, but still enough data to fill the pre-allocated index of n_samples entries: before we would just stop parsing the stts data and continue, whereas now we will likely error out. This should not be a problem in practice though. We could maintain the old behaviour by doing reads with a size check inside the loop if needed.
* qtdemux: use bytereader to parse stsz and stsc atomsTim-Philipp Müller2009-09-231-32/+99
| | | | | | Use GstByteReader to parse stsz and stsc chunks, and check size of available data before parsing it, instead of blindly assuming there will be enough data. Fixes crashes with some fuzzed/broken files.
* qtdemux: add qt_atom_parser_get_offset() and optimise _peek_sub()Tim-Philipp Müller2009-09-231-2/+28
|
* qtdemux: add QtAtomParser, an inlined GstByteReader variantTim-Philipp Müller2009-09-233-0/+127
|
* qtdemux: prevent a spurious debug warningMark Nauwelaerts2009-09-041-2/+1
|
* qtdemux: Add support for QCELP audioSebastian Dröge2009-09-011-2/+4
| | | | Fixes bug #593757.
* qtdemux: also extract ftyp info in push modeMark Nauwelaerts2009-08-311-0/+4
|
* qtdemux: consider 3gpp style tag parsing in some more casesMark Nauwelaerts2009-08-312-28/+95
| | | | | | | | 3GPP specs define a number of tags along with precise layout. While these are normally expected to be found in a container whose major brand is a 3GPP brand, this may also happen when a 3GPP brand is only mentioned as a compatible brand. Apply some checks, heuristic and fallbacks to extract such tags as well.
* qtdemux: add support for agsmWim Taymans2009-08-212-0/+10
| | | | Fixes #592530
* qtdemux: fix qt style string tag extractionMark Nauwelaerts2009-08-181-1/+1
| | | | | | QT style tags are tested on starting with (C) symbol using >>, and (unsigned) int (may) have different >> behaviour. Fixes #592232.
* qtdemux: Downgrade warning message to debugThiago Santos2009-07-271-1/+1
|
* qtdemux: sprinkle some more constMark Nauwelaerts2009-07-081-13/+13
|
* qtdemux: perform some more (careful) data bufferingMark Nauwelaerts2009-07-081-14/+36
| | | | | | | Once buffering has started (with an mdat atom), continue buffering until moov atom is reached, which handles cases with multiple mdat atoms. Also keep adapter/offset better in sync with upstream and fix some debug statements. Fixes #587426.
* qtdemux: error out instead of dividing by 0Tim-Philipp Müller2009-07-011-1/+4
| | | | Error out if timescale is 0.
* Revert "qtdemux: Make sure we don't blacklist streams by wrongly comparing ↵Tim-Philipp Müller2009-07-011-3/+3
| | | | | | | | | their" This reverts commit 5503a59a5779b67451d8a271000181790ee76bc7. Reverting this since it causes regressions with a lot of sample files I have, all of which worked fine with the last -good release (#586891).
* qtdemux: comment out unused structureTim-Philipp Müller2009-07-011-3/+3
|
* qtdemux: more size checks, and use g_try_new0() instead of g_new0()Tim-Philipp Müller2009-07-011-3/+21
| | | | | | | Whenever we alloc something based on a user-supplied size, we should really use g_try_new(), otherwise we can easily be made to abort by passing a ridiculously large number to us for allocing. Fixes problems with some fuzzed files.
* qtdemux: guard against bogus atom sizes and short readsTim-Philipp Müller2009-07-011-8/+49
| | | | | | | | | | 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).
* qtdemux: use 0x prefix when logging numbers in hexTim-Philipp Müller2009-07-011-2/+2
|