Sebastian Dröge [Thu, 24 Nov 2011 08:53:18 +0000 (09:53 +0100)]
amrparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
Sebastian Dröge [Thu, 24 Nov 2011 08:49:27 +0000 (09:49 +0100)]
amrparse: Mark some more functions as static
Sebastian Dröge [Thu, 24 Nov 2011 08:48:33 +0000 (09:48 +0100)]
ac3parse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
Sebastian Dröge [Thu, 24 Nov 2011 08:44:58 +0000 (09:44 +0100)]
aacparse: Mark some functions as static and remove unused function declarations
Sebastian Dröge [Thu, 24 Nov 2011 08:43:14 +0000 (09:43 +0100)]
aacparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
Tim-Philipp Müller [Wed, 23 Nov 2011 00:57:39 +0000 (00:57 +0000)]
tests: add basic unit test for matroskaparse
Tim-Philipp Müller [Wed, 23 Nov 2011 00:56:26 +0000 (00:56 +0000)]
matroskaparse: don't leak stream headers
https://bugzilla.gnome.org/show_bug.cgi?id=664548
Mark Nauwelaerts [Wed, 16 Nov 2011 18:08:05 +0000 (19:08 +0100)]
speexenc: ensure to free allocated padded data
Mark Nauwelaerts [Wed, 16 Nov 2011 17:57:38 +0000 (18:57 +0100)]
speexenc: reset tag setter interface when appropriate
Mark Nauwelaerts [Wed, 16 Nov 2011 17:57:21 +0000 (18:57 +0100)]
flacenc: reset tag setter interface when appropriate
Vincent Penquerc'h [Mon, 14 Nov 2011 15:34:57 +0000 (15:34 +0000)]
flacparse: detect when a file lies about fixed block size
If the sample/block number happens to be the same as the block
size, we assume variable block size, and thus counters in samples
in the headers. This can only get us a false positive for a block
size of 1, which is invalid. We can get false negatives more
often though (eg, if not starting at the start of the stream),
but then that's already GIGO.
Olivier Crête [Fri, 2 Sep 2011 23:20:07 +0000 (19:20 -0400)]
gstrtpsession: Add special mode to use FIR as repair as Google does
https://bugzilla.gnome.org/show_bug.cgi?id=658419
Olivier Crête [Thu, 1 Sep 2011 21:47:38 +0000 (17:47 -0400)]
rtpsession: Send FIR requests in response to key unit requests with all-headers=TRUE
https://bugzilla.gnome.org/show_bug.cgi?id=658419
Olivier Crête [Thu, 1 Sep 2011 20:25:21 +0000 (16:25 -0400)]
rtpsession: Put the PLI requests in each RTPSource
Also refactor a bit and put all the keyframe request code in one
place inside rtpsession.c
https://bugzilla.gnome.org/show_bug.cgi?id=658419
Olivier Crête [Wed, 31 Aug 2011 18:35:33 +0000 (14:35 -0400)]
rtpsession: Hack to FIR because Google doesn't set the sender ssrc correctly
https://bugzilla.gnome.org/show_bug.cgi?id=658419
Olivier Crête [Tue, 30 Aug 2011 23:06:13 +0000 (19:06 -0400)]
rtpsession: Process received Full Intra Requests
Process FIR requests according to RFC 5104
https://bugzilla.gnome.org/show_bug.cgi?id=658419
Sjoerd Simons [Mon, 7 Nov 2011 18:43:26 +0000 (18:43 +0000)]
v4l2: Set pixel-aspect-ratio to 1/1
We don't currently support setting the pixel-aspect-ratio from V4L2. So
simply set it to be 1/1 in the caps to prevent negotiation failures when
fixating to weird values (e.g. when the downstream caps has
pixel-aspect-ratio = [ MIN, MAX ] )
https://bugzilla.gnome.org/show_bug.cgi?id=663580
Thiago Santos [Fri, 11 Nov 2011 13:06:25 +0000 (10:06 -0300)]
pulseaudiosink: fix caps leak
Mark Nauwelaerts [Fri, 11 Nov 2011 13:55:48 +0000 (14:55 +0100)]
pulsesink: do not leak clientname when setting up property
Arun Raghavan [Fri, 11 Nov 2011 12:35:35 +0000 (18:05 +0530)]
pulse: Chain up dispose() in pulseaudiosink
Vincent Penquerc'h [Tue, 8 Nov 2011 15:35:26 +0000 (15:35 +0000)]
avidemux: fix wrong stride when inverting uncompressed video
Such frames have a stride multiple of 4, see
http://lscube.org/pipermail/ffmpeg-issues/2010-April/010247.html.
This showed up on a sample using a odd width of 24 bit video.
https://bugzilla.gnome.org/show_bug.cgi?id=652288
Mark Nauwelaerts [Wed, 9 Nov 2011 09:32:06 +0000 (10:32 +0100)]
qtdemux: minimal sanity check on creation datetime
Olivier Crête [Wed, 2 Nov 2011 16:58:12 +0000 (12:58 -0400)]
rtph263ppay: Return the sink pad template as sink caps, not the src's
https://bugzilla.gnome.org/show_bug.cgi?id=577784
Olivier Crête [Sun, 15 Mar 2009 23:26:48 +0000 (19:26 -0400)]
rtph263ppay: Also implement size/framerate restrictions in getcaps
https://bugzilla.gnome.org/show_bug.cgi?id=577784
Olivier Crête [Thu, 5 Mar 2009 01:50:19 +0000 (20:50 -0500)]
rtph263ppay: Implement getcaps following RFC 4629, picks the right annexes
https://bugzilla.gnome.org/show_bug.cgi?id=577784
Mark Nauwelaerts [Tue, 8 Nov 2011 13:31:34 +0000 (14:31 +0100)]
qtdemux: also set segment stop at startup rather than only post seek
... so as to ensure consistent playback with or without seek, especially
in presence of some bogus edit list entries.
Raul Gutierrez Segales [Wed, 2 Nov 2011 17:02:54 +0000 (17:02 +0000)]
gst/flv/: add amfdefs.h to noinst_HEADERS
https://bugzilla.gnome.org/show_bug.cgi?id=663334
Vincent Penquerc'h [Mon, 3 Oct 2011 16:50:43 +0000 (17:50 +0100)]
flvdemux: detect large pts gaps and resync
Should work on multiple gaps, but tested on only one.
https://bugzilla.gnome.org/show_bug.cgi?id=631430
Vincent Penquerc'h [Mon, 22 Aug 2011 09:40:45 +0000 (10:40 +0100)]
flacdec: fix off by one between granpos and last_stop
Vincent Penquerc'h [Fri, 7 Oct 2011 18:41:35 +0000 (19:41 +0100)]
flacparse: fix last frame timestamp in fixed block size mode
The last block may have a different block size, so we should not
use it to scale or we'll end up with a wrong timestamp.
See comment and quote from the FLAC format documentation in the code.
Fixes looped playback of FLAC files (via about-to-finish).
https://bugzilla.gnome.org/show_bug.cgi?id=661215
Vincent Penquerc'h [Thu, 27 Oct 2011 14:52:47 +0000 (15:52 +0100)]
cairotextoverlay: add a 'silent' property to skip rendering
https://bugzilla.gnome.org/show_bug.cgi?id=662856
René Stadler [Mon, 7 Nov 2011 11:00:12 +0000 (12:00 +0100)]
matroskamux: fix regression causing malformed files
This was caused by me in 1b213d. It seems I was too focused on 0.11 when I did
this and tested the wrong branch.
The problem was reported by Alexey Fisher.
Tim-Philipp Müller [Thu, 3 Nov 2011 23:28:31 +0000 (23:28 +0000)]
rtp: use GLib's G_BIG_ENDIAN define instead of BIG_ENDIAN
Fixes compiler warning on mingw32
Mark Nauwelaerts [Mon, 31 Oct 2011 15:18:32 +0000 (16:18 +0100)]
qtmux: avoid shortcut evaluation when adding paired mp4 tag
Fixes (part of) #638711.
Mark Nauwelaerts [Mon, 31 Oct 2011 14:43:25 +0000 (15:43 +0100)]
matroskamux: do not use unoffical V_MJPEG codec id
... but as not spec'ed especially, consider it a VfW compatibility case.
Fixes #659837.
Tim-Philipp Müller [Sun, 30 Oct 2011 19:30:14 +0000 (19:30 +0000)]
flacenc: remove dead code from header
We require a new-enough libflac that this condition will never apply.
Tim-Philipp Müller [Fri, 28 Oct 2011 08:57:36 +0000 (09:57 +0100)]
jpegdec: add sof-marker to template caps, so we don't get plugged for lossless jpeg
jpegdec (using libjpeg 6.2/8) can't decode some lossless types of JPEG.
https://bugzilla.gnome.org/show_bug.cgi?id=556648
Mark Nauwelaerts [Fri, 28 Oct 2011 10:30:33 +0000 (12:30 +0200)]
qtdemux: elaborate some debug statements
Stas Sergeev [Tue, 11 Oct 2011 16:56:51 +0000 (20:56 +0400)]
flvdemux: be careful with negative cts
Fixes #661477.
Mark Nauwelaerts [Thu, 6 Oct 2011 11:04:54 +0000 (13:04 +0200)]
matroskademux: tune non-update seek handling cases
Fixes #661049.
Sebastian Dröge [Fri, 28 Oct 2011 08:40:36 +0000 (10:40 +0200)]
videomixer2: Use the clip function instead of the prepare_buffer function
Sebastian Dröge [Fri, 28 Oct 2011 07:36:17 +0000 (09:36 +0200)]
videomixer2: Use collectpads2 from core
Jan Schmidt [Thu, 27 Oct 2011 13:41:45 +0000 (00:41 +1100)]
deinterlace: Don't pointlessly hold object lock over caps operations
Avoids a deadlock when getcaps is recursive due to the getcaps being
reflected upstream/downstream. The lock isn't actually protecting
anything here.
Jan Schmidt [Wed, 26 Oct 2011 13:37:03 +0000 (00:37 +1100)]
flvmux: add some comments and defines to clarify code.
René Stadler [Mon, 10 Oct 2011 13:36:14 +0000 (15:36 +0200)]
matroska: refactor ebml-write to be more 0.11 friendly
Switching to a more 0.11-friendly pattern, where getting the buffer's data
pointer and setting the size many times is less natural. This is of course in
preparation to the upcoming port of the plugin.
René Stadler [Tue, 11 Oct 2011 19:45:46 +0000 (21:45 +0200)]
matroska: remove stale floatcast include
GDOUBLE_TO_BE was moved to core a long time ago.
René Stadler [Tue, 11 Oct 2011 20:10:27 +0000 (22:10 +0200)]
matroskamux: fix possible crash with malformed dirac codec_data
Since size is unsigned, we need to safeguard against wrapping below zero.
René Stadler [Fri, 21 Oct 2011 20:33:34 +0000 (22:33 +0200)]
equalizer: remove avoidable call to gst_object_set_name
René Stadler [Fri, 21 Oct 2011 20:32:38 +0000 (22:32 +0200)]
deinterlace: remove avoidable call to gst_object_set_name
René Stadler [Sun, 16 Oct 2011 18:30:25 +0000 (20:30 +0200)]
pngenc: increase arbitrary resolution limits
Apparently libpng can technically do up to 2^31-1 rows and columns. However it
imposes an (arbitrary) default limit of 1 million (that could theoretically be
lifted by using some additional API).
Moved array allocation to the heap now.
René Stadler [Sun, 16 Oct 2011 18:25:41 +0000 (20:25 +0200)]
pngenc: don't unconditionally allocate 4096 pointers on the stack
Instead allocate as many as needed (on the stack still).
René Stadler [Sun, 16 Oct 2011 18:05:28 +0000 (20:05 +0200)]
pngenc: ensure setcaps was called before chain function
This is needed to properly error out for e.g. "fakesrc ! pngenc ! fakesink".
René Stadler [Sun, 16 Oct 2011 17:44:27 +0000 (19:44 +0200)]
pngenc: validate input buffer size
Just for safety; of course such mismatch represents a bug in another element.
René Stadler [Sun, 16 Oct 2011 17:41:28 +0000 (19:41 +0200)]
pngenc: make setcaps more robust, use gstvideo functions
A setcaps function needs to actually verify the caps carefully. In this case,
it was possible to e.g. link a video decoder with YUV+RGB template caps to
pngenc. That would cause a crash when the decoder pushes a YUV buffer. Same
thing when pushing a valid buffer that exceeds the resolution limits.
Also, missing framerate caps field would cause a glib critical warning due to
invalid GValue. This fails hard now.
René Stadler [Fri, 21 Oct 2011 08:01:43 +0000 (10:01 +0200)]
ebml: small correction to previous commit
Signal a short read with UNEXPECTED, exactly like the peek_bytes function.
Edward Hervey [Wed, 19 Oct 2011 11:09:51 +0000 (13:09 +0200)]
ebml: Fix push-based behaviour
The 'peek' method was completely wrong (!?)
Arun Raghavan [Tue, 18 Oct 2011 13:01:17 +0000 (18:31 +0530)]
pulse: Get caps correctly on pad block
Instead of always going upstream, we should first see if already got
caps from a setcaps() call.
https://bugzilla.gnome.org/show_bug.cgi?id=661262
Tim-Philipp Müller [Tue, 18 Oct 2011 11:25:14 +0000 (12:25 +0100)]
wavpackenc: don't unref buffer with gst_object_unref()
Wim Taymans [Tue, 18 Oct 2011 10:05:01 +0000 (12:05 +0200)]
pulsesink: only use is_pcm for 1.0 of pulseaudio
Wim Taymans [Tue, 18 Oct 2011 09:58:57 +0000 (11:58 +0200)]
pulsesink: only disable trickmodes for !pcm
Only disable trickmodes when we are not dealing with raw PCM samples.
Arun Raghavan [Fri, 14 Oct 2011 05:26:16 +0000 (10:56 +0530)]
videomixer2: Fix a leak
Buffers weren't being unref'ed in one case inside, causing memory usage
to blow up.
Marc Leeman [Fri, 14 Oct 2011 07:10:01 +0000 (09:10 +0200)]
set colour masks for video/x-raw-rgb in rtpvrawdepay
Arun Raghavan [Thu, 13 Oct 2011 11:29:50 +0000 (16:59 +0530)]
videomixer2: Fix incorrect gst_buffer_replace() call
This got exposed when gst_buffer_replace() was changed from a macro to a
function.
Edward Hervey [Wed, 12 Oct 2011 09:26:50 +0000 (11:26 +0200)]
rtpvrawpay: Only use 24 LSB for depth=24 RGB caps
... and indent the masks for clarity
René Stadler [Tue, 11 Oct 2011 12:58:43 +0000 (14:58 +0200)]
matroskamux: fix segment handling, so we actually use running time
gst_matroska_mux_best_pad adjusts the buffer timestamp to running time using
the segment stored in the pad's collect data. However, the event handler didn't
pass the newsegment event on to collectpads' handler, so this segment was never
updated at all.
Re-fixes bug #432612.
Sjoerd Simons [Mon, 10 Oct 2011 18:01:23 +0000 (19:01 +0100)]
gstrtpg722pay: Compensate for clockrate vs. samplerate difference
The RTP clock-rate used for G722 is 8000, even though the samplerate is
16000. Compensate for this by pretending G722 has 8 bits per sample
instead of the 4 bits as if it were a codec that ran at half the speed,
but with twice the number of bits. Fixes #661376
Sjoerd Simons [Tue, 27 Sep 2011 18:25:53 +0000 (19:25 +0100)]
jpegdec: Implement upstream negotiation
Add upstream negotiation for jpegdec. Fixes #660275
Tim-Philipp Müller [Mon, 10 Oct 2011 18:02:58 +0000 (19:02 +0100)]
matroska-demux: don't leak audio codec_data buffer
Stefan Sauer [Mon, 10 Oct 2011 11:20:04 +0000 (13:20 +0200)]
tests: add missing PLUGIN_ASE_LIBS to LDADD
Mark Nauwelaerts [Sun, 9 Oct 2011 19:31:27 +0000 (21:31 +0200)]
speexenc: only push header buffers following initial events
Thiago Santos [Sun, 9 Oct 2011 14:18:18 +0000 (11:18 -0300)]
qtmux: Fix memory leak on atoms recovery function
Remember to free the ftyp data after writing it to a file.
Fixes #660969
Vincent Penquerc'h [Wed, 21 Sep 2011 17:45:42 +0000 (18:45 +0100)]
matroskademux: improve segment handling with non-zero starting timestamp
... as well as related items, such as seeking and position reporting.
https://bugzilla.gnome.org/show_bug.cgi?id=659808
Stas Sergeev [Thu, 29 Sep 2011 14:41:53 +0000 (18:41 +0400)]
v4l2, ximagesrc: fix some printf format compiler warnings
https://bugzilla.gnome.org/show_bug.cgi?id=660150
Thiago Santos [Fri, 30 Sep 2011 15:42:22 +0000 (12:42 -0300)]
tests: qtmux: Refactor bitrate check test
Refactor bitrate check test to accomodate multiple tests
for bitrate
Thiago Santos [Fri, 30 Sep 2011 16:02:31 +0000 (13:02 -0300)]
qtmux: update esds atom under wave atom for aac bitrates
AAC in mov format puts an ESDS atom inside of a WAVE atom in
STSD atom, we need to update the bitrate on this ESDS. This patch
fixes it.
Thiago Santos [Fri, 30 Sep 2011 15:41:52 +0000 (12:41 -0300)]
qtmux: Also update btrt atom
When rewriting bitrates, also update the btrt atom under stsd
Thiago Santos [Fri, 30 Sep 2011 13:55:53 +0000 (10:55 -0300)]
tests: qtmux: add tests for bitrate average calculation
Adds tests to make sure qtmux/mp4mux sets average bitrate
correctly
Thiago Santos [Wed, 28 Sep 2011 14:41:49 +0000 (11:41 -0300)]
qtmux: Calculate average bitrate for streams
Calculate and use average bitrate for streams when no
bitrate tag was received
Thiago Santos [Wed, 28 Sep 2011 13:41:14 +0000 (10:41 -0300)]
qtmux: Avoid a buffer metadata copy if possible
If first_ts is 0 there is no need to subtract, so we might
skip some copying to make the buffer metadata writable.
Tim-Philipp Müller [Thu, 29 Sep 2011 22:21:46 +0000 (23:21 +0100)]
speexenc: initialise variable before adding to it
Mark Nauwelaerts [Thu, 29 Sep 2011 15:21:22 +0000 (17:21 +0200)]
speexdec: port to audiodecoder
Mark Nauwelaerts [Thu, 29 Sep 2011 14:33:01 +0000 (16:33 +0200)]
speexenc: clean up some unused remnants
Mark Nauwelaerts [Thu, 29 Sep 2011 15:32:23 +0000 (17:32 +0200)]
speexenc: port to audioencoder
Mark Nauwelaerts [Wed, 28 Sep 2011 14:09:58 +0000 (16:09 +0200)]
flacenc: port to audioencoder
Vincent Penquerc'h [Tue, 27 Sep 2011 14:59:24 +0000 (15:59 +0100)]
matroskademux: ensure minimal alignment for audio/x-raw-* buffers
Since matroskademux will attempt to push unaligned buffers,
downstream might have trouble with those, especially if downstream
uses ORC, such as audioconvert.
Ensure we push buffers aligned to the basic type at least for
those raw buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=659798
Raimo Järvi [Tue, 27 Sep 2011 21:10:09 +0000 (00:10 +0300)]
goom2k1: Fix compiler warnings on 64 bit mingw-w64
Fixes bug #660294.
Tim-Philipp Müller [Sun, 25 Sep 2011 14:13:39 +0000 (15:13 +0100)]
soup: rename souphttpsink to souphttpclientsink
To avoid confusion, and because we might want a server
sink at some point too.
https://bugzilla.gnome.org/show_bug.cgi?id=659947
Tim-Philipp Müller [Fri, 23 Sep 2011 15:39:46 +0000 (16:39 +0100)]
souphttpsink: don't create unused second sink pad object
The base class will create the sink pad.
Julien Isorce [Fri, 23 Sep 2011 13:36:36 +0000 (15:36 +0200)]
ac3parse: correctly check for ac3/e-ac3 switch
https://bugzilla.gnome.org/show_bug.cgi?id=659943
Mark Nauwelaerts [Tue, 20 Sep 2011 11:38:53 +0000 (13:38 +0200)]
rtph264depay: improve downstream flow return feedback to upstream
... although basertpdepay does not really make it easy/possible to do so
all the way.
Vincent Penquerc'h [Tue, 20 Sep 2011 11:11:47 +0000 (12:11 +0100)]
ximagesrc: add xid and xname properties to allow capturing a particular window
A particular window may be selected using the new xid (X-Window
XID, eg a pointer) and xname (window title) properties. If both
are specified, the XID is used in preference, falling back to
xname if not found.
Default (if none of xid and xname are specified, or if no such
window is found) is to capture the root window.
https://bugzilla.gnome.org/show_bug.cgi?id=546932
Tim-Philipp Müller [Tue, 2 Aug 2011 16:39:44 +0000 (17:39 +0100)]
tests: add unit test to make sure encodebin picks mp4mux for variant=iso
https://bugzilla.gnome.org/show_bug.cgi?id=651496
Ha Nguyen [Mon, 19 Sep 2011 10:15:11 +0000 (12:15 +0200)]
rtpbin: Fix a leaked clock for each buffering message
Fixes bug #659237.
Mark Nauwelaerts [Mon, 19 Sep 2011 10:11:32 +0000 (12:11 +0200)]
qtdemux: parse embedded ID32 tags
Mark Nauwelaerts [Fri, 2 Sep 2011 11:41:41 +0000 (13:41 +0200)]
rtpsession: avoid source premature timing out
Use slightly adjusted sender interval to determine sender timeout rather than
our own sender side interval (which may have been forced small).
Mark Nauwelaerts [Thu, 25 Aug 2011 10:40:52 +0000 (12:40 +0200)]
rtpsession: avoid timing out source too quickly
... following a PAUSE/PLAY cycle, particularly applicable when operating
with a short RTCP interval (possibly forced so server-side).
Mark Nauwelaerts [Wed, 24 Aug 2011 12:37:52 +0000 (14:37 +0200)]
rtpjitterbuffer/rtpbin: relax dropping rtcp packets
... to at least having it trigger a/v synchronization, possibly without
using provided values which are still not considered sane
(as previously dropped).
Mark Nauwelaerts [Wed, 24 Aug 2011 12:34:23 +0000 (14:34 +0200)]
rtpjitterbuffer: some more reset when clearing pt map
... which in particular caters for some more reset following a possible
rtsp PLAY.
Mark Nauwelaerts [Sun, 21 Aug 2011 19:58:38 +0000 (21:58 +0200)]
rtspsrc: do not set elements to PLAYING when doing seek in PAUSED
Mark Nauwelaerts [Thu, 1 Sep 2011 12:47:48 +0000 (14:47 +0200)]
rtpjitterbuffer: only reset skew on gap if input ts available