Mark Nauwelaerts
44bf274b60
qtdemux: avoid sending EOS event twice
2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
d4ceb8c7a6
qtdemux: remove dead code trying to update stream duration
...
On the one hand, it insufficiently checks whether it only updates a dummy
segment. On the other hand, only doing this at the time the last sampled is
prepared (and sent downstream) is too little too late.
2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
39a3fd40bf
qtdemux: fragmented support; handle ismv sample flags
2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
b4fb2ac99c
qtdemux: fragmented support; handle ismv stbl atoms
...
... or lack of some thereof, such as mandatory stsz. Shuffle some code
in _stbl_init to detect this early enough.
2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
283e2b1bcd
qtdemux: fragmented support; compensate for ismv offset handling
...
... or lack thereof, which according to specs would put media data in
unlikely position.
2010-12-03 15:52:07 +01:00
Mark Nauwelaerts
dfa54ed8cb
qtdemux: fragmented support for push mode
2010-12-03 15:52:05 +01:00
Mark Nauwelaerts
d66a3db6b8
qtdemux: fragmented support; proper and incremental moof parsing
...
That is, parse each moof in one pass (considering all contained streams'
metadata), and do so incrementally as needed for playback rather than
an initial complete scan of all moof (though all moov sample metadata
is fully parsed at startup).
2010-12-03 15:50:33 +01:00
Mark Nauwelaerts
73bbd8e7d3
qtdemux: refactor stream freeing
2010-12-03 15:50:33 +01:00
Mark Nauwelaerts
eb5c958143
qtdemux: delegate linear search for sample to binary search when possible
...
Also arrange for parsing a sample prior to taking a reference to it,
which requires less memory layout assumptions for correctness.
2010-12-03 15:50:33 +01:00
Mark Nauwelaerts
b7c27029e5
qtdemux: fragmented support; handle moov samples and proper stream duration
2010-12-03 15:50:32 +01:00
Mark Nauwelaerts
4790603d31
qtdemux: fragmented support; consider mvex and handle flags and offset fields
2010-12-03 15:50:32 +01:00
Mark Nauwelaerts
4bcad634f8
qtdemux: fragmented support; forego check for short streams
...
... as some bogus files may indicate streams of 0 duration in moov,
while indicating the complete movie duration in mvhd (the latter should
be in mehd).
2010-12-03 15:50:32 +01:00
Mark Nauwelaerts
30065f8f01
qtdemux: fragmented support; code cleanups and optimizations in atom parsing
...
Avoid extra allocation in _parse_trun, add more checks for parsing errors,
add or adjust some debug statement, fix comments, sprinkle some branch
prediction.
2010-12-03 15:50:32 +01:00
Thiago Santos
4f62f49a17
qtdemux: parse_moof should return TRUE on success
2010-12-03 15:50:32 +01:00
Thiago Santos
7dabc7764e
qtdemux: Fix iteration bug
...
Avoid infinite loop when iterating traf
2010-12-03 15:50:32 +01:00
Thiago Santos
f48817522d
qtdemux: Refactor trun parsing
...
The allocation of the samples can be placed out of the loop.
Makes the code clearer.
Also avoid relying on traf information as it is placed on the
end of the file and might not be acessible on push mode.
2010-12-03 15:50:31 +01:00
Thiago Santos
400f22bfe3
qtdemux: Remove parsing of unused atom
...
sdtp atom is parsed but not used, so we don't have to
parse it.
2010-12-03 15:50:31 +01:00
Mark Nauwelaerts
19b87dbdbe
qtdemux: tweak wam support
...
... with some comment and portability macros.
2010-12-03 15:50:31 +01:00
Marc-André Lureau
293e6a61b4
qtdemux: support wma & vc-1
...
https://bugzilla.gnome.org/show_bug.cgi?id=596321
2010-12-03 15:50:31 +01:00
Andoni Morales Alastruey
6f05c5c050
qtdemux: parse fmp4 samples information
...
The fragmented mp4 format stores the tracks and samples information in the
'moof' boxes, which are appended before each fragment (fragment->'moof'+'mdat').
The 'mfra' box stores the offset of each 'moof' box and their presentation
time. The location of this box can be retrieved from the 'mfro' box, which is
located at the end of the file.
The 'mfra' box is parsed to get the offset of each 'moof' box and their
presentation time.
Each 'moof' box can contain information for one or more tracks inside
'tfhd' boxes. For each track in a 'moof', we have a 'trun' box, which
contains information of each sample (offset and duration) used to build
the samples table.
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
https://bugzilla.gnome.org/show_bug.cgi?id=596321
2010-12-03 15:50:31 +01:00
Marc-André Lureau
e7a1c32a4f
qtdemux: add fragmented mp4 fourccs
...
Adds fourcc's for tfra, tfhd, trun, sdtp, trex, mehd and
their dumps
https://bugzilla.gnome.org/show_bug.cgi?id=596321
2010-12-03 15:50:31 +01:00
Marc-André Lureau
c9b866a994
qtdemux: parse the track id from the track header
...
Signed-off-by: Andoni Morales Alastruey <amorales@flumotion.com>
https://bugzilla.gnome.org/show_bug.cgi?id=596321
2010-12-03 15:50:31 +01:00
Marc-André Lureau
2fa531ee3c
qtdemux: allow pulling atoms with unknown size
...
Signed-off-by: Andoni Morales Alastruey <amorales@flumotion.com>
https://bugzilla.gnome.org/show_bug.cgi?id=596321
2010-12-03 15:50:30 +01:00
Marc-André Lureau
994313da50
qtdemux: make qtdemux_dump_mvhd parse version 1 correctly
...
Versions 0 and 1 of mvhd have different sizes of its values
(32bits/64bits). This patch makes it dump them correctly.
Also use the right node in the parameter and not the root node.
https://bugzilla.gnome.org/show_bug.cgi?id=596321
2010-12-03 15:50:30 +01:00
Mark Nauwelaerts
b9048fd953
matroskademux: minor cleanups in setting streamheader on caps
2010-12-03 15:50:30 +01:00
Mark Nauwelaerts
7be2ee8710
matroskademux: normalize empty Cues to no Cues
...
... to trigger indexless seeking.
2010-12-03 15:50:30 +01:00
Mark Nauwelaerts
e09e80eb2f
avidemux: add workaround for buggy list size
...
Fixes truncated extra-data in hdrl/strl/strf due to buggy containing
list size not accounting for padding in contained chunks.
2010-12-03 15:50:30 +01:00
Mark Nauwelaerts
46c91476eb
rtpssrcdemux: do not hold custom PAD_LOCK when pushing downstream
2010-12-03 15:50:21 +01:00
Mark Nauwelaerts
0f2373cbd1
rtspsrc: reset session manager base time when flushing
...
... as rtpbin uses running time to handle rtpjitterbuffer's buffer mode pauses.
2010-12-03 15:50:17 +01:00
Mark Nauwelaerts
148af2235e
rtspsrc: include range request for all streams with non-aggregate control
2010-12-03 15:50:17 +01:00
Mark Nauwelaerts
dedf145316
rtspsrc: fix debug statement
2010-12-03 15:50:17 +01:00
Edward Hervey
13ef2ccc97
avidemux: Parse more variants of numerical IDIT tag
2010-12-03 15:38:00 +01:00
Edward Hervey
ca9a3806b5
pngenc: Use proper framerate range in caps
2010-12-03 15:06:19 +01:00
Edward Hervey
e75c11eb7d
tests: Fix previously unbuildable/untested wavenc test
2010-12-03 15:04:26 +01:00
Edward Hervey
8eb0de13df
flvdemux: Refactor tag pushing logic
...
The logic of when to push was wrong also (resulting in some tags never
being pushed).
2010-12-03 14:53:48 +01:00
Edward Hervey
4fde700113
flvdemux: Use pbutils for codec descriptions
2010-12-03 14:53:47 +01:00
Edward Hervey
f8b8c0476a
check: Use fail_unless_equals_int instead of fail_if
...
Makes the error message more interesting
2010-12-03 14:52:42 +01:00
Edward Hervey
86933b40e9
avidemux: Also extract IDIT tags present too early
...
https://bugzilla.gnome.org/show_bug.cgi?id=636143
2010-12-03 12:13:34 +01:00
Edward Hervey
0cff917a51
avidemux: Also emit DateTime tag
...
https://bugzilla.gnome.org/show_bug.cgi?id=636143
2010-12-03 12:13:34 +01:00
Tim-Philipp Müller
bd87d8d1dd
wavparse: detect DTS advertised as PCM correctly in some more cases
...
The DTS typefinder may return a lower probability for frames that start
at non-zero offsets and where there's no second frame sync in the first
buffer. It's fairly unlikely that we'll acidentally identify PCM data
as DTS, so we don't do additional checks for now.
https://bugzilla.gnome.org/show_bug.cgi?id=636234
2010-12-03 10:18:43 +00:00
Stefan Kost
a97c77177e
tests: makefile cleanup
...
Fix indentation. Use $(GST_MAJORMINOR) instead of hardcoded 0.10.
2010-12-03 09:49:26 +02:00
Stefan Kost
4843424da3
tests: add a test for wav muxing
2010-12-03 09:49:26 +02:00
Stefan Kost
35232cd490
tests: remove newlines between variable decls (old gst-indent failure)
2010-12-03 09:49:26 +02:00
Stefan Kost
a513a7be75
pngdec: use png_error() as recommended by libpng docs to signal an error
...
Without that the element loops endlessly on broekn pngs. Fixes #634314
2010-12-03 09:49:26 +02:00
Thiago Santos
6511730ba1
qtdemux: Parse and use creation time tag from mvhd
...
Expose creation time from mvhd as a datetime tag
Fixes #634928
2010-12-02 17:12:29 -03:00
Andoni Morales Alastruey
be2d04e040
icydemux: Add 'StreamUrl' metadata as GST_TAG_HOMEPAGE tag
2010-12-02 19:18:03 +01:00
Tom Janiszewski
05cc505289
flvmux: Fix for nellymoser codecid setting
...
Fixes bug #632897 .
2010-12-02 19:18:03 +01:00
Sebastian Dröge
d9a1f3d628
matroskamux: Add support for E-AC3
2010-12-02 19:18:02 +01:00
Sebastian Dröge
01c4117037
matroskamux: Add support for DTS
2010-12-02 19:18:02 +01:00
Sebastian Dröge
6a93725292
souphttpsrc: Don't send seeks behind the end of file to the server
...
Also improve debug output, re-initialize the content size and let the
seek handler error out on invalid seek segments.
Fixes bug #632977 .
2010-12-02 19:18:02 +01:00