Sebastian Dröge
bb5b0f2d12
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.
2015-03-23 11:57:09 +01:00
Sebastian Dröge
716eaf765b
opusheader: Put number of channels and sample rate into the caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=746617
2015-03-23 11:56:09 +01:00
Nicola Murino
0719c8c766
glimagesink: fix caps leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=746541
2015-03-21 16:52:08 +00:00
Jose Antonio Santos Cadenas
ff11a1a8a0
srtpdec: Add support for buffer list
...
https://bugzilla.gnome.org/show_bug.cgi?id=746387
2015-03-19 16:31:47 +01:00
Jose Antonio Santos Cadenas
8f8b0f5478
srtpenc: Do not drop all buffers in buffer list if one fails
...
https://bugzilla.gnome.org/show_bug.cgi?id=746387
2015-03-19 16:27:21 +01:00
Sebastian Dröge
82b73713cb
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.
2015-03-19 14:04:28 +01:00
Sebastian Dröge
602b1ca3d2
dtls: Remove unused thread struct field
2015-03-19 13:55:53 +01:00
Sebastian Dröge
fd609f6bc0
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.
2015-03-19 13:30:00 +01:00
Sebastian Dröge
4072666c7d
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.
2015-03-18 18:21:35 +01:00
Sebastian Dröge
7782bdf286
dtlsenc: Clear the queue when deactivating the pad
2015-03-18 17:40:47 +01:00
Sebastian Dröge
4fed95c534
dtlsenc: Handle pad activity states properly
2015-03-18 17:40:34 +01:00
Sebastian Dröge
ff01df1093
dtlsenc: Don't manually activate/deactivate srcpad
2015-03-18 17:35:12 +01:00
Jose Antonio Santos Cadenas
8d2e98bc3f
srtpdec: Separate buffer encoding functionality into a different function
...
https://bugzilla.gnome.org/show_bug.cgi?id=746387
2015-03-18 16:26:48 +01:00
Jose Antonio Santos Cadenas
f295beda07
srtpenc: Add support for buffer list
...
https://bugzilla.gnome.org/show_bug.cgi?id=746387
2015-03-18 16:26:48 +01:00
Jose Antonio Santos Cadenas
ef4a904700
srtpenc: Add missing locks
...
https://bugzilla.gnome.org/show_bug.cgi?id=746387
2015-03-18 16:22:58 +01:00
Jose Antonio Santos Cadenas
2d3938c063
srtpenc: Split chain functionality so it can be reused for buffer list
...
https://bugzilla.gnome.org/show_bug.cgi?id=746387
2015-03-18 16:21:36 +01:00
Sebastian Dröge
3614302cf8
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.
2015-03-18 13:52:38 +01:00
Sebastian Dröge
47b73f0d52
dtlsdec: Fix locking
...
Especially don't hold any mutex while adding/removing pads or pushing data.
2015-03-18 10:06:47 +01:00
Sebastian Dröge
989c2ef67b
dtlsdec: Add support for buffer lists
2015-03-18 10:06:15 +01:00
Sebastian Dröge
2082476efb
dtls: Fix some search & replace mistakes from renaming the elements
2015-03-18 09:46:40 +01:00
Jose Antonio Santos Cadenas
e2cdbdae13
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
2015-03-17 18:18:43 +01:00
Jose Antonio Santos Cadenas
5bad599560
srtpenc: Fix typo in log
2015-03-17 18:18:32 +01:00
Sebastian Dröge
2dcd5dd39b
dtls: Initialize debug category earlier
...
Otherwise the openssl initialization will use it before initialization
2015-03-17 11:43:00 +01:00
Tim-Philipp Müller
9f06d36d95
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.
2015-03-16 17:51:20 +00:00
Tim-Philipp Müller
86a889883e
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
2015-03-16 17:36:49 +00:00
Sebastian Dröge
d9344ad820
dtls: Unconditionally use GStreamer debug log system
2015-03-16 18:23:27 +01:00
Sebastian Dröge
936fa2f1c4
dtls: Re-namespace from Er to Gst
2015-03-16 18:23:27 +01:00
Sebastian Dröge
1de51fcf02
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);
~~~~~~~~~~~~~~~~ ^
2015-03-16 18:23:27 +01:00
Sebastian Dröge
6183e99eec
dtls: Fix indention
2015-03-16 18:23:27 +01:00
Sebastian Dröge
1e0ed9af11
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
2015-03-16 18:23:27 +01:00
xixi
5a1ed14c3c
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
2015-03-15 12:02:58 +00:00
Víctor Manuel Jáquez Leal
d925e7fd19
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
2015-03-14 19:53:02 +00:00
Julien Isorce
f8fca66fb9
glimagesink: keep window invisible when sharing output
...
https://bugzilla.gnome.org/show_bug.cgi?id=739681
2015-03-14 17:56:39 +00:00
Julien Isorce
0150255a46
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
2015-03-14 17:56:21 +00:00
Matthew Waters
fa61e8e4ce
glsyncmeta: make context to wait and set sync explicit
...
otherwise we may wait on a sync object in same context by accident
2015-03-14 16:53:46 +00:00
Nicolas Dufresne
ac89e53173
glimagesink: Add NULL check in error case
...
Other context may be NULL if something went wrong. Avoid trying to unref
a NULL pointer.
2015-03-14 12:58:22 +00:00
Matthew Waters
0c8ede8565
glupload/colorconvert: only copy timestamps if the input buffer != output
2015-03-14 10:39:06 +00:00
Matthew Waters
a29a18cc3a
glshader: attribute locations are -1 on error
2015-03-13 17:41:17 +00:00
Jan Schmidt
450dc5f697
GL: Remove annoying printf in the filterbin class_init
2015-03-14 02:54:18 +11:00
Matthew Waters
2ba6bb9b93
glimagesink: add pixel-aspect-ratio property on the bin
2015-03-13 12:43:13 +00:00
Matthew Waters
4be45e5f30
glimagesink: forward ALL the properties on the bin
2015-03-13 12:30:20 +00:00
Matthew Waters
067d5c45d2
gluploadelement: properly unref buffers that are the same as the input
...
basetransform doesn't unref equal input and output buffers
2015-03-13 12:30:20 +00:00
Matthew Waters
34485c9976
gl: get the context from basemixer/basefilter
2015-03-13 12:30:20 +00:00
Matthew Waters
91b7642c48
gl: retreive the gldisplay/app gl context as soon as possible
...
fixes the usage of gst_gl_display_filter_gl_api
2015-03-13 12:30:20 +00:00
Matthew Waters
dbe8ae4d98
caopengllayersink: implement as a bin like glimagesink
2015-03-12 16:45:51 +00:00
Matthew Waters
66ccdab09a
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.
2015-03-12 16:45:51 +00:00
Matthew Waters
ef0bd30c87
gl: store the list of contexts within gldisplay
...
Removes the reliance on the allocation query to propogate GL contexts.
Allows thread safely getting a context for the a specific thread.
2015-03-12 16:45:51 +00:00
Matthew Waters
2f2470488b
glimagesink: unset the current shader after rendering
...
fixes gltestsrc ! glimagesink when gltestsrc doesn't use a shader
2015-03-12 16:45:51 +00:00
Matthew Waters
5495397c81
gltestsrc: remove usage of gldownload library object
2015-03-12 16:45:51 +00:00
Matthew Waters
776d190f59
gl: new glsrcbin element
2015-03-12 16:45:51 +00:00