techniques for handling timeouts when using dtlssrtpenc, nicesink, dtlssrtpdec, and nicesrc
Matt Pekar
mpekar at raineyelectronics.com
Tue May 9 16:13:57 UTC 2017
I'm working on a WebRTC pipeline and having trouble handling timeouts to
broken connections with these elements. One end of the connection is a
Chrome webpage that sends the webrtc "offer". The "answer" side is a
custom GStreamer application that is roughly this:
H264DATA ! queue ! h264parse ! rtph264pay ! rtpbin name=rtp ! dtlssrtpenc
! nicesink
nicesrc ! dtlssrtpdec ! rtp.
As far as I can tell there is a handle_timeout() callback in
gstdtlsconnection.c that is getting invoked, but the result of the
DTLSv1_handle_timeout() call is being logged then ignored:
if (priv->is_alive) {
ret = DTLSv1_handle_timeout (priv->ssl);
GST_DEBUG_OBJECT (self, "handle timeout returned %d, is_alive: %d", ret,
priv->is_alive);
if (ret < 0) {
GST_WARNING_OBJECT (self, "handling timeout failed");
} else if (ret > 0) {
log_state (self, "handling timeout before poll");
openssl_poll (self);
log_state (self, "handling timeout after poll");
}
}
Is there an appropriate way to check for loss of connectivity with these
elements?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20170509/0eb00485/attachment.html>
More information about the gstreamer-devel
mailing list