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.
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
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
Sebastian Dröge [Mon, 23 Mar 2015 11:07:52 +0000 (12:07 +0100)]
opusdec: Reset the decoder if the caps change
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.
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
Julien Isorce [Sun, 22 Mar 2015 18:12:15 +0000 (19:12 +0100)]
glwindow: remove unused gl_thread field
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
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
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
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
Luis de Bethencourt [Thu, 19 Mar 2015 13:59:42 +0000 (13:59 +0000)]
gaudieffects: update copyright dates of dilate
Luis de Bethencourt [Thu, 19 Mar 2015 13:58:21 +0000 (13:58 +0000)]
gaudieffects: factorize transform code of dilate
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.
Sebastian Dröge [Thu, 19 Mar 2015 12:55:53 +0000 (13:55 +0100)]
dtls: Remove unused thread struct field
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.
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.
Matthew Waters [Wed, 18 Mar 2015 17:12:49 +0000 (10:12 -0700)]
gl/docs: update some doc comments
Sebastian Dröge [Wed, 18 Mar 2015 16:40:47 +0000 (17:40 +0100)]
dtlsenc: Clear the queue when deactivating the pad
Sebastian Dröge [Wed, 18 Mar 2015 16:38:35 +0000 (17:38 +0100)]
dtlsenc: Handle pad activity states properly
Sebastian Dröge [Wed, 18 Mar 2015 16:35:12 +0000 (17:35 +0100)]
dtlsenc: Don't manually activate/deactivate srcpad
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
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
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
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
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.
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.
Sebastian Dröge [Wed, 18 Mar 2015 08:57:32 +0000 (09:57 +0100)]
dtlsdec: Add support for buffer lists
Sebastian Dröge [Wed, 18 Mar 2015 08:46:40 +0000 (09:46 +0100)]
dtls: Fix some search & replace mistakes from renaming the elements
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
Jose Antonio Santos Cadenas [Tue, 17 Mar 2015 15:50:41 +0000 (16:50 +0100)]
srtpenc: Fix typo in log
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
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
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
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
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
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
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
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
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
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
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
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.
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
Sebastian Dröge [Mon, 16 Mar 2015 16:53:11 +0000 (17:53 +0100)]
dtls: Unconditionally use GStreamer debug log system
Sebastian Dröge [Mon, 16 Mar 2015 16:48:43 +0000 (17:48 +0100)]
dtls: Re-namespace from Er to Gst
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);
~~~~~~~~~~~~~~~~ ^
Sebastian Dröge [Mon, 16 Mar 2015 16:34:05 +0000 (17:34 +0100)]
dtls: Fix indention
Sebastian Dröge [Mon, 16 Mar 2015 16:33:03 +0000 (17:33 +0100)]
dtls: Add new DTLS plugin
This is a copy of the Ericsson DTLS plugin from
https://github.com/EricssonResearch/openwebrtc-gst-plugins/tree/master/ext/erdtls/src
https://bugzilla.gnome.org/show_bug.cgi?id=744582
Jan Schmidt [Sun, 15 Mar 2015 16:53:33 +0000 (03:53 +1100)]
compositor: Revert most of previous patch.
The calculation doesn't produce the same results.
Keep just the change to divide alpha by 255 instead of 256,
for slightly better accuracy
Sebastian Dröge [Sun, 15 Mar 2015 16:55:00 +0000 (16:55 +0000)]
androidmedia: Add helpers for calling static methods
Sebastian Dröge [Sun, 15 Mar 2015 16:38:29 +0000 (16:38 +0000)]
androidmedia: Fix indention
Matthieu Bouron [Thu, 5 Jun 2014 08:33:56 +0000 (10:33 +0200)]
androidmedia: Add more JNI helper functions
Matthieu Bouron [Mon, 2 Jun 2014 11:37:09 +0000 (12:37 +0100)]
androidmedia: Split jni code to gstjniutils.c
Tim-Philipp Müller [Sun, 15 Mar 2015 16:10:31 +0000 (16:10 +0000)]
mpegtsmux: drop some superfluous assertions
g_return_*_if_fail() is for public API to catch
programming errors. For internal code, we should
just use g_assert() to check internal state.
Tim-Philipp Müller [Sun, 15 Mar 2015 15:54:01 +0000 (15:54 +0000)]
tests: mpegtsmux: add test for keyframe/delta flag propagation
The first output MPEG-TS packet that corresponds to a video input
buffer which had the delta flag cleared (i.e. was a keyframe)
should have the delta flag cleared as well.
This is needed e.g. by tcpserversink in order to keep track
of the last keyframe and be able to burst data to newly-
connected clients.
https://bugzilla.gnome.org/show_bug.cgi?id=706872
Matthew Waters [Sun, 15 Mar 2015 14:35:15 +0000 (14:35 +0000)]
gl/docs: add missing functions/objects
Matthew Waters [Sun, 15 Mar 2015 12:58:26 +0000 (12:58 +0000)]
gldisplay: tentative proper context collision detection
Fixes
tee name=t ! queue ! gliamgesink t. ! queue ! glimagesink
Jesper Larsen [Fri, 18 Jul 2014 08:44:59 +0000 (10:44 +0200)]
mpegtsmux: Fix namespace of some internal functions
https://bugzilla.gnome.org/show_bug.cgi?id=733347
Jan Schmidt [Sun, 15 Mar 2015 13:22:14 +0000 (00:22 +1100)]
compositor: Fix blending functions
Correctly calculate alpha in a few places by dividing by 255,
not 256.
Fix the argb and bgra blending functions to avoid an off-by-one
error in the calculations, so painting with alpha = 0xff doesn't
ever bleed through from behind
Tim-Philipp Müller [Sun, 15 Mar 2015 12:06:22 +0000 (12:06 +0000)]
tests: mpegtsmux: add unit test for "alignment" property
https://bugzilla.gnome.org/show_bug.cgi?id=722129
Tim-Philipp Müller [Sat, 14 Mar 2015 15:27:39 +0000 (15:27 +0000)]
mpegtsmux: make "alignment" property more useful for packetisation
Currently the alignment property just makes sure that we
output things in multiples of align*packet_size bytes, but
with no clear maximum size. When streaming MPEG-TS over
UDP one wants buffers with a maximum packet size of 1316.
The alignment property so far would just output buffers
that are a multiple of 1316 then.
Instead we now make the alignment property output
individual buffers with the alignment size, which
is entirely backwards compatible with the expected
behaviour up until now. For efficiency reason
collect all those buffers in a buffer list and
send that downstream.
Also collect data to push downstream in a buffer
list from the adapter if we don't align things,
which is still more efficient because of the
silly way the muxer currently creates output
packets.
https://bugzilla.gnome.org/show_bug.cgi?id=722129
xixi [Wed, 11 Mar 2015 15:03:24 +0000 (23:03 +0800)]
dashdemux: fetch wrong segment at the end of Period
Fix check for end of Period time to avoid trying
to fetch a segment that doesn't exist
https://bugzilla.gnome.org/show_bug.cgi?id=746038
Víctor Manuel Jáquez Leal [Sat, 14 Mar 2015 18:48:21 +0000 (19:48 +0100)]
glupload: move meta-data copy into gst-gl library
In some upload implementations the out buffer has more than one references,
turning the buffer not writable, so it won't be possible to modify its
meta-data.
This patch moves the meta-data copy before increasing the reference of the out
buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=746173
Matthew Waters [Sat, 14 Mar 2015 18:45:01 +0000 (18:45 +0000)]
glmemory: fix the slight difference between EXT_rg and ARB_rg
GL_EXT_texture_rg doesn't take sized formats for the internalformat
parameter of TexImage* but GL_ARB_texture_rg and GL(ES)3 do.
https://bugzilla.gnome.org/show_bug.cgi?id=732507
Thiago Santos [Sat, 14 Mar 2015 17:29:02 +0000 (17:29 +0000)]
camerabin: remove hack around bug 648359
It is already fixed
Thiago Santos [Sat, 14 Mar 2015 12:24:53 +0000 (12:24 +0000)]
camerabin: remove deprecated g_atomic function
We depend on 2.32 already
Thiago Santos [Sat, 14 Mar 2015 11:45:20 +0000 (11:45 +0000)]
wrappercamerabinsrc: fix pad leak
Only get the pad if it is really going to be used to avoid
leaking it
Matthew Waters [Sat, 14 Mar 2015 18:10:24 +0000 (18:10 +0000)]
gl/examples: fixup generic cube example for NDC
translating outside the clip region doesn't work
Julien Isorce [Sat, 14 Mar 2015 15:38:28 +0000 (15:38 +0000)]
gl/examples: add sdlshare2 that uses glimagesink to output textures
https://bugzilla.gnome.org/show_bug.cgi?id=739681
Julien Isorce [Sat, 14 Mar 2015 16:30:42 +0000 (16:30 +0000)]
glimagesink: keep window invisible when sharing output
https://bugzilla.gnome.org/show_bug.cgi?id=739681
Julien Isorce [Sat, 14 Mar 2015 15:16:55 +0000 (15:16 +0000)]
glimagesink: provide GstSample in client-draw signal
Instead of prividing texture and size directly.
And apply changes to examples.
https://bugzilla.gnome.org/show_bug.cgi?id=739681
Julien Isorce [Sat, 14 Mar 2015 15:37:05 +0000 (15:37 +0000)]
sdlshare: use glupload and unmap frame
Matthew Waters [Sat, 14 Mar 2015 16:25:29 +0000 (16:25 +0000)]
glsyncmeta: make context to wait and set sync explicit
otherwise we may wait on a sync object in same context by accident
Tim-Philipp Müller [Sat, 14 Mar 2015 15:16:01 +0000 (15:16 +0000)]
configure: fix build
Was supposed to be squashed into earlier commit.
Tim-Philipp Müller [Sat, 14 Mar 2015 15:15:02 +0000 (15:15 +0000)]
docs: update plugin docs
Tim-Philipp Müller [Sat, 14 Mar 2015 14:43:37 +0000 (14:43 +0000)]
Remove unported and useless osxvideosrc element
There are other elements for this now.
Ramiro Polla [Fri, 13 Mar 2015 18:24:43 +0000 (18:24 +0000)]
sdpdemux: properly escape percent sign in documentation
Nicolas Dufresne [Sat, 14 Mar 2015 12:58:22 +0000 (12:58 +0000)]
glimagesink: Add NULL check in error case
Other context may be NULL if something went wrong. Avoid trying to unref
a NULL pointer.
Matthew Waters [Sat, 14 Mar 2015 11:01:12 +0000 (11:01 +0000)]
gl: fix a couple of typos in configure.ac
https://bugzilla.gnome.org/show_bug.cgi?id=744020
Matthew Waters [Sat, 14 Mar 2015 10:39:06 +0000 (10:39 +0000)]
glupload/colorconvert: only copy timestamps if the input buffer != output
Julien Isorce [Wed, 11 Mar 2015 00:06:55 +0000 (00:06 +0000)]
gl: add GstGLDisplayCocoa
https://bugzilla.gnome.org/show_bug.cgi?id=746012
Julien Isorce [Fri, 13 Mar 2015 09:07:16 +0000 (09:07 +0000)]
examples: initialize NSApp at the beginning
Julien Isorce [Sat, 14 Mar 2015 07:49:14 +0000 (07:49 +0000)]
gl/cocoa: do not terminate loop in gst_gl_window_cocoa_close
It is now done in _finalize.
Fix regression introduced by
"gl/window: create the main loop/context on init/finalize"
bc7a7259f357b0065dd94e0668b5a895d83fa53a
Julien Isorce [Fri, 13 Mar 2015 15:34:55 +0000 (15:34 +0000)]
gl: avoid overwriting display and context to NULL
It happens when the application provides display
and/or context.
Matthew Waters [Fri, 13 Mar 2015 17:41:17 +0000 (17:41 +0000)]
glshader: attribute locations are -1 on error
Neos3452 [Fri, 13 Mar 2015 17:04:17 +0000 (17:04 +0000)]
glshader: prevent from getting attributes without vertex shader
It doesn't make sense to query for vertex attributes without a vertex
shader. Moreover this is causing a crash on OSX.
https://bugzilla.gnome.org/show_bug.cgi?id=746168
Jan Schmidt [Fri, 13 Mar 2015 15:53:00 +0000 (02:53 +1100)]
GL: Remove annoying printf in the filterbin class_init
ijsf [Thu, 12 Mar 2015 08:27:30 +0000 (09:27 +0100)]
Restricted activeVideoMaxFrameDuration to fix frame rate
Matthew Waters [Fri, 13 Mar 2015 12:43:13 +0000 (12:43 +0000)]
glimagesink: add pixel-aspect-ratio property on the bin
Matthew Waters [Fri, 13 Mar 2015 12:40:04 +0000 (12:40 +0000)]
glupload: unref the bufferpool
Matthew Waters [Fri, 13 Mar 2015 12:29:54 +0000 (12:29 +0000)]
glimagesink: forward ALL the properties on the bin
Matthew Waters [Fri, 13 Mar 2015 12:28:36 +0000 (12:28 +0000)]
gluploadelement: properly unref buffers that are the same as the input
basetransform doesn't unref equal input and output buffers
Matthew Waters [Fri, 13 Mar 2015 10:25:35 +0000 (10:25 +0000)]
gl: get the context from basemixer/basefilter
Matthew Waters [Fri, 13 Mar 2015 09:38:54 +0000 (09:38 +0000)]
gl: retreive the gldisplay/app gl context as soon as possible
fixes the usage of gst_gl_display_filter_gl_api
Matthew Waters [Fri, 13 Mar 2015 09:37:46 +0000 (09:37 +0000)]
gl/tests: fix deadlock on glcontext wrapped context test
Julien Isorce [Thu, 12 Mar 2015 16:46:44 +0000 (16:46 +0000)]
glcolorconvert: cache indices in a buffer object
Sebastian Dröge [Thu, 12 Mar 2015 17:11:31 +0000 (17:11 +0000)]
audiomixer: Fix discont detection and buffer alignment code
Actually accumulate the sample counter to check the accumulated error
between actual timestamps and expected ones instead of just resetting
the error back to 0 with every new buffer.
Also don't reset discont_time whenever we don't resync. The whole point of
discont_time is to remember when we first detected a discont until we actually
act on it a bit later if the discont stayed around for discont_wait time.
https://bugzilla.gnome.org/show_bug.cgi?id=746032
Matthew Waters [Sun, 8 Mar 2015 07:16:04 +0000 (18:16 +1100)]
caopengllayersink: implement as a bin like glimagesink
Matthew Waters [Tue, 3 Mar 2015 07:05:04 +0000 (18:05 +1100)]
gl/cocoa: avoid deadlock when creating context on the main thread.
Make window/view creation async so that it is possible to
gst_gl_context_create from the main thread.