gstreamer/ext/webrtc
Sebastian Dröge 4ffa6350e8 webrtc: In all blocking pad probes except for sink pads also handle serialized events
Otherwise it can happen that e.g. the stream-start event is tried to be
sent as part of pushing the first buffer. Downstream might not be in
PAUSED/PLAYING yet, so the event is rejected with GST_FLOW_FLUSHING and
because it's an event would not cause the blocking pad probe to trigger
first. This would then return GST_FLOW_FLUSHING for the buffer and shut
down all of upstream.

To solve this we return GST_PAD_PROBE_DROP for all events. In case of
sticky events they would be resent again later once we unblocked after
blocking on the buffer and everything works fine.

Don't handle events specifically in sink pad blocking pad probes as here
downstream is not linked yet and we are actually waiting for the
following CAPS event before unblocking can happen.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1172
2020-02-11 00:49:51 +00:00
..
fwd.h webrtcbin: add support for data channels based on SCTP 2018-09-21 19:45:12 +10:00
gstwebrtc.c webrtcbin: an element that handles the transport aspects of webrtc connections 2018-02-02 15:02:21 +11:00
gstwebrtcbin.c webrtc: In all blocking pad probes except for sink pads also handle serialized events 2020-02-11 00:49:51 +00:00
gstwebrtcbin.h webrtcbin: use the latest self-generated SDP as the basis for renegotiations 2019-07-03 23:44:15 +00:00
gstwebrtcice.c Don't pass default GLib marshallers for signals 2019-11-06 14:27:46 +00:00
gstwebrtcice.h webrtcbin: New add-turn-server API 2018-09-19 16:17:24 +02:00
gstwebrtcstats.c webrtc/stats: redo considering internal sources 2019-09-12 01:06:41 +00:00
gstwebrtcstats.h webrtcbin: an element that handles the transport aspects of webrtc connections 2018-02-02 15:02:21 +11:00
icestream.c webrtc: Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 00:17:26 +02:00
icestream.h webrtcbin: an element that handles the transport aspects of webrtc connections 2018-02-02 15:02:21 +11:00
meson.build docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
nicetransport.c webrtc: Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 00:17:26 +02:00
nicetransport.h webrtcbin: an element that handles the transport aspects of webrtc connections 2018-02-02 15:02:21 +11:00
sctptransport.c Don't pass default GLib marshallers for signals 2019-11-06 14:27:46 +00:00
sctptransport.h webrtcbin: Add a blocking pad probe for the receivebin -> sctpdec connection 2020-02-11 00:49:51 +00:00
transportreceivebin.c webrtc: In all blocking pad probes except for sink pads also handle serialized events 2020-02-11 00:49:51 +00:00
transportreceivebin.h webrtcbin/transportreceivebin: Use actual pad blocks instead of an additional GCond for blocking pads 2020-02-11 00:49:51 +00:00
transportsendbin.c webrtc: In all blocking pad probes except for sink pads also handle serialized events 2020-02-11 00:49:51 +00:00
transportsendbin.h webrtc: Clean up and fix transportsendbin 2018-07-14 23:20:13 +10:00
transportstream.c webrtc: Initial support for stream addition/removal 2019-05-30 21:33:09 +10:00
transportstream.h webrtc: Initial support for stream addition/removal 2019-05-30 21:33:09 +10:00
utils.c webrtcbin: Don't assert if an SDP media can't be converted to caps 2019-07-08 07:18:41 +00:00
utils.h webrtcbin: use the latest self-generated SDP as the basis for renegotiations 2019-07-03 23:44:15 +00:00
webrtcdatachannel.c webrtc: Unmap all non-binary buffers received via the datachannel 2020-01-07 21:15:20 +00:00
webrtcdatachannel.h webrtcdatachannel: inherit directly from GObject 2019-07-16 21:35:47 +00:00
webrtcsdp.c documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
webrtcsdp.h webrtc: Initial support for stream addition/removal 2019-05-30 21:33:09 +10:00
webrtctransceiver.c rtptransceiver: Remove direction setter and vfunc and replace it by a property 2019-08-06 12:22:21 +00:00
webrtctransceiver.h webrtc: Initial support for stream addition/removal 2019-05-30 21:33:09 +10:00