platform/upstream/gst-plugins-good.git
9 years agortspsrc: fix leak for mikey base64 decoded key-mgmt
Aleix Conchillo Flaqué [Wed, 19 Nov 2014 23:06:00 +0000 (15:06 -0800)]
rtspsrc: fix leak for mikey base64 decoded key-mgmt

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

9 years agovideobalance: fix unhandled format in passthrough
Wim Taymans [Thu, 20 Nov 2014 08:01:38 +0000 (09:01 +0100)]
videobalance: fix unhandled format in passthrough

In passthrough we can handle all formats.

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

9 years agoflvdemux: Restrict resyncing to TS regressions
Jan Alexander Steffens (heftig) [Wed, 19 Nov 2014 15:12:38 +0000 (16:12 +0100)]
flvdemux: Restrict resyncing to TS regressions

The behavior of resyncing video and audio indepen-
dently can cause A/V desyncs. Lets restrict resyncs
to jumps backward for now.

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

9 years agovideomixer: fix up QoS handling for live sources
Matthew Waters [Mon, 17 Nov 2014 12:16:03 +0000 (23:16 +1100)]
videomixer: fix up QoS handling for live sources

Only attempt adaptive drop when we are not live

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

9 years agoexamples: port python rtp PCMA client/server tests to 1.0
Henning Heinold [Mon, 10 Nov 2014 21:34:39 +0000 (22:34 +0100)]
examples: port python rtp PCMA client/server tests to 1.0

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

9 years agoflacdec: set the channel positions using the appropriate API
Vincent Penquerc'h [Wed, 4 Jun 2014 11:11:10 +0000 (12:11 +0100)]
flacdec: set the channel positions using the appropriate API

This avoids _set_format setting the unpositioned flag when passed
NULL as channel positions, as it would not be cleared when setting
actual channel positions later.

9 years agovpx: mark arnr-type properties as deprecated and set them to no-op
Aurélien Zanelli [Sat, 1 Nov 2014 21:39:41 +0000 (22:39 +0100)]
vpx: mark arnr-type properties as deprecated and set them to no-op

ARNR type control in libvpx has been deprecated so this commit mark the
vp8enc and vp9enc associated properties as deprecated and change their
behavior to just display a warning message.

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

9 years agortpmanager: Trivial typo fix
Arun Raghavan [Mon, 10 Nov 2014 07:46:01 +0000 (13:16 +0530)]
rtpmanager: Trivial typo fix

9 years agomatroska-mux: Use G_DEFINE_TYPE() to register the pad instead of manually registering it
Sebastian Dröge [Sun, 9 Nov 2014 10:04:33 +0000 (11:04 +0100)]
matroska-mux: Use G_DEFINE_TYPE() to register the pad instead of manually registering it

9 years agomatroskamux: make GstMatroskamuxPad get_type() function thread-safe
Göran Jönsson [Thu, 6 Nov 2014 14:37:28 +0000 (15:37 +0100)]
matroskamux: make GstMatroskamuxPad get_type() function thread-safe

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

9 years agov4l2allocator: fix error message if allocator is already active
Aurélien Zanelli [Fri, 7 Nov 2014 15:11:24 +0000 (16:11 +0100)]
v4l2allocator: fix error message if allocator is already active

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

9 years agov4l2bufferpool: Improve buffer validation
Nicolas Dufresne [Fri, 7 Nov 2014 02:21:40 +0000 (21:21 -0500)]
v4l2bufferpool: Improve buffer validation

Improve buffer validation by making sure each memory are the right
one and that each memory is writable. This fixes tearing issues in
case downstream uses gst_buffer_make_writable() or other type
of GstBuffer copy where memory are only reffed.

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

9 years agortsp: fix build in gst-uninstalled setup
Josep Torra [Thu, 6 Nov 2014 20:38:43 +0000 (21:38 +0100)]
rtsp: fix build in gst-uninstalled setup

9 years agoimagefreeze: Handle seqnums
Thibault Saunier [Wed, 29 Oct 2014 17:44:43 +0000 (18:44 +0100)]
imagefreeze: Handle seqnums

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

9 years agopngdec: change parse logic
Vineeth T M [Tue, 4 Nov 2014 02:48:41 +0000 (08:18 +0530)]
pngdec: change parse logic

Right now in parse logic the signature is checked every time the parse function
is called, and the whole data is the scanned each and every time, even though the
data is scanned in the previous instance. Changing the logic such that, we skip
the bytes which are already scanned in the previous instances of parse. This
helps in avoiding multiple scan of already scanned data/signature.

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

9 years agovideomixer2: reverse order of params for converter
Wim Taymans [Mon, 3 Nov 2014 14:26:06 +0000 (15:26 +0100)]
videomixer2: reverse order of params for converter

9 years agov4l2bufferpool: fix typo in flags
Aurélien Zanelli [Mon, 3 Nov 2014 10:44:28 +0000 (11:44 +0100)]
v4l2bufferpool: fix typo in flags

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

9 years agov4l2src: fix a couple of minor leaks
Tim-Philipp Müller [Sun, 2 Nov 2014 23:33:23 +0000 (23:33 +0000)]
v4l2src: fix a couple of minor leaks

9 years agogoom2k1: post QoS messages when dropping frames due to QoS
Tim-Philipp Müller [Sun, 2 Nov 2014 19:42:03 +0000 (19:42 +0000)]
goom2k1: post QoS messages when dropping frames due to QoS

9 years agogoom: post QoS messages when dropping frames due to QoS
Tim-Philipp Müller [Sun, 2 Nov 2014 19:29:52 +0000 (19:29 +0000)]
goom: post QoS messages when dropping frames due to QoS

9 years agomatroskamux: tweak writing app tag string a little
Tim-Philipp Müller [Sun, 2 Nov 2014 19:02:35 +0000 (19:02 +0000)]
matroskamux: tweak writing app tag string a little

9 years agoSprinkle some G_PARAM_DEPRECATED and #ifndef GST_REMOVE_DEPRECATED
Tim-Philipp Müller [Sun, 2 Nov 2014 16:51:23 +0000 (16:51 +0000)]
Sprinkle some G_PARAM_DEPRECATED and #ifndef GST_REMOVE_DEPRECATED

9 years agotests: don't use deprecated property in level unit test
Tim-Philipp Müller [Sun, 2 Nov 2014 16:58:07 +0000 (16:58 +0000)]
tests: don't use deprecated property in level unit test

9 years agortpjitterbuffer: implement get/set for new rtx-min-retry-timeout property
Tim-Philipp Müller [Sun, 2 Nov 2014 13:06:33 +0000 (13:06 +0000)]
rtpjitterbuffer: implement get/set for new rtx-min-retry-timeout property

Properties are so much more useful if you can actually set
and get their values.

9 years agov4l2: Clean up interlace support
Simon Farnsworth [Thu, 30 Oct 2014 17:41:19 +0000 (17:41 +0000)]
v4l2: Clean up interlace support

Rather than try and guess interlace support as part of checking supported
sizes, look for interlace support specifically in its own function.

As a cleanup, use V4L2_FIELD_ANY when probing sizes, which should result in
the driver doing the right thing.

With my capture setup, this gets me the following sample caps:

For 1080i resolution:
video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction){ 25/1, 30/1 }

For 720p resolution:
video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction){ 50/1, 60/1 }

For 576i/p resolution (both possible at the point of query):
video/x-raw, format=(string)YUY2, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string){ progressive, interleaved }, framerate=(fraction){ 25/1, 50/1 }

This, in turn, makes 576i work correctly; with the old code,
the caps would be interlace-mode=progressive for interlaced video.

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

9 years agovpx: remove compatibility defines
Aurélien Zanelli [Sat, 1 Nov 2014 11:18:02 +0000 (12:18 +0100)]
vpx: remove compatibility defines

We are guaranteed to have VPX_IMG_FMT_I420, VPX_PLANE_Y,
VPX_PLANE_U and VPX_PLANE_V as we require libvpx > 1.1.0.

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

9 years agowavpack: remove support for ancient API version
Tim-Philipp Müller [Sat, 1 Nov 2014 15:33:23 +0000 (15:33 +0000)]
wavpack: remove support for ancient API version

9 years agortpvp8: Use VP8 encoding name
Nicolas Dufresne [Sat, 1 Nov 2014 14:14:31 +0000 (10:14 -0400)]
rtpvp8: Use VP8 encoding name

Both Firefox and Chrome uses VP8 as the encoding in their SDP.
Adding this now defacto standard name removes the need for special
case in SDP parsing code.

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

9 years agortpmp2tpay: fix up template caps so we can output the default pt 33
Tim-Philipp Müller [Sat, 1 Nov 2014 11:59:26 +0000 (11:59 +0000)]
rtpmp2tpay: fix up template caps so we can output the default pt 33

Add fixed payload type for mp2t to template caps as well, so
our output caps match the advertised default pt. Fixes a
regression from 1.2.

There's still something wrong with caps negotiation though,
rtpmp2tpay payload=96 ! fakesink will not output caps with
payload=96.

9 years agortspsrc: mikey related memory leaks
Aleix Conchillo Flaqué [Thu, 30 Oct 2014 22:37:36 +0000 (15:37 -0700)]
rtspsrc: mikey related memory leaks

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

9 years agospeexenc: update output segment stop time to match clipped samples
Vincent Penquerc'h [Tue, 10 Jun 2014 09:04:07 +0000 (10:04 +0100)]
speexenc: update output segment stop time to match clipped samples

This will let oggmux generate a granpos on the last page that properly
represents the clipped samples at the end of the stream.

9 years agoflacenc: update output segment stop time to match clipped samples
Vincent Penquerc'h [Tue, 10 Jun 2014 09:59:13 +0000 (10:59 +0100)]
flacenc: update output segment stop time to match clipped samples

This will let oggmux generate a granpos on the last page that properly
represents the clipped samples at the end of the stream.

9 years agov4l2bufferpool: cleanly handle streamon failure for output device
Aurélien Zanelli [Tue, 7 Oct 2014 13:29:33 +0000 (15:29 +0200)]
v4l2bufferpool: cleanly handle streamon failure for output device

On streamon failure, the queued buffer is not released from the
bufferpool class point of view because it is queued to the driver and
the flush logic is not performed since we are not in streaming state.
It causes the v4l2 bufferpool to always return that stop method failed
and to leak v4l2 objects and buffers.

This commit solve this by performing the flush logic in error case, ie
flushing the allocator and restoring queued buffer state to non-queued.

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

9 years agov4l2bufferpool: implement dispose method
Aurélien Zanelli [Wed, 8 Oct 2014 08:31:21 +0000 (10:31 +0200)]
v4l2bufferpool: implement dispose method

Unref objects in dispose method rather than in finalize in order to
prevent circular reference.

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

9 years agov4l2bufferpool: check that allocator is non null when stopping pool
Aurélien Zanelli [Wed, 8 Oct 2014 08:35:14 +0000 (10:35 +0200)]
v4l2bufferpool: check that allocator is non null when stopping pool

Otherwise, we could dereference NULL allocator when the stop method is
called by the GstBufferPool's finalize method.

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

9 years agov4l2sink: Implement unlock/unlock_stop
Nicolas Dufresne [Thu, 9 Oct 2014 16:15:05 +0000 (12:15 -0400)]
v4l2sink: Implement unlock/unlock_stop

This will prevent deadlocks, but will also properly flush the pool and allocator
when going to READY state. It should also fix issues reported on mailing list
when seeking is performed.

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

9 years agopulse, v4l2: add missing G_END_DECLS in some places
Tim-Philipp Müller [Tue, 28 Oct 2014 21:32:06 +0000 (21:32 +0000)]
pulse, v4l2: add missing G_END_DECLS in some places

9 years agoAutomatic update of common submodule
Sebastian Dröge [Mon, 27 Oct 2014 16:57:20 +0000 (17:57 +0100)]
Automatic update of common submodule

From 84d06cd to 7bb2bce

9 years agoaacparse: Fix unit test now that we always have profile/level in the caps
Sebastian Dröge [Mon, 27 Oct 2014 10:08:20 +0000 (11:08 +0100)]
aacparse: Fix unit test now that we always have profile/level in the caps

9 years agoParallelise 'make check-valgrind'
Tim-Philipp Müller [Sun, 26 Oct 2014 14:55:49 +0000 (14:55 +0000)]
Parallelise 'make check-valgrind'

Some of the RTP unit tests are very flaky and will
fail more often with the CPU maxed out fully. Those
tests need to be fixed in any case though, they also
fail on slower machines and also occasionally with
normal 'make check'.

9 years agoaacparse: Always set profile/level on the caps
Sebastian Dröge [Sun, 26 Oct 2014 10:47:25 +0000 (11:47 +0100)]
aacparse: Always set profile/level on the caps

We have the information already, so why not use it?

9 years agortpjitterbuffer: fix crash on some 32-bit systems
Tim-Philipp Müller [Sat, 25 Oct 2014 11:36:02 +0000 (12:36 +0100)]
rtpjitterbuffer: fix crash on some 32-bit systems

Make sure to pass right number of bits to gst_structure_new()
which is a vararg function.

Fixes elements/rtpaux unit test on ppc32.

9 years agotests: fix rgvolume test on big-endian systems
Tim-Philipp Müller [Fri, 24 Oct 2014 23:56:02 +0000 (00:56 +0100)]
tests: fix rgvolume test on big-endian systems

9 years agotests: fix mulawdec/mulawenc test for big endian systems
Tim-Philipp Müller [Fri, 24 Oct 2014 23:53:39 +0000 (00:53 +0100)]
tests: fix mulawdec/mulawenc test for big endian systems

9 years agointerleave: intersect result with filter caps in caps query
Tim-Philipp Müller [Fri, 24 Oct 2014 22:48:30 +0000 (23:48 +0100)]
interleave: intersect result with filter caps in caps query

Fixes crash in audiotestsrc because of an unsupported format
getting negotiated on big-endian systems with
audiotestsrc ! interleave ! audioconvert ! wavenc

9 years agopulse: remove some unused typedefs
Tim-Philipp Müller [Thu, 23 Oct 2014 14:46:13 +0000 (15:46 +0100)]
pulse: remove some unused typedefs

9 years agospeex: Fix segfault when resetting the codecs multiple times
Ananda [Wed, 22 Oct 2014 13:28:44 +0000 (15:28 +0200)]
speex: Fix segfault when resetting the codecs multiple times

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

9 years agopulsesink: Temporarily disable stream status posting
Arun Raghavan [Wed, 22 Oct 2014 17:20:54 +0000 (22:50 +0530)]
pulsesink: Temporarily disable stream status posting

We need a mechanism in PulseAudio to allow running code outside the
mainloop lock. Then we'd be able to post to the bus (taking the
GST_OBJECT_LOCK), without worrying about locking order with the mainloop
lock, which is the current cause of deadlocks while trying to post the
stream status messages.

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

9 years agortpjitterbuffer: limit the retry frequency
Wim Taymans [Wed, 22 Oct 2014 13:04:24 +0000 (15:04 +0200)]
rtpjitterbuffer: limit the retry frequency

When the RTT and jitter are very low (such as on a local network), the
calculated retransmission timeout is very small. Set some sensible lower
boundary to the timeout by adding a new property. We use the packet
spacing as a lower boundary by default.

9 years agogstrtpjitterbuffer: add "rtx-min-delay" property
Miguel París Díaz [Wed, 22 Oct 2014 11:40:58 +0000 (13:40 +0200)]
gstrtpjitterbuffer: add "rtx-min-delay" property

This property is useful to set a min time to wait before sending a
retransmission event.

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

9 years agojitterbuffer: Refactor code
Wim Taymans [Wed, 22 Oct 2014 11:29:48 +0000 (13:29 +0200)]
jitterbuffer: Refactor code

Refactor some code dealing with calculating various timeouts.

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

9 years agortpsession: fix Early Feedback Transmission
Miguel París Díaz [Fri, 10 Oct 2014 17:50:06 +0000 (19:50 +0200)]
rtpsession: fix Early Feedback Transmission

In early retransmission we are allowed to schedule 1 regular RTCP packet
at an earlier time. When we do that, we need to set allow_early to FALSE
and ignore/drop (or merge) all future requests for early transmission.
We now first check if we can schedule an early RTCP and if we can,
actually prepare the data for the next RTCP interval.

After we send the next regular RTCP after the early RTCP, we set
allow_early to TRUE again to allow more early requests.

Remove the condition for the immediate feedback for now.

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

9 years agoAutomatic update of common submodule
Tim-Philipp Müller [Tue, 21 Oct 2014 12:01:32 +0000 (13:01 +0100)]
Automatic update of common submodule

From a8c8939 to 84d06cd

9 years agortpjitterbuffer: make debug line less confusing
Wim Taymans [Tue, 21 Oct 2014 11:10:24 +0000 (13:10 +0200)]
rtpjitterbuffer: make debug line less confusing

9 years agoAutomatic update of common submodule
Stefan Sauer [Tue, 21 Oct 2014 10:58:13 +0000 (12:58 +0200)]
Automatic update of common submodule

From 36388a1 to a8c8939

9 years agojitterbuffer: rework resync handling
Wim Taymans [Wed, 2 Jul 2014 15:50:35 +0000 (17:50 +0200)]
jitterbuffer: rework resync handling

Add a need-resync state, this is when we need to try to lock on to a
time/RTPtime pair.
Always check the RTP timestamps and if they go backwards, mark ourselves
as need-resync.
Only resync when need-resync is TRUE and we have a valid time. Otherwise
we keep the old values. This avoids locking on to an invalid time and
causing us to timestamp everything with -1.

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

9 years agortspsrc: set full stream caps on internal src TCP pads
Aleix Conchillo Flaqué [Sat, 4 Oct 2014 00:28:06 +0000 (17:28 -0700)]
rtspsrc: set full stream caps on internal src TCP pads

Set the complete stream caps on the TCP internal src pads. Otherwise,
ptdemux will not properly detect the caps change.

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

9 years agortpmux: Don't set PROXY_CAPS flag on the src pad
Sjoerd Simons [Fri, 17 Oct 2014 20:23:27 +0000 (22:23 +0200)]
rtpmux: Don't set PROXY_CAPS flag on the src pad

rtpmux behaves like a funnel in that it forwards whatever upstream is
sending buffers. So setting proxy caps doesn't make sense as the
upstream don't have to have compatible caps, thus resulting in an empty
caps set as a result of a caps query. Instead set fixed caps just
as funnel does.

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

9 years agovideobox: critical error when element properties set as max/min
Vineeth T M [Mon, 20 Oct 2014 06:27:38 +0000 (11:57 +0530)]
videobox: critical error when element properties set as max/min

left, right, top, bottom can be set from range of -2147483648 to 2147483647
when i launch the videobox element with that values, it gives a critical error

(gst-check-1.0:29869): GStreamer-CRITICAL **: gst_value_set_int_range_step: assertion 'start < end' failed
This happens because min cannot be equal to max.

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

9 years agoRevert "rtp: add h265 RTP payloader + depayloader"
Tim-Philipp Müller [Wed, 15 Oct 2014 16:45:24 +0000 (17:45 +0100)]
Revert "rtp: add h265 RTP payloader + depayloader"

This reverts commit d06ba9051f904a7eb482c07a97a1827169158663.

This breaks the build, as it depends on parser API in -bad.

9 years agortp: add h265 RTP payloader + depayloader
Jurgen Slowack [Wed, 15 Oct 2014 15:34:50 +0000 (17:34 +0200)]
rtp: add h265 RTP payloader + depayloader

9 years agowavenc: Support RF64 format
Peter G. Baum [Sun, 5 Oct 2014 19:24:27 +0000 (21:24 +0200)]
wavenc: Support RF64 format

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

9 years agoequalizer: Don't call iirequalizer's transform_ip in passthrough mode
David Sansome [Sat, 11 Oct 2014 00:18:42 +0000 (11:18 +1100)]
equalizer: Don't call iirequalizer's transform_ip in passthrough mode

It tries to map the read-only buffer with GST_MAP_READWRITE and crashes.

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

9 years agortpsource: Rename seqnum-base to seqnum-offset in caps
Olivier Crête [Fri, 10 Oct 2014 22:30:07 +0000 (18:30 -0400)]
rtpsource: Rename seqnum-base to seqnum-offset in caps

This was modified back in 1.0 in GstRtpBasePayload

9 years agortpdtmfsrc: clock-base and seqnum-base -> timestamp-offset and seqnum-offset
Olivier Crête [Fri, 10 Oct 2014 22:11:19 +0000 (18:11 -0400)]
rtpdtmfsrc: clock-base and seqnum-base -> timestamp-offset and seqnum-offset

These were renamed in GstRTPBasePayload in 1.0

9 years agortpmux: clock-base and seqnum-base -> timestamp-offset and seqnum-offset
Olivier Crête [Fri, 10 Oct 2014 21:30:24 +0000 (17:30 -0400)]
rtpmux: clock-base and seqnum-base -> timestamp-offset and seqnum-offset

These were renamed in GstRTPBasePayload in 1.0

9 years agogoom2k1: removing block of code that does nothing
Luis de Bethencourt [Mon, 6 Oct 2014 13:23:22 +0000 (14:23 +0100)]
goom2k1: removing block of code that does nothing

The loop in zoomFilterSetResolution is meant to change the values in the
zf->firedec[] array. Each iteration writes the value of decc onto the arrya,
but no conditions that change the value of decc are ever met and the array is
filled with zero for each element. Which is the initial state of the
array before the loop begins.

The loop does nothing.

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

9 years agortpjitterbuffer: don't log all clock_rate changes as warnings.
Stefan Sauer [Sat, 4 Oct 2014 15:17:13 +0000 (17:17 +0200)]
rtpjitterbuffer: don't log all clock_rate changes as warnings.

We never initialize clock_rate explicitly, therefore it is 0 by default. The
parameter is a uint32 and the only caller ensure that it is >0, therefore it
won't become -1 ever.

9 years agosouphttpclientsink: Fix lifetime of stream headers and queued buffers
Nirbheek Chauhan [Thu, 2 Oct 2014 08:56:08 +0000 (14:26 +0530)]
souphttpclientsink: Fix lifetime of stream headers and queued buffers

Stream headers are updated whenever ::set_caps is called, so we can't assume
they'll be valid before the message body is written out. We *can* assume that
for queued buffers, but SOUP_MEMORY_STATIC is still wrong for those.

Also, add some debug logging for stream header interactions.

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

9 years agoaacparse: fix memory leak when prepending ADTS headers
Matej Knopp [Thu, 2 Oct 2014 01:26:22 +0000 (03:26 +0200)]
aacparse: fix memory leak when prepending ADTS headers

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

9 years agointerleave: interleave samples following the Default Channel Ordering
Antonio Ospite [Tue, 23 Sep 2014 08:48:09 +0000 (10:48 +0200)]
interleave: interleave samples following the Default Channel Ordering

In order to have a full mapping between channel positions in the audio
stream and loudspeaker positions, the channel-mask alone is not enough:
the channels must be interleaved following some Default Channel Ordering
as mentioned in the WAVEFORMATEXTENSIBLE[1] specification.

As a Default Channel Ordering use the one implied by
GstAudioChannelPosition which follows the ordering defined in SMPTE
2036-2-2008[2].

NOTE that the relative order in the Top Layer is not exactly the same as
the one from the WAVEFORMATEXTENSIBLE[1] specification; let's hope users
using so may channels are already aware of such discrepancies.

[1] http://msdn.microsoft.com/en-us/library/windows/hardware/dn653308%28v=vs.85%29.aspx
[2] http://www.itu.int/dms_pub/itu-r/opb/rep/R-REP-BS.2159-2-2011-PDF-E.pdf

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

9 years agowavenc: Send CAPS event after the pad was activated
Sebastian Dröge [Thu, 2 Oct 2014 07:10:11 +0000 (10:10 +0300)]
wavenc: Send CAPS event after the pad was activated

Otherwise the CAPS event will be dropped and we never configure any caps at
all, leading to weird behaviour in many situations. Especially header
rewriting is not going to work if a capsfilter is after wavenc.

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

9 years agosouphttpclientsink: Add some more useful debug logging
Nirbheek Chauhan [Wed, 1 Oct 2014 17:42:30 +0000 (23:12 +0530)]
souphttpclientsink: Add some more useful debug logging

9 years agosouphttpclientsink: Free queued buffers in ::reset
Nirbheek Chauhan [Wed, 1 Oct 2014 17:35:03 +0000 (23:05 +0530)]
souphttpclientsink: Free queued buffers in ::reset

::render sets a new callback for writing out new buffers only if there aren't
already buffers queued for writing with a previously-scheduled callback.
However, if the previously-scheduled callback is interrupted by a state change
(either manually or due to an error) and there are still buffers in the queue,
restarting the pipeline will result in buffers being queued forever, and no
callbacks will ever be scheduled, and no buffers will be written out.

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

9 years agovideomixer: Actually use the correct GstVideoInfo for conversion
Sebastian Dröge [Wed, 1 Oct 2014 14:29:29 +0000 (17:29 +0300)]
videomixer: Actually use the correct GstVideoInfo for conversion

9 years agovideomixer: Revert the last commit and handle resolutions differences properly
Sebastian Dröge [Wed, 1 Oct 2014 14:24:59 +0000 (17:24 +0300)]
videomixer: Revert the last commit and handle resolutions differences properly

This is about converting the format, not about converting any widths and
heights. Subclasses are expected to handler different resolutions themselves,
like the videomixers already do properly.

9 years agovideomixer: GstVideoConverter currently can't rescale and will assert
Sebastian Dröge [Wed, 1 Oct 2014 14:12:59 +0000 (17:12 +0300)]
videomixer: GstVideoConverter currently can't rescale and will assert

Leads to ugly assertions instead of properly erroring out:
CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed

9 years agovp8enc/vp9enc: Protect the encoder with a mutex in all situations
Sebastian Dröge [Tue, 30 Sep 2014 08:35:12 +0000 (11:35 +0300)]
vp8enc/vp9enc: Protect the encoder with a mutex in all situations

9 years agovp9enc: Allow caps renegotiation
Sebastian Dröge [Tue, 30 Sep 2014 08:31:43 +0000 (11:31 +0300)]
vp9enc: Allow caps renegotiation

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

9 years agovp8enc: finish() and drain() should return a GstFlowReturn
Sebastian Dröge [Tue, 30 Sep 2014 08:28:39 +0000 (11:28 +0300)]
vp8enc: finish() and drain() should return a GstFlowReturn

9 years agovp8enc: Allow caps renegotiation
Jose Antonio Santos Cadenas [Fri, 14 Mar 2014 11:59:02 +0000 (12:59 +0100)]
vp8enc: Allow caps renegotiation

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

9 years agov4l2object: set colorspace for output devices
Aurélien Zanelli [Mon, 29 Sep 2014 09:49:45 +0000 (11:49 +0200)]
v4l2object: set colorspace for output devices

When the v4l2 device is an output device, the application shall set the
colorspace. So map GStreamer colorimetry info to V4L2 colorspace and set
on set_format. In case we have no colorimetry information, we try to
guess it according to pixel format and video size.

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

9 years agopulse: Add some documentation about threading and synchronisation
Arun Raghavan [Mon, 29 Sep 2014 17:18:16 +0000 (22:48 +0530)]
pulse: Add some documentation about threading and synchronisation

This gives a quick introduction to how the pulsesink/pulsesrc code
interacts with the pa_threaded_mainloop that we start up to communicate
with the server.

9 years agopulsesink: Make emitting stream status messages synchronous
Arun Raghavan [Mon, 29 Sep 2014 14:48:08 +0000 (20:18 +0530)]
pulsesink: Make emitting stream status messages synchronous

The stream status messages are emitted in the PA mainloop thread, which
means the mainloop lock is taken, followed by the Gst object lock (by
gst_element_post_message()). In all other locations, the order of
locking is reversed (this is unavoidable in a bunch of cases where the
object lock is taken by GstBaseSink or GstAudioBaseSink, and then we get
control to take the mainloop lock).

The only way to guarantee that the defer callback for stream status
messages doesn't deadlock is to either stop posting those messages, or
make sure that the message emission is completed before we proceed to
any point that might take the object lock before the mainloop lock
(which is what we do after this patch).

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

9 years agowavenc: print channel masks in hexadecimal
Antonio Ospite [Tue, 16 Sep 2014 10:12:49 +0000 (12:12 +0200)]
wavenc: print channel masks in hexadecimal

9 years agov4l2: remove redundant struct declaration
Tim-Philipp Müller [Sat, 27 Sep 2014 15:01:21 +0000 (16:01 +0100)]
v4l2: remove redundant struct declaration

9 years agortspsrc: Fix compiler warnings
Sebastian Dröge [Fri, 26 Sep 2014 10:46:16 +0000 (13:46 +0300)]
rtspsrc: Fix compiler warnings

gstrtspsrc.c:7939:11: error: implicit conversion from enumeration type 'GstSDPResult' to different enumeration type
      'GstRTSPResult' [-Werror,-Wenum-conversion]
    res = gst_sdp_message_new (&sdp);
        ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
gstrtspsrc.c:7944:11: error: implicit conversion from enumeration type 'GstSDPResult' to different enumeration type
      'GstRTSPResult' [-Werror,-Wenum-conversion]
    res = gst_sdp_message_parse_uri (uri, sdp);
        ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

9 years agomatroskademux: make demuxer reusable
Jonas Holmberg [Thu, 25 Sep 2014 13:01:14 +0000 (15:01 +0200)]
matroskademux: make demuxer reusable

Remove pads from flow combiner and reset last
flow return to FLOW_OK by resetting the flow combiner.
This prevents FLOW_FLUSHING when trying to re-use the
demuxer after setting it back to NULL/READY state.

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

9 years agovideomixer: use video library code instead of copy
Wim Taymans [Wed, 24 Sep 2014 14:46:36 +0000 (16:46 +0200)]
videomixer: use video library code instead of copy

9 years agoaudioparsers: Added index check before using the index
Sanjay NM [Thu, 18 Sep 2014 11:09:19 +0000 (16:39 +0530)]
audioparsers: Added index check before using the index

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

9 years agoqtmux: Do not infer DTS on buffers from sparse streams.
Matej Knopp [Tue, 23 Sep 2014 21:33:37 +0000 (23:33 +0200)]
qtmux: Do not infer DTS on buffers from sparse streams.

DTS delta is used to calculate sample duration. If buffer has missing DTS, we take either segment start or previous buffer end time, whichever is later.
This must only be done for non sparse streams, sparse streams can have gaps between buffers (which is handled later by adding extra empty buffer with duration that fills the gap)

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

9 years agogoom: Clarified precedence between % and ?
Sanjay NM [Thu, 18 Sep 2014 11:38:37 +0000 (17:08 +0530)]
goom: Clarified precedence between % and ?

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

9 years agortsp: clarify expression so operator precedence is clear
Sanjay NM [Thu, 18 Sep 2014 12:29:31 +0000 (17:59 +0530)]
rtsp: clarify expression so operator precedence is clear

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

9 years agoMiscellaneous minor cleanups
Sanjay NM [Thu, 18 Sep 2014 10:34:03 +0000 (16:04 +0530)]
Miscellaneous minor cleanups

Fix redundant variables and assignments,
and unreachable breaks.

https://bugzilla.gnome.org/show_bug.cgi?id=736875
https://bugzilla.gnome.org/show_bug.cgi?id=736876
https://bugzilla.gnome.org/show_bug.cgi?id=736879
https://bugzilla.gnome.org/show_bug.cgi?id=736880
https://bugzilla.gnome.org/show_bug.cgi?id=736881
https://bugzilla.gnome.org/show_bug.cgi?id=736888
https://bugzilla.gnome.org/show_bug.cgi?id=736890
https://bugzilla.gnome.org/show_bug.cgi?id=736892
https://bugzilla.gnome.org/show_bug.cgi?id=736893
https://bugzilla.gnome.org/show_bug.cgi?id=736894

9 years agovideobox: remove duplicate assignments
Tim-Philipp Müller [Tue, 23 Sep 2014 23:12:14 +0000 (00:12 +0100)]
videobox: remove duplicate assignments

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

9 years agoflacparse: Only calculate with durations != -1
Sebastian Dröge [Tue, 23 Sep 2014 19:55:48 +0000 (22:55 +0300)]
flacparse: Only calculate with durations != -1

9 years agoqtmux: collect pad for sparse stream should be created with lock set to false
Matej Knopp [Tue, 23 Sep 2014 17:08:48 +0000 (19:08 +0200)]
qtmux: collect pad for sparse stream should be created with lock set to false

Avoids waiting for buffers from sparse streams

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

9 years agoqtmux: fix subtitle buffer duration and strip null termination
Matej Knopp [Tue, 23 Sep 2014 17:07:25 +0000 (19:07 +0200)]
qtmux: fix subtitle buffer duration and strip null termination

Strip the \0 off the subtitle as we already know the size and also remember
to set the duration as buffer copying doesn't do it.

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

9 years agoqtmux: move subtitle layer above video and set alternate group
Matej Knopp [Tue, 23 Sep 2014 17:06:18 +0000 (19:06 +0200)]
qtmux: move subtitle layer above video and set alternate group

layer -1 is above video, that is 0
And having all subtitles in alternate group 2 means that only one
should be selected at a time.

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

9 years agocheck/soup: Temporarily disable G_ENABLE_DIAGNOSTIC
Edward Hervey [Tue, 23 Sep 2014 07:47:31 +0000 (09:47 +0200)]
check/soup: Temporarily disable G_ENABLE_DIAGNOSTIC

The SOUP_SERVER_PORT property has been deprecated in recent libsoup
versions.