From ede90e4aa56b6654e86ceefc6d2944526a5f182c Mon Sep 17 00:00:00 2001
From: Richard Mudgett <rmudgett@digium.com>
Date: Mon, 24 Apr 2017 18:13:04 -0500
Subject: [PATCH] SDP: Make SDP translation to/from internal representation
 more const.

Change-Id: I473a174b869728604b37c60853896b0c458bc504
---
 include/asterisk/sdp_state.h      |  2 +-
 include/asterisk/sdp_translator.h |  8 ++++----
 main/sdp_state.c                  |  2 +-
 main/sdp_translator.c             |  4 ++--
 res/res_sdp_translator_pjmedia.c  | 12 ++++++------
 5 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/include/asterisk/sdp_state.h b/include/asterisk/sdp_state.h
index 88660b6c7e..c2122fbce5 100644
--- a/include/asterisk/sdp_state.h
+++ b/include/asterisk/sdp_state.h
@@ -164,7 +164,7 @@ int ast_sdp_state_set_remote_sdp(struct ast_sdp_state *sdp_state, const struct a
  *
  * \since 15
  */
-int ast_sdp_state_set_remote_sdp_from_impl(struct ast_sdp_state *sdp_state, void *remote);
+int ast_sdp_state_set_remote_sdp_from_impl(struct ast_sdp_state *sdp_state, const void *remote);
 
 /*!
  * \brief Reset the SDP state and stream capabilities as if the SDP state had just been allocated.
diff --git a/include/asterisk/sdp_translator.h b/include/asterisk/sdp_translator.h
index 09901af2e6..e1d51f0be0 100644
--- a/include/asterisk/sdp_translator.h
+++ b/include/asterisk/sdp_translator.h
@@ -34,9 +34,9 @@ struct ast_sdp_translator_ops {
 	/*! Free translator private data */
 	void (*translator_free)(void *translator_priv);
 	/*! Convert the channel-native SDP into an internal Asterisk SDP */
-	struct ast_sdp *(*to_sdp)(void *repr_sdp, void *translator_priv);
+	struct ast_sdp *(*to_sdp)(const void *repr_sdp, void *translator_priv);
 	/*! Convert an internal Asterisk SDP into a channel-native SDP */
-	void *(*from_sdp)(const struct ast_sdp *sdp, void *translator_priv);
+	const void *(*from_sdp)(const struct ast_sdp *sdp, void *translator_priv);
 };
 
 /*!
@@ -87,7 +87,7 @@ void ast_sdp_translator_free(struct ast_sdp_translator *translator);
  * \retval NULL FAIL
  * \retval Non-NULL The translated SDP
  */
-struct ast_sdp *ast_sdp_translator_to_sdp(struct ast_sdp_translator *translator, void *native_sdp);
+struct ast_sdp *ast_sdp_translator_to_sdp(struct ast_sdp_translator *translator, const void *native_sdp);
 
 /*!
  * \brief Translate an internal Asterisk SDP to a native SDP
@@ -97,7 +97,7 @@ struct ast_sdp *ast_sdp_translator_to_sdp(struct ast_sdp_translator *translator,
  * \retval NULL FAIL
  * \retval non-NULL The translated SDP
  */
-void *ast_sdp_translator_from_sdp(struct ast_sdp_translator *translator,
+const void *ast_sdp_translator_from_sdp(struct ast_sdp_translator *translator,
 	const struct ast_sdp *ast_sdp);
 
 #endif /* _ASTERISK_SDP_TRANSLATOR_H */
diff --git a/main/sdp_state.c b/main/sdp_state.c
index 2c018b1261..dddc79c071 100644
--- a/main/sdp_state.c
+++ b/main/sdp_state.c
@@ -1084,7 +1084,7 @@ int ast_sdp_state_set_remote_sdp(struct ast_sdp_state *sdp_state, const struct a
 	return merge_sdps(sdp_state, sdp);
 }
 
-int ast_sdp_state_set_remote_sdp_from_impl(struct ast_sdp_state *sdp_state, void *remote)
+int ast_sdp_state_set_remote_sdp_from_impl(struct ast_sdp_state *sdp_state, const void *remote)
 {
 	struct ast_sdp *sdp;
 	int ret;
diff --git a/main/sdp_translator.c b/main/sdp_translator.c
index 2426b10ea2..6fe330a60d 100644
--- a/main/sdp_translator.c
+++ b/main/sdp_translator.c
@@ -92,12 +92,12 @@ void ast_sdp_translator_free(struct ast_sdp_translator *translator)
 }
 
 struct ast_sdp *ast_sdp_translator_to_sdp(struct ast_sdp_translator *translator,
-	void *native_sdp)
+	const void *native_sdp)
 {
 	return translator->ops->to_sdp(native_sdp, translator->translator_priv);
 }
 
-void *ast_sdp_translator_from_sdp(struct ast_sdp_translator *translator,
+const void *ast_sdp_translator_from_sdp(struct ast_sdp_translator *translator,
 	const struct ast_sdp *ast_sdp)
 {
 	return translator->ops->from_sdp(ast_sdp, translator->translator_priv);
diff --git a/res/res_sdp_translator_pjmedia.c b/res/res_sdp_translator_pjmedia.c
index 6ad1e9b094..3b9c26c46d 100644
--- a/res/res_sdp_translator_pjmedia.c
+++ b/res/res_sdp_translator_pjmedia.c
@@ -89,7 +89,7 @@ static struct ast_sdp_m_line *pjmedia_copy_m_line(struct pjmedia_sdp_media *pjme
 	return m_line;
 }
 
-static void pjmedia_copy_a_lines(struct ast_sdp *new_sdp, pjmedia_sdp_session *pjmedia_sdp)
+static void pjmedia_copy_a_lines(struct ast_sdp *new_sdp, const pjmedia_sdp_session *pjmedia_sdp)
 {
 	int i;
 
@@ -100,7 +100,7 @@ static void pjmedia_copy_a_lines(struct ast_sdp *new_sdp, pjmedia_sdp_session *p
 }
 
 static void pjmedia_copy_m_lines(struct ast_sdp *new_sdp,
-	struct pjmedia_sdp_session *pjmedia_sdp)
+	const struct pjmedia_sdp_session *pjmedia_sdp)
 {
 	int i;
 
@@ -109,9 +109,9 @@ static void pjmedia_copy_m_lines(struct ast_sdp *new_sdp,
 	}
 }
 
-static struct ast_sdp *pjmedia_to_sdp(void *in, void *translator_priv)
+static struct ast_sdp *pjmedia_to_sdp(const void *in, void *translator_priv)
 {
-	struct pjmedia_sdp_session *pjmedia_sdp = in;
+	const struct pjmedia_sdp_session *pjmedia_sdp = in;
 
 	struct ast_sdp_o_line *o_line = ast_sdp_o_alloc(dupa_pj_str(pjmedia_sdp->origin.user),
 		pjmedia_sdp->origin.id, pjmedia_sdp->origin.version,
@@ -239,7 +239,7 @@ static void copy_m_lines_pjmedia(pj_pool_t *pool, pjmedia_sdp_session *pjmedia_s
 	}
 }
 
-static void *sdp_to_pjmedia(const struct ast_sdp *sdp, void *translator_priv)
+static const void *sdp_to_pjmedia(const struct ast_sdp *sdp, void *translator_priv)
 {
 	pj_pool_t *pool = translator_priv;
 	pjmedia_sdp_session *pjmedia_sdp;
@@ -470,7 +470,7 @@ AST_TEST_DEFINE(sdp_to_pjmedia_test)
       "a=rtpmap:32 MPV/90000\r\n\r\n";
 	pj_pool_t *pool;
 	pjmedia_sdp_session *pjmedia_sdp_orig;
-	pjmedia_sdp_session *pjmedia_sdp_dup;
+	const pjmedia_sdp_session *pjmedia_sdp_dup;
 	struct ast_sdp *sdp = NULL;
 	pj_status_t status;
 	enum ast_test_result_state res = AST_TEST_PASS;
-- 
GitLab