platform/upstream/gst-plugins-good.git
8 years agortph264pay: add "send SPS/PPS with every key frame" mode
Anton Bondarenko [Fri, 27 Nov 2015 08:27:29 +0000 (09:27 +0100)]
rtph264pay: add "send SPS/PPS with every key frame" mode

It's not enough to have timeout or event based SPS/PPS information sent
in RTP packets. There are some scenarios when key frames may appear
more frequently than once a second, in which case the minimum timeout
for "config-interval" of 1 second for sending SPS/PPS is not sufficient.
It might also be desirable in general to make sure the SPS/PPS is
available with every keyframe (packet loss aside), so receivers can
actually pick up decoding immediately from the first keyframe if
SPS/PPS is not signaled out of band.

This patch adds the possibility to send SPS/PPS with every key frame. This
mode can be enabled by setting "config-interval" property to -1. In this
case the payloader will add SPS and PPS before every key (IDR) frame.

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

8 years agortph264pay: change config-interval property type from uint to int
Tim-Philipp Müller [Fri, 27 Nov 2015 08:03:51 +0000 (09:03 +0100)]
rtph264pay: change config-interval property type from uint to int

This way we can use -1 as special value, which is nicer than MAXUINT.
This is backwards compatible even with the GValue API, as shown by
a unit test.

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

8 years agoqtdemux: add support for Opus
Luis de Bethencourt [Thu, 26 Nov 2015 21:46:11 +0000 (21:46 +0000)]
qtdemux: add support for Opus

Add support for demuxing Opus encapsulated in MP4 files, based on the
following spec: https://www.opus-codec.org/docs/opus_in_isobmff.html

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

8 years agoqtdemux: use macro for codec_name
Luis de Bethencourt [Wed, 25 Nov 2015 22:48:32 +0000 (22:48 +0000)]
qtdemux: use macro for codec_name

Use _codec() macro instead of duplicating code.

8 years agov4l2: videodec: choose format from caps
Philipp Zabel [Wed, 25 Mar 2015 15:32:55 +0000 (16:32 +0100)]
v4l2: videodec: choose format from caps

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

8 years agov4l2: add gst_v4l2_object_probe_caps
Philipp Zabel [Fri, 27 Mar 2015 14:02:33 +0000 (15:02 +0100)]
v4l2: add gst_v4l2_object_probe_caps

Add a variant of gst_v4l2_object_get_caps that bypasses the probed_caps cache.

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

8 years agov4l2-probe: Skip devices without supported formats
Nicolas Dufresne [Thu, 19 Nov 2015 22:20:55 +0000 (17:20 -0500)]
v4l2-probe: Skip devices without supported formats

8 years agov4l2: Track /dev/video* to triggered required probe
Nicolas Dufresne [Fri, 13 Nov 2015 17:35:59 +0000 (12:35 -0500)]
v4l2: Track /dev/video* to triggered required probe

If something in /dev/video* get added, removed or replaced, we need to
probe the devices again in order to ensure the dynamic devices are up to
date.

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

8 years agortpmanager: rtpsession: don't send empty RTCP packets
Alessandro Decina [Wed, 25 Nov 2015 03:51:40 +0000 (14:51 +1100)]
rtpmanager: rtpsession: don't send empty RTCP packets

generate_rtcp can produce empty packets when reduced size RTCP is turned on.
Skip them since it doesn't make sense to push them and they cause errors with
elements that expect RTCP packets to contain data (like srtpenc).

8 years agoqtdemux: restore the segment on case of soft reset
Thiago Santos [Tue, 24 Nov 2015 13:57:28 +0000 (10:57 -0300)]
qtdemux: restore the segment on case of soft reset

When seeking back to restore the mdat position a flush is pushed
through and it resets downstream segment information. Make sure
that after the flush (that does a soft reset) a segment will
be pushed again

Fixes regressions spotted at
https://ci.gstreamer.net/job/GStreamer-master-validate/2100/

8 years agomultifilesink: fix spelling of variable
Graham Leggett [Fri, 20 Nov 2015 12:44:22 +0000 (12:44 +0000)]
multifilesink: fix spelling of variable

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

8 years agoqtdemux: unite duplicate FourCC
Luis de Bethencourt [Fri, 20 Nov 2015 11:05:51 +0000 (11:05 +0000)]
qtdemux: unite duplicate FourCC

Unite in fourcc.h the FourCCs that are used twice or more in qtdemux

8 years agov4l2: Fix capture/output-io-mode properties
Nicolas Dufresne [Thu, 19 Nov 2015 20:33:45 +0000 (15:33 -0500)]
v4l2: Fix capture/output-io-mode properties

There was some miss-match in the implementation. This makes it
concistent, though functionally it worked, except the video decoder
output-io-mode getter.

8 years agoatoms: remove unused argument of build_mov_wave_extension()
Luis de Bethencourt [Thu, 19 Nov 2015 19:48:06 +0000 (19:48 +0000)]
atoms: remove unused argument of build_mov_wave_extension()

AtomTrak * trak argument of build_move_wave_extension() isn't used.
Removing it.

8 years agoqtdemux: remove duplicate FourCC
Luis de Bethencourt [Thu, 19 Nov 2015 19:28:20 +0000 (19:28 +0000)]
qtdemux: remove duplicate FourCC

Use the available FourCCs in fourcc.h instead of duplicating them.

8 years agoisomp4: centralize all FourCC
Luis de Bethencourt [Thu, 19 Nov 2015 18:36:39 +0000 (18:36 +0000)]
isomp4: centralize all FourCC

10 FourCCs generated with GST_MAKE_FOURCC() in gstqtmux.c and atoms.c
already exist in fourcc.h. Don't duplicate these and use them directly.
Plus moving 6 to fourcc.h, to centralize them all.

8 years agomatroska/webmmux: fix outdated example launch lines
Luis de Bethencourt [Thu, 19 Nov 2015 17:32:12 +0000 (17:32 +0000)]
matroska/webmmux: fix outdated example launch lines

Update gst-launch-0.10 lines to gst-launch-1.0

8 years agoisomp4: add support for Opus in mp4mpux
Luis de Bethencourt [Mon, 16 Nov 2015 13:26:50 +0000 (13:26 +0000)]
isomp4: add support for Opus in mp4mpux

Add support for muxing MP4 files containing Opus. Based on the spec
detailed here:
https://www.opus-codec.org/docs/opus_in_isobmff.html

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

8 years agoqtdemux: Replace tabs with spaces
Sebastian Dröge [Wed, 18 Nov 2015 17:10:56 +0000 (19:10 +0200)]
qtdemux: Replace tabs with spaces

8 years agoqtdemux: Cast to signed integers to prevent unsigned compare between negative and...
Sebastian Dröge [Wed, 18 Nov 2015 17:07:53 +0000 (19:07 +0200)]
qtdemux: Cast to signed integers to prevent unsigned compare between negative and positive numbers

This fixes seeking if the first entries in the samples table are negative. The
binary search would always fail on this as the array would not be sorted if
interpreting the negative numbers as huge positive numbers. This caused us to
always output buffers from the beginning after a seek instead of close to the
seek position.

Also add a case to the comparison function for equality.

8 years agomatroskamux: remove duplicate check
Luis de Bethencourt [Wed, 18 Nov 2015 16:01:48 +0000 (16:01 +0000)]
matroskamux: remove duplicate check

We want 1 or 2 streamheaders, the check  if (bufarr->len != 1 &&
bufarr->len != 2) is enough. Not need to check if bufarr->len is <= 0 or
> 255.

8 years agosouphttpclientsink: Fix error leak and handle error
Vineeth TM [Wed, 18 Nov 2015 05:48:36 +0000 (14:48 +0900)]
souphttpclientsink: Fix error leak and handle error

g_thread_try_new allows for possiblity of failures. In case it fails,
error is not handled and leaked.

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

8 years agortpgstdepay: Properly handle backward compat for event deserialization
Josep Torra [Mon, 16 Nov 2015 01:16:29 +0000 (17:16 -0800)]
rtpgstdepay: Properly handle backward compat for event deserialization

Actual code is checking for a NULL terminator and a ';' terminator,
for backward compat, in a chained way that cause all events being rejected.
The proper condition is to reject the events when terminator isn't
in ['\0', ';'] set.

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

8 years agotests: rtp-payloading: Test for handling of custom events in rtpgst
Josep Torra [Mon, 16 Nov 2015 01:11:02 +0000 (17:11 -0800)]
tests: rtp-payloading: Test for handling of custom events in rtpgst

Add a simple test that checks proper serialization/deserialization
of custom events with rtpgstpay and rtpgstdepay.

8 years agovpxdec: Use threads on multi-core systems
Nicolas Dufresne [Mon, 16 Nov 2015 21:23:43 +0000 (16:23 -0500)]
vpxdec: Use threads on multi-core systems

This adds an automatic mode to the threads property of vpxdec in order to
use as many threads as there is CPU on the platform. This brings back
GStreamer VPX decoding performance closer to what is achieved by other
players, including Chromium.

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

8 years agoqtdemux: only send initial gaps for non-fragmented streams
Thiago Santos [Mon, 16 Nov 2015 13:58:32 +0000 (10:58 -0300)]
qtdemux: only send initial gaps for non-fragmented streams

It would be unusual to have the header segment with an 'edts' atom
indicating gaps at the beginning when handling fragmented streams.

The header usually doesn't contain any timestamping information, this
should come from the playlist/manifest and the segments with media
in those scenarios.

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

8 years agoRevert "Revert "qtdemux: respect qt segments in push-mode for empty starts""
Thiago Santos [Tue, 17 Nov 2015 12:41:34 +0000 (09:41 -0300)]
Revert "Revert "qtdemux: respect qt segments in push-mode for empty starts""

This reverts commit d842ff288a9d01214a046becbfd9cbff3a4acea0.

This was reverted by accident

8 years agoudpsrc: Add "loop" property for enabling/disabling multicast loopback
Sebastian Dröge [Tue, 17 Nov 2015 10:39:05 +0000 (12:39 +0200)]
udpsrc: Add "loop" property for enabling/disabling multicast loopback

On POSIX, IP_MULTICAST_LOOP is a setting for the sender socket. On Windows it
is a setting for the receiver socket. As such we will need it on udpsrc too to
allow filtering out our own multicast packets.

8 years agoRevert "qtdemux: respect qt segments in push-mode for empty starts"
Sebastian Dröge [Mon, 16 Nov 2015 11:52:05 +0000 (13:52 +0200)]
Revert "qtdemux: respect qt segments in push-mode for empty starts"

This reverts commit 142d8e2d23e5602e7382977af1043d621625f8c8.

8 years agoqtdemux: Fix string memory leak
Vineeth TM [Mon, 16 Nov 2015 07:56:04 +0000 (16:56 +0900)]
qtdemux: Fix string memory leak

The string got using g_strdup_printf will be allocated memory
and should be freed after use.

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

8 years agov4l2/object: remove unnecessary NULL check before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 05:51:11 +0000 (21:51 -0800)]
v4l2/object: remove unnecessary NULL check before g_free()

8 years agoosssrc: remove unnecessary NULL check before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 05:45:29 +0000 (21:45 -0800)]
osssrc: remove unnecessary NULL check before g_free()

8 years agosunaudiosrc: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 05:43:24 +0000 (21:43 -0800)]
sunaudiosrc: remove unnecessary NULL checks before g_free()

8 years agowavparse: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 05:36:30 +0000 (21:36 -0800)]
wavparse: remove unnecessary NULL checks before g_free()

8 years agomatroskamux: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 05:31:08 +0000 (21:31 -0800)]
matroskamux: remove unnecessary NULL checks before g_free()

8 years agomatroska/read-common: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 05:26:21 +0000 (21:26 -0800)]
matroska/read-common: remove unnecessary NULL checks before g_free()

8 years agoisomp4/atoms: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 04:43:10 +0000 (20:43 -0800)]
isomp4/atoms: remove unnecessary NULL checks before g_free()

8 years agortp/theorapay: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 04:35:54 +0000 (20:35 -0800)]
rtp/theorapay: remove unnecessary NULL checks before g_free()

8 years agortp/vorbispay: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 04:33:54 +0000 (20:33 -0800)]
rtp/vorbispay: remove unnecessary NULL checks before g_free()

8 years agortp/jpegpay: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 04:31:34 +0000 (20:31 -0800)]
rtp/jpegpay: remove unnecessary NULL checks before g_free()

8 years agortpgstpay: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 04:27:04 +0000 (20:27 -0800)]
rtpgstpay: remove unnecessary NULL checks before g_free()

8 years agortspsrc: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 04:22:09 +0000 (20:22 -0800)]
rtspsrc: remove unnecessary NULL checks before g_free()

8 years agoflxdec: remove unnecessary NULL check before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 04:14:25 +0000 (20:14 -0800)]
flxdec: remove unnecessary NULL check before g_free()

8 years agoeffectv/optv: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 04:09:54 +0000 (20:09 -0800)]
effectv/optv: remove unnecessary NULL checks before g_free()

8 years agoeffectv/shagadelictv: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 04:05:03 +0000 (20:05 -0800)]
effectv/shagadelictv: remove unnecessary NULL checks before g_free()

8 years agoeffectv/ripple: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 04:01:43 +0000 (20:01 -0800)]
effectv/ripple: remove unnecessary NULL checks before g_free()

8 years agoeffectv/radioac: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 03:56:57 +0000 (19:56 -0800)]
effectv/radioac: remove unnecessary NULL checks before g_free()

8 years agoeffectv/streak: remove unnecessary NULL check before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 03:52:12 +0000 (19:52 -0800)]
effectv/streak: remove unnecessary NULL check before g_free()

8 years agoshout2: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 01:04:55 +0000 (17:04 -0800)]
shout2: remove unnecessary NULL checks before g_free()

8 years agovp9enc: remove unnecessary NULL check before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 00:57:13 +0000 (16:57 -0800)]
vp9enc: remove unnecessary NULL check before g_free()

8 years agovp8enc: remove unnecessary NULL check before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 00:54:42 +0000 (16:54 -0800)]
vp8enc: remove unnecessary NULL check before g_free()

8 years agosouphttpsrc: remove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 00:20:33 +0000 (16:20 -0800)]
souphttpsrc: remove unnecessary NULL checks before g_free()

8 years agov4l2object: add support of NV16, NV61 and NV24 formats
Aurélien Zanelli [Fri, 13 Nov 2015 12:34:02 +0000 (13:34 +0100)]
v4l2object: add support of NV16, NV61 and NV24 formats

Mapped respectively to V4L2_PIX_FMT_NV16/V4L2_PIX_FMT_NV16M,
V4L2_PIX_FMT_NV61,V4L2_PIX_FMT_NV61M and V4L2_PIX_FMT_NV24 v4l2 formats.

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

8 years agosplitmuxpartreader: Fix GCond leak
Vineeth TM [Wed, 11 Nov 2015 05:10:53 +0000 (14:10 +0900)]
splitmuxpartreader: Fix GCond leak

inactive_cond is not being cleared resulting in memory leak.

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

8 years agojpegdec: fix output state memory leak
Vineeth TM [Thu, 6 Aug 2015 03:44:20 +0000 (12:44 +0900)]
jpegdec: fix output state memory leak

When jpeg_finish_decompress is called, output state reference is being created.
But if there is any failures in finishing decompress, it jumps to setjmp,
and at that point state was not referenced. Resulting in leak of output state.
Hence adding another setjmp after output state is referenced.
Similarly adding another setjmp to unmap the frame in case error happens before
finish_decompress

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

8 years agoqtdemux: respect qt segments in push-mode for empty starts
Thiago Santos [Mon, 10 Aug 2015 14:23:45 +0000 (11:23 -0300)]
qtdemux: respect qt segments in push-mode for empty starts

In push-mode it is hard to support qt segments overall but it is
possible to support when the file isn't heavily edited but just contain
a segment to indicate a gap at the beginning. This also allows properly
timestamping data that has negative DTS in push-mode.

It is relevant to support those for 2 scenarios:

1) fragmented streaming
2) HTTP playback of 'regular' mp4

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

8 years agopulse: Don't leak caps and structures in the device provider
Nirbheek Chauhan [Thu, 5 Nov 2015 13:09:33 +0000 (18:39 +0530)]
pulse: Don't leak caps and structures in the device provider

8 years agortpmanager: Document properties that are expressed in bits per second
Arun Raghavan [Wed, 4 Nov 2015 13:31:20 +0000 (19:01 +0530)]
rtpmanager: Document properties that are expressed in bits per second

This changed in 928cd110bcea5d143cab3ea747991851d52ecbad and
73c0c2920f9aca96982a4de0c20b3417aa148b81 but was not documented.

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

8 years agortpmanager: Trivial gst-indent fixes
Arun Raghavan [Wed, 4 Nov 2015 13:21:32 +0000 (18:51 +0530)]
rtpmanager: Trivial gst-indent fixes

8 years agoqtdemux: support for cenc auxiliary info parsing outside of moof box
Philippe Normand [Wed, 12 Aug 2015 11:35:40 +0000 (13:35 +0200)]
qtdemux: support for cenc auxiliary info parsing outside of moof box

When the cenc aux info index is out of moof boundaries, keep track of
it and parse the beginning of the mdat box, before the first sample.

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

8 years agomatroskademux: Use codecutils helpers for creating Opus caps
Sebastian Dröge [Tue, 3 Nov 2015 18:33:10 +0000 (20:33 +0200)]
matroskademux: Use codecutils helpers for creating Opus caps

Also fix up codec data with values from the container.

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

8 years agomatroskademux: There is no multistream field for Opus anymore
Sebastian Dröge [Tue, 3 Nov 2015 12:51:48 +0000 (14:51 +0200)]
matroskademux: There is no multistream field for Opus anymore

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

8 years agomatroska/webmmux: Support Opus in webmmux and VP9 in matroskamux
Sebastian Dröge [Tue, 3 Nov 2015 10:42:52 +0000 (12:42 +0200)]
matroska/webmmux: Support Opus in webmmux and VP9 in matroskamux

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

8 years agomatroskademux: Parse and handle CodecDelay, SeekPreroll and DiscardPadding
Sebastian Dröge [Tue, 3 Nov 2015 10:40:15 +0000 (12:40 +0200)]
matroskademux: Parse and handle CodecDelay, SeekPreroll and DiscardPadding

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

8 years agomatroskamux: Write CodecDelay, DiscardPadding and SeekPreroll for Opus
Sebastian Dröge [Tue, 3 Nov 2015 10:18:19 +0000 (12:18 +0200)]
matroskamux: Write CodecDelay, DiscardPadding and SeekPreroll for Opus

And also adjust timestamps and durations according to the codec delay, both
should include it for whatever reason.

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

8 years agomatroskamux: Opus headers are not in-band
Sebastian Dröge [Tue, 3 Nov 2015 09:49:54 +0000 (11:49 +0200)]
matroskamux: Opus headers are not in-band

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

8 years agov4l2: Set O_CLOEXEC on the device fd
Arun Raghavan [Tue, 3 Nov 2015 16:31:07 +0000 (22:01 +0530)]
v4l2: Set O_CLOEXEC on the device fd

This is needed to make sure that child processes don't inherit the video
device fd which can cause problems with some drivers.

8 years agortpmanager: switch G_GINT64_FORMAT for GST_STIME_ARGS
Luis de Bethencourt [Tue, 3 Nov 2015 14:46:30 +0000 (14:46 +0000)]
rtpmanager: switch G_GINT64_FORMAT for GST_STIME_ARGS

No need to use G_GINT64_FORMAT for potentially negative values of
GstClockTimeDiff. Since 1.6 these can be handled with GST_STIME_ARGS.
Plus it creates more readable values in the logs.

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

8 years agortpmanager: use GST_STIME_ARGS for GstClockTimeDiff
Luis de Bethencourt [Tue, 3 Nov 2015 14:26:29 +0000 (14:26 +0000)]
rtpmanager: use GST_STIME_ARGS for GstClockTimeDiff

No need to manually handle negative values of diff, GST_STIME_ARGS does
exactly this.

8 years agovideomixer: use GST_STIME_ARGS for GstClockTimeDiff
Luis de Bethencourt [Mon, 2 Nov 2015 16:53:15 +0000 (16:53 +0000)]
videomixer: use GST_STIME_ARGS for GstClockTimeDiff

No need to manually handle negative values of diff, GST_STIME_ARGS does
exactly this.

8 years agodeinterlace: use GST_STIME_ARGS for GstClockTimeDiff
Luis de Bethencourt [Mon, 2 Nov 2015 16:43:46 +0000 (16:43 +0000)]
deinterlace: use GST_STIME_ARGS for GstClockTimeDiff

No need to manually handle negative values of diff, GST_STIME_ARGS is
available for this.

8 years agoaudiochebband: Fix typo in example pipeline
Ravi Kiran K N [Fri, 30 Oct 2015 04:35:37 +0000 (10:05 +0530)]
audiochebband: Fix typo in example pipeline

Fix typo in example pipeline.

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

8 years agov4l2: fix double-unref in the v4l2 device provider
Nirbheek Chauhan [Wed, 28 Oct 2015 18:17:30 +0000 (23:47 +0530)]
v4l2: fix double-unref in the v4l2 device provider

8 years agomatroskamux: don't drop JPEG frames that only have PTS but no DTS set
Nicola Murino [Tue, 27 Oct 2015 09:48:00 +0000 (10:48 +0100)]
matroskamux: don't drop JPEG frames that only have PTS but no DTS set

For the MS/VfW codec ids, we want to write DTS timestamps instead
of PTS because that's what everyone else seems to do (and it's also
how it is in AVI). So for those input formats we use the buffer DTS
instead of the PTS. However, if there's no DTS set but only the PTS
then just take the PTS instead of dropping the input buffer. This
is useful especially for I-frame only codecs like JPEG and huffyuv,
but should also be fine as fallback in general.

Fixes regression with input JPEG frames that only have PTS set on them.

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

8 years agotests/check/splitmux: test that the release_pad vfunc of splitmuxsink actually releas...
George Kiagiadakis [Sat, 24 Oct 2015 21:57:38 +0000 (23:57 +0200)]
tests/check/splitmux: test that the release_pad vfunc of splitmuxsink actually releases pads

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

8 years agosplitmuxsink: do not destroy the multiqueue & muxer when going to NULL
George Kiagiadakis [Sat, 24 Oct 2015 21:57:29 +0000 (23:57 +0200)]
splitmuxsink: do not destroy the multiqueue & muxer when going to NULL

Instead, delay it until all request pads have been released. This is
because the release_pad() vfunc requires the multiqueue and muxer to
be there in order to release their request pads as well. If those
elements are destroyed earlier, release_pad() does not work, no
pads are released and some resources are leaked.

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

8 years agomatroskademux: Read buffer timestamp *after* actually setting it
Sebastian Dröge [Tue, 20 Oct 2015 12:28:10 +0000 (15:28 +0300)]
matroskademux: Read buffer timestamp *after* actually setting it

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

8 years agoscaletempo: Fix handling of rate < 0
Sebastian Dröge [Sat, 24 Oct 2015 14:14:07 +0000 (17:14 +0300)]
scaletempo: Fix handling of rate < 0

We have to reverse all samples in a buffer before processing them to properly
have continuous data from one buffer to another. As a result we will have a
negative applied rate and a rate of 1.0.

Also make sure that input buffers are correctly clipped to the segment,
otherwise our calculations are going to go wrong.

Also copy over the segment event's sequence number to the output segment while
we're at it.

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

8 years agodeinterlace: break as soon as non-interlaced if found
Thiago Santos [Mon, 19 Oct 2015 21:04:56 +0000 (18:04 -0300)]
deinterlace: break as soon as non-interlaced if found

It looks for a non-interlaced entry on the filter caps, break
as soon as one is found to avoid wasting cpu

8 years agodeinterlace: implement accept-caps
Thiago Santos [Mon, 19 Oct 2015 20:50:28 +0000 (17:50 -0300)]
deinterlace: implement accept-caps

Implement accept-caps handler to avoid doing a full caps query
downstream to handle it.

This commit implements accept-caps as a simplification of the _getcaps
function, so it exposes the same limitations that getcaps would.
For example, not accepting renegotiation to caps with capsfeatures when
it was last configured to a caps that it has to deinterlace.

8 years agotests: deinterlace: fix small typo in comment
Thiago Santos [Mon, 19 Oct 2015 20:06:28 +0000 (17:06 -0300)]
tests: deinterlace: fix small typo in comment

8 years agocheck: Dist splitvideo0[012].ogg test files.
Jan Schmidt [Sun, 25 Oct 2015 13:41:28 +0000 (00:41 +1100)]
check: Dist splitvideo0[012].ogg test files.

8 years agoscaletempo: Add support for F64
Sebastian Dröge [Fri, 23 Oct 2015 17:16:17 +0000 (20:16 +0300)]
scaletempo: Add support for F64

8 years agodocs: Minor fixes in various places
Mischa Spiegelmock [Fri, 23 Oct 2015 00:40:38 +0000 (17:40 -0700)]
docs: Minor fixes in various places

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

8 years agogoom: remove compiler trick
Luis de Bethencourt [Wed, 21 Oct 2015 16:43:31 +0000 (17:43 +0100)]
goom: remove compiler trick

After commit 2cb6cfed22166b262ae50cb58f3ff11dd8ba91f9 there is no need to
trick the compiler anymore about the usage of variable cpuFlavour.

8 years agoAutomatic update of common submodule
Tim-Philipp Müller [Wed, 21 Oct 2015 13:35:02 +0000 (14:35 +0100)]
Automatic update of common submodule

From b99800a to b319909

8 years agoaudiofx: remove unused variable
Ravi Kiran K N [Wed, 21 Oct 2015 12:11:38 +0000 (17:41 +0530)]
audiofx: remove unused variable

Remove unsued variable have_coeffs in audiofxbaseiirfilter

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

8 years agoUse new GST_ENABLE_EXTRA_CHECKS #define
Sebastian Dröge [Tue, 20 Oct 2015 14:29:42 +0000 (17:29 +0300)]
Use new GST_ENABLE_EXTRA_CHECKS #define

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

8 years agoAutomatic update of common submodule
Sebastian Dröge [Wed, 21 Oct 2015 11:25:55 +0000 (14:25 +0300)]
Automatic update of common submodule

From 9aed1d7 to b99800a

8 years agoflvdemux: relax creation time parsing
Tim-Philipp Müller [Wed, 21 Oct 2015 10:53:09 +0000 (11:53 +0100)]
flvdemux: relax creation time parsing

Parse wrong timestamps like we used to write as well,
e.g. 10:9:42, and the hour might be without a leading
zero in any case.

8 years agoflvdemux: fix indentation
Tim-Philipp Müller [Wed, 21 Oct 2015 10:45:35 +0000 (11:45 +0100)]
flvdemux: fix indentation

8 years agoflvdemux: extract both creation date and time
Tim-Philipp Müller [Wed, 21 Oct 2015 10:44:50 +0000 (11:44 +0100)]
flvdemux: extract both creation date and time

Before we only extracted the date part.

8 years agoflvmux: fix writing of creation time
Tim-Philipp Müller [Wed, 21 Oct 2015 10:16:01 +0000 (11:16 +0100)]
flvmux: fix writing of creation time

Don't write time as e.g. 11:9:42

8 years agortpj2kpay: update fragment offset
Thiago Santos [Tue, 13 Oct 2015 15:42:56 +0000 (12:42 -0300)]
rtpj2kpay: update fragment offset

It was always being set to 0, making the resulting stream broken
for the receiver

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

8 years agoqtmux: Don't unconditionally use strnlen()
Ryan Hendrickson [Mon, 19 Oct 2015 12:36:37 +0000 (15:36 +0300)]
qtmux: Don't unconditionally use strnlen()

It's not available on older OSX and we can as well use memchr() here.

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

8 years agoauparse: Fix event memory leak
Vineeth TM [Mon, 19 Oct 2015 08:38:32 +0000 (17:38 +0900)]
auparse: Fix event memory leak

Free the event after being handled to prevent memory leak.

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

8 years agoqtmux: unify raw audio caps into a single caps structure
Tim-Philipp Müller [Mon, 19 Oct 2015 08:14:19 +0000 (09:14 +0100)]
qtmux: unify raw audio caps into a single caps structure

8 years agoqtdemux: add support for FFV1 coded streams in mov
Reynaldo H. Verdejo Pinochet [Wed, 14 Oct 2015 22:42:50 +0000 (15:42 -0700)]
qtdemux: add support for FFV1 coded streams in mov

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

8 years agosouphttpsrc: EOS immediately if we have an empty seek segment
Sebastian Dröge [Wed, 14 Oct 2015 12:53:26 +0000 (15:53 +0300)]
souphttpsrc: EOS immediately if we have an empty seek segment

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

8 years agosouphttpsrc: Make non-inclusive segment boundaries inclusive
Stavros Vagionitis [Wed, 14 Oct 2015 07:43:19 +0000 (10:43 +0300)]
souphttpsrc: Make non-inclusive segment boundaries inclusive

The problem is that the filesrc and souphttpsrc are behaving
differently regarding the calculation of the segment boundaries. The
filesrc is using a non-inclusive boundaries, while the souphttpsrc
uses inclusive. Currently the hlsdemux calculates the boundaries as
inclusive, so for this reason there is no problem with the souphttpsrc,
but there is an issue in the filesrc.

The GstSegment is non-inclusive, so the proposed solution is to use
non-inclusive boundaries in the hlsdemux in order to be consistent.
Make the change in the hlsdemux, will break the souphttpsrc, which
will expect inclusive boundaries, but the hlsdemux will offer
non-inclusive. This change makes sure that the non-inclusive
boundaries are converted to inclusive.

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