Thiago Santos
e61a71b490
qtdemux: g_free is NULL safe
2010-01-15 13:42:30 -03:00
Thiago Santos
b07f406634
qtdemux: use DEMUX errors, instead of DECODE
...
qtdemux should use DEMUX errors, and not DECODE
Conflicts:
gst/qtdemux/qtdemux.c
2010-01-15 13:42:30 -03:00
Thiago Santos
b988ff4f57
qtdemux: Minor refactor
...
Replace repeated code with a function call
2010-01-15 13:42:30 -03:00
Thiago Santos
92a83e016a
qtdemux: Handle another kind of redirect trak
...
Some traks might contain a redirect rtsp uri inside
hndl atom (which is a dref atom entry). This commit makes qtdemux
post a message when it finds one of these traks and there are
no other traks.
Fixes #597497
2010-01-15 13:42:29 -03:00
Thiago Santos
06de494640
qtdemux: Post error when reaching EOS without pads
...
Post an error when EOS is reached and there are no src pads
2010-01-15 13:42:22 -03:00
Thiago Santos
b53a45ed44
qtdemux: Do not post empty redirect messages
...
Some misinterpreted data could result in posting redirect messages
with empty redirect strings. It is better not to post them.
An example is the file on bug #597497
2010-01-15 13:13:59 -03:00
Edward Hervey
3f5add8820
qtdemux: use G_GSIZE_FORMAT for platform independent gsize qualifier
...
Fixes build on macosx
2010-01-12 17:39:05 +01:00
Michael Smith
144fbd2d8f
qtdemux: fix offset for type 2 mp4a sound sample descriptions.
...
Allows us to correctly find the esds (and thus the codec data) for such
mp4a files.
2010-01-11 11:48:29 -08:00
Robert Swain
866d13e7b9
qtdemux: Oops. The gpointer cast is needed because of the const
...
qualifiers on the data elements
2010-01-11 10:38:10 +01:00
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
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