Stéphane Cerveau
a216a1f2cf
dtls: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038 >
2021-03-23 14:19:16 +00:00
Sebastian Dröge
7fcfb6c6c5
dtls: Keep track of the connection state and signal it through all the layers
...
This allows the application to keep track of the underlying DTLS
connection state and act accordingly.
2020-01-19 11:16:34 +00:00
Sebastian Dröge
d66aa872ca
dtls: Handle errors/close_notify at all steps and propagate through the layers properly
...
Previously we simply logged errors but never reported them to elements
or even to the user. Fatal errors are now properly reported.
Additionally proper connection closing is implemented based on EOS:
- dtlsenc: EOS will cause close_notify to be sent to the peer and only
if the peer also sent back close_notify we will forward the
EOS event.
- dtlsdec: EOS will be forwarded normally, this only means that the
unterlying transport was closed. On receiving a DTLS packet
containing close_notify, return EOS and send EOS downstream.
2020-01-19 11:16:34 +00:00
Sebastian Dröge
a132138f1c
dtls: Propagate write errors backwards through dtlsenc/dtlsconnection
2020-01-19 11:16:34 +00:00
Sebastian Dröge
ee55dac8d4
dtls: Use a plain function pointer instead of a GClosure for the send callback
...
There's not point in using GClosure and going through all the
GValue/libffi infrastructure for each DTLS packet.
2020-01-19 11:16:34 +00:00
Sebastian Dröge
e59962850a
dtlsenc: Don't warn on GST_FLOW_FLUSHING or GST_FLOW_EOS
...
Only warn if pushing a buffer returns an actual error to not pollute
logs with confusing warnings.
2019-12-30 11:09:46 +00:00
Niels De Graef
d8f61515d8
Don't pass default GLib marshallers for signals
...
By passing NULL to `g_signal_new` instead of a marshaller, GLib will
actually internally optimize the signal (if the marshaller is available
in GLib itself) by also setting the valist marshaller. This makes the
signal emission a bit more performant than the regular marshalling,
which still needs to box into `GValue` and call libffi in case of a
generic marshaller.
Note that for custom marshallers, one would use
`g_signal_set_va_marshaller()` with the valist marshaller instead.
2019-11-06 14:27:46 +00:00
Matthew Waters
eaef193d08
dtls: drop upstream segment and stream-start events
...
Fixes tests with GstHarness
We will push our own from the srcpad task.
2018-02-05 17:44:33 +11:00
Matthew Waters
18a62b144d
dtlsenc: fix typo in is-client property description
2018-02-05 17:44:33 +11:00
Vineeth TM
8cdfb13658
bad: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763081
2016-03-24 14:56:51 +02:00
Paul Arzelier
86443f8ae2
dtls: fix printf format on win32
...
https://bugzilla.gnome.org/show_bug.cgi?id=755981
2015-10-02 14:21:46 +01:00
Jose Antonio Santos Cadenas
d625770a18
dtls: Fix memory leak
...
Keys were not correctly released when it was get as a property
nor when a second key was received
https://bugzilla.gnome.org/show_bug.cgi?id=749380
2015-05-15 15:47:39 +03:00
Jose Antonio Santos Cadenas
aae1a5e2ce
dtlsenc: Fix memory leak releasing connection_id
...
https://bugzilla.gnome.org/show_bug.cgi?id=749318
2015-05-13 19:14:34 +03:00
Jose Antonio Santos Cadenas
6b0183b7bf
dtlsenc: Fix memory leak while setting connection-id
...
https://bugzilla.gnome.org/show_bug.cgi?id=749318
2015-05-13 19:14:17 +03: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
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
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
2082476efb
dtls: Fix some search & replace mistakes from renaming the elements
2015-03-18 09:46:40 +01:00
Sebastian Dröge
936fa2f1c4
dtls: Re-namespace from Er to Gst
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