platform/upstream/gstreamer.git
9 years agotests: nodist for orc generated code
Mark Nauwelaerts [Wed, 31 Dec 2014 19:47:24 +0000 (20:47 +0100)]
tests: nodist for orc generated code

9 years agoaggregator: add g-i transfer and scope annotations
Tim-Philipp Müller [Thu, 1 Jan 2015 15:46:00 +0000 (15:46 +0000)]
aggregator: add g-i transfer and scope annotations

9 years agoaggregator: register names of iterate_sinkpads functions with debug system
Tim-Philipp Müller [Thu, 1 Jan 2015 14:10:05 +0000 (14:10 +0000)]
aggregator: register names of iterate_sinkpads functions with debug system

9 years agoaggregator: reduce debug messages for taking/releasing logs to TRACE level
Tim-Philipp Müller [Thu, 1 Jan 2015 14:03:02 +0000 (14:03 +0000)]
aggregator: reduce debug messages for taking/releasing logs to TRACE level

Don't spam debug log with this stuff.

9 years agoaggregator: move property member into private structure
Tim-Philipp Müller [Wed, 31 Dec 2014 18:16:21 +0000 (18:16 +0000)]
aggregator: move property member into private structure

Our locking (or lack thereof) while accessing this also
looks generally quite dodgy.

9 years agoaggregator: remove empty dispose function
Tim-Philipp Müller [Wed, 31 Dec 2014 14:50:58 +0000 (14:50 +0000)]
aggregator: remove empty dispose function

9 years agoaggregator: give private functions namespace prefix
Tim-Philipp Müller [Tue, 30 Dec 2014 23:58:34 +0000 (23:58 +0000)]
aggregator: give private functions namespace prefix

Especially the GST_DEBUG_FUNCPTR ones.

9 years agoaggregator: fix up some docs comments in header
Tim-Philipp Müller [Wed, 31 Dec 2014 12:35:06 +0000 (12:35 +0000)]
aggregator: fix up some docs comments in header

9 years agoaggregator: remove now-unused system clock member
Tim-Philipp Müller [Tue, 30 Dec 2014 23:44:46 +0000 (23:44 +0000)]
aggregator: remove now-unused system clock member

9 years agoglmixer, glvideomixer: update for GstAggregatorPadForeachFunc change
Tim-Philipp Müller [Tue, 30 Dec 2014 19:43:43 +0000 (19:43 +0000)]
glmixer, glvideomixer: update for GstAggregatorPadForeachFunc change

9 years agoglmixer: update for aggregator start/stop vfunc change
Tim-Philipp Müller [Tue, 30 Dec 2014 19:26:47 +0000 (19:26 +0000)]
glmixer: update for aggregator start/stop vfunc change

9 years agoaggregator: make GstAggregatorPadForeachFunc take an GstAggregatorPad
Tim-Philipp Müller [Tue, 30 Dec 2014 19:22:01 +0000 (19:22 +0000)]
aggregator: make GstAggregatorPadForeachFunc take an GstAggregatorPad

9 years agoaudiomixer: update for aggregator start/stop vfunc change
Tim-Philipp Müller [Tue, 30 Dec 2014 18:01:34 +0000 (18:01 +0000)]
audiomixer: update for aggregator start/stop vfunc change

9 years agovideoaggregator: update for aggregator start/stop vfunc change
Tim-Philipp Müller [Tue, 30 Dec 2014 17:56:35 +0000 (17:56 +0000)]
videoaggregator: update for aggregator start/stop vfunc change

9 years agoaggregator: bring start/stop vfunc semantics in line with other baseclasses
Tim-Philipp Müller [Tue, 30 Dec 2014 17:50:17 +0000 (17:50 +0000)]
aggregator: bring start/stop vfunc semantics in line with other baseclasses

Sub-class should not have to chain up to GstAggregator's start/stop
vfuncs, same as in GstBaseSrc, GstBaseSink, GstBaseTransform etc.

9 years agoaudiomixer: fix output-block-size property description
Tim-Philipp Müller [Tue, 30 Dec 2014 15:29:36 +0000 (15:29 +0000)]
audiomixer: fix output-block-size property description

9 years agohlsdemux: only typefind when we have a minimum amount of data
Thiago Santos [Tue, 30 Dec 2014 11:07:18 +0000 (08:07 -0300)]
hlsdemux: only typefind when we have a minimum amount of data

For small amounts some data might be mistyped and it would cause
the pipeline to fail. For example if you have AAC inside mpegts,
for small amounts, the AAC samples would cause the typefinder to
think it is AAC and not mpegts.

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

9 years agodecklink: Add support for 4K / UHD modes
Sebastian Dröge [Mon, 29 Dec 2014 10:49:51 +0000 (11:49 +0100)]
decklink: Add support for 4K / UHD modes

9 years agodecklink: Fix indention
Sebastian Dröge [Mon, 29 Dec 2014 10:49:42 +0000 (11:49 +0100)]
decklink: Fix indention

9 years agodashdemux: do not try to ref null pointer
Thiago Santos [Mon, 29 Dec 2014 13:44:53 +0000 (10:44 -0300)]
dashdemux: do not try to ref null pointer

Playlists might be missing the availability start time, so check for
it before trying to ref the object

9 years agodashdemux: run gst-indent on mpdparser
Thiago Santos [Mon, 29 Dec 2014 13:44:19 +0000 (10:44 -0300)]
dashdemux: run gst-indent on mpdparser

Run gst-indent on mpdparser to have it stop complaining on every
commit

9 years agoaggregator: remove pointless GST_DEBUG_FUNCPTR
Tim-Philipp Müller [Sun, 28 Dec 2014 18:26:49 +0000 (18:26 +0000)]
aggregator: remove pointless GST_DEBUG_FUNCPTR

Not useful for GObject vfuncs.

9 years agoaggregator: remove duplicate pad parent_class variable
Tim-Philipp Müller [Sun, 28 Dec 2014 18:24:21 +0000 (18:24 +0000)]
aggregator: remove duplicate pad parent_class variable

G_DEFINE_TYPE already provides one, just need to use it.

9 years agoaggregator: add _CAST() variants for cast macros
Tim-Philipp Müller [Sun, 28 Dec 2014 18:22:57 +0000 (18:22 +0000)]
aggregator: add _CAST() variants for cast macros

10 years agoaggregator: make padding larger
Tim-Philipp Müller [Sun, 28 Dec 2014 01:13:33 +0000 (01:13 +0000)]
aggregator: make padding larger

Esp. the class structures, can't have enough
spare space for virtual functions.

10 years agosiren: remove unneeded structure padding
Tim-Philipp Müller [Sun, 28 Dec 2014 00:58:04 +0000 (00:58 +0000)]
siren: remove unneeded structure padding

Public headers are private and not installed.

10 years agoaggregator: Log to the pad instead of the element
Nirbheek Chauhan [Sat, 27 Dec 2014 10:45:41 +0000 (16:15 +0530)]
aggregator: Log to the pad instead of the element

More correct way of doing the same thing as before

10 years agoglvideomixer: Point to compositor for the pad properties documentation
Nirbheek Chauhan [Sat, 27 Dec 2014 10:20:17 +0000 (15:50 +0530)]
glvideomixer: Point to compositor for the pad properties documentation

10 years agocompositor: Document the pad properties
Nirbheek Chauhan [Sat, 27 Dec 2014 10:19:47 +0000 (15:49 +0530)]
compositor: Document the pad properties

10 years agoaudiomixer: Document the pad properties
Nirbheek Chauhan [Sat, 27 Dec 2014 10:19:39 +0000 (15:49 +0530)]
audiomixer: Document the pad properties

10 years agoaggregator: Make sure that the minimum latencies are never GST_CLOCK_TIME_NONE
Sebastian Dröge [Sat, 27 Dec 2014 08:49:43 +0000 (09:49 +0100)]
aggregator: Make sure that the minimum latencies are never GST_CLOCK_TIME_NONE

10 years agoaggregator: Wait for the minimum latency, not the maximum
Sebastian Dröge [Sat, 27 Dec 2014 08:42:57 +0000 (09:42 +0100)]
aggregator: Wait for the minimum latency, not the maximum

The minimum latency is the latency we have to wait at least
to guarantee that all upstreams have produced data. The maximum
latency has no meaning like that and shouldn't be used for waiting.

10 years agoaggregator: Clamp the min latency at the max if it's greater
Nirbheek Chauhan [Fri, 26 Dec 2014 22:51:36 +0000 (04:21 +0530)]
aggregator: Clamp the min latency at the max if it's greater

10 years agoaggregator: Print the sinkpad name while logging latency queries
Nirbheek Chauhan [Fri, 26 Dec 2014 22:51:26 +0000 (04:21 +0530)]
aggregator: Print the sinkpad name while logging latency queries

Very useful while debugging.

10 years agoaggregator: Take the stream lock when iterating sink pads
Nirbheek Chauhan [Fri, 26 Dec 2014 22:49:52 +0000 (04:19 +0530)]
aggregator: Take the stream lock when iterating sink pads

When iterating sink pads to collect some data, we should take the stream lock so
we don't get stale data and possibly deadlock because of that. This fixes
a definitive deadlock in _wait_and_check() that manifests with high max
latencies in a live pipeline, and fixes other possible race conditions.

10 years agowrappercamerabinsrc: do not set source state with lock
Thiago Santos [Sat, 27 Dec 2014 02:05:43 +0000 (23:05 -0300)]
wrappercamerabinsrc: do not set source state with lock

It might be racy with the image probe thread as it uses the capture
mutex just like the start-capture handler from camerabin. The
start-capture would be waiting for the source's streaming thread
to stop to be able to set the source state to ready while the
probe would be blocked waiting to acquire the capture mutex.
It causes a deadlock.

10 years agowrappercamerabinsrc: use the drain query instead of flush
Thiago Santos [Fri, 26 Dec 2014 13:17:19 +0000 (10:17 -0300)]
wrappercamerabinsrc: use the drain query instead of flush

The flush might clear any pending captures that are still in
queues being processed while the drain query will wait for those
to be properly done

10 years agoavfvideosrc: improve timestamp code
Alessandro Decina [Fri, 26 Dec 2014 11:45:41 +0000 (22:45 +1100)]
avfvideosrc: improve timestamp code

Use a combination of the running time and CMClockGetTime from AVF to compute
timestamps.

10 years agogdppay: use public API for accessing stream header arrays in caps
Tim-Philipp Müller [Fri, 26 Dec 2014 11:48:56 +0000 (11:48 +0000)]
gdppay: use public API for accessing stream header arrays in caps

Don't rely on core implementation details, which are private and
may change. It's also not needed here, the performance impact is
close to none. Also copy buffer before changing its metadata.

10 years agotests: gdpdepay: update for internal gdp refactoring
Tim-Philipp Müller [Fri, 26 Dec 2014 11:29:12 +0000 (11:29 +0000)]
tests: gdpdepay: update for internal gdp refactoring

This test uses some internal/private API, so needs to
be updated for recent changes.

10 years agogdppay: refactor payloading code a little
Tim-Philipp Müller [Fri, 26 Dec 2014 11:27:38 +0000 (11:27 +0000)]
gdppay: refactor payloading code a little

Get rid of some indirections and inefficiencies,
just payload things directly which gives us more
control over what memory is allocated where and
how and makes things much simpler. In particular,
we can now allocate the payload header plus the
GstMemory to represent it in one go.

10 years agogdppay: refactor a little
Tim-Philipp Müller [Mon, 15 Dec 2014 00:41:22 +0000 (00:41 +0000)]
gdppay: refactor a little

Get rid of now-useless packetizer struct and just
call internal functions directly. Also remove
version property which is now defunct, not least
because we create the packetizer with the
version in the init function before a version
can be set.

10 years agotests: gdppay: initialise memory of buffers used in unit test
Tim-Philipp Müller [Sat, 13 Dec 2014 16:46:07 +0000 (16:46 +0000)]
tests: gdppay: initialise memory of buffers used in unit test

10 years agogdppay: optimise payloading of buffers with multiple memories
Tim-Philipp Müller [Sat, 13 Dec 2014 15:23:48 +0000 (15:23 +0000)]
gdppay: optimise payloading of buffers with multiple memories

Add function to calculate a payload CRC across multiple memories
so we don't have to merge buffers with multiple memories just to
calculate the CRC. Also make CRC calculation function static,
since it's not used outside dataprotocol.h and move special-casing
of length = 0 -> CRC = 0 into CRC function (from caller).

Perhaps more importantly, since payload CRC is off by default:
don't map buffer (and possibly merge memories in the process)
if we are not going to use it to calculate a CRC anyway.

10 years agogdppay: dataprotocol: drop bogus const
Tim-Philipp Müller [Sat, 13 Dec 2014 15:19:16 +0000 (15:19 +0000)]
gdppay: dataprotocol: drop bogus const

Doesn't really make sense given that we map
it and possibly merge memories and such.

10 years agohlsdemux: typefind might fail if first buffer is too short
Vijay Jayaraman [Mon, 24 Nov 2014 19:18:36 +0000 (12:18 -0700)]
hlsdemux: typefind might fail if first buffer is too short

If typefind fails, check to see if the buffer is too short for typefind. If this is the case,
prepend the decrypted buffer to the pending buffer and try again the next time around.

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

10 years agohlsdemux: port to adaptive base class
Thiago Santos [Wed, 27 Aug 2014 19:26:19 +0000 (16:26 -0300)]
hlsdemux: port to adaptive base class

Conflicts:
ext/hls/gsthlsdemux.c
ext/hls/gsthlsdemux.h

10 years agoadaptivedemux: check if element exists before setting it to null
Thiago Santos [Tue, 23 Dec 2014 04:51:50 +0000 (01:51 -0300)]
adaptivedemux: check if element exists before setting it to null

Under certain error conditions it might happen that the element
has been freed already and trying to set it to NULL causes an
assertion

10 years agoadaptivedemux: make sure task has stopped before freeing it
Thiago Santos [Tue, 23 Dec 2014 04:51:10 +0000 (01:51 -0300)]
adaptivedemux: make sure task has stopped before freeing it

Otherwise the thread will be running and its memory will get freed.
This leads to memory corruption

10 years agoadaptivedemux: fix segment start when exposing new streams
Thiago Santos [Tue, 23 Dec 2014 04:48:41 +0000 (01:48 -0300)]
adaptivedemux: fix segment start when exposing new streams

Segment start needs only to be updated when starting the streams
or after a seek, doing it during bitrate changes will cause the
running time to go discontinuous (jump back to a previous ts)
and QOS will drop buffers

10 years agoadaptivedemux: allow subclass to use new pads group when switching bitrate
Thiago Santos [Fri, 19 Dec 2014 05:22:47 +0000 (02:22 -0300)]
adaptivedemux: allow subclass to use new pads group when switching bitrate

Fix pad groups switching when bitrate changes to allow HLS to use this feature

10 years agoaudiomixer: If getting a timeout before having caps, just advance our position
Sebastian Dröge [Tue, 23 Dec 2014 11:24:48 +0000 (12:24 +0100)]
audiomixer: If getting a timeout before having caps, just advance our position

This can happen if this is a live pipeline and no source produced any buffer
and sent no caps until the an output buffer should've been produced according
to the latency.

10 years agoaudiomixer: Make sure to release the current buffer in reset()
Sebastian Dröge [Tue, 23 Dec 2014 11:15:50 +0000 (12:15 +0100)]
audiomixer: Make sure to release the current buffer in reset()

If we didn't output the last one in aggregate because we were shutting down
earlier we might otherwise leak it.

10 years agoaudiomixer: Change blocksize property to output-buffer-duration in time format
Sebastian Dröge [Tue, 23 Dec 2014 10:45:50 +0000 (11:45 +0100)]
audiomixer: Change blocksize property to output-buffer-duration in time format

This makes the interface of audiomixer independent of the actual caps.

10 years agoaggregator: Don't leak flush-start events
Sebastian Dröge [Tue, 23 Dec 2014 10:45:05 +0000 (11:45 +0100)]
aggregator: Don't leak flush-start events

10 years agoaggregator: Also change the default latency to 0, not just the minimum
Sebastian Dröge [Tue, 23 Dec 2014 09:24:27 +0000 (10:24 +0100)]
aggregator: Also change the default latency to 0, not just the minimum

10 years agoaggregator: Fix docs and default value of the latency property
Sebastian Dröge [Tue, 23 Dec 2014 08:52:20 +0000 (09:52 +0100)]
aggregator: Fix docs and default value of the latency property

10 years agoaggregator: Also include the subclass latency in the result of the latency query
Sebastian Dröge [Mon, 22 Dec 2014 21:19:52 +0000 (22:19 +0100)]
aggregator: Also include the subclass latency in the result of the latency query

10 years agovideoaggregator: Use the src query implementation of aggregator as the default case
Sebastian Dröge [Mon, 22 Dec 2014 21:11:30 +0000 (22:11 +0100)]
videoaggregator: Use the src query implementation of aggregator as the default case

10 years agoaudiomixer: Use the src query implementation of aggregator as the default case
Sebastian Dröge [Mon, 22 Dec 2014 21:11:13 +0000 (22:11 +0100)]
audiomixer: Use the src query implementation of aggregator as the default case

10 years agobayer2rgb: take into account filter in transform_caps function
Tim-Philipp Müller [Mon, 22 Dec 2014 16:45:05 +0000 (16:45 +0000)]
bayer2rgb: take into account filter in transform_caps function

Fixes criticals when filter caps are passed.

Also fix wrong GST_DEBUG_OBJECT use.

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

10 years agoaggregator: Post a latency message if the value of the latency property changes
Sebastian Dröge [Mon, 22 Dec 2014 14:26:37 +0000 (15:26 +0100)]
aggregator: Post a latency message if the value of the latency property changes

10 years agoaggregator: Wake up the src thread after handling a latency query
Sebastian Dröge [Mon, 22 Dec 2014 14:03:59 +0000 (15:03 +0100)]
aggregator: Wake up the src thread after handling a latency query

Due to changed latencies or changed live-ness we might have to
adjust if we wait on a deadline at all and how long.

10 years agoaggregator: Don't count the number of times we need to wake up but instead check...
Sebastian Dröge [Mon, 22 Dec 2014 14:00:36 +0000 (15:00 +0100)]
aggregator: Don't count the number of times we need to wake up but instead check all conditions for waiting again

This simplifies the code and also makes sure that we don't forget to check all
conditions for waiting.

Also fix a potential deadlock caused by not checking if we're actually still
running before starting to wait.

10 years agovtenc: Instead of crashing if no corresponding frame is found, ignore this
Sebastian Dröge [Mon, 22 Dec 2014 10:49:08 +0000 (11:49 +0100)]
vtenc: Instead of crashing if no corresponding frame is found, ignore this

... and hope that everything will be fine. This shouldn't really happen but
previously happened during shutdown. It should be fixed in videoencoder now,
but better be on the safe side here.

10 years agoMAINTAINERS: Update my mail address
Sebastian Dröge [Mon, 22 Dec 2014 10:46:05 +0000 (11:46 +0100)]
MAINTAINERS: Update my mail address

10 years agoaudiomixer: fix build flag order
Stefan Sauer [Sun, 21 Dec 2014 12:47:25 +0000 (07:47 -0500)]
audiomixer: fix build flag order

Have the libraries/inlcudes from plugins-bad first to avoid picking up the installed version.
Fixes the build when the local api changed.

10 years agofreeverb: add a few presets
Stefan Sauer [Sat, 20 Dec 2014 17:24:53 +0000 (12:24 -0500)]
freeverb: add a few presets

10 years agogltest: Port to new API
Nicolas Dufresne [Fri, 19 Dec 2014 18:18:50 +0000 (13:18 -0500)]
gltest: Port to new API

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

10 years agoglbufferpool: Always recalculate buffer size
Nicolas Dufresne [Fri, 19 Dec 2014 17:22:12 +0000 (12:22 -0500)]
glbufferpool: Always recalculate buffer size

Actually we should always recalculate buffer size since our buffer size
even when not-padded is smaller for many sub-sampled formats. This is
because we don't add padding between the planes.

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

10 years agoglmemory: No need for padding
Nicolas Dufresne [Fri, 19 Dec 2014 17:12:08 +0000 (12:12 -0500)]
glmemory: No need for padding

A memory object cannot be put on stack, so no need for padding.

10 years agogl: Add support for GstVideoAlignment
Nicolas Dufresne [Fri, 19 Dec 2014 17:11:08 +0000 (12:11 -0500)]
gl: Add support for GstVideoAlignment

This allow saving a copy with libav video decoders or decoders with
similar padding requirement.

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

10 years agoglmemory: Handle upload/download flags from map
Nicolas Dufresne [Sat, 22 Nov 2014 16:25:23 +0000 (11:25 -0500)]
glmemory: Handle upload/download flags from map

Problem was that if buffer was mapped READWRITE (state of buffers from
libav right now), mapping it READ/GL will not upload. This is because the
flag is only set when the buffer is unmapped. We can fix this by setting
the flags in map. This result in already mapped buffer that get mapped
to be read in GL will be uploaded. The problem is that if the write
mapper makes modification afterward, the modification will never get
uploaded.

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

10 years agoglmemory: Handle custom stride with OPENGL3
Nicolas Dufresne [Sun, 14 Dec 2014 02:47:38 +0000 (21:47 -0500)]
glmemory: Handle custom stride with OPENGL3

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

10 years agodecklink: Fix various compiler warnings with gcc
Sebastian Dröge [Fri, 19 Dec 2014 14:05:58 +0000 (15:05 +0100)]
decklink: Fix various compiler warnings with gcc

10 years agodecklink: Re-add the COM initialization code for Windows
Sebastian Dröge [Fri, 19 Dec 2014 13:50:09 +0000 (14:50 +0100)]
decklink: Re-add the COM initialization code for Windows

Untested, and we will never deinitialize COM again.

10 years agodecklink: Remove in-same-pipeline detection code for audio/video elements of the...
Sebastian Dröge [Fri, 19 Dec 2014 13:38:03 +0000 (14:38 +0100)]
decklink: Remove in-same-pipeline detection code for audio/video elements of the same device

This causes deadlocks sometimes for some reason.

10 years agodecklinkvideosink: Implement clock slaving
Sebastian Dröge [Fri, 19 Dec 2014 13:35:03 +0000 (14:35 +0100)]
decklinkvideosink: Implement clock slaving

10 years agodecklinkvideosink: Add some more debug output for when frames are scheduled
Sebastian Dröge [Fri, 19 Dec 2014 12:52:08 +0000 (13:52 +0100)]
decklinkvideosink: Add some more debug output for when frames are scheduled

10 years agodecklink: Add property for configuring the buffer size of the sources
Sebastian Dröge [Fri, 19 Dec 2014 12:28:29 +0000 (13:28 +0100)]
decklink: Add property for configuring the buffer size of the sources

10 years agodecklinkaudiosrc: Implement timestamp jitter and discont handling
Sebastian Dröge [Fri, 19 Dec 2014 12:24:10 +0000 (13:24 +0100)]
decklinkaudiosrc: Implement timestamp jitter and discont handling

10 years agodecklink: Our capture time is the end timestamp of the buffer, subtract the duration
Sebastian Dröge [Fri, 19 Dec 2014 11:37:30 +0000 (12:37 +0100)]
decklink: Our capture time is the end timestamp of the buffer, subtract the duration

10 years agodecklink: Allow for a maximum of 5 packets to be queued up
Sebastian Dröge [Fri, 19 Dec 2014 11:30:04 +0000 (12:30 +0100)]
decklink: Allow for a maximum of 5 packets to be queued up

In case downstream is a bit slow with consuming packets at times.

10 years agodecklink: Implement latency query in sources and remember selected mode
Sebastian Dröge [Fri, 19 Dec 2014 11:03:09 +0000 (12:03 +0100)]
decklink: Implement latency query in sources and remember selected mode

10 years agodecklink: Remove obsolete files
Sebastian Dröge [Thu, 18 Dec 2014 17:30:16 +0000 (18:30 +0100)]
decklink: Remove obsolete files

10 years agodecklink: Add initial version of audio and video sources
Sebastian Dröge [Thu, 18 Dec 2014 16:31:20 +0000 (17:31 +0100)]
decklink: Add initial version of audio and video sources

10 years agodecklink: Initial version of the audio/video sink rewrite
Sebastian Dröge [Sat, 13 Dec 2014 16:23:31 +0000 (17:23 +0100)]
decklink: Initial version of the audio/video sink rewrite

10 years agoaudiomixer: Track discont-time per pad instead of globally
Sebastian Dröge [Fri, 19 Dec 2014 12:04:58 +0000 (13:04 +0100)]
audiomixer: Track discont-time per pad instead of globally

We do discont handling per pad, not per element!

10 years agocurlsmtpsink: add final boundary to all multipart emails
Branko Subasic [Mon, 15 Dec 2014 15:27:16 +0000 (16:27 +0100)]
curlsmtpsink: add final boundary to all multipart emails

Corrected the final boundary mechanism so that a final boundary is
added to each mail with multipart content that is sent,
not just to the last one.

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

10 years agoaudiomixer: We're only EOS if all our pads are actually EOS
Sebastian Dröge [Thu, 18 Dec 2014 22:33:58 +0000 (23:33 +0100)]
audiomixer: We're only EOS if all our pads are actually EOS

Having a buffer or not on the pad is irrelevant.

10 years agoaudiomixer: The pad's size is always supposed to be the whole buffer size
Sebastian Dröge [Thu, 18 Dec 2014 21:42:14 +0000 (22:42 +0100)]
audiomixer: The pad's size is always supposed to be the whole buffer size

And the offset the offset into that buffer. Changing the size will
cause all kinds of assumptions to fail and cause crashes.

10 years agovideoaggregator: Don't try to map NULL buffers
Sebastian Dröge [Thu, 18 Dec 2014 21:04:38 +0000 (22:04 +0100)]
videoaggregator: Don't try to map NULL buffers

10 years agovideoaggregator: Make sure to always update the pad's videoinfo together with buffers
Sebastian Dröge [Thu, 18 Dec 2014 21:03:04 +0000 (22:03 +0100)]
videoaggregator: Make sure to always update the pad's videoinfo together with buffers

Otherwise the videoinfo and the buffer content can go out of sync.

10 years agocompositor: Fix memory leak when no buffer is available for a pad currently
Sebastian Dröge [Thu, 18 Dec 2014 10:48:37 +0000 (11:48 +0100)]
compositor: Fix memory leak when no buffer is available for a pad currently

CID 1258718

10 years agoAutomatic update of common submodule
Sebastian Dröge [Thu, 18 Dec 2014 09:54:05 +0000 (10:54 +0100)]
Automatic update of common submodule

From ef1ffdc to f2c6b95

10 years agox265enc: reuse the gstvideo proxy getcaps
Thiago Santos [Thu, 18 Dec 2014 01:01:23 +0000 (22:01 -0300)]
x265enc: reuse the gstvideo proxy getcaps

The caps query is implementing the same logic as the default
handler from the base class. Reuse it to simplify code.

10 years agoopusenc: plug ref leak of template caps
Thiago Santos [Thu, 18 Dec 2014 00:52:13 +0000 (21:52 -0300)]
opusenc: plug ref leak of template caps

the pad template caps is already a new ref. No need to copy.

10 years agoaggregator: Add function to allow subclasses to set their own latency
Sebastian Dröge [Wed, 17 Dec 2014 18:51:32 +0000 (19:51 +0100)]
aggregator: Add function to allow subclasses to set their own latency

For audiomixer this is one blocksize, for videoaggregator this should
be the duration of one output frame.

10 years agoaudiomixer: Make sure to not have pads being behind the current offset
Sebastian Dröge [Wed, 17 Dec 2014 18:37:22 +0000 (19:37 +0100)]
audiomixer: Make sure to not have pads being behind the current offset

We would break sync between the different streams then.

10 years agoaggregator: Add a timeout parameter to ::aggregate()
Sebastian Dröge [Wed, 17 Dec 2014 16:54:09 +0000 (17:54 +0100)]
aggregator: Add a timeout parameter to ::aggregate()

When this is TRUE, we really have to produce output. This happens
in live mixing mode when we have to output something for the current
time, no matter if we have enough input or not.