Commit graph

14 commits

Author SHA1 Message Date
Jan Schmidt
dbeb576531 sctp: Do downward state change logic after chaining up.
Call the parent state_change function first when changing state
downward, to make sure that the element has stopped before cleaning
it up.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1741>
2020-10-31 01:47:06 +00:00
Sebastian Dröge
e6c6b5ea29 sctpenc: Report errors when sending out data and the association is in error or disconnected state 2020-01-31 08:55:10 +02:00
Sebastian Dröge
6d22e80f30 sctp: Clean up association state handling and go into error/disconnected state in more circumstances 2020-01-31 08:55:10 +02:00
Sebastian Dröge
ddcfde36fa sctp: Add more logging to the encoder/decoder elements on data processing
And convert g_warning()s into normal log output instead.
2020-01-31 08:55:10 +02:00
Sebastian Dröge
db16265d86 sctpenc: Correctly log/handle errors and handle short writes 2020-01-31 08:55:10 +02:00
Sebastian Dröge
fa0a233fa7 sctp: Make receive/packetout callbacks thread-safe 2020-01-30 16:07:48 +02:00
Sebastian Dröge
bff33f3b21 sctp: Add logging and missing cleanup on errors when creating pads 2020-01-30 16:00:33 +02:00
Sebastian Dröge
16ec86faf0 sctpenc: Use g_signal_emit() instead of g_signal_emit_by_name()
We have all the required information around so make use of it.
2020-01-30 15:59:12 +02:00
Sebastian Dröge
90e9f12880 sctpenc: Propagate downstream flow errors upstream
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1180
2020-01-30 15:58:30 +02: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
Mathieu Duponchelle
01216845c7 sctp elements: avoid assertions on shutdown 2018-09-21 19:36:52 +10:00
Matthew Waters
f30c8c0c92 sctpenc: don't require caps when requesting the pad
They can be set later
2018-09-21 19:36:52 +10:00
Matthew Waters
fb8f7c25de sctpenc: start pad task after the parent has activated pads
Fixes a race where the task could attempt to set
stream-start/caps/segment before the pad was active and would be
dropped resulting in a 'data-flow before stream-start' warning.
2018-09-21 19:36:52 +10:00
George Kiagiadakis
e2f06326ea Add new SCTP plugins (sctpenc/sctpdec)
https://bugzilla.gnome.org/show_bug.cgi?id=744863
2018-09-21 19:36:52 +10:00