mirror of https://github.com/OpenIPC/firmware.git
60 lines
1.5 KiB
Diff
60 lines
1.5 KiB
Diff
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
|
|
*
|