platform/upstream/gst-plugins-good.git
9 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

9 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

9 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

9 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

9 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

9 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

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

9 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

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

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

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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

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

9 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

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

9 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

9 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

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

9 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

9 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

9 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

9 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

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

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

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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 years agosouphttpclientsink: Add the retry and retry-delay properties
Graham Leggett [Sun, 11 Oct 2015 22:07:54 +0000 (22:07 +0000)]
souphttpclientsink: Add the retry and retry-delay properties

These allow a failed request to be retried after the given number of seconds
instead of failing the pipeline. Take account of the Retry-After header if
present. Add retries parameter that controls the number of times an HTTP
request will be retried before failing.

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

9 years agoqtdemux: fix caps leak
Guillaume Desmottes [Wed, 14 Oct 2015 10:03:15 +0000 (12:03 +0200)]
qtdemux: fix caps leak

If the QtDemuxStream are re-used they may already have caps which used
to be leaked.

Reproduced using the
validate.dash.playback.seek_forward.dash_exMPD_BIP_TC1 validate
scenario.

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

9 years agoqtdemux: Fix taglist memory leak
Vineeth TM [Wed, 14 Oct 2015 00:29:50 +0000 (09:29 +0900)]
qtdemux: Fix taglist memory leak

Free the stream and its sub items instead of just the stream

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

9 years agoqtmux: Allow negotiating to S8 as a raw format but stop making it best choice
Thibault Saunier [Sun, 11 Oct 2015 11:06:26 +0000 (12:06 +0100)]
qtmux: Allow negotiating to S8 as a raw format but stop making it best choice

Negotiation to audio/x-raw,format=S8 was not possible because S8 does
not have a bit order so we ended up doing `if (!entry.fourcc) goto refuse_caps;`

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

9 years agoqtmux: Add prores support
Thibault Saunier [Sun, 11 Oct 2015 08:18:40 +0000 (09:18 +0100)]
qtmux: Add prores support

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

9 years agotests: add GST_PLUGINS_BASE_LIBS for flvdemux check
Tim-Philipp Müller [Mon, 12 Oct 2015 17:56:32 +0000 (18:56 +0100)]
tests: add GST_PLUGINS_BASE_LIBS for flvdemux check

So it pulls in the right libgsttag-1.0.

9 years agogoom/goom2k1: remove obsolete left over files
Julien Isorce [Sun, 11 Oct 2015 21:27:47 +0000 (22:27 +0100)]
goom/goom2k1: remove obsolete left over files

They now use the new GstAudioVisualizer base class
from gst-plugins-base/gst-libs/gst/pbutils

Also fixed undefined reference to gst_audio_visualizer_get_type
Added GST_PLUGINS_BASE_LIBS to Makefile.am and re-order LIBADD.

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

9 years agompegaudioparse: Fix buffer memory leak during failures
Vineeth TM [Mon, 12 Oct 2015 01:48:23 +0000 (10:48 +0900)]
mpegaudioparse: Fix buffer memory leak during failures

mapped buffer is not being unmapped during failures

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

9 years agosouphttpclientsink: Check if soup message is created
Vineeth TM [Mon, 12 Oct 2015 02:18:51 +0000 (11:18 +0900)]
souphttpclientsink: Check if soup message is created

If soup message is not created then the same should not be passed
on, which is resulting in segfault. Hence throwing a warning message
and returning

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

9 years agosouphttpclientsink: Check if location being set is valid
Vineeth TM [Mon, 12 Oct 2015 02:15:15 +0000 (11:15 +0900)]
souphttpclientsink: Check if location being set is valid

Adding a check in set_property to find if the location uri is valid
and printing warning if not valid.

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

9 years agosouphttpclientsink: Fix memory leaks during failures
Vineeth TM [Mon, 12 Oct 2015 02:09:30 +0000 (11:09 +0900)]
souphttpclientsink: Fix memory leaks during failures

freeing streamheader_buffers and sent_buffers during failure cases.

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

9 years agosouphttpclientsink: Replace redundant free_buffer_list function
Vineeth TM [Mon, 12 Oct 2015 02:03:17 +0000 (11:03 +0900)]
souphttpclientsink: Replace redundant free_buffer_list function

Removing free_buffer_list and replacing it with already available function
g_list_free_full

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

9 years agocheck: Don't forget base CFLAGS for flvdemux check
Edward Hervey [Sun, 11 Oct 2015 14:40:01 +0000 (16:40 +0200)]
check: Don't forget base CFLAGS for flvdemux check

elements/flvdemux.c:25:25: fatal error: gst/tag/tag.h: No such file or directory

9 years agomatroskamux: Create a TIME segment when creating streamable output
Sebastian Dröge [Sun, 11 Oct 2015 10:37:51 +0000 (11:37 +0100)]
matroskamux: Create a TIME segment when creating streamable output

Related to https://bugzilla.gnome.org/show_bug.cgi?id=754435 which
does the same for flvmux.

9 years agoflvdemux: output speex vorbiscomment as a GstTagList
Havard Graff [Wed, 23 Sep 2015 11:50:52 +0000 (13:50 +0200)]
flvdemux: output speex vorbiscomment as a GstTagList

This is what speexdec expects.

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

9 years agoflvmux: GST_BUFFER_OFFSETs should be GST_BUFFER_OFFSET_NONE
Havard Graff [Tue, 22 Sep 2015 20:59:16 +0000 (22:59 +0200)]
flvmux: GST_BUFFER_OFFSETs should be GST_BUFFER_OFFSET_NONE

Or else flvdemux don't understand it

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

9 years agoflvmux: use time segment and copy timestamps when streamable
Havard Graff [Wed, 2 Sep 2015 08:44:59 +0000 (10:44 +0200)]
flvmux: use time segment and copy timestamps when streamable

Add a basic test using speex data to verify timestamping.

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

9 years agoflvdemux: speex is also always 16KHz
Havard Graff [Wed, 23 Sep 2015 11:14:03 +0000 (13:14 +0200)]
flvdemux: speex is also always 16KHz

This is just a cosmetic change for the logs, since the right caps
for Speex is being set elsewhere.

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

9 years agortpmanager: Add 'source-stats' to stats and notify
Stian Selnes [Tue, 14 Jul 2015 13:19:44 +0000 (15:19 +0200)]
rtpmanager: Add 'source-stats' to stats and notify

Add statitics from each rtp source to the rtp session property.
'source-stats' is a GValueArray where each element is a GstStructure of
stats for one rtp source.

The availability of new stats is signaled via g_object_notify.

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

9 years agortpsession: Implement sending of reduced size RTCP packets
Sebastian Dröge [Fri, 5 Jun 2015 15:20:33 +0000 (17:20 +0200)]
rtpsession: Implement sending of reduced size RTCP packets

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

9 years agoaudiofx: Remove unused variable
Ravi Kiran K N [Thu, 8 Oct 2015 09:31:13 +0000 (15:01 +0530)]
audiofx: Remove unused variable

Remove unused variable 'degree' in audiodynamic

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

9 years agoqtdemux: Fix memory leak for corrupted file
Vineeth TM [Thu, 8 Oct 2015 05:44:07 +0000 (14:44 +0900)]
qtdemux: Fix memory leak for corrupted file

Free brands before overriding them.

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

9 years agogdkpixbufdec: Fix pixbuf_loader leak during failures
Vineeth TM [Thu, 8 Oct 2015 02:44:04 +0000 (11:44 +0900)]
gdkpixbufdec: Fix pixbuf_loader leak during failures

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

9 years agortpbin: Add missing break
Sebastian Dröge [Wed, 7 Oct 2015 22:23:45 +0000 (23:23 +0100)]
rtpbin: Add missing break

9 years agortpmanager: Take into account packet rate for max-dropout and max-misorder calculations
Miguel París Díaz [Wed, 7 Oct 2015 11:03:02 +0000 (13:03 +0200)]
rtpmanager: Take into account packet rate for max-dropout and max-misorder calculations

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

9 years agortpmanager: add "max-dropout-time" and "max-misorder-time" props
Miguel París Díaz [Wed, 7 Oct 2015 11:02:12 +0000 (13:02 +0200)]
rtpmanager: add "max-dropout-time" and "max-misorder-time" props

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

9 years agoqtmux: Fix date memory leak
Vineeth TM [Wed, 7 Oct 2015 08:14:57 +0000 (17:14 +0900)]
qtmux: Fix date memory leak

When getting date from taglist, the memory should be freed after
using it.

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

9 years agoqtmux: Fix sample memory leak
Vineeth TM [Mon, 5 Oct 2015 02:03:38 +0000 (11:03 +0900)]
qtmux: Fix sample memory leak

When getting sample from taglist, the memory should be freed after
using it.

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

9 years agocutter: Fix buffer leak
Vineeth TM [Mon, 5 Oct 2015 04:10:56 +0000 (13:10 +0900)]
cutter: Fix buffer leak

Buffer is added to the internal cache, and pushed only when accumulated
buffer duration crosses 200 ms. So when the chain ends, the buffer accumulated
is not freed. Freeing the cache when the state changes from PAUSED to READY.

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

9 years agortpmux: Use default upstream event handling
Olivier Crête [Tue, 1 Sep 2015 01:10:16 +0000 (21:10 -0400)]
rtpmux: Use default upstream event handling

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

9 years agortpmux: As 0xFFFFFFFF is a valid ssrc, check if it has been set
Olivier Crête [Tue, 1 Sep 2015 01:05:03 +0000 (21:05 -0400)]
rtpmux: As 0xFFFFFFFF is a valid ssrc, check if it has been set

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

9 years agogstrtpmux: allow the ssrc-property to decide ssrc on outgoing buffers
Havard Graff [Wed, 22 Jul 2015 07:47:22 +0000 (09:47 +0200)]
gstrtpmux: allow the ssrc-property to decide ssrc on outgoing buffers

By not doing this, the muxer is not effectively a rtpmuxer, rather a
funnel, since it should be a single stream that exists the muxer.

If not specified, take the first ssrc seen on a sinkpad, allowing upstream
to decide ssrc in "passthrough" with only one sinkpad.

Also, let downstream ssrc overrule internal configured one

We hence has the following order for determining the ssrc used by
rtpmux:

0. Suggestion from GstRTPCollision event
1. Downstream caps
2. ssrc-Property
3. (First) upstream caps containing ssrc
4. Randomly generated

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

9 years agoudpsrc: Fixup last commit
Sebastian Dröge [Fri, 2 Oct 2015 19:42:20 +0000 (22:42 +0300)]
udpsrc: Fixup last commit

9 years agoUpdate GLib dependency to 2.40.0
Sebastian Dröge [Fri, 2 Oct 2015 19:21:45 +0000 (22:21 +0300)]
Update GLib dependency to 2.40.0

9 years agortpstats: add utility for calculating RTP packet rate
Miguel París Díaz [Tue, 30 Jun 2015 14:56:19 +0000 (16:56 +0200)]
rtpstats: add utility for calculating RTP packet rate

9 years agoqtdemux: handle empty segments in seeking adjust
Thiago Santos [Mon, 10 Aug 2015 21:14:39 +0000 (18:14 -0300)]
qtdemux: handle empty segments in seeking adjust

If seeking targets an empty segment skip it as there is no media
offset to get from it. Instead look for the next one.

This doesn't make seeking in push-mode work if you seek to an
empty segment but at least won't get you to wrong offsets.

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

9 years agosplitmuxsink: post messages when fragments are being opened and closed
George Kiagiadakis [Fri, 17 Apr 2015 12:25:43 +0000 (14:25 +0200)]
splitmuxsink: post messages when fragments are being opened and closed

This can be useful for applications that need to track the created fragments
(to log them in a recording database, for example)

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

9 years agosplitmuxsink: allow non-video streams to serve as reference
Ramiro Polla [Wed, 29 Apr 2015 17:23:28 +0000 (18:23 +0100)]
splitmuxsink: allow non-video streams to serve as reference

In the absence of a video stream, the first stream will be used as
reference.

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

9 years agosplitmuxsink: initialize mux_start_time properly
George Kiagiadakis [Wed, 22 Jul 2015 15:45:12 +0000 (17:45 +0200)]
splitmuxsink: initialize mux_start_time properly

mux_start_time refers to the running_time of the buffer
that goes first in the output file. Normally this time is
0, so this variable is initialized to 0 during the state
change to PAUSED.

However, when dealing with dynamic pipelines and starting
a recording while the pipeline has already run for a while,
the running_time of the first buffer is > 0 and this causes
a problem with detecting the end of the first file(s) when
splitting by duration, because the code will later compare
the threshold_time with (last buffer running_time - mux_start_time)
and will get it wrong until mux_start_time advances enough
to make this difference < threshold_time, creating empty files
in the meantime.

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

9 years agoavidemux: Reverse playback does not consider segment.start
Vineeth T M [Wed, 16 Sep 2015 07:03:02 +0000 (16:03 +0900)]
avidemux: Reverse playback does not consider segment.start

During reverse playback, the media should stop playing at segment.start
This does not happen, and avidemux continues to process data even when
current timestamp is less that segment.start.

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

9 years agoqtdemux: Check multi trex to find track id in mp4 mpeg-dash stream
Manasa Athreya [Wed, 23 Sep 2015 03:39:35 +0000 (12:39 +0900)]
qtdemux: Check multi trex to find track id in mp4 mpeg-dash stream

If stream has more than one trex box which is not matched to actual
track id, it makes qtdemux crashed.

Author : Manasa Athreya (manasa.athreya@lge.com)

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

9 years agosmpte: get size, stride info using VideoInfo
Ravi Kiran K N [Fri, 4 Sep 2015 08:54:45 +0000 (14:24 +0530)]
smpte: get size, stride info using VideoInfo

Use VideoInfo data to get size stride and
offset, instead of hard coded macros.

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

9 years agosmpte: free mask
Ravi Kiran K N [Fri, 4 Sep 2015 08:48:50 +0000 (14:18 +0530)]
smpte: free mask

Free the memory allocated to 'mask' to avoid
memory leak.

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

9 years agogstreamer: good: tests: Fix memory leaks when context parse fails.
Vineeth TM [Thu, 20 Aug 2015 02:02:58 +0000 (11:02 +0900)]
gstreamer: good: tests: Fix memory leaks when context parse fails.

When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.

And replacing g_error_free with g_clear_error, which checks if the error being passed

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

9 years agortpsource: doesn't handle probation and rtp gap in case of sender
Hyunjun Ko [Fri, 2 Oct 2015 07:18:15 +0000 (16:18 +0900)]
rtpsource: doesn't handle probation and rtp gap in case of sender

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

9 years agortpmanager: add new on-new-sender-ssrc, on-sender-ssrc-active signals
Hyunjun Ko [Fri, 2 Oct 2015 07:16:32 +0000 (16:16 +0900)]
rtpmanager: add new on-new-sender-ssrc, on-sender-ssrc-active signals

Allows for applications to get internal source's RTP statistics.
(eg. sender sources for a server/client)

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

9 years agoximagesrc: Gather and coalesce all damaged areas before retrieving.
Jan Schmidt [Fri, 2 Oct 2015 04:17:48 +0000 (14:17 +1000)]
ximagesrc: Gather and coalesce all damaged areas before retrieving.

These days the xserver seems to give us the same damage regions
over and over for entire windows, and we retrieve them multiple
times, which gives time for more damage to appear. Instead, just
quickly gather all damaged areas into a region list and copy
out once.

9 years agogoom2k1: use the new audiovisualizer base class
Luis de Bethencourt [Thu, 1 Oct 2015 15:24:32 +0000 (16:24 +0100)]
goom2k1: use the new audiovisualizer base class

Rebase to have goom using the GstAudioVisualizer base class in
gst-plugins-base/gst-libs/gst/pbutils

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

9 years agogoom: use the new audiovisualizer base class
Luis de Bethencourt [Thu, 1 Oct 2015 15:16:08 +0000 (16:16 +0100)]
goom: use the new audiovisualizer base class

Rebase to have goom using the GstAudioVisualizer base class in
gst-plugins-base/gst-libs/gst/pbutils

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

9 years agodeinterleave: implement accept-caps
Thiago Santos [Wed, 30 Sep 2015 20:35:33 +0000 (17:35 -0300)]
deinterleave: implement accept-caps

Avoid using default accept-caps handler that will query downstream
and is more expensive. Just check if the caps is compatible with
the template and check if the channels are the same.

9 years agotests: deinterleave: also check for caps query results
Thiago Santos [Wed, 30 Sep 2015 12:35:39 +0000 (09:35 -0300)]
tests: deinterleave: also check for caps query results

9 years agodeinterleave: use the caps query filter
Thiago Santos [Wed, 30 Sep 2015 15:30:59 +0000 (12:30 -0300)]
deinterleave: use the caps query filter

It was being ignored and would lead to wrong results if the
element doing the query would rely on the intersection being made.

9 years agodeinterleave: implement a caps query handler for the sinkpad
Thiago Santos [Wed, 30 Sep 2015 13:00:31 +0000 (10:00 -0300)]
deinterleave: implement a caps query handler for the sinkpad

It was missing and apparently code relied on having it there
for not allowing a change in the number of channels

9 years agodeinterleave: fix caps leak
Thiago Santos [Wed, 30 Sep 2015 12:05:03 +0000 (09:05 -0300)]
deinterleave: fix caps leak

Caps from the pad template are being leaked. In any case it is
from a static pad template and will 'leak' in the end, just doing
the cleanup for the good practice.

9 years agotests: gdkpixbufoverlay: add minimal unit test
Tim-Philipp Müller [Tue, 29 Sep 2015 10:15:01 +0000 (11:15 +0100)]
tests: gdkpixbufoverlay: add minimal unit test

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

9 years agogdkpixbufsink: don't leak old pixel buffer when setting a new overlay
Tim-Philipp Müller [Tue, 29 Sep 2015 10:12:48 +0000 (11:12 +0100)]
gdkpixbufsink: don't leak old pixel buffer when setting a new overlay

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

9 years agoflacenc: avoid potential string overflow
Tim-Philipp Müller [Mon, 28 Sep 2015 19:25:22 +0000 (20:25 +0100)]
flacenc: avoid potential string overflow

We don't necessarily have full control over the input tags, so
it's possible that the ISRC tag contains a longer string than
expected, in which case we'd write over the end of the static-size
13 byte buffer that is FLAC__StreamMetadata_CueSheet_Track::isrc.
Make sure to only copy the ISRC if it's not too long, and make
sure the buffer we write to is always NUL-terminated by using
g_strlcpy().

CID 1324931.

9 years agomatroskademux: Remove leftover assertion from 0.10
Sebastian Dröge [Mon, 28 Sep 2015 16:03:51 +0000 (18:03 +0200)]
matroskademux: Remove leftover assertion from 0.10

We now allocate memory via GstAllocator and as such can handle arbitrary
alignments, not only <= G_MEM_ALIGN.

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

9 years agoaacparse: fix uninitialized variables in LOAS config reading
Guillaume Marquebielle [Fri, 25 Sep 2015 08:01:37 +0000 (10:01 +0200)]
aacparse: fix uninitialized variables in LOAS config reading

On reading LOAS config, flag v=1 and vA=1 combination can occur, leading to warning
"Spec says "TBD"...". Returning TRUE on this case while parameters 'sample_rate' and
'channels' are pointing to uninitialized values can end on setting random values as
rate and channels on src caps.

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

9 years agoFix some compiler warnings when building with G_DISABLE_ASSERT
Jan Schmidt [Thu, 17 Sep 2015 14:58:23 +0000 (00:58 +1000)]
Fix some compiler warnings when building with G_DISABLE_ASSERT

Touches rtpmanager and gdkpixbufsink