I implemented my own FsTransmitter because I need to transport data multiplexed over my protocol's single data connection. Since fsrawconference doesn't have a jitterbuffer or codec support, I am trying to switch to fsrtpconference instead: https://lists.freedesktop.org/archives/farstream-devel/2018-February/000086.html However, fsrtpconference seems to emit application/x-srtp unconditionally, even when encryption is disabled. I was only able to get it to work by removing libgstsrtp.so from my system. Otherwise I get this: 0:00:15.265806297 5308 0x5573bd72c830 DEBUG GST_CAPS gstpad.c:2215:gst_pad_link_check_compatible_unlocked:<tee1:src_1> src caps application/x-srtp 0:00:15.265814903 5308 0x5573bd72c830 DEBUG GST_CAPS gstpad.c:2217:gst_pad_link_check_compatible_unlocked:<valve1:sink> sink caps application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], clock-rate=(int)48000, encoding-name=(string){ OPUS, X-GST-OPUS-DRAFT-SPITTKA-00 } 0:00:15.265878067 5308 0x5573bd72c830 INFO GST_PADS gstpad.c:2464:gst_pad_link_full: link between tee1:src_1 and valve1:sink failed: no common format
This appears to make it work, although I haven't actually tested that connections which *do* use SRTP are still working: --- a/gst/fsrtpconference/fs-rtp-session.c +++ b/gst/fsrtpconference/fs-rtp-session.c @@ -1167,7 +1167,8 @@ _rtpbin_request_encoder (GstElement *rtpbin, guint session_id, { FsRtpSession *self = FS_RTP_SESSION (user_data); - if (self->id == session_id && self->priv->srtpenc) { + if (self->id == session_id && self->priv->srtpenc && + self->priv->encryption_parameters) { return gst_object_ref (self->priv->srtpenc); } else { return NULL; @@ -1180,7 +1181,8 @@ _rtpbin_request_decoder (GstElement *rtpbin, guint session_id, { FsRtpSession *self = FS_RTP_SESSION (user_data); - if (self->id == session_id && self->priv->srtpdec) + if (self->id == session_id && self->priv->srtpdec && + self->priv->encryption_parameters) return gst_object_ref (self->priv->srtpdec); else return NULL;
Alternative, if srtpenc/srtpdec should be using application/x-rtp caps when encryption is disabled, then the answer would be more like https://bugzilla.gnome.org/show_bug.cgi?id=793704
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/farstream/farstream/issues/9.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.