summaryrefslogtreecommitdiffstats
path: root/gst/qtdemux/qtdemux.c
Commit message (Collapse)AuthorAgeFilesLines
...
* qtdemux: Another round of G_*LIKELY micro-optimisations.Edward Hervey2009-06-241-26/+28
|
* qtdemux: Take last sample duration for dummy segment calculation.Edward Hervey2009-06-241-2/+4
| | | | | This fixes the cases where files without EDL wouldn't output their last buffer.
* qtdemux: Add GST_MEMDUMP statements for unknown atoms.Edward Hervey2009-06-241-2/+13
| | | | This is to help developers track down and implement unhandled atoms faster.
* qtdemux: don't leak cover artTim-Philipp Müller2009-06-231-0/+1
|
* qtdemux: use GST_MEMDUMPTim-Philipp Müller2009-06-221-11/+5
|
* qtdemux: post container-format tagsTim-Philipp Müller2009-06-221-8/+33
|
* qtdemux: map some tags to COMPOSER rather than ARTISTMark Nauwelaerts2009-06-171-2/+2
|
* qtdemux: fix some 3GP tag extraction (keywords, genre, location)Mark Nauwelaerts2009-06-171-19/+103
|
* qtdemux: extract pixel-aspect-ratio informationMark Nauwelaerts2009-06-171-2/+56
|
* Revert "Revert "qtdemux: fill timestamp table completely""Wim Taymans2009-06-071-3/+18
| | | | | | This reverts commit 9f022c8a8503c2ce0fa617fdb50e41706dd412f5. Sorry, I was thinking about the wrong module.
* Revert "qtdemux: fill timestamp table completely"Wim Taymans2009-06-071-18/+3
| | | | | This reverts commit 790b050fc5302cae89cddcd23b258093967d05a9. I forgot we were frozen.
* qtdemux: fill timestamp table completelyWim Taymans2009-06-071-3/+18
| | | | | | | | | | 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
* qtdemux: parse in24 boxes to get endiannessWim Taymans2009-05-211-1/+32
| | | | | | | | 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
* qtdemux: fix byte order swapping in 3GPP classification entity tagMarco Ballesio2009-05-061-4/+7
| | | | Fixes #580746.
* qtdemux: use binary search for indexWim Taymans2009-05-041-13/+26
| | | | Use the new binary search method for finding the right index entry faster.
* qtdemux: add some more micro optimisationsWim Taymans2009-05-011-55/+92
|
* qtdemux: micro optimize qtdemux a littleWim Taymans2009-04-301-14/+15
| | | | | | Sprinkle some G_LIKELY around. Avoid traversing and dumping the tree when debugging is not activated.
* qtdemux: add support for subtitle picturesWim Taymans2009-04-301-0/+55
| | | | | Add support for subtitle pictures. Fixes #568278.
* qtdemux: handle ac-3 audioHans de Goede2009-04-291-0/+2
| | | | | fix demuxing of m4v streams with ac-3 audio Fixes #580554
* qtdemux: override caps based on data from ESDS atoms in mpeg4.Michael Smith2009-04-211-28/+104
| | | | | | | 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.
* Fix push mode buffering sanity check to actually fit the description.Mark Nauwelaerts2009-04-201-1/+1
|
* qtdemux: implement 3GPP (TS 26.244 V8.0.0) Asset metadata handling, Fixes ↵Marco Ballesio2009-04-151-2/+121
| | | | | | #132193 Implements 3gpp iso metadata tags which are different from mov udta atoms.
* qtdemux: don't use ininitialized var in debug log statementStefan Kost2009-03-311-2/+2
| | | | Also make the log statement useful by printing the human readable format name.
* qtdemux: don't leak atom data in case of a wrong fourccStefan Kost2009-03-311-1/+1
|
* qtdemux: some stream synchronization to aid seeking in unbalanced clipsMark Nauwelaerts2009-03-261-5/+80
| | | | | | | 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 ?)
* qtdemux: additional safety and sanity checks (push based mode)Mark Nauwelaerts2009-03-261-1/+20
|
* qtdemux: handle FLUSH_STOP eventMark Nauwelaerts2009-03-241-2/+18
| | | | | Clean up some state (most notably pad flow returns) to resume proper streaming following flushing seek.
* qtdemux: support seeking in push based modeMark Nauwelaerts2009-03-201-82/+334
|
* qtdemux: align push based behaviour more with pull basedMark Nauwelaerts2009-03-201-0/+18
| | | | | | | 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.
* qtdemux: fix mem leaks and prevent excessive buffering in push based modeMark Nauwelaerts2009-03-201-9/+18
|
* qtdemux: sanitize tag namesWim Taymans2009-03-091-3/+14
| | | | | Sanitize the tag names before turning them into a structure name. We can only add alphanumeric values as the structure name.
* qtdemux: Also use "(c)inf" to fill the comment tagEdward Hervey2009-02-241-2/+3
|
* qtdemux: Add handling for stps atomsDavid Schleef2009-02-061-0/+21
| | | | | | 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.
* Don't do void pointer arithmeticJan Schmidt2009-01-301-5/+5
|
* Add support for the 'Requirement' and 'Encoder' tagsEdward Hervey2009-01-301-1/+2
|
* Modify private-tag name formatter so that it doesn't go mad at fourcc ↵Edward Hervey2009-01-301-2/+3
| | | | starting with '(c)'.
* Update and add documentation for plugins with no deps (gst).Stefan Kost2009-01-281-10/+5
| | | | Link to properties. Correct titles for examples. Document a few trivial cases. Keep lists in section file and docs/plugins/Makefile.am alphabetically ordered.
* Add a few more video fourcc'sDavid Schleef2009-01-251-0/+14
|
* Fix for security advisory TKADV2009-0xxDavid Schleef2009-01-221-4/+4
| | | | | Fix potential buffer overflows while reading quicktime headers. Security issue noticed by Tobias Klein.
* gst/qtdemux/qtdemux.c: Catch invalid and commonly wrong playback rates in ↵Wim Taymans2009-01-151-3/+14
| | | | | | | | | 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.
* gst/qtdemux/qtdemux.c: Fix format string for guint64.Thiago Sousa Santos2009-01-131-1/+2
| | | | | | | Original commit message from CVS: Patch by: Thiago Sousa Santos <thiagoss@embedded.ufcg.edu.br> * gst/qtdemux/qtdemux.c: Fix format string for guint64.
* gst/qtdemux/qtdemux.c: In push mode, error out if we get EOS before we've ↵Michael Smith2009-01-081-2/+39
| | | | | | | | | | | created any srcpads. Original commit message from CVS: * gst/qtdemux/qtdemux.c: In push mode, error out if we get EOS before we've created any srcpads. Handle (in pull mode) some files that have a truncated moov atom where the final sub-atom is a 'free' atom and the contents of that are not present in the file.
* gst/qtdemux/: Streamline tag handling and pass unparsed tags as binary blob ↵Mark Nauwelaerts2009-01-051-102/+94
| | | | | | | | | | | | | | in private tag. Original commit message from CVS: * gst/qtdemux/qtdemux.c: (qtdemux_tag_add_str), (qtdemux_tag_add_tmpo), (qtdemux_tag_add_covr), (qtdemux_tag_add_date), (qtdemux_tag_add_gnre), (qtdemux_tag_add_blob), (qtdemux_parse_udta): * gst/qtdemux/qtdemux.h: * gst/qtdemux/quicktime.c: (plugin_init): Streamline tag handling and pass unparsed tags as binary blob in private tag.
* gst/qtdemux/qtdemux.c: Add codec mapping for xvid, fmp4 and ac3 tracks.j^2008-12-281-0/+18
| | | | | | | | | Original commit message from CVS: Patch by: j^ <j at oil21.org> * gst/qtdemux/qtdemux.c: (qtdemux_video_caps), (qtdemux_audio_caps): Add codec mapping for xvid, fmp4 and ac3 tracks. Fixes #565850
* gst/qtdemux/qtdemux.c: Add MPG1 and MPG2 fourcc to supported qtdemux video ↵Julien Moutte2008-11-251-0/+2
| | | | | | | | | | | | | codecs as I found some video clips using t... Original commit message from CVS: 2008-11-25 Julien Moutte <julien@fluendo.com> * gst/qtdemux/qtdemux.c: (qtdemux_video_caps): Add MPG1 and MPG2 fourcc to supported qtdemux video codecs as I found some video clips using those.
* gst/qtdemux/qtdemux.c: Use G_{BIG,LITTLE}_ENDIAN instead of the non-GLib ↵Tal Shalif2008-11-231-6/+6
| | | | | | | | | | variants as the latter don't exist on some s... Original commit message from CVS: Patch by: Tal Shalif <tshalif at nargila dot org> * gst/qtdemux/qtdemux.c: (qtdemux_audio_caps): Use G_{BIG,LITTLE}_ENDIAN instead of the non-GLib variants as the latter don't exist on some systems (mingw). Fixes bug #561992.
* gst/qtdemux/qtdemux.*: Queue up new segment events instead of sending them ↵Andy Wingo2008-11-121-11/+21
| | | | | | | | | | | | | | | from the seeking thread. Original commit message from CVS: * gst/qtdemux/qtdemux.h (struct _GstQTDemux): * gst/qtdemux/qtdemux.c (gst_qtdemux_do_seek): Queue up new segment events instead of sending them from the seeking thread. Fixes #559288. (gst_qtdemux_push_pending_newsegment): New helper, sends out queued newsegment events. (gst_qtdemux_loop_state_movie): Voilà, call it here. Only need to call it here, as we only seek when looping, and only push in the movie state.
* gst/qtdemux/: Add cover and alternative copyright tag, and enhance some ↵Mark Nauwelaerts2008-11-111-1/+34
| | | | | | | | | | | | existing ones by marking them as container at... Original commit message from CVS: * gst/qtdemux/qtdemux.c: (qtdemux_tag_add_tmpo), (qtdemux_tag_add_covr), (qtdemux_parse_udta): * gst/qtdemux/qtdemux_fourcc.h: * gst/qtdemux/qtdemux_types.c: Add cover and alternative copyright tag, and enhance some existing ones by marking them as container atoms.
* gst/qtdemux/qtdemux.c: Refactor some raw audio caps building, and handle ↵Mark Nauwelaerts2008-11-101-111/+114
| | | | | | | | | | >16-bit cases. Original commit message from CVS: * gst/qtdemux/qtdemux.c: (qtdemux_parse_trak), (qtdemux_video_caps), (qtdemux_audio_caps): Refactor some raw audio caps building, and handle >16-bit cases. Fix/replace building caps from a string description.
* gst/qtdemux/qtdemux.c: Remove previous wrong commitEdward Hervey2008-10-151-0/+2
| | | | | | | | Original commit message from CVS: * gst/qtdemux/qtdemux.c: Remove previous wrong commit * tests/check/elements/icydemux.c: (icydemux_found_pad): Remove problematic and useless refcount check. Fixes #556381