Wim Taymans [Tue, 21 Dec 2010 11:29:58 +0000 (12:29 +0100)]
h264pay: flush adapter on flush-stop
Wim Taymans [Mon, 20 Dec 2010 17:49:49 +0000 (18:49 +0100)]
mpapay: flush last packets on EOS
Edward Hervey [Mon, 20 Dec 2010 16:47:05 +0000 (17:47 +0100)]
Automatic update of common submodule
From 169462a to 46445ad
Wim Taymans [Mon, 20 Dec 2010 15:51:47 +0000 (16:51 +0100)]
mpapay: reset payloader on state change
Wim Taymans [Mon, 20 Dec 2010 15:05:36 +0000 (16:05 +0100)]
mpapay: reset payloader on flush
Reset the payloader on a flush event.
Handle DISCONT better.
Wim Taymans [Mon, 20 Dec 2010 14:54:45 +0000 (15:54 +0100)]
jitterbuffer: get better buffering level
When the jitterbuffer contains -1 timestamps, make sure we still calculate the
buffer fill level by skipping the -1 buffers.
Try to be more resilient to weird input timestamps.
Wim Taymans [Mon, 20 Dec 2010 10:10:22 +0000 (11:10 +0100)]
jitterbuffer: provide a clock.
since we are using the clock for sync, we need to also provide a clock for good
measure. The reason is that even if downstream elements provide a clock, we
don't want to have that clock selected because it might not be running yet.
Wim Taymans [Mon, 20 Dec 2010 09:49:56 +0000 (10:49 +0100)]
rtpbin: copy buffering stats
when we create an aggregate buffering message, copy the buffering stats form the
last message. At least we get correct buffering mode then.
Sebastian Dröge [Sun, 19 Dec 2010 10:02:41 +0000 (11:02 +0100)]
wavenc: Fix memory leaks in the unit test
Sebastian Dröge [Sun, 19 Dec 2010 09:58:16 +0000 (10:58 +0100)]
radioactv: Prevent use of uninitialized values
Fixes bug #618652.
Sebastian Dröge [Sun, 19 Dec 2010 09:22:29 +0000 (10:22 +0100)]
capsdebug: Don't leak pad templates created from static pad templates
Vincent Penquerc'h [Mon, 29 Nov 2010 12:36:06 +0000 (12:36 +0000)]
ximagesrc: change from XGetImage to XGetSubImage dependant on a property
ximagesrc: change from XGetImage to XGetSubImage dependant on a property
to avoid unnecessary performance hits by default.
Vincent Penquerc'h [Sun, 28 Nov 2010 16:04:35 +0000 (16:04 +0000)]
ximagesrc: use XGetSubImage instead of XGetImage, works with remote X
ximagesrc: use XGetSubImage instead of XGetImage, works with remote X
(on my setup anyway...)
Vincent Penquerc'h [Sat, 27 Nov 2010 17:15:32 +0000 (17:15 +0000)]
ximagesrc: fix various width/height calculations being off by one,
ximagesrc: fix various width/height calculations being off by one,
and make it so a single pixel width/height can be captured (except
the top left one, as 0,0,0,0 is reserved for full screen as per
the property comments).
Rob Clark [Sat, 18 Dec 2010 01:19:35 +0000 (19:19 -0600)]
fix compile errors on macosx
with i686-apple-darwin10-gcc-4.2.1:
gstv4l2object.c: In function 'gst_v4l2_object_get_nearest_size':
gstv4l2object.c:1988: warning: format '%u' expects type 'unsigned int', but argument 12 has type 'gint *'
gstv4l2object.c:1988: warning: format '%u' expects type 'unsigned int', but argument 13 has type 'gint *'
Mark Nauwelaerts [Fri, 17 Dec 2010 14:38:15 +0000 (15:38 +0100)]
rtph264depay: determine output h264 layout using caps negotiation
... thereby (partially) deprecating properties currently controlling whether
or not byte-stream output or NAL/AU alignment (though properties still determine
fallback if nothing specified in caps).
Fixes #606662.
Wim Taymans [Thu, 16 Dec 2010 17:55:43 +0000 (18:55 +0100)]
j2kpay: handle EOC correctly
Don't include the next 2 bytes when we are at the end of the data and there are
no more bytes left.
Mark Nauwelaerts [Thu, 16 Dec 2010 14:15:49 +0000 (15:15 +0100)]
pulsesink: flush remaining buffered samples on EOS
... which can make a difference between all or nothing when dealing
with short streams and relatively large ringbuffer segment.
Sebastian Dröge [Thu, 16 Dec 2010 09:04:19 +0000 (10:04 +0100)]
deinterlace: Change classification to Filter/Effect/Video/Deinterlace
Edward Hervey [Wed, 15 Dec 2010 17:21:34 +0000 (18:21 +0100)]
rtpj2kpay: Initialize all fields
Makes sad compliers happy
Wim Taymans [Wed, 15 Dec 2010 15:22:54 +0000 (16:22 +0100)]
j2kpay: cleanup header construction
Use a simpler way of constructing the header that doesn't depend on
the endianness.
Tim-Philipp Müller [Wed, 15 Dec 2010 13:30:50 +0000 (13:30 +0000)]
configure: depend on -base from git for new rtp base depayloader features
This is ok in this case, since the plan is to release core/base again
along with good/ugly/bad in the next cycle.
Stefan Kost [Wed, 15 Dec 2010 12:55:58 +0000 (14:55 +0200)]
Automatic update of common submodule
From 20742ae to 169462a
Wim Taymans [Wed, 15 Dec 2010 12:12:09 +0000 (13:12 +0100)]
j2kdepay: add support for buffer lists
Wim Taymans [Tue, 14 Dec 2010 17:12:43 +0000 (18:12 +0100)]
session: fix average RTCP packet size some more.
Fix stupid error in averaging macro.
Include udp headers in packet length estimation.
Wim Taymans [Tue, 14 Dec 2010 16:15:23 +0000 (17:15 +0100)]
rtpbin: correctly calculate RTCP packet size
Wim Taymans [Tue, 14 Dec 2010 14:27:52 +0000 (15:27 +0100)]
j2kpay: stop scanning when we reached the end
Stop scanning for markers when we reached the end of the data.
Stefan Kost [Mon, 13 Dec 2010 14:23:24 +0000 (16:23 +0200)]
Automatic update of common submodule
From 011bcc8 to 20742ae
Wim Taymans [Mon, 13 Dec 2010 11:56:12 +0000 (12:56 +0100)]
jitterbuffer: avoid leaking sink events
Avoid leaking the newsegment event when it has the wrong format.
Wim Taymans [Sun, 12 Dec 2010 13:53:17 +0000 (14:53 +0100)]
mp4vpay: we can also accept xvid caps
Jan Schmidt [Sat, 11 Dec 2010 14:39:06 +0000 (01:39 +1100)]
deinterlace: Avoid infinite loop draining frames
When the pipeline is flushed just as we're draining history,
don't loop infinitely, just discard the history and abort.
Tim-Philipp Müller [Sat, 11 Dec 2010 17:39:20 +0000 (17:39 +0000)]
jpegdec: add "max-errors" property to ignore decoding errors
Add property to ignore decoding errors. Default is to ignore a few
decoding errors if the input is packetized, but error out immediately
if the input is not packetized.
Ignoring errors for packetized input most likely doesn't work
properly yet, so don't do that for now.
https://bugzilla.gnome.org/show_bug.cgi?id=623063
Tim-Philipp Müller [Fri, 28 May 2010 14:27:14 +0000 (15:27 +0100)]
jpegenc: free/malloc instead of realloc, avoids memcpy
Sebastian Dröge [Sat, 11 Dec 2010 16:49:03 +0000 (17:49 +0100)]
qtdemux: Check if there's actually a seek table before parsing it
Kishore Arepalli [Sat, 11 Dec 2010 16:46:17 +0000 (17:46 +0100)]
qtdemux: Implement CONVERT and FORMATS query
Fixes bug #636784.
Tim-Philipp Müller [Wed, 30 Jun 2010 23:22:07 +0000 (00:22 +0100)]
matroska-demux: put unrecognised RIFF format IDs into the unknown caps
Extra info can't hurt. Field names aren't necessarily consistent with
what's used elsewhere though (e.g. avidemux), but then neither are the
caps.
https://bugzilla.gnome.org/show_bug.cgi?id=623178
Jan Schmidt [Fri, 29 Oct 2010 21:50:14 +0000 (22:50 +0100)]
pulsemixer: Implement MIXER_FLAG_AUTO_NOTIFICATIONS
Add the mixer flag and send notifications when either the volume or muted
status changes.
https://bugzilla.gnome.org/show_bug.cgi?id=618389
Mark Nauwelaerts [Mon, 8 Feb 2010 20:41:29 +0000 (21:41 +0100)]
rtspsrc: mark DISCONT when resuming PLAY
In particular, when streaming interleaved, this arranges for setting a new
timestamp on outgoing buffer so downstream can appropriate reset
to a change in (rtp)time.
Mark Nauwelaerts [Thu, 2 Dec 2010 15:08:34 +0000 (16:08 +0100)]
rtspsrc: degrade gracefully upon failing seek and tweak QUERY_SEEKING response
Mark Nauwelaerts [Mon, 25 Oct 2010 09:51:06 +0000 (11:51 +0200)]
rtspsrc: add and use auto buffering mode
... which selects BUFFER for a non-live stream, and otherwise SLAVE.
Fixes #633088.
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.