Add sdp direction patch for libre (#1432)

pull/1434/head
Francois Lettock 2024-05-06 18:09:29 +02:00 committed by GitHub
parent 95afc092fe
commit 640d7e8e4f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 59 additions and 0 deletions

View File

@ -0,0 +1,59 @@
From 8caba1836c17cc518280ffedfbdde9802862e2f2 Mon Sep 17 00:00:00 2001
From: Christian Spielberger <c.spielberger@commend.com>
Date: Fri, 25 Mar 2022 10:49:19 +0100
Subject: [PATCH] sdp: a utility function for decoding SDP direction
---
include/re_sdp.h | 2 ++
src/sdp/util.c | 25 +++++++++++++++++++++++++
2 files changed, 27 insertions(+)
diff --git a/include/re_sdp.h b/include/re_sdp.h
index bad4bfa90..8ad3ab774 100644
--- a/include/re_sdp.h
+++ b/include/re_sdp.h
@@ -175,6 +175,8 @@ extern const char sdp_proto_rtpsavp[];
/* utility functions */
+enum sdp_dir sdp_dir_decode(const struct pl *pl);
+
/** RTP Header Extensions, as defined in RFC 5285 */
struct sdp_extmap {
struct pl name;
diff --git a/src/sdp/util.c b/src/sdp/util.c
index 754f5b888..6e5c3feae 100644
--- a/src/sdp/util.c
+++ b/src/sdp/util.c
@@ -11,6 +11,31 @@
#include <re_sdp.h>
+/**
+ * Decode an SDP direction
+ *
+ * @param pl SDP direction as string
+ *
+ * @return sdp_dir SDP direction, SDP_SENDRECV as fallback
+ */
+enum sdp_dir sdp_dir_decode(const struct pl *pl)
+{
+ if (!pl_strcmp(pl, "off")) {
+ return SDP_INACTIVE;
+ }
+ else if (!pl_strcmp(pl, "inactive")) {
+ return SDP_INACTIVE;
+ }
+ else if (!pl_strcmp(pl, "sendonly")) {
+ return SDP_SENDONLY;
+ }
+ else if (!pl_strcmp(pl, "recvonly")) {
+ return SDP_RECVONLY;
+ }
+
+ return SDP_SENDRECV;
+}
+
/**
* Decode RTP Header Extension SDP attribute value
*