Wim Taymans [Mon, 6 Dec 2010 11:16:12 +0000 (12:16 +0100)]
j2kdepay: make the depayloader more resilient
Use 3 adapters, one to accumulate paketization units, another on to accumulate
tiles and a last one to accumulate the final frame.
Don't just blindly flush the adapter on DISCONT but only discard the current
packetization unit.
When we dropped jpeg2000 packets between SOP markers, adjust the SOT header with
the new lenght.
Mark Nauwelaerts [Thu, 9 Dec 2010 12:49:04 +0000 (13:49 +0100)]
qtdemux: fix flow return aggregation
Mark Nauwelaerts [Wed, 8 Dec 2010 10:35:33 +0000 (11:35 +0100)]
qtdemux: fix handling near end-of-file corner cases
Also, relax some error handling to not bail out completely when something
feels amiss, but consider this EOF and continue with was obtained so far.
Mark Nauwelaerts [Tue, 7 Dec 2010 16:19:00 +0000 (17:19 +0100)]
qtdemux: fragmented support; fix offset handling and relax error raising
In particular, accept unknown stream in track fragment, and only error out
if that raises problems later on with respect to offset tracking.
Fixes #620283.
Mark Nauwelaerts [Tue, 7 Dec 2010 12:11:48 +0000 (13:11 +0100)]
flvdemux: use aac codec-data to adjust samplerate if needed
Based on patch by Fabien Lebaillif-Delamare <fabien@arq-media.com>
Fixes #636621.
Wim Taymans [Tue, 7 Dec 2010 10:43:13 +0000 (11:43 +0100)]
pulsesink: don't uncork in _start
Don't uncork in the _start method just yet but wait until we have written some
samples to pulseaudio. This avoid underruns on pulseaudio and less crackling
noises when starting.
Alessandro Decina [Mon, 6 Dec 2010 18:59:49 +0000 (19:59 +0100)]
qtdemux: fix compiler warnings on OSX.
Mark Nauwelaerts [Mon, 6 Dec 2010 17:17:24 +0000 (18:17 +0100)]
jpegdec: add debug to notify when skipping to jpeg header
Mark Nauwelaerts [Mon, 6 Dec 2010 17:16:19 +0000 (18:16 +0100)]
jpegdec: discard incomplete image
... as determined when finding SOI next image before an EOI.
Based on patch by David Hoyt <david.hoyt@llnl.gov>
Fixes #635734.
Mark Nauwelaerts [Mon, 6 Dec 2010 16:45:38 +0000 (17:45 +0100)]
jpegdec: avoid infinite loop when resyncing
Fixes #635734 (partly).
David Hoyt [Mon, 6 Dec 2010 14:21:53 +0000 (15:21 +0100)]
imagefreeze: pass along eos if received before buffer arrives
Fixes #636172.
Andoni Morales Alastruey [Wed, 20 Oct 2010 09:05:49 +0000 (11:05 +0200)]
matroskamux: try to write timestamps in all the outgoing buffers
Fixes #632654.
Mark Nauwelaerts [Mon, 6 Dec 2010 11:17:21 +0000 (12:17 +0100)]
progressreport: optionally determine progress using buffer metadata
Based on patch by Leo Singer <lsinger at caltech.edu>
Fixes #629418.
Edward Hervey [Sun, 5 Dec 2010 13:39:19 +0000 (14:39 +0100)]
check: Fixup the shutting down order
First bring down everything to NULL before attempting to unlink
or unref anything.
Avoids the tests just hanging there for ever waiting to acquire a
lock that doesn't exist anymore.
Janne Grunau [Thu, 4 Nov 2010 18:31:45 +0000 (19:31 +0100)]
v4l2src: set top field first for interlaced buffers if v4l2 exports it
https://bugzilla.gnome.org/show_bug.cgi?id=634393
Janne Grunau [Thu, 4 Nov 2010 17:36:09 +0000 (18:36 +0100)]
v4l2src: check field information and set interlaced caps accordingly
Reject the format if the field type is not supported.
https://bugzilla.gnome.org/show_bug.cgi?id=634391
Benjamin Gaignard [Fri, 3 Dec 2010 16:42:14 +0000 (17:42 +0100)]
Add build system for Android
Guillaume Emont [Fri, 26 Mar 2010 12:51:58 +0000 (13:51 +0100)]
navseek: add basic support to change playback rate
The following keys will now be interpreted by navseek:
'f' means fast forward: the stream gets played at rate 2.0
'r' means rewind: the stream gets played at rate -2.0
'n' means normal: the stream gets played at rate 1.0
Fixes #631516.
Mark Nauwelaerts [Wed, 1 Dec 2010 12:12:04 +0000 (13:12 +0100)]
qtdemux: add support for e(a)c-3 audio
Mark Nauwelaerts [Fri, 19 Nov 2010 11:44:35 +0000 (12:44 +0100)]
qtdemux: avoid sending EOS event twice
Mark Nauwelaerts [Fri, 19 Nov 2010 11:44:18 +0000 (12:44 +0100)]
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.
Mark Nauwelaerts [Tue, 9 Nov 2010 09:58:57 +0000 (10:58 +0100)]
qtdemux: fragmented support; handle ismv sample flags
Mark Nauwelaerts [Mon, 8 Nov 2010 10:41:21 +0000 (11:41 +0100)]
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.
Mark Nauwelaerts [Mon, 8 Nov 2010 10:39:37 +0000 (11:39 +0100)]
qtdemux: fragmented support; compensate for ismv offset handling
... or lack thereof, which according to specs would put media data in
unlikely position.
Mark Nauwelaerts [Thu, 4 Nov 2010 13:07:56 +0000 (14:07 +0100)]
qtdemux: fragmented support for push mode
Mark Nauwelaerts [Thu, 4 Nov 2010 09:17:37 +0000 (10:17 +0100)]
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).
Mark Nauwelaerts [Thu, 4 Nov 2010 09:06:30 +0000 (10:06 +0100)]
qtdemux: refactor stream freeing
Mark Nauwelaerts [Thu, 4 Nov 2010 09:05:15 +0000 (10:05 +0100)]
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.
Mark Nauwelaerts [Mon, 1 Nov 2010 14:52:29 +0000 (15:52 +0100)]
qtdemux: fragmented support; handle moov samples and proper stream duration
Mark Nauwelaerts [Mon, 1 Nov 2010 12:40:05 +0000 (13:40 +0100)]
qtdemux: fragmented support; consider mvex and handle flags and offset fields
Mark Nauwelaerts [Thu, 28 Oct 2010 14:49:41 +0000 (16:49 +0200)]
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).
Mark Nauwelaerts [Thu, 28 Oct 2010 14:46:48 +0000 (16:46 +0200)]
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.
Thiago Santos [Tue, 14 Sep 2010 02:19:44 +0000 (23:19 -0300)]
qtdemux: parse_moof should return TRUE on success
Thiago Santos [Sat, 11 Sep 2010 01:41:03 +0000 (22:41 -0300)]
qtdemux: Fix iteration bug
Avoid infinite loop when iterating traf
Thiago Santos [Sat, 11 Sep 2010 00:32:26 +0000 (21:32 -0300)]
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.
Thiago Santos [Fri, 10 Sep 2010 03:29:26 +0000 (00:29 -0300)]
qtdemux: Remove parsing of unused atom
sdtp atom is parsed but not used, so we don't have to
parse it.
Mark Nauwelaerts [Tue, 9 Nov 2010 10:45:00 +0000 (11:45 +0100)]
qtdemux: tweak wam support
... with some comment and portability macros.
Marc-André Lureau [Wed, 23 Sep 2009 16:47:42 +0000 (18:47 +0200)]
qtdemux: support wma & vc-1
https://bugzilla.gnome.org/show_bug.cgi?id=596321
Andoni Morales Alastruey [Thu, 11 Mar 2010 08:56:04 +0000 (09:56 +0100)]
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
Marc-André Lureau [Thu, 11 Mar 2010 14:34:49 +0000 (15:34 +0100)]
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
Marc-André Lureau [Thu, 11 Mar 2010 09:24:56 +0000 (10:24 +0100)]
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
Marc-André Lureau [Thu, 11 Mar 2010 13:10:12 +0000 (14:10 +0100)]
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
Marc-André Lureau [Wed, 14 Jul 2010 18:13:55 +0000 (20:13 +0200)]
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
Mark Nauwelaerts [Fri, 19 Nov 2010 11:45:00 +0000 (12:45 +0100)]
matroskademux: minor cleanups in setting streamheader on caps
Mark Nauwelaerts [Tue, 2 Nov 2010 16:04:04 +0000 (17:04 +0100)]
matroskademux: normalize empty Cues to no Cues
... to trigger indexless seeking.
Mark Nauwelaerts [Tue, 26 Oct 2010 09:15:49 +0000 (11:15 +0200)]
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.
Mark Nauwelaerts [Thu, 2 Dec 2010 15:11:01 +0000 (16:11 +0100)]
rtpssrcdemux: do not hold custom PAD_LOCK when pushing downstream
Mark Nauwelaerts [Thu, 2 Dec 2010 15:10:14 +0000 (16:10 +0100)]
rtspsrc: reset session manager base time when flushing
... as rtpbin uses running time to handle rtpjitterbuffer's buffer mode pauses.
Mark Nauwelaerts [Wed, 1 Dec 2010 15:51:33 +0000 (16:51 +0100)]
rtspsrc: include range request for all streams with non-aggregate control
Mark Nauwelaerts [Thu, 7 Oct 2010 12:50:53 +0000 (14:50 +0200)]
rtspsrc: fix debug statement
Edward Hervey [Fri, 3 Dec 2010 14:38:00 +0000 (15:38 +0100)]
avidemux: Parse more variants of numerical IDIT tag
Edward Hervey [Fri, 7 May 2010 15:30:30 +0000 (17:30 +0200)]
pngenc: Use proper framerate range in caps
Edward Hervey [Fri, 3 Dec 2010 14:04:26 +0000 (15:04 +0100)]
tests: Fix previously unbuildable/untested wavenc test
Edward Hervey [Sun, 24 Oct 2010 13:21:08 +0000 (15:21 +0200)]
flvdemux: Refactor tag pushing logic
The logic of when to push was wrong also (resulting in some tags never
being pushed).
Edward Hervey [Sun, 24 Oct 2010 13:20:27 +0000 (15:20 +0200)]
flvdemux: Use pbutils for codec descriptions
Edward Hervey [Tue, 13 Apr 2010 09:29:30 +0000 (11:29 +0200)]
check: Use fail_unless_equals_int instead of fail_if
Makes the error message more interesting
Edward Hervey [Tue, 30 Nov 2010 18:22:11 +0000 (19:22 +0100)]
avidemux: Also extract IDIT tags present too early
https://bugzilla.gnome.org/show_bug.cgi?id=636143
Edward Hervey [Tue, 30 Nov 2010 18:21:23 +0000 (19:21 +0100)]
avidemux: Also emit DateTime tag
https://bugzilla.gnome.org/show_bug.cgi?id=636143
Tim-Philipp Müller [Fri, 3 Dec 2010 00:22:48 +0000 (00:22 +0000)]
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
Stefan Kost [Mon, 8 Nov 2010 15:11:42 +0000 (17:11 +0200)]
tests: makefile cleanup
Fix indentation. Use $(GST_MAJORMINOR) instead of hardcoded 0.10.
Stefan Kost [Mon, 8 Nov 2010 15:02:56 +0000 (17:02 +0200)]
tests: add a test for wav muxing
Stefan Kost [Mon, 8 Nov 2010 14:57:17 +0000 (16:57 +0200)]
tests: remove newlines between variable decls (old gst-indent failure)
Stefan Kost [Mon, 8 Nov 2010 12:47:04 +0000 (14:47 +0200)]
pngdec: use png_error() as recommended by libpng docs to signal an error
Without that the element loops endlessly on broekn pngs. Fixes #634314
Thiago Santos [Tue, 16 Nov 2010 20:48:16 +0000 (17:48 -0300)]
qtdemux: Parse and use creation time tag from mvhd
Expose creation time from mvhd as a datetime tag
Fixes #634928
Andoni Morales Alastruey [Wed, 27 Oct 2010 17:15:20 +0000 (19:15 +0200)]
icydemux: Add 'StreamUrl' metadata as GST_TAG_HOMEPAGE tag
Tom Janiszewski [Sat, 23 Oct 2010 23:34:00 +0000 (19:34 -0400)]
flvmux: Fix for nellymoser codecid setting
Fixes bug #632897.
Sebastian Dröge [Thu, 21 Oct 2010 14:15:08 +0000 (16:15 +0200)]
matroskamux: Add support for E-AC3
Sebastian Dröge [Thu, 21 Oct 2010 14:14:44 +0000 (16:14 +0200)]
matroskamux: Add support for DTS
Sebastian Dröge [Sun, 31 Oct 2010 17:08:17 +0000 (18:08 +0100)]
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.
Wim Taymans [Thu, 2 Dec 2010 16:53:42 +0000 (17:53 +0100)]
j2kpay: use SOP markers to split bitstream
When parsing the bitstream, look for SOP markers because we are allowed to split
packets on those marker boundaries.
Rework the parsing code a little so that we can pack multiple Packetization
units in one RTP packet.
Wim Taymans [Thu, 18 Nov 2010 11:49:47 +0000 (12:49 +0100)]
rtpj2kpay: use buffer lists
Use buffer lists for doing zerocopy payloading.
Add property to disable buffer lists.
Wim Taymans [Tue, 16 Nov 2010 15:54:25 +0000 (16:54 +0100)]
h264pay: small cleanups
Allocate adapter only once.
Make some guint8 * const.
Tambet Ingo [Tue, 16 Nov 2010 14:39:24 +0000 (15:39 +0100)]
rtph264pay: implement full bytestream scan mode.
Implement the full bytestream scan mode.
Fixes #634910
Wim Taymans [Mon, 15 Nov 2010 09:52:31 +0000 (10:52 +0100)]
examples: improve RTP examples
Make the examples use autovideosink and ffmpegcolorspace for better
compàtibility.
Make some more variables for the sink and the decoders.
Set zerolatency tuning on x264enc for better realtime results.
Wim Taymans [Wed, 10 Nov 2010 10:04:48 +0000 (11:04 +0100)]
rtspsrc: select multicast transports in a smarter way
When we see a multicast address in the SDP connection, only try to negotiate a
multicast transport with the server.
Fixes #634093
Tim-Philipp Müller [Thu, 2 Dec 2010 18:14:16 +0000 (18:14 +0000)]
Bump GLib requirement to implicit requirement
ie. >= 2.20 while we depend on core/base 0.10.31
Tim-Philipp Müller [Thu, 2 Dec 2010 18:13:57 +0000 (18:13 +0000)]
Back to development
Tim-Philipp Müller [Wed, 1 Dec 2010 21:15:09 +0000 (21:15 +0000)]
Release 0.10.26
David Schleef [Tue, 30 Nov 2010 23:28:50 +0000 (15:28 -0800)]
deinterlace: analyse RFF fields in correct order
Code was repeating the second field, not the first.
Fixes: #636179.
Mark Nauwelaerts [Mon, 29 Nov 2010 14:32:40 +0000 (15:32 +0100)]
rtspsrc: handle stale digest authentication session data
In particular, handle Unauthorized server response when trying to convey
keep-alive.
Fixes #635532.
Thijs Vermeir [Fri, 26 Nov 2010 14:00:29 +0000 (15:00 +0100)]
rtph264depay: fix segfault on empty payload
https://bugzilla.gnome.org/show_bug.cgi?id=635843
Tim-Philipp Müller [Thu, 18 Nov 2010 00:45:29 +0000 (00:45 +0000)]
0.10.25.5 pre-release
Tim-Philipp Müller [Thu, 18 Nov 2010 00:44:45 +0000 (00:44 +0000)]
po: update translations
Tim-Philipp Müller [Sun, 14 Nov 2010 00:18:16 +0000 (00:18 +0000)]
deinterlace: fix reference leak
Jan Schmidt [Fri, 12 Nov 2010 12:59:06 +0000 (23:59 +1100)]
deinterlace: Flush QoS and history before applying segment
When handling newsegment, flush out the buffer history in the
existing segment, not the new one. Fixes playback in some DVD
cases.
Partially fixes #633294
Tim-Philipp Müller [Fri, 12 Nov 2010 12:20:16 +0000 (12:20 +0000)]
deinterlace: improve event logging
Robert Swain [Fri, 5 Nov 2010 16:00:15 +0000 (17:00 +0100)]
deinterlace: Implement field history flushing
In a number of cases it is necessary to flush the field history by
performing 'degraded' deinterlacing - that is, using the user-chosen
method for as many fields as possible, then using vfir for as long as
there are >= 2 fields remaining in the history, then using linear for
the last field.
This should avoid losing fields being kept for history for example at
EOS.
This may address part of #633294
Robert Swain [Fri, 5 Nov 2010 14:44:35 +0000 (15:44 +0100)]
deinterlace: Refactor chain function
This is needed to be able to output a frame from outside the chain
function, i.e. in the following commit that adds flushing of the field
history.
Tim-Philipp Müller [Fri, 5 Nov 2010 17:17:56 +0000 (17:17 +0000)]
configure: we still require Gtk+ >= 2.14.0 when compiling against 2.0
The check for the minor version was dropped in the previous commit.
Tim-Philipp Müller [Fri, 5 Nov 2010 16:24:42 +0000 (16:24 +0000)]
configure: add --with-gtk option and default to Gtk+ 2.0 while the 3.0 API is still in flux
https://bugzilla.gnome.org/show_bug.cgi?id=634014
Jonathan Matthew [Thu, 4 Nov 2010 06:42:07 +0000 (16:42 +1000)]
icydemux: fix use-after-free of taglist
Broken by commit
4c2f5333 (bug #630205).
https://bugzilla.gnome.org/show_bug.cgi?id=633970
Tim-Philipp Müller [Mon, 1 Nov 2010 17:29:01 +0000 (17:29 +0000)]
0.10.25.4 pre-release
Tim-Philipp Müller [Mon, 1 Nov 2010 17:28:36 +0000 (17:28 +0000)]
po: update translations
Tim-Philipp Müller [Mon, 1 Nov 2010 16:04:20 +0000 (16:04 +0000)]
configure: fix --disable-external
Wim Taymans [Mon, 1 Nov 2010 13:56:28 +0000 (14:56 +0100)]
rtph264depay: only set delta unit on all-non-key units
Only set the delta flag when all of the units in the packet are delta units.
Based on patch from Olivier Crête <olivier.crete@collabora.co.uk>
Fixes #632945
Thiago Santos [Tue, 26 Oct 2010 18:44:37 +0000 (15:44 -0300)]
goom: Return not-negotiated when bps is unknown
If caps weren't negotiated, goom should return not-negotiated
from its chain functions instead of using bps unitialized, which
leads to a division by 0
https://bugzilla.gnome.org/show_bug.cgi?id=633212
Jan Schmidt [Wed, 27 Oct 2010 12:16:54 +0000 (13:16 +0100)]
Automatic update of common submodule
From 7bbd708 to 011bcc8
Jan Schmidt [Tue, 26 Oct 2010 15:54:11 +0000 (16:54 +0100)]
videoflip: Forward src pad events upstream.
Fix passing navigation and other events upstream by actually sending them.
Fixes: #633205
Tim-Philipp Müller [Sun, 24 Oct 2010 17:50:30 +0000 (18:50 +0100)]
qtdemux: fix deadlock in error code path
GST_ELEMENT_ERROR must not be called with the object lock held,
since it will call gst_object_get_parent() internally, which
takes the object lock as well.
Philip Jägenstedt [Wed, 20 Oct 2010 08:21:48 +0000 (10:21 +0200)]
matroskademux: Remove useless clearing of send_xiph_headers for Dirac
This looks like a mistake when copy-pasting the Theora code.
https://bugzilla.gnome.org/show_bug.cgi?id=632682