platform/upstream/gst-plugins-bad.git
9 years agotsdemux: keep track of current position
Vincent Penquerc'h [Mon, 9 Mar 2015 09:56:38 +0000 (09:56 +0000)]
tsdemux: keep track of current position

This allows seeking to correctly set the base on the segment.

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

9 years agocheck: Don't run the state change test on the dtls elements
Edward Hervey [Thu, 9 Apr 2015 13:41:57 +0000 (15:41 +0200)]
check: Don't run the state change test on the dtls elements

There isn't really any way to test the elements standalone.

9 years agovideoaggregator: Remove broken timestamps-going-backwards check
Sebastian Dröge [Thu, 9 Apr 2015 02:29:40 +0000 (19:29 -0700)]
videoaggregator: Remove broken timestamps-going-backwards check

This would've also triggered if for some reason the segment was updated
in such a way that PTS went backwards, but the running time increased. Like
what happens when non-flushing seeks are done.

We're doing a proper buffer-from-the-past check a few lines below based on the
running time, which is the only time we should care about here.

9 years agoksvideosrc: fix support for DV devices
Andoni Morales Alastruey [Wed, 8 Apr 2015 16:51:50 +0000 (18:51 +0200)]
ksvideosrc: fix support for DV devices

9 years agoksvideosrc: only list capture devices
Andoni Morales Alastruey [Tue, 10 Feb 2015 12:32:00 +0000 (13:32 +0100)]
ksvideosrc: only list capture devices

9 years agotests: Use AM_TESTS_ENVIRONMENT
Edward Hervey [Wed, 8 Apr 2015 14:46:11 +0000 (16:46 +0200)]
tests: Use AM_TESTS_ENVIRONMENT

Needed by the new automake test runner

9 years agoopensles: Explicitly specify layout=interleaved in caps
Arun Raghavan [Wed, 8 Apr 2015 05:22:17 +0000 (10:52 +0530)]
opensles: Explicitly specify layout=interleaved in caps

This is fine to hard-code. Section 9.1.8 of the OpenSL ES 1.1
specification, it is expected that multi-channel audio is always
interleaved.

9 years agoconfigure: Depend on openh264 >= 1.3.0
Edward Hervey [Tue, 7 Apr 2015 13:57:30 +0000 (15:57 +0200)]
configure: Depend on openh264 >= 1.3.0

Required for the version check header, as agreed upon on IRC

9 years agoavfvideosrc: fix setting of buffer offset end
Ilya Konstantinov [Sun, 5 Apr 2015 02:37:09 +0000 (05:37 +0300)]
avfvideosrc: fix setting of buffer offset end

Don't set offset end to random values off the stack.

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

9 years agoopen264: Fix GType/gsize usage
Edward Hervey [Tue, 7 Apr 2015 09:09:38 +0000 (11:09 +0200)]
open264: Fix GType/gsize usage

gstopenh264enc.cpp:108:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

9 years agoopenh264: Detect 1.4 API change
Edward Hervey [Tue, 7 Apr 2015 09:21:55 +0000 (11:21 +0200)]
openh264: Detect 1.4 API change

As mentionned in release notes : Added new Sps/Pps strategies for real-time
video (replace the old setting variable 'bEnableSpsPpsIdAddition' with
'eSpsPpsIdStrategy')

9 years agoglimagesink: Disconnect mouse/key event signal handlers from window when shutting...
Sebastian Dröge [Tue, 7 Apr 2015 03:28:22 +0000 (20:28 -0700)]
glimagesink: Disconnect mouse/key event signal handlers from window when shutting down context

9 years agoglimagesink: Guard against disconnecting invalid signal ids
Sebastian Dröge [Tue, 7 Apr 2015 03:24:06 +0000 (20:24 -0700)]
glimagesink: Guard against disconnecting invalid signal ids

9 years agomxfdemux: fix memory leak
Guillaume Desmottes [Thu, 26 Mar 2015 10:52:33 +0000 (11:52 +0100)]
mxfdemux: fix memory leak

Reset the internal segment before freeing it.

mxf_index_table_segment_parse() allocates data inside the segment
(like segment->delta_entries) which have to be freed using
mxf_index_table_segment_reset().

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

9 years agohlssink: write the playlist end marker on EOS
Thiago Santos [Sat, 4 Apr 2015 13:56:56 +0000 (10:56 -0300)]
hlssink: write the playlist end marker on EOS

Catch EOS from the multifilesink and add the endlist marker to
the playlist when it happens

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

9 years agoaggregator: document gap handling behavior
Reynaldo H. Verdejo Pinochet [Sun, 29 Mar 2015 20:53:23 +0000 (17:53 -0300)]
aggregator: document gap handling behavior

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

9 years agoaggregator: drop stale white space at warning
Reynaldo H. Verdejo Pinochet [Fri, 27 Mar 2015 22:36:42 +0000 (19:36 -0300)]
aggregator: drop stale white space at warning

9 years agoaggregator: fix typo in test suite
Reynaldo H. Verdejo Pinochet [Fri, 27 Mar 2015 22:28:05 +0000 (19:28 -0300)]
aggregator: fix typo in test suite

9 years agoaggregator: add gap event handling unit test
Reynaldo H. Verdejo Pinochet [Fri, 27 Mar 2015 21:32:27 +0000 (18:32 -0300)]
aggregator: add gap event handling unit test

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

9 years agoaggregator: implement gap handling
Reynaldo H. Verdejo Pinochet [Wed, 18 Mar 2015 01:13:06 +0000 (22:13 -0300)]
aggregator: implement gap handling

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

9 years agoAutomatic update of common submodule
Tim-Philipp Müller [Fri, 3 Apr 2015 17:57:58 +0000 (18:57 +0100)]
Automatic update of common submodule

From bc76a8b to c8fb372

9 years agoopus: Fix incorrect fall-through condition in property getter
Arun Raghavan [Fri, 3 Apr 2015 06:16:12 +0000 (11:46 +0530)]
opus: Fix incorrect fall-through condition in property getter

9 years agoshmsink: add an shm-area-name property
Guillaume Emont [Fri, 27 Apr 2012 16:29:14 +0000 (18:29 +0200)]
shmsink: add an shm-area-name property

The shm-area-property tells the name of the shm area used by the element. This
is useful for cases where shmsink is not able to clean up (calling
shm_unlink()), e.g. if it is in a sandbox.

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

9 years agoaggregator: Unify downstream flow return and flushing
Olivier Crête [Thu, 2 Apr 2015 02:10:11 +0000 (22:10 -0400)]
aggregator: Unify downstream flow return and flushing

Also means that having a non-OK downstream flow return
wakes up the chain functions.

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

9 years agoaggregator: Flushing is always in pad lock, no need to atomics
Olivier Crête [Thu, 2 Apr 2015 01:45:01 +0000 (21:45 -0400)]
aggregator: Flushing is always in pad lock, no need to atomics

The usage of atomics was always doubtful as it was used to release a
GCond

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

9 years agoaggregator: Reset pending_eos on pad flush
Olivier Crête [Thu, 2 Apr 2015 01:38:11 +0000 (21:38 -0400)]
aggregator: Reset pending_eos on pad flush

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

9 years agoaggregator: Unify code to set a pad flushing
Olivier Crête [Thu, 2 Apr 2015 01:37:25 +0000 (21:37 -0400)]
aggregator: Unify code to set a pad flushing

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

9 years agolibgstgl: fix rendering on iOS
Alessandro Decina [Thu, 2 Apr 2015 07:05:55 +0000 (18:05 +1100)]
libgstgl: fix rendering on iOS

Stop assuming that the handle has been set by the time ->create_context is
called. After bc7a7259f357b0065dd94e0668b5a895d83fa53a set_window_handle always
happens after ->create_context in fact.

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

9 years agoaggregator: Query latency on first incoming buffer.
Olivier Crête [Sat, 7 Mar 2015 02:12:52 +0000 (21:12 -0500)]
aggregator: Query latency on first incoming buffer.

And keep on querying upstream until we get a reply.

Also, the _get_latency_unlocked() method required being calld
with a private lock, so removed the _unlocked() variant from the API.
And it now returns GST_CLOCK_TIME_NONE when the element is not live as
we think that 0 upstream latency is possible.

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

9 years agoaudiomixer: Allow downstream caps with a non-default channel-mask
Olivier Crête [Thu, 2 Apr 2015 00:32:41 +0000 (20:32 -0400)]
audiomixer: Allow downstream caps with a non-default channel-mask

Instead of failing, take the downstream channel mask if the channel
count is 1.

9 years agoglvideomixer: Don't use context if not present
Edward Hervey [Tue, 31 Mar 2015 14:27:00 +0000 (16:27 +0200)]
glvideomixer: Don't use context if not present

Avoids assertions at runtime

9 years agointrospection: Don't use g-ir-scanner cache at compile time
Edward Hervey [Tue, 31 Mar 2015 09:24:57 +0000 (11:24 +0200)]
introspection: Don't use g-ir-scanner cache at compile time

It pollutes user directories and we don't need to cache it

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

9 years agodirectsoundsrc: Implement volume and mute
Victor Toso [Tue, 31 Mar 2015 09:53:55 +0000 (10:53 +0100)]
directsoundsrc: Implement volume and mute

Using the MixerAPI as IDirectSoundCaptureBuffer doesn't implement volume
control.

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

9 years agogleffects: port all effects to GLES2.0
Anton Obzhirov [Mon, 30 Mar 2015 12:49:01 +0000 (13:49 +0100)]
gleffects: port all effects to GLES2.0

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

9 years agohlssink: implement a chain_list to request key unit for segments
Thiago Santos [Sat, 28 Mar 2015 14:40:14 +0000 (11:40 -0300)]
hlssink: implement a chain_list to request key unit for segments

upstream might send buffer lists instead of buffers and hlssink's
probe won't get called and a new segment won't be created when needed.

This patch fixes it by adding a chain_list function to the sink pad
that will just pass through the whole bufferlist if no segment needs
to be requested at the moment or convert the list into buffers to
check the proper timestamp to request the next key-unit that will
start the segment.

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

9 years agomxfdemux: resurrect some flow return handling
Mark Nauwelaerts [Sat, 28 Mar 2015 16:28:34 +0000 (17:28 +0100)]
mxfdemux: resurrect some flow return handling

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

9 years agompegdemux: resurrect some flow return handling
Mark Nauwelaerts [Sat, 28 Mar 2015 16:28:26 +0000 (17:28 +0100)]
mpegdemux: resurrect some flow return handling

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

9 years agoadaptivedemux: do not try to advance fragment if there is none
Thiago Santos [Fri, 27 Mar 2015 03:27:34 +0000 (00:27 -0300)]
adaptivedemux: do not try to advance fragment if there is none

It might return OK from subclasses and it could cause a bitrate
renegotiation. For DASH and MSS that is ok as they won't expose
new pads as part of this but it can cause issues for HLS as
it will expose new pads, leading to pads that will only have EOS
that cause decodebin to fail

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

9 years agortpopuspay: Forward stereo preferences from caps upstream
Olivier Crête [Tue, 24 Mar 2015 17:57:54 +0000 (13:57 -0400)]
rtpopuspay: Forward stereo preferences from caps upstream

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

9 years agortpopuspay: Set the number of channels to 2 as per RFC draft
Olivier Crête [Tue, 24 Mar 2015 17:56:21 +0000 (13:56 -0400)]
rtpopuspay: Set the number of channels to 2 as per RFC draft

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

9 years agodashdemux: set default @startNumber and also avoid wrong overwrite
Jun Xie [Tue, 17 Mar 2015 13:49:40 +0000 (21:49 +0800)]
dashdemux: set default @startNumber and also avoid wrong overwrite

Set default @startNumber to 1, if @startNumber is missing at all level.
Also avoid incorrect overwriting inherited value.

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

9 years agoaudioaggregator: check sink caps are valid
Luis de Bethencourt [Tue, 24 Mar 2015 16:18:22 +0000 (16:18 +0000)]
audioaggregator: check sink caps are valid

9 years agoRevert "audioaggregator: check sink caps are valid"
Luis de Bethencourt [Tue, 24 Mar 2015 16:17:00 +0000 (16:17 +0000)]
Revert "audioaggregator: check sink caps are valid"

This reverts commit 6d4d0d1cdf7c7531fbf72ce39e1eab1260d20550.

Never put code with side effects into an assertion, it can be compiled out

9 years agoaudioaggregator: check sink caps are valid
Luis de Bethencourt [Tue, 24 Mar 2015 15:45:25 +0000 (15:45 +0000)]
audioaggregator: check sink caps are valid

CID #1291622

9 years agoopusenc: fall through switch statement
Luis de Bethencourt [Tue, 24 Mar 2015 15:13:52 +0000 (15:13 +0000)]
opusenc: fall through switch statement

Adding a comment makes coverity happy and quells the issue.

CID 1291629

9 years agovideoaggregator: Document why buffer_vinfo is needed
Nirbheek Chauhan [Tue, 24 Mar 2015 13:35:00 +0000 (19:05 +0530)]
videoaggregator: Document why buffer_vinfo is needed

9 years agovideoaggregator: Check if there's a previous buffer to 'keep'
Nirbheek Chauhan [Tue, 24 Mar 2015 13:34:26 +0000 (19:04 +0530)]
videoaggregator: Check if there's a previous buffer to 'keep'

If we want to keep a previous buffer but there's no previous buffer, we actually
need more data instead.

9 years agogl/dispmanx: surfaceless EGL context support
Philippe Normand [Mon, 23 Mar 2015 15:43:01 +0000 (16:43 +0100)]
gl/dispmanx: surfaceless EGL context support

Show the DispmanX window only if there's no shared external GL context
set up. When a window is required by the context a transparent
DispmanX element is created and later on made visible by the ::show
method.

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

9 years agogaudieffects: clean solarize code
Luis de Bethencourt [Mon, 23 Mar 2015 15:09:33 +0000 (15:09 +0000)]
gaudieffects: clean solarize code

9 years agogaudieffects: removing values only used once
Luis de Bethencourt [Mon, 23 Mar 2015 14:39:56 +0000 (14:39 +0000)]
gaudieffects: removing values only used once

9 years agogaudieffects: small cleanup in headers
Luis de Bethencourt [Mon, 23 Mar 2015 11:13:24 +0000 (11:13 +0000)]
gaudieffects: small cleanup in headers

9 years agoopusenc: Set output format immediately after creating the encoder instance
Sebastian Dröge [Mon, 23 Mar 2015 12:15:30 +0000 (13:15 +0100)]
opusenc: Set output format immediately after creating the encoder instance

We know the caps by then, there's no need to wait until we actually receive
the first buffer.

9 years agoopusenc: Remove another unused variable
Sebastian Dröge [Mon, 23 Mar 2015 12:13:35 +0000 (13:13 +0100)]
opusenc: Remove another unused variable

9 years agoopusenc: Remove useless headers and header_sent variables from the instance struct
Sebastian Dröge [Mon, 23 Mar 2015 12:11:42 +0000 (13:11 +0100)]
opusenc: Remove useless headers and header_sent variables from the instance struct

They are only used inside a single function.

9 years agoopus: Handle sprop-stereo and sprop-maxcapturerate RTP caps fields
Sebastian Dröge [Mon, 23 Mar 2015 11:24:55 +0000 (12:24 +0100)]
opus: Handle sprop-stereo and sprop-maxcapturerate RTP caps fields

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

9 years agoopusdec: Take channels and sample rate from the caps if we have no stream header
Sebastian Dröge [Mon, 23 Mar 2015 11:09:25 +0000 (12:09 +0100)]
opusdec: Take channels and sample rate from the caps if we have no stream header

9 years agoopusdec: Reset the decoder if the caps change
Sebastian Dröge [Mon, 23 Mar 2015 11:07:52 +0000 (12:07 +0100)]
opusdec: Reset the decoder if the caps change

9 years agoopusdec: Take output sample rate from the stream headers too
Sebastian Dröge [Mon, 23 Mar 2015 10:57:09 +0000 (11:57 +0100)]
opusdec: Take output sample rate from the stream headers too

This way we let opusdec do the resampling if needed and don't carry
around buffers with a too high sample rate if not required.

While Opus always uses 48kHz internally, this information from the
header specifies which frequencies are safe to drop.

9 years agoopusheader: Put number of channels and sample rate into the caps
Sebastian Dröge [Mon, 23 Mar 2015 10:56:09 +0000 (11:56 +0100)]
opusheader: Put number of channels and sample rate into the caps

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

9 years agoglwindow: remove unused gl_thread field
Julien Isorce [Sun, 22 Mar 2015 18:12:15 +0000 (19:12 +0100)]
glwindow: remove unused gl_thread field

9 years agogldisplay: fix GThread leak
Julien Isorce [Sun, 22 Mar 2015 18:03:19 +0000 (19:03 +0100)]
gldisplay: fix GThread leak

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

9 years agoglimagesink: fix caps leak
Nicola Murino [Fri, 20 Mar 2015 17:33:45 +0000 (18:33 +0100)]
glimagesink: fix caps leak

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

9 years agosrtpdec: Add support for buffer list
Jose Antonio Santos Cadenas [Wed, 18 Mar 2015 10:25:42 +0000 (11:25 +0100)]
srtpdec: Add support for buffer list

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

9 years agosrtpenc: Do not drop all buffers in buffer list if one fails
Jose Antonio Santos Cadenas [Thu, 19 Mar 2015 15:17:58 +0000 (16:17 +0100)]
srtpenc: Do not drop all buffers in buffer list if one fails

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

9 years agogaudieffects: update copyright dates of dilate
Luis de Bethencourt [Thu, 19 Mar 2015 13:59:42 +0000 (13:59 +0000)]
gaudieffects: update copyright dates of dilate

9 years agogaudieffects: factorize transform code of dilate
Luis de Bethencourt [Thu, 19 Mar 2015 13:58:21 +0000 (13:58 +0000)]
gaudieffects: factorize transform code of dilate

9 years agodtls: Pass the connection instance as data to the thread pool
Sebastian Dröge [Thu, 19 Mar 2015 13:04:28 +0000 (14:04 +0100)]
dtls: Pass the connection instance as data to the thread pool

No need to ref/unref the connection every time we push something on the pool.
However we have to provide non-NULL data to the pool, so let's just give it
some coffee.

9 years agodtls: Remove unused thread struct field
Sebastian Dröge [Thu, 19 Mar 2015 12:55:53 +0000 (13:55 +0100)]
dtls: Remove unused thread struct field

9 years agodtls: Use a shared thread pool for the timeouts
Sebastian Dröge [Thu, 19 Mar 2015 12:30:00 +0000 (13:30 +0100)]
dtls: Use a shared thread pool for the timeouts

This way we will share threads with other DTLS connections if possible, and
don't have to start/stop threads for timeouts if there are many to be handled
in a short period of time.

Also use the system clock and async waiting on it for scheduling the timeouts.

9 years agodtls: Shutdown timeout thread when it's not needed
Sebastian Dröge [Wed, 18 Mar 2015 17:17:39 +0000 (18:17 +0100)]
dtls: Shutdown timeout thread when it's not needed

It is not needed most of the time and usually we have a thread
idling around doing nothing all the time after the first few seconds.

9 years agogl/docs: update some doc comments
Matthew Waters [Wed, 18 Mar 2015 17:12:49 +0000 (10:12 -0700)]
gl/docs: update some doc comments

9 years agodtlsenc: Clear the queue when deactivating the pad
Sebastian Dröge [Wed, 18 Mar 2015 16:40:47 +0000 (17:40 +0100)]
dtlsenc: Clear the queue when deactivating the pad

9 years agodtlsenc: Handle pad activity states properly
Sebastian Dröge [Wed, 18 Mar 2015 16:38:35 +0000 (17:38 +0100)]
dtlsenc: Handle pad activity states properly

9 years agodtlsenc: Don't manually activate/deactivate srcpad
Sebastian Dröge [Wed, 18 Mar 2015 16:35:12 +0000 (17:35 +0100)]
dtlsenc: Don't manually activate/deactivate srcpad

9 years agosrtpdec: Separate buffer encoding functionality into a different function
Jose Antonio Santos Cadenas [Wed, 18 Mar 2015 09:47:15 +0000 (10:47 +0100)]
srtpdec: Separate buffer encoding functionality into a different function

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

9 years agosrtpenc: Add support for buffer list
Jose Antonio Santos Cadenas [Wed, 18 Mar 2015 09:16:41 +0000 (10:16 +0100)]
srtpenc: Add support for buffer list

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

9 years agosrtpenc: Add missing locks
Jose Antonio Santos Cadenas [Wed, 18 Mar 2015 08:39:49 +0000 (09:39 +0100)]
srtpenc: Add missing locks

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

9 years agosrtpenc: Split chain functionality so it can be reused for buffer list
Jose Antonio Santos Cadenas [Wed, 18 Mar 2015 08:17:31 +0000 (09:17 +0100)]
srtpenc: Split chain functionality so it can be reused for buffer list

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

9 years agodtlsenc: Use a GQueue instead of a GPtrArray
Sebastian Dröge [Wed, 18 Mar 2015 12:52:38 +0000 (13:52 +0100)]
dtlsenc: Use a GQueue instead of a GPtrArray

Using a GPtrArray as a queue is not very efficient as the whole
array has to be copied whenever an element is removed from the
beginning.

9 years agodtlsdec: Fix locking
Sebastian Dröge [Wed, 18 Mar 2015 09:06:47 +0000 (10:06 +0100)]
dtlsdec: Fix locking

Especially don't hold any mutex while adding/removing pads or pushing data.

9 years agodtlsdec: Add support for buffer lists
Sebastian Dröge [Wed, 18 Mar 2015 08:57:32 +0000 (09:57 +0100)]
dtlsdec: Add support for buffer lists

9 years agodtls: Fix some search & replace mistakes from renaming the elements
Sebastian Dröge [Wed, 18 Mar 2015 08:46:40 +0000 (09:46 +0100)]
dtls: Fix some search & replace mistakes from renaming the elements

9 years agosrtpenc: Improve memory management on chain function
Jose Antonio Santos Cadenas [Tue, 17 Mar 2015 15:49:54 +0000 (16:49 +0100)]
srtpenc: Improve memory management on chain function

Avoiding copy the buffer twice, one while mapping and other with mencpy

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

9 years agosrtpenc: Fix typo in log
Jose Antonio Santos Cadenas [Tue, 17 Mar 2015 15:50:41 +0000 (16:50 +0100)]
srtpenc: Fix typo in log

9 years agodtls: Initialize debug category earlier
Sebastian Dröge [Tue, 17 Mar 2015 10:43:00 +0000 (11:43 +0100)]
dtls: Initialize debug category earlier

Otherwise the openssl initialization will use it before initialization

9 years agoaudiointerleave: Add unit tests
Olivier Crête [Fri, 14 Nov 2014 01:39:11 +0000 (20:39 -0500)]
audiointerleave: Add unit tests

Almost a copy of the "interleave" unit tests, improved to support
the thread on the src pad on GstAggregator.

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

9 years agoaudiointerleave: Set src caps in aggregate
Olivier Crête [Fri, 6 Mar 2015 18:49:48 +0000 (13:49 -0500)]
audiointerleave: Set src caps in aggregate

This prevents races between the setcaps of the sink pads

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

9 years agoaudiointerleave: Add interleave element based on audioaggregator
Olivier Crête [Thu, 13 Nov 2014 20:40:15 +0000 (15:40 -0500)]
audiointerleave: Add interleave element based on audioaggregator

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

9 years agoaudioaggregator: Print a message when a buffer is late
Olivier Crête [Fri, 6 Mar 2015 21:51:12 +0000 (16:51 -0500)]
audioaggregator: Print a message when a buffer is late

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

9 years agoaudioaggregator: Don't re-send the caps if they did not change
Olivier Crête [Sat, 15 Nov 2014 22:54:51 +0000 (17:54 -0500)]
audioaggregator: Don't re-send the caps if they did not change

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

9 years agoaudioaggregator: Split base class from audiomixer
Olivier Crête [Thu, 6 Nov 2014 22:15:17 +0000 (17:15 -0500)]
audioaggregator: Split base class from audiomixer

Also:
-  Don't modify size on early buffer
   The size is the size of the buffer, not of remaining part.
- Use the input caps when manipulating the input buffer
   Also store in in the sink pad
- Reply to the position query in bytes too
- Put GAP flag on output if all inputs are GAP data
- Only try to clip buffer if the incoming segment is in time or samples
- Use incoming segment with incoming timestamp
   Handle non-time segments and NONE timestamps
- Don't reset the position when pushing out new caps
- Make a number of member variables private
- Correctly handle case where no pad has a buffer
  If none of the pads have buffers that can be handled, don't claim to be EOS.
- Ensure proper locking
- Only support time segments

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

9 years agoaudiomixer: Release pad object lock before dropping buffer
Olivier Crête [Sun, 8 Mar 2015 03:08:40 +0000 (22:08 -0500)]
audiomixer: Release pad object lock before dropping buffer

Otherwise, the locking order is violated and deadlocks happen.

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

9 years agoaudiomixer: Only ignore pads with no buffers on timeout
Olivier Crête [Sat, 7 Mar 2015 01:22:13 +0000 (20:22 -0500)]
audiomixer: Only ignore pads with no buffers on timeout

When the timeout is reached, only ignore pads with no buffers, iterate
over the other pads until all buffers have been read. This is important
in the cases where the input buffers are smaller than the output buffer.

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

9 years agoaggregator: Be more aggressive with invalid replies to our latency query
Olivier Crête [Sat, 7 Mar 2015 02:12:13 +0000 (21:12 -0500)]
aggregator: Be more aggressive with invalid replies to our latency query

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

9 years agoaudiomixer: Only advance by the buffer size when a buffer is late
Olivier Crête [Sat, 7 Mar 2015 01:25:03 +0000 (20:25 -0500)]
audiomixer: Only advance by the buffer size when a buffer is late

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

9 years agodtls: make sure we actually log into the right debug category
Tim-Philipp Müller [Mon, 16 Mar 2015 17:49:58 +0000 (17:49 +0000)]
dtls: make sure we actually log into the right debug category

GST_DTLS_USE_GST_LOG is not defined anywhere, so
we'd just log into the default category by accident.
We use the gst logging system unconditionally now,
so might just as well remove this #if #else.

9 years agodtls: fix some more compiler warnings
Tim-Philipp Müller [Mon, 16 Mar 2015 17:36:49 +0000 (17:36 +0000)]
dtls: fix some more compiler warnings

gcc-4.9.2:
gstdtlsagent.c:114:1: error: old-style function definition
gstdtlsconnection.c:253:3: error: ISO C90 forbids mixed declarations and code
gstdtlsconnection.c:291:3: error: ISO C90 forbids mixed declarations and code
gstdtlsconnection.c:391:3: error: ISO C90 forbids mixed declarations and code
gstdtlsconnection.c:434:3: error: ISO C90 forbids mixed declarations and code
gstdtlsconnection.c:773:1: error: 'BIO_s_gst_dtls_connection' was used with no prototype before its definition
gstdtlsconnection.c:773:1: error: old-style function definition

9 years agodtls: Unconditionally use GStreamer debug log system
Sebastian Dröge [Mon, 16 Mar 2015 16:53:11 +0000 (17:53 +0100)]
dtls: Unconditionally use GStreamer debug log system

9 years agodtls: Re-namespace from Er to Gst
Sebastian Dröge [Mon, 16 Mar 2015 16:48:43 +0000 (17:48 +0100)]
dtls: Re-namespace from Er to Gst

9 years agodtls: Fix some compiler warnings
Sebastian Dröge [Mon, 16 Mar 2015 16:35:29 +0000 (17:35 +0100)]
dtls: Fix some compiler warnings

gstdtlsconnection.c:128:32: error: passing 'const char [30]' to parameter of type 'void *'
      discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
      SSL_get_ex_new_index (0, "gstdtlsagent connection index", NULL, NULL,
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/openssl/ssl.h:1981:43: note: passing argument to parameter 'argp' here
int SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
                                          ^
gstdtlsconnection.c:822:40: error: arithmetic on a pointer to void is a GNU extension
      [-Werror,-Wpointer-arith]
  memcpy (out_buffer, priv->bio_buffer + priv->bio_buffer_offset, copy_size);
                      ~~~~~~~~~~~~~~~~ ^