[calls] sip: media: Allow specifying SRTP for GStreamer capabilities
- From: Evangelos Ribeiro Tzaras <devrtz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [calls] sip: media: Allow specifying SRTP for GStreamer capabilities
- Date: Mon, 25 Apr 2022 07:05:45 +0000 (UTC)
commit 58f9f5cb62aaf96c89e1a59a40c47b51c96e8347
Author: Evangelos Ribeiro Tzaras <devrtz fortysixandtwo eu>
Date: Thu Apr 7 11:42:18 2022 +0200
sip: media: Allow specifying SRTP for GStreamer capabilities
When using SRTP the GstCaps must be set accordingly.
plugins/sip/calls-sip-media-pipeline.c | 2 +-
plugins/sip/gst-rfc3551.c | 7 +++++--
plugins/sip/gst-rfc3551.h | 3 ++-
3 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/plugins/sip/calls-sip-media-pipeline.c b/plugins/sip/calls-sip-media-pipeline.c
index 0eefa578..476dda5a 100644
--- a/plugins/sip/calls-sip-media-pipeline.c
+++ b/plugins/sip/calls-sip-media-pipeline.c
@@ -656,7 +656,7 @@ pipeline_setup_codecs (CallsSipMediaPipeline *self,
}
/* UDP src capabilities */
- caps_string = media_codec_get_gst_capabilities (codec);
+ caps_string = media_codec_get_gst_capabilities (codec, FALSE);
g_debug ("Capabilities:\n%s", caps_string);
caps = gst_caps_from_string (caps_string);
diff --git a/plugins/sip/gst-rfc3551.c b/plugins/sip/gst-rfc3551.c
index a72b2974..d052b016 100644
--- a/plugins/sip/gst-rfc3551.c
+++ b/plugins/sip/gst-rfc3551.c
@@ -106,15 +106,18 @@ media_codec_by_payload_id (guint payload_id)
/* media_codec_get_gst_capabilities:
*
* @codec: A #MediaCodecInfo
+ * @use_srtp: Whether to use SRTP
*
* Returns: (transfer full): The capability string describing GstCaps.
* Used for the RTP source element.
*/
gchar *
-media_codec_get_gst_capabilities (MediaCodecInfo *codec)
+media_codec_get_gst_capabilities (MediaCodecInfo *codec,
+ gboolean use_srtp)
{
- return g_strdup_printf ("application/x-rtp,media=(string)audio,clock-rate=(int)%u"
+ return g_strdup_printf ("application/%s,media=(string)audio,clock-rate=(int)%u"
",encoding-name=(string)%s,payload=(int)%u",
+ use_srtp ? "x-srtp" : "x-rtp",
codec->clock_rate,
codec->name,
codec->payload_id);
diff --git a/plugins/sip/gst-rfc3551.h b/plugins/sip/gst-rfc3551.h
index 36d571aa..9e42d20b 100644
--- a/plugins/sip/gst-rfc3551.h
+++ b/plugins/sip/gst-rfc3551.h
@@ -47,5 +47,6 @@ typedef struct {
gboolean media_codec_available_in_gst (MediaCodecInfo *codec);
MediaCodecInfo *media_codec_by_name (const char *name);
MediaCodecInfo *media_codec_by_payload_id (uint payload_id);
-gchar *media_codec_get_gst_capabilities (MediaCodecInfo *codec);
+gchar *media_codec_get_gst_capabilities (MediaCodecInfo *codec,
+ gboolean use_srtp);
GList *media_codecs_get_candidates (void);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]