Commit graph

10318 commits

Author SHA1 Message Date
Mark Nauwelaerts
c0d86fd26f speexenc: reset tag setter interface when appropriate 2011-11-16 19:06:09 +01:00
Mark Nauwelaerts
413f445455 flacenc: reset tag setter interface when appropriate 2011-11-16 19:06:07 +01:00
Vincent Penquerc'h
011c33e91e 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.
2011-11-14 15:53:36 +00:00
Olivier Crête
1169bb05af gstrtpsession: Add special mode to use FIR as repair as Google does
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
79a9564c68 rtpsession: Send FIR requests in response to key unit requests with all-headers=TRUE
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
12a6b9613b 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
2011-11-14 12:26:27 +01:00
Olivier Crête
59c028a4ce rtpsession: Hack to FIR because Google doesn't set the sender ssrc correctly
https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Olivier Crête
0ad78db0a3 rtpsession: Process received Full Intra Requests
Process FIR requests according to RFC 5104

https://bugzilla.gnome.org/show_bug.cgi?id=658419
2011-11-14 12:26:27 +01:00
Sjoerd Simons
e7ae593993 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
2011-11-14 11:43:41 +01:00
Thiago Santos
d6a9de9e2a pulseaudiosink: fix caps leak 2011-11-11 11:02:22 -03:00
Mark Nauwelaerts
37c8abcdbd pulsesink: do not leak clientname when setting up property 2011-11-11 14:59:04 +01:00
Arun Raghavan
6a8af50111 pulse: Chain up dispose() in pulseaudiosink 2011-11-11 18:05:35 +05:30
Vincent Penquerc'h
f4506d5181 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
2011-11-09 11:43:41 +00:00
Mark Nauwelaerts
9c3516116a qtdemux: minimal sanity check on creation datetime 2011-11-09 10:33:18 +01:00
Olivier Crête
e15c293f13 rtph263ppay: Return the sink pad template as sink caps, not the src's
https://bugzilla.gnome.org/show_bug.cgi?id=577784
2011-11-08 15:53:39 +01:00
Olivier Crête
4b28d9d44e rtph263ppay: Also implement size/framerate restrictions in getcaps
https://bugzilla.gnome.org/show_bug.cgi?id=577784
2011-11-08 15:53:18 +01:00
Olivier Crête
ff31090671 rtph263ppay: Implement getcaps following RFC 4629, picks the right annexes
https://bugzilla.gnome.org/show_bug.cgi?id=577784
2011-11-08 15:52:57 +01:00
Mark Nauwelaerts
4946cc5e7f 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.
2011-11-08 14:58:09 +01:00
Raul Gutierrez Segales
91af805636 gst/flv/: add amfdefs.h to noinst_HEADERS
https://bugzilla.gnome.org/show_bug.cgi?id=663334
2011-11-07 17:28:38 +00:00
Vincent Penquerc'h
cf3f3f14da 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
2011-11-07 12:38:49 +00:00
Vincent Penquerc'h
5a73374f2c flacdec: fix off by one between granpos and last_stop 2011-11-07 12:38:10 +00:00
Vincent Penquerc'h
14a9d1d66e 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
2011-11-07 12:37:10 +00:00
Vincent Penquerc'h
6a25727321 cairotextoverlay: add a 'silent' property to skip rendering
https://bugzilla.gnome.org/show_bug.cgi?id=662856
2011-11-07 12:35:26 +00:00
René Stadler
2a139a28d9 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.
2011-11-07 12:00:12 +01:00
Tim-Philipp Müller
d65490dfad rtp: use GLib's G_BIG_ENDIAN define instead of BIG_ENDIAN
Fixes compiler warning on mingw32
2011-11-03 23:28:31 +00:00
Mark Nauwelaerts
57684fee3a qtmux: avoid shortcut evaluation when adding paired mp4 tag
Fixes (part of) #638711.
2011-10-31 16:25:59 +01:00
Mark Nauwelaerts
00c8ae733d matroskamux: do not use unoffical V_MJPEG codec id
... but as not spec'ed especially, consider it a VfW compatibility case.

Fixes #659837.
2011-10-31 15:47:14 +01:00
Tim-Philipp Müller
d6e1f53233 flacenc: remove dead code from header
We require a new-enough libflac that this condition will never apply.
2011-10-30 19:30:14 +00:00
Tim-Philipp Müller
ff40deb139 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
2011-10-28 12:10:34 +01:00
Mark Nauwelaerts
96fc28eacd qtdemux: elaborate some debug statements 2011-10-28 12:31:17 +02:00
Stas Sergeev
6b168ffb44 flvdemux: be careful with negative cts
Fixes #661477.
2011-10-28 12:31:15 +02:00
Mark Nauwelaerts
4924308d02 matroskademux: tune non-update seek handling cases
Fixes #661049.
2011-10-28 12:13:51 +02:00
Sebastian Dröge
c603bf9891 videomixer2: Use the clip function instead of the prepare_buffer function 2011-10-28 10:40:36 +02:00
Sebastian Dröge
ae07ebedc9 videomixer2: Use collectpads2 from core 2011-10-28 09:36:17 +02:00
Jan Schmidt
3b03db5e40 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.
2011-10-28 00:41:45 +11:00
Jan Schmidt
f6255bb8d0 flvmux: add some comments and defines to clarify code. 2011-10-27 00:41:29 +11:00
René Stadler
1b213d905a 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.
2011-10-21 23:17:16 +02:00
René Stadler
003a14e15a matroska: remove stale floatcast include
GDOUBLE_TO_BE was moved to core a long time ago.
2011-10-21 22:41:57 +02:00
René Stadler
6fc85e6c9d matroskamux: fix possible crash with malformed dirac codec_data
Since size is unsigned, we need to safeguard against wrapping below zero.
2011-10-21 22:41:57 +02:00
René Stadler
6082f27d48 equalizer: remove avoidable call to gst_object_set_name 2011-10-21 22:33:34 +02:00
René Stadler
dcd493279d deinterlace: remove avoidable call to gst_object_set_name 2011-10-21 22:32:38 +02:00
René Stadler
41116224c8 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.
2011-10-21 10:27:04 +02:00
René Stadler
db1f10adc8 pngenc: don't unconditionally allocate 4096 pointers on the stack
Instead allocate as many as needed (on the stack still).
2011-10-21 10:26:48 +02:00
René Stadler
65f9354803 pngenc: ensure setcaps was called before chain function
This is needed to properly error out for e.g. "fakesrc ! pngenc ! fakesink".
2011-10-21 10:26:20 +02:00
René Stadler
7e390c4635 pngenc: validate input buffer size
Just for safety; of course such mismatch represents a bug in another element.
2011-10-21 10:25:51 +02:00
René Stadler
9eb55c3d8f 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.
2011-10-21 10:25:08 +02:00
René Stadler
5baca05ec3 ebml: small correction to previous commit
Signal a short read with UNEXPECTED, exactly like the peek_bytes function.
2011-10-21 10:03:14 +02:00
Edward Hervey
4b5f8ff8d1 ebml: Fix push-based behaviour
The 'peek' method was completely wrong (!?)
2011-10-19 13:10:47 +02:00
Arun Raghavan
a7790efd04 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
2011-10-18 20:02:55 +05:30
Tim-Philipp Müller
e9ad06e202 wavpackenc: don't unref buffer with gst_object_unref() 2011-10-18 12:25:14 +01:00