FsAppTransmitter / dummy call in nullprpl
David Woodhouse
dwmw2 at infradead.org
Tue Feb 20 07:00:28 EST 2018
On Sat, 2018-02-03 at 00:45 +0000, David Woodhouse wrote:
>
> Firstly, I need to *remove* libgstsrtp.so from my system. Unless I do
> that, it fails to work:
>
> 0:00:15.265806297 5308 0x5573bd72c830 DEBUG GST_CAPS gstpad.c:2215:gst_pad_link_check_compatible_unlocked: src caps application/x-srtp
> 0:00:15.265814903 5308 0x5573bd72c830 DEBUG GST_CAPS gstpad.c:2217:gst_pad_link_check_compatible_unlocked: 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
I can fix that thus, although I haven't actually checked that encrypted
streams still work:
diff --git a/gst/fsrtpconference/fs-rtp-session.c b/gst/fsrtpconference/fs-rtp-session.c
index b040a5c..04176f9 100644
--- 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;
> Secondly, I have to upgrade to the latest farstream (I've been testing
> on Ubuntu 16.04 with farstream 0.2.7). Unless I do that, I can't find
> any way to make OPUS work. Whatever I've put in fs-codecs.conf and
> whatever I've put in farstream-{send,recv}-profile properties, I
> haven't managed to get it to succeed.
This seems to require commits 2b085b0a3 and db14343c ("rtp: Put
channels as encoding-params as expected", and "rtp: Parse payloaders
with multiple names" respectively) from 0.2.8, so I'm not convinced
I'll ever get that to work without upgrading to 0.2.8.
I still haven't *actually* got a single channel stream to work; it's
still setting up a stereo source pipeline into opusenc. But at least
it's sending something now.
> After I've solved those, I'll turn my attention to the fact that
> although the nullprpl works with those caveats, I still haven't got my
> own code with the "real" GstAppSrc/GstAppSink pipeline working. I get
> outbound audio from my mic to the network, but I never see a farstream-
> recv-codecs-changed message, and the inbound pipeline isn't set up.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5213 bytes
Desc: not available
URL: <https://pidgin.im/pipermail/devel/attachments/20180220/35fd888e/attachment.bin>
More information about the Devel
mailing list