platform/upstream/gstreamer.git
10 years agov4l2: Remove last include to linux/videodev2.h
Nicolas Dufresne [Sun, 30 Nov 2014 22:52:47 +0000 (17:52 -0500)]
v4l2: Remove last include to linux/videodev2.h

We now use and update our internal copy so we no longer have to ifdef
the entire code for features and defines that where added over the
years.

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

10 years agoqtdemux: implement seeking in fragmented mp4 files in pull mode based on the mfra...
Tim-Philipp Müller [Sun, 24 Aug 2014 12:38:08 +0000 (13:38 +0100)]
qtdemux: implement seeking in fragmented mp4 files in pull mode based on the mfra table

10 years agoqtdemux: use track fragment decoding time (tfdt) in parse_trun() for interpolation
Tim-Philipp Müller [Sat, 29 Nov 2014 15:25:51 +0000 (15:25 +0000)]
qtdemux: use track fragment decoding time (tfdt) in parse_trun() for interpolation

As fallback if we don't have any existing samples
as reference point yet.

Based on patch by David Corvoysier <david.corvoysier@orange.com>

10 years agoqtdemux: parse mfra random access box for fragmented mp4 files
Tim-Philipp Müller [Sat, 29 Nov 2014 14:37:25 +0000 (14:37 +0000)]
qtdemux: parse mfra random access box for fragmented mp4 files

If it's present, and we operate in pull mode.

10 years agoqtdemux: stop parsing headers for fragmented mp4s at the first moof
Tim-Philipp Müller [Fri, 15 Aug 2014 12:58:26 +0000 (14:58 +0200)]
qtdemux: stop parsing headers for fragmented mp4s at the first moof

Currently during header parsing, we scan through the entire file
and skip every moof+mdat chunk for fragmented mp4s, which makes
start-up incredibly slow. Instead, just stop at the first moof
chunk when have a moov, and start exposing the streams, so we
can go and start handling the moofs for real.

10 years agotests: add interactive gdkpixbufoverlay test
Tim-Philipp Müller [Sat, 29 Nov 2014 13:59:35 +0000 (13:59 +0000)]
tests: add interactive gdkpixbufoverlay test

Just need to fix the coordinate system now so
that negative offsets are actually negative
and not flipped to position things from the
opposite border.

10 years agogdkpixbufoverlay: add "pixbuf" property
Tim-Philipp Müller [Sat, 29 Nov 2014 13:53:03 +0000 (13:53 +0000)]
gdkpixbufoverlay: add "pixbuf" property

So we can set a GdkPixbuf directly instead of
reading it from an image file on the file system.

10 years agogdkpixbuf: remove pixbufscale code that was never ported
Tim-Philipp Müller [Sat, 29 Nov 2014 13:23:50 +0000 (13:23 +0000)]
gdkpixbuf: remove pixbufscale code that was never ported

Don't think we'll need this again.

10 years agortprtxreceive: Use offset when copying header
Olivier Crête [Sat, 29 Nov 2014 23:35:42 +0000 (18:35 -0500)]
rtprtxreceive: Use offset when copying header

The header is not always at the start of the packet, so we need to compute
the offset first.

10 years agoapev2mux: write APE tags at end for wavpack files
Tim-Philipp Müller [Fri, 28 Nov 2014 13:12:46 +0000 (13:12 +0000)]
apev2mux: write APE tags at end for wavpack files

http://www.wavpack.com/file_format.txt:
"Both the APEv2 tags and/or ID3v1 tags must come at the end of the
WavPack file, with the ID3v1 coming last if both are present."

WavPack files that contain APEv2 tags at the beginning of the files
are unplayable on players that use FFmpeg (like VLC) and most other
software (except Banshee). Players that use libwavpack directly can
play the files because it skips the tags, but does not recognize the
tag data at that location.

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

10 years agotests: add interactive test for gapless playback using SEGMENT seeks
Tim-Philipp Müller [Fri, 28 Nov 2014 10:41:55 +0000 (10:41 +0000)]
tests: add interactive test for gapless playback using SEGMENT seeks

Not working too well yet, there are glitches even with WAV or FLAC.

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

10 years agoaspectratiocrop: Handle resolution changes properly
Andrei Sarakeev [Wed, 26 Nov 2014 07:33:09 +0000 (10:33 +0300)]
aspectratiocrop: Handle resolution changes properly

When an caps-event is received, we must immediately change the crop
to videocrop correctly changed caps-event dimension, otherwise the
videocrop will first use the previous value of the crop that when
resizing video to a smaller resolution may cause an error.

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

10 years agoAutomatic update of common submodule
Edward Hervey [Thu, 27 Nov 2014 16:10:53 +0000 (17:10 +0100)]
Automatic update of common submodule

From 7bb2bce to ef1ffdc

10 years agotest: use gst_util_uint64_scale_round() for timestamp to sample calculation
Tim-Philipp Müller [Thu, 27 Nov 2014 11:20:36 +0000 (11:20 +0000)]
test: use gst_util_uint64_scale_round() for timestamp to sample calculation

10 years agotests: add interactive test for accurate seeking
Tim-Philipp Müller [Thu, 27 Nov 2014 11:16:35 +0000 (11:16 +0000)]
tests: add interactive test for accurate seeking

For some audio formats.

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

10 years agoisomp4: Check presence of mfhd in moof
Edward Hervey [Wed, 26 Nov 2014 15:04:26 +0000 (16:04 +0100)]
isomp4: Check presence of mfhd in moof

The 'mfhd' atom is mandatory in 'moof'. We can later on check whether
the fragment number properly increases

10 years agoisomp4: Fix mfro and tfra atom dumping
Edward Hervey [Wed, 26 Nov 2014 14:59:36 +0000 (15:59 +0100)]
isomp4: Fix mfro and tfra atom dumping

mfro was skipping the version/flags
tfra had wrong byte_reader return value checks

10 years agoisomp4: Add mfhd atom dumping
Edward Hervey [Wed, 26 Nov 2014 14:58:26 +0000 (15:58 +0100)]
isomp4: Add mfhd atom dumping

10 years agoqtdemux: Handle empty segments when seeking in reverse play.
Jan Schmidt [Wed, 26 Nov 2014 13:15:02 +0000 (00:15 +1100)]
qtdemux: Handle empty segments when seeking in reverse play.

Empty segments in an edit list have a media_start time of -1,
as they don't actually play any media. Allow for that when
aligning to the reference stream in reverse play.

10 years agoRevert "v4l2allocator: Remove unused variable"
Nicolas Dufresne [Mon, 24 Nov 2014 15:36:54 +0000 (10:36 -0500)]
Revert "v4l2allocator: Remove unused variable"

This reverts commit ad4480d53408a4d97ab531174ef37f258f3253c0.

10 years agoRevert "v4l2: move vb_queue probing from allocator to v4l2object"
Nicolas Dufresne [Mon, 24 Nov 2014 15:36:30 +0000 (10:36 -0500)]
Revert "v4l2: move vb_queue probing from allocator to v4l2object"

This reverts commit ec6b8b84af719d828ddd91c724e715c0b4a556bc.

10 years agoRevert "v4l2object: allow to automatic selection of dmabuf"
Nicolas Dufresne [Mon, 24 Nov 2014 15:33:29 +0000 (10:33 -0500)]
Revert "v4l2object: allow to automatic selection of dmabuf"

This reverts commit e6c2ad5571e5dedb212287efe238eb450032cd4f.

10 years agoREQUIREMENTS: update a little
Tim-Philipp Müller [Sun, 23 Nov 2014 16:34:15 +0000 (16:34 +0000)]
REQUIREMENTS: update a little

People actually look at that it seems.

10 years agoicydemux: does not need to link against zlib
Tim-Philipp Müller [Sun, 23 Nov 2014 16:22:12 +0000 (16:22 +0000)]
icydemux: does not need to link against zlib

10 years agospeex: remove support for ancient speex versions
Tim-Philipp Müller [Sat, 22 Nov 2014 21:28:35 +0000 (21:28 +0000)]
speex: remove support for ancient speex versions

10 years agosouphttpsrc: log connection events at info level
Branislav Katreniak [Fri, 21 Nov 2014 10:21:18 +0000 (11:21 +0100)]
souphttpsrc: log connection events at info level

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

10 years agortpjitterbuffer: ensure rtx_retry_period >= 0
Miguel París Díaz [Mon, 20 Oct 2014 11:00:37 +0000 (13:00 +0200)]
rtpjitterbuffer: ensure rtx_retry_period >= 0

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

10 years agov4l2allocator: Remove unused variable
Nicolas Dufresne [Fri, 21 Nov 2014 16:44:24 +0000 (11:44 -0500)]
v4l2allocator: Remove unused variable

this was introduced by commit ec6b8b

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

10 years agov4l2: Handle corrupted buffer with empty payload
Nicolas Dufresne [Sun, 16 Nov 2014 17:34:17 +0000 (12:34 -0500)]
v4l2: Handle corrupted buffer with empty payload

This allow skipping buffer flagged with ERROR that has no payload.
This is typical behaviour when a recovererable error occured during
capture in the driver, but that no valid data was ever written into that
buffer. This patch also translate V4L2_BUF_FLAG_ERROR into
GST_BUFFER_FLAG_CORRUPTED. Hence decoding error produce
by decoder due to missing frames will now be correctly marked. Finally,
this fixes a buffer leak when EOS is reached.

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

10 years agov4l2object: allow to automatic selection of dmabuf
Benjamin Gaignard [Fri, 21 Nov 2014 15:36:15 +0000 (16:36 +0100)]
v4l2object: allow to automatic selection of dmabuf

If the v4l2 queue support dmabuf select this buffer pool mode
and update the query with allocator.
This patch only concern exporting dmabuf and not importing dmabuf
fd from downstream element.

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

10 years agov4l2: move vb_queue probing from allocator to v4l2object
Benjamin Gaignard [Fri, 21 Nov 2014 15:13:05 +0000 (16:13 +0100)]
v4l2: move vb_queue probing from allocator to v4l2object

The goal is to make those information available in v4l2_object
to be able later to select the best allocation method for the pool

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

10 years agortpbin: Fix up new_jitterbuffer signal prototype
Arun Raghavan [Thu, 20 Nov 2014 17:12:59 +0000 (22:42 +0530)]
rtpbin: Fix up new_jitterbuffer signal prototype

10 years agortpbin: Document how to control per-SSRC retransmission
Arun Raghavan [Thu, 20 Nov 2014 14:49:25 +0000 (20:19 +0530)]
rtpbin: Document how to control per-SSRC retransmission

10 years agodoc: Trivial spelling and consistency update
Arun Raghavan [Thu, 20 Nov 2014 14:48:45 +0000 (20:18 +0530)]
doc: Trivial spelling and consistency update

10 years agortpgstpay: put 0-byte at the end of events
Wim Taymans [Thu, 20 Nov 2014 12:14:14 +0000 (13:14 +0100)]
rtpgstpay: put 0-byte at the end of events

Put a 0-byte at the end of the event string. Does not break ABI because
old depayloaders will skip the 0 byte (which is included in the length).
Expect a 0-byte at the end of the event string or a ; for old
payloaders.

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

10 years agortpgstdepay: avoid buffer overread.
Wim Taymans [Thu, 20 Nov 2014 11:40:28 +0000 (12:40 +0100)]
rtpgstdepay: avoid buffer overread.

Check that a caps event string is 0 terminated and the event string is
terminated with a ; to avoid buffer overreads.

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

10 years agoqtmux: don't limit max video resolution to 4096x4096
Tim-Philipp Müller [Thu, 20 Nov 2014 10:45:07 +0000 (10:45 +0000)]
qtmux: don't limit max video resolution to 4096x4096

MAX isn't entirely correct as upper limit either,
it should really be MAXUINT32, but it's unlikely
to be a problem in the near future.

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

10 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

10 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

10 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

10 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

10 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

10 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.

10 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

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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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.

10 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

10 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

10 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

10 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

10 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.

10 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

10 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.

10 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.

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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'.

10 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?

10 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.

10 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

10 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

10 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

10 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

10 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

10 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

10 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.

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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.

10 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

10 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

10 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