platform/upstream/gst-plugins-good.git
12 years agopulse: Chain up dispose() in pulseaudiosink
Arun Raghavan [Fri, 11 Nov 2011 12:35:35 +0000 (18:05 +0530)]
pulse: Chain up dispose() in pulseaudiosink

12 years agoavidemux: fix wrong stride when inverting uncompressed video
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

12 years agoqtdemux: minimal sanity check on creation datetime
Mark Nauwelaerts [Wed, 9 Nov 2011 09:32:06 +0000 (10:32 +0100)]
qtdemux: minimal sanity check on creation datetime

12 years agortph263ppay: Return the sink pad template as sink caps, not the src's
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

12 years agortph263ppay: Also implement size/framerate restrictions in getcaps
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

12 years agortph263ppay: Implement getcaps following RFC 4629, picks the right annexes
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

12 years agoqtdemux: also set segment stop at startup rather than only post seek
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.

12 years agogst/flv/: add amfdefs.h to noinst_HEADERS
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

12 years agoflvdemux: detect large pts gaps and resync
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

12 years agoflacdec: fix off by one between granpos and last_stop
Vincent Penquerc'h [Mon, 22 Aug 2011 09:40:45 +0000 (10:40 +0100)]
flacdec: fix off by one between granpos and last_stop

12 years agoflacparse: fix last frame timestamp in fixed block size mode
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

12 years agocairotextoverlay: add a 'silent' property to skip rendering
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

12 years agomatroskamux: fix regression causing malformed files
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.

12 years agortp: use GLib's G_BIG_ENDIAN define instead of BIG_ENDIAN
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

12 years agoqtmux: avoid shortcut evaluation when adding paired mp4 tag
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.

12 years agomatroskamux: do not use unoffical V_MJPEG codec id
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.

12 years agoflacenc: remove dead code from header
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.

12 years agojpegdec: add sof-marker to template caps, so we don't get plugged for lossless jpeg
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

12 years agoqtdemux: elaborate some debug statements
Mark Nauwelaerts [Fri, 28 Oct 2011 10:30:33 +0000 (12:30 +0200)]
qtdemux: elaborate some debug statements

12 years agoflvdemux: be careful with negative cts
Stas Sergeev [Tue, 11 Oct 2011 16:56:51 +0000 (20:56 +0400)]
flvdemux: be careful with negative cts

Fixes #661477.

12 years agomatroskademux: tune non-update seek handling cases
Mark Nauwelaerts [Thu, 6 Oct 2011 11:04:54 +0000 (13:04 +0200)]
matroskademux: tune non-update seek handling cases

Fixes #661049.

12 years agovideomixer2: Use the clip function instead of the prepare_buffer function
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

12 years agovideomixer2: Use collectpads2 from core
Sebastian Dröge [Fri, 28 Oct 2011 07:36:17 +0000 (09:36 +0200)]
videomixer2: Use collectpads2 from core

12 years agodeinterlace: Don't pointlessly hold object lock over caps operations
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.

12 years agoflvmux: add some comments and defines to clarify code.
Jan Schmidt [Wed, 26 Oct 2011 13:37:03 +0000 (00:37 +1100)]
flvmux: add some comments and defines to clarify code.

12 years agomatroska: refactor ebml-write to be more 0.11 friendly
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.

12 years agomatroska: remove stale floatcast include
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.

12 years agomatroskamux: fix possible crash with malformed dirac codec_data
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.

12 years agoequalizer: remove avoidable call to gst_object_set_name
René Stadler [Fri, 21 Oct 2011 20:33:34 +0000 (22:33 +0200)]
equalizer: remove avoidable call to gst_object_set_name

12 years agodeinterlace: 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

12 years agopngenc: increase arbitrary resolution limits
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.

12 years agopngenc: don't unconditionally allocate 4096 pointers on the stack
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).

12 years agopngenc: ensure setcaps was called before chain function
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".

12 years agopngenc: validate input buffer size
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.

12 years agopngenc: make setcaps more robust, use gstvideo functions
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.

12 years agoebml: small correction to previous commit
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.

12 years agoebml: Fix push-based behaviour
Edward Hervey [Wed, 19 Oct 2011 11:09:51 +0000 (13:09 +0200)]
ebml: Fix push-based behaviour

The 'peek' method was completely wrong (!?)

12 years agopulse: Get caps correctly on pad block
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

12 years agowavpackenc: don't unref buffer with gst_object_unref()
Tim-Philipp Müller [Tue, 18 Oct 2011 11:25:14 +0000 (12:25 +0100)]
wavpackenc: don't unref buffer with gst_object_unref()

12 years agopulsesink: only use is_pcm for 1.0 of pulseaudio
Wim Taymans [Tue, 18 Oct 2011 10:05:01 +0000 (12:05 +0200)]
pulsesink: only use is_pcm for 1.0 of pulseaudio

12 years agopulsesink: only disable trickmodes for !pcm
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.

12 years agovideomixer2: Fix a leak
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.

12 years agoset colour masks for video/x-raw-rgb in rtpvrawdepay
Marc Leeman [Fri, 14 Oct 2011 07:10:01 +0000 (09:10 +0200)]
set colour masks for video/x-raw-rgb in rtpvrawdepay

12 years agovideomixer2: Fix incorrect gst_buffer_replace() call
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.

12 years agortpvrawpay: Only use 24 LSB for depth=24 RGB caps
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

12 years agomatroskamux: fix segment handling, so we actually use running time
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.

12 years agogstrtpg722pay: Compensate for clockrate vs. samplerate difference
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

12 years agojpegdec: Implement upstream negotiation
Sjoerd Simons [Tue, 27 Sep 2011 18:25:53 +0000 (19:25 +0100)]
jpegdec: Implement upstream negotiation

Add upstream negotiation for jpegdec. Fixes #660275

12 years agomatroska-demux: don't leak audio codec_data buffer
Tim-Philipp Müller [Mon, 10 Oct 2011 18:02:58 +0000 (19:02 +0100)]
matroska-demux: don't leak audio codec_data buffer

12 years agotests: add missing PLUGIN_ASE_LIBS to LDADD
Stefan Sauer [Mon, 10 Oct 2011 11:20:04 +0000 (13:20 +0200)]
tests: add missing PLUGIN_ASE_LIBS to LDADD

12 years agospeexenc: only push header buffers following initial events
Mark Nauwelaerts [Sun, 9 Oct 2011 19:31:27 +0000 (21:31 +0200)]
speexenc: only push header buffers following initial events

12 years agoqtmux: Fix memory leak on atoms recovery function
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

12 years agomatroskademux: improve segment handling with non-zero starting timestamp
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

12 years agov4l2, ximagesrc: fix some printf format compiler warnings
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

12 years agotests: qtmux: Refactor bitrate check test
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

12 years agoqtmux: update esds atom under wave atom for aac bitrates
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.

12 years agoqtmux: Also update btrt atom
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

12 years agotests: qtmux: add tests for bitrate average calculation
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

12 years agoqtmux: Calculate average bitrate for streams
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

12 years agoqtmux: Avoid a buffer metadata copy if possible
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.

12 years agospeexenc: initialise variable before adding to it
Tim-Philipp Müller [Thu, 29 Sep 2011 22:21:46 +0000 (23:21 +0100)]
speexenc: initialise variable before adding to it

12 years agospeexdec: port to audiodecoder
Mark Nauwelaerts [Thu, 29 Sep 2011 15:21:22 +0000 (17:21 +0200)]
speexdec: port to audiodecoder

12 years agospeexenc: clean up some unused remnants
Mark Nauwelaerts [Thu, 29 Sep 2011 14:33:01 +0000 (16:33 +0200)]
speexenc: clean up some unused remnants

12 years agospeexenc: port to audioencoder
Mark Nauwelaerts [Thu, 29 Sep 2011 15:32:23 +0000 (17:32 +0200)]
speexenc: port to audioencoder

12 years agoflacenc: port to audioencoder
Mark Nauwelaerts [Wed, 28 Sep 2011 14:09:58 +0000 (16:09 +0200)]
flacenc: port to audioencoder

12 years agomatroskademux: ensure minimal alignment for audio/x-raw-* buffers
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

12 years agogoom2k1: Fix compiler warnings on 64 bit mingw-w64
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.

12 years agosoup: rename souphttpsink to souphttpclientsink
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

12 years agosouphttpsink: don't create unused second sink pad object
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.

12 years agoac3parse: correctly check for ac3/e-ac3 switch
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

12 years agortph264depay: improve downstream flow return feedback to upstream
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.

12 years agoximagesrc: add xid and xname properties to allow capturing a particular window
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

12 years agotests: add unit test to make sure encodebin picks mp4mux for variant=iso
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

12 years agortpbin: Fix a leaked clock for each buffering message
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.

12 years agoqtdemux: parse embedded ID32 tags
Mark Nauwelaerts [Mon, 19 Sep 2011 10:11:32 +0000 (12:11 +0200)]
qtdemux: parse embedded ID32 tags

12 years agortpsession: avoid source premature timing out
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).

12 years agortpsession: avoid timing out source too quickly
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).

12 years agortpjitterbuffer/rtpbin: relax dropping rtcp packets
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).

12 years agortpjitterbuffer: some more reset when clearing pt map
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.

12 years agortspsrc: do not set elements to PLAYING when doing seek in PAUSED
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

12 years agortpjitterbuffer: only reset skew on gap if input ts available
Mark Nauwelaerts [Thu, 1 Sep 2011 12:47:48 +0000 (14:47 +0200)]
rtpjitterbuffer: only reset skew on gap if input ts available

12 years agortpjitterbuffer: check some more for possible rtp timestamp discontinuity
Mark Nauwelaerts [Thu, 18 Aug 2011 12:12:21 +0000 (14:12 +0200)]
rtpjitterbuffer: check some more for possible rtp timestamp discontinuity

... when operating in non slave mode, and reset if detected.
This should avoid some (large) bogus outgoing timestamp due to jumps
in rtp time, as result of PAUSE/PLAY or seek or ...

12 years agortspsrc: switch to rtp time based syncing when guessed appropriate
Mark Nauwelaerts [Mon, 8 Aug 2011 10:48:50 +0000 (12:48 +0200)]
rtspsrc: switch to rtp time based syncing when guessed appropriate

12 years agortpbin: alternative inter-stream syncing methods
Mark Nauwelaerts [Mon, 8 Aug 2011 10:15:20 +0000 (12:15 +0200)]
rtpbin: alternative inter-stream syncing methods

... at least if not syncing to NPT time:
* either sync using RTCP SR data (as currently)
* only perform the above once using initial RTCP SR packets
* discard RTCP and sync by equating provided stream's clock-base rtptime,
  as provided by jitterbuffer (typically obtained from RTP-Info in RTSP).

12 years agortpjitterbuffer: also provide clock-base to sync signal
Mark Nauwelaerts [Mon, 8 Aug 2011 10:11:24 +0000 (12:11 +0200)]
rtpjitterbuffer: also provide clock-base to sync signal

12 years agortpbin: allow configurable rtcp stream syncing interval
Mark Nauwelaerts [Mon, 8 Aug 2011 10:09:41 +0000 (12:09 +0200)]
rtpbin: allow configurable rtcp stream syncing interval

... rather than necessarily syncing at each RTCP SR.

12 years agortpsession: trigger reconsideration if rtcp interval set
Mark Nauwelaerts [Mon, 1 Aug 2011 06:35:01 +0000 (08:35 +0200)]
rtpsession: trigger reconsideration if rtcp interval set

12 years agortspsrc: configure rtcp interval if provided
Mark Nauwelaerts [Mon, 1 Aug 2011 06:32:24 +0000 (08:32 +0200)]
rtspsrc: configure rtcp interval if provided

... in PLAY response.

12 years agoisomp4: Fix allowing zero duration tracks
Lasse Laukkanen [Fri, 16 Sep 2011 13:53:22 +0000 (16:53 +0300)]
isomp4: Fix allowing zero duration tracks

https://bugzilla.gnome.org/show_bug.cgi?id=637486

12 years agoudpsrc: error out when no protocol is specified in the uri
Vincent Penquerc'h [Mon, 5 Sep 2011 09:11:18 +0000 (10:11 +0100)]
udpsrc: error out when no protocol is specified in the uri

It is certainly better than to crash.

https://bugzilla.gnome.org/show_bug.cgi?id=658178

12 years agospeexenc: do not use invalid buffer timestamps
Vincent Penquerc'h [Mon, 19 Sep 2011 07:37:58 +0000 (09:37 +0200)]
speexenc: do not use invalid buffer timestamps

12 years agopulse: New pulseaudiosink element to handle format changes
Arun Raghavan [Tue, 29 Mar 2011 06:39:18 +0000 (12:09 +0530)]
pulse: New pulseaudiosink element to handle format changes

This introduces a new bin which wraps around pulsesink and depending on
the formats supported by the sink, plugs in/out a decodebin2 as
required. This allows users to switch sinks on the stream and adapts
accordingly (for example, you could watch a movie in passthrough mode on
your receiver which supports AC3 decode, then plug out and switch to a
non-digital profile to continue uninterrupted on analog output).

The bin is required because doing the same with playbin2/playsink will
require API changes that cannot be made in 0.10. With 0.11/1.0, we
should be able to ask for upstream caps renegotiation to deal with all
this.

https://bugzilla.gnome.org/show_bug.cgi?id=657179

12 years agomatroskademux: Avoid sending EOS when in paused state
Branko Subasic [Fri, 16 Sep 2011 13:03:23 +0000 (15:03 +0200)]
matroskademux: Avoid sending EOS when in paused state

Changed the ebml reader's gst_ebml_peek_id_length() function so
that it returns the actual reason for why the peek failed, instead
of (almost) always returning GST_FLOW_UNEXPECTED. This prevents
the pulling task from sending EOS when doing a flushing seek.

12 years agomatroskademux: fix stuttering A/V
Vincent Penquerc'h [Thu, 15 Sep 2011 14:53:47 +0000 (15:53 +0100)]
matroskademux: fix stuttering A/V

Someone got had by implicit promotion to unsigned in ops with
a signed and an unsigned value.

https://bugzilla.gnome.org/show_bug.cgi?id=659153

12 years agonavseek: toggle pause/play on space bar
Vincent Penquerc'h [Wed, 14 Sep 2011 15:37:12 +0000 (16:37 +0100)]
navseek: toggle pause/play on space bar

A useful thing to have.

https://bugzilla.gnome.org/show_bug.cgi?id=659065

12 years agomatroskademux: configurable timestamp gap handling
David Svensson Fors [Wed, 14 Sep 2011 12:46:00 +0000 (14:46 +0200)]
matroskademux: configurable timestamp gap handling

matroskademux performs segment tricks to skip gaps in streams,
notably at start for non 0 based files.  There may however be
cases when full presentation (including intermediate gaps) is
desired, so a property allows to configure as of which gap
to act (or not at all).

API: GstMatroskaDemux::max-gap-time

Fixes #659009.

12 years agotests: flvmux: Fix flvmux's tests after fix for request pads handling
Thiago Santos [Mon, 12 Sep 2011 12:21:47 +0000 (09:21 -0300)]
tests: flvmux: Fix flvmux's tests after fix for request pads handling

Now that flvmux doesn't release its request pads on PAUSED->READY the
test doesn't need to re-request them for every reuse test start.

12 years agoqtmux: Fix ctts generation for streams that don't start at 0 timestamps
Thiago Santos [Fri, 9 Sep 2011 12:12:56 +0000 (09:12 -0300)]
qtmux: Fix ctts generation for streams that don't start at 0 timestamps

Subtract the first timestamp of a stream from all input buffers to
get 0-based timestamps for creating a sane ctts table. Without this
patch the ctts could have larger values than needed, causing the
playback to have a delay at startup.

As the first timestamp is only found after a few buffers are queued
(due to possible reordered buffers), once we find the first timestamp
we subtract it from all buffers on the queue, from that point on,
all buffers have their timestamps subtract when they are collected.

https://bugzilla.gnome.org/show_bug.cgi?id=658659

12 years agoflvmux: don't release request pads going PAUSED->READY
Alessandro Decina [Mon, 12 Sep 2011 05:55:19 +0000 (07:55 +0200)]
flvmux: don't release request pads going PAUSED->READY

Don't release request pads but just reset them. This makes pipelines using
flvmux reusable.

12 years agoac3parse: use bsid 9 and 10 to control sample rate
Vincent Penquerc'h [Fri, 9 Sep 2011 11:35:50 +0000 (12:35 +0100)]
ac3parse: use bsid 9 and 10 to control sample rate

See http://matroska.org/technical/specs/codecid/index.html

The spec is silent about this though...

https://bugzilla.gnome.org/show_bug.cgi?id=658546