Commit graph

403 commits

Author SHA1 Message Date
Robert Swain 4ac643c2d9 qtdemux: Debug -> info level for a message for benchmarking index parsing
The extra message output at higher levels affects the accuracy of the
benchmark.
2010-01-11 10:17:54 +01:00
Robert Swain c93ea637ef qtdemux: Don't check for NULL pointers or cast to gpointer as this is
not needed
2010-01-11 10:05:10 +01:00
Robert Swain a340359127 qtdemux: Refactor stbl sub-atom freeing. Free when index has been
completely parsed.
2010-01-11 09:50:33 +01:00
Robert Swain 3daf1871c1 qtdemux: Avoid whitespace commits due to inconsistent GNU indent
behaviour
2010-01-11 09:50:33 +01:00
Tim-Philipp Müller e1bff64f00 qtdemux: remove newline at end of debug statement 2010-01-11 00:10:34 +00:00
Michael Smith 7f442ab1c1 qtdemux: Add support for wave-style audio in qt.
Uses gstriff to parse the wave headers appropriately. Tested with MS-ADPCM
content.
2010-01-05 12:11:31 -08:00
Wim Taymans 48615d5e98 qtdemux: fix chunk counter 2010-01-05 15:51:55 +01:00
Wim Taymans 17630760f4 qtdemux: more work at reducing loop overhead
Try to avoid derefs when parsing the index. Save the state into the structures
when we exit the loop instead of for each iteration.
2010-01-05 15:51:52 +01:00
Wim Taymans 91a5e5138f qtdemux: cleanups and make duration more accurate
Make the QtDemuxSample struct smaller by keeping the duration and the pts_offset
as their 32 bit values.
Make some macros to calculate PTS, DTS and duration of a sample.
Deref the sample index less often by keeping a ref to the sample we're dealing
with.
2010-01-05 15:51:50 +01:00
Wim Taymans 22eb18f828 qtdemux: simplify logic to calculate duration
Since we no longer store the timestamp and duration in nanoseconds, we can now
simply store the duration as-is.
2010-01-05 15:51:48 +01:00
Robert Swain 1c27ed4dae qtdemux: Store timestamps in mov format in the index
This allows faster building of the index upon seeks so that scaling of
timestamps only occurs when actually needed.
2010-01-05 15:51:45 +01:00
Wim Taymans 86021857c5 qtdemux: make seeking in push mode work
Move sample position checks into qtdemux_parse_samples where we can protect it
with a lock.
Refactor and make an qtdemux_ensure_index function.
Rename qtdemux_do_push_seek to qtdemux_seek_offset in order to avoid confusion
with gst_qtdemux_do_push_seek.
2010-01-05 15:51:43 +01:00
Wim Taymans 3b643817be qtdemux: move error code out of normal flow 2010-01-05 15:51:40 +01:00
Robert Swain 4b2b7067b6 qtdemux: Add push mode seek support for seeking to obtain the moov atom 2010-01-05 15:51:36 +01:00
Arun Raghavan e9f9164fb6 qtdemux: Add tags for average and maximum bitrate
Fixes #599300.
2009-12-31 18:25:20 +00:00
Thiago Santos 5d86010dad qtdemux: perf tag should map to GST_TAG_ARTIST 2009-12-24 17:06:16 -03:00
Jonathan Conder 1112090589 qtdemux: Adds new tags
Adds some new tags mapping to qtdemux.

Fixes #599759
2009-12-21 12:03:30 -03:00
Wim Taymans cc277b4a26 qtdemux: Fix ALAC codec_data parsing
Fixes #604611
2009-12-17 16:23:56 +01:00
Thiago Santos 4063bb87e8 qtdemux: Remove cpp style coments
Removes // comments and replace them with /* */ comments
2009-12-16 17:28:30 -03:00
Tim-Philipp Müller 6c4c8f8670 qtdemux: fix up language code extraction some more
Quicktime uses ISO 639-2 for language codes, but GST_TAG_LANGUAGE
is supposed to hold a ISO 639-1 code, so convert as needed using
the new API from -base.

See #602126.
2009-12-13 13:10:12 +00:00
Thiago Santos 52177fa056 Revert "qtdemux: Correctly parse classification tags"
This reverts commit cd883aa60c.

Previous code was correct, 4 is due to table and language code,
not only language code
2009-12-12 17:44:04 -03:00
Thiago Santos cd883aa60c qtdemux: Correctly parse classification tags
In clsf atoms, the language code is 2 bytes long, not 4.
2009-12-12 16:31:35 -03:00
Thiago Santos ff4ac9ddf6 qtdemux: fix debug message printf args
Fixes debug message printf format to make it build in mac's gcc
2009-12-03 17:49:55 -03:00
Mark Nauwelaerts baa28ddedf qtdemux: fix timestamp datatype 2009-11-26 17:29:03 +01:00
Robert Swain 98279be735 qtdemux: Fix push mode by making sure stbl information is available in
next_entry_size ()
2009-11-24 16:40:19 +01:00
Robert Swain db5de8f1b6 qtdemux: Fix order of arguments in log message 2009-11-24 16:35:20 +01:00
Robert Swain f9745e89d3 qtdemux: Ease debugging by removing a goto for an error message 2009-11-23 16:29:15 +01:00
Robert Swain 4025d7cbd7 qtdemux: Parse per sample rather than all at once but build complete index when
seeking
2009-11-23 16:29:15 +01:00
Robert Swain 0c62109d20 qtdemux: Save atom data for later use so it doesn't get freed after initial
parsing
2009-11-23 16:29:15 +01:00
Robert Swain 29c33806c1 qtdemux: Parse from the previously parsed sample up to sample n 2009-11-23 16:29:14 +01:00
Robert Swain 52b1040219 qtdemux: Make qtdemux_parse_samples () parse up to n samples 2009-11-23 16:29:14 +01:00
Robert Swain 1f7b878d89 qtdemux: Separate off stbl sub-atom initialisation 2009-11-23 16:29:14 +01:00
Robert Swain 6a6d2c4970 qtdemux: Move variables into context in preparation for refactorisation 2009-11-23 16:29:14 +01:00
Robert Swain ab61fb22f6 qtdemux: Fix bug where stps is never parsed due to logic error 2009-11-23 16:29:14 +01:00
Robert Swain a1e2047472 qtdemux: Port ctts from Gnode * to GstByteReader 2009-11-23 16:29:14 +01:00
Robert Swain 9e49197208 qtdemux: Switch from QtAtomParser to GstByteReader 2009-11-23 16:29:14 +01:00
Wim Taymans 5d41590601 qtdemux: fix typo and grammar 2009-11-23 12:53:50 +01:00
Thiago Santos e35085e5b5 qtdemux: Add more fields to SVQ3 caps
qtdemux only added the whole stsd atom as 'codec_data'
in its output caps for SVQ3. This patch makes it add
the SEQH (inside a SMI atom) and a gamma field (taken
from the gama atom) if available.

Fixes #587922
2009-11-18 16:41:50 -03:00
Mark Nauwelaerts bf5f3a3964 qtdemux: fix bogus memory chunk size check 2009-11-18 12:54:48 +01:00
Michael Smith fe9415544e qtdemux: identify IMA adpcm in qt properly. 2009-11-17 17:59:13 -08:00
Edward Hervey 8df3e5c22b qtdemux: init variables to make compiler on osx build bot happy 2009-11-04 16:47:42 +01:00
Tim-Philipp Müller 261454dd92 qtdemux: init variables to make compiler on osx build bot happy 2009-11-03 16:05:47 +00:00
Andy Wingo c917d65e6d qtdemux: unpack more information into image/x-j2c caps
* gst/qtdemux/qtdemux_fourcc.h: Add new fourccs for use by the mj2
  unpacker.
* gst/qtdemux/qtdemux.c (qtdemux_parse_trak): Unpack JPEG2000 component
  mapping and channel definitions from the jp2h header. Will add
  component-map and channel-definitions elements to the caps if the
  component maps or channel definitions are nonstandard, where standard
  order means RGB, 444 packed YUV, or greyscale, with no alpha channel.

Fixes #598915.
2009-10-20 17:20:55 +02:00
Mark Nauwelaerts 354a062c89 qtdemux: check some more atom sizes prior to parsing 2009-10-15 17:06:41 +02:00
Mark Nauwelaerts e967767b27 qtdemux: add GstIndex support 2009-10-14 13:15:02 +02:00
Jan Schmidt 99f43dbb58 qtdemux: Fix uninitialized variable warning
Fix another bogus may-be-used-uninitialized warning in qtdemux
2009-10-13 16:03:13 +01:00
Jan Schmidt 42b09362f6 qtdemux: Fix uninitialized variable warnings
The gcc on the OS/X buildbot complains about these variables not being
initialized, even though they can't possibly actually be used
uninitialized.
2009-10-13 00:12:42 +01:00
Mark Nauwelaerts 6f34e2b0db qtdemux: also consider Quicktime text subtitles 2009-10-09 17:49:20 +02:00
Mark Nauwelaerts 955a719c1a qtdemux: provide language tag for stream 2009-10-09 17:49:17 +02:00
Mark Nauwelaerts 1210a92ff6 qtdemux: refactor common parts in track parsing 2009-10-09 17:49:14 +02:00