summaryrefslogtreecommitdiff
path: root/include/asterisk
diff options
context:
space:
mode:
Diffstat (limited to 'include/asterisk')
-rw-r--r--include/asterisk/sdp.h73
-rw-r--r--include/asterisk/stream.h70
2 files changed, 104 insertions, 39 deletions
diff --git a/include/asterisk/sdp.h b/include/asterisk/sdp.h
index 06470c4b0..224a0e5a3 100644
--- a/include/asterisk/sdp.h
+++ b/include/asterisk/sdp.h
@@ -561,7 +561,40 @@ struct ast_sdp *ast_sdp_alloc(struct ast_sdp_o_line *o_line,
struct ast_sdp_t_line *t_line);
/*!
- * \brief Find an attribute on the top-level SDP
+ * \brief Find the first attribute match index in the top-level SDP
+ *
+ * \note This will not search within streams for the given attribute.
+ *
+ * \param sdp The SDP in which to search
+ * \param attr_name The name of the attribute to search for
+ * \param payload Optional payload number to search for. If irrelevant, set to -1
+ *
+ * \retval index of attribute line on success.
+ * \retval -1 on failure or not found.
+ *
+ * \since 15.0.0
+ */
+int ast_sdp_find_a_first(const struct ast_sdp *sdp, const char *attr_name, int payload);
+
+/*!
+ * \brief Find the next attribute match index in the top-level SDP
+ *
+ * \note This will not search within streams for the given attribute.
+ *
+ * \param sdp The SDP in which to search
+ * \param last The last matching index found
+ * \param attr_name The name of the attribute to search for
+ * \param payload Optional payload number to search for. If irrelevant, set to -1
+ *
+ * \retval index of attribute line on success.
+ * \retval -1 on failure or not found.
+ *
+ * \since 15.0.0
+ */
+int ast_sdp_find_a_next(const struct ast_sdp *sdp, int last, const char *attr_name, int payload);
+
+/*!
+ * \brief Find an attribute in the top-level SDP
*
* \note This will not search within streams for the given attribute.
*
@@ -578,9 +611,40 @@ struct ast_sdp_a_line *ast_sdp_find_attribute(const struct ast_sdp *sdp,
const char *attr_name, int payload);
/*!
- * \brief Find an attribute on an SDP stream (m-line)
+ * \brief Find the first attribute match index in an SDP stream (m-line)
*
- * \param sdp The SDP in which to search
+ * \param m_line The SDP m-line in which to search
+ * \param attr_name The name of the attribute to search for
+ * \param payload Optional payload number to search for. If irrelevant, set to -1
+ *
+ * \retval index of attribute line on success.
+ * \retval -1 on failure or not found.
+ *
+ * \since 15.0.0
+ */
+int ast_sdp_m_find_a_first(const struct ast_sdp_m_line *m_line, const char *attr_name,
+ int payload);
+
+/*!
+ * \brief Find the next attribute match index in an SDP stream (m-line)
+ *
+ * \param m_line The SDP m-line in which to search
+ * \param last The last matching index found
+ * \param attr_name The name of the attribute to search for
+ * \param payload Optional payload number to search for. If irrelevant, set to -1
+ *
+ * \retval index of attribute line on success.
+ * \retval -1 on failure or not found.
+ *
+ * \since 15.0.0
+ */
+int ast_sdp_m_find_a_next(const struct ast_sdp_m_line *m_line, int last,
+ const char *attr_name, int payload);
+
+/*!
+ * \brief Find an attribute in an SDP stream (m-line)
+ *
+ * \param m_line The SDP m-line in which to search
* \param attr_name The name of the attribute to search for
* \param payload Optional payload number to search for. If irrelevant, set to -1
*
@@ -638,11 +702,12 @@ void ast_sdp_rtpmap_free(struct ast_sdp_rtpmap *rtpmap);
* each m-line corresponding to a stream in the created topology.
*
* \param sdp The SDP to convert
+ * \param g726_non_standard Non-zero if G.726 is non-standard
*
* \retval NULL An error occurred when converting
* \retval non-NULL The generated stream topology
*
* \since 15.0.0
*/
-struct ast_stream_topology *ast_get_topology_from_sdp(const struct ast_sdp *sdp);
+struct ast_stream_topology *ast_get_topology_from_sdp(const struct ast_sdp *sdp, int g726_non_standard);
#endif /* _SDP_PRIV_H */
diff --git a/include/asterisk/stream.h b/include/asterisk/stream.h
index 821ecec03..b453ab9c3 100644
--- a/include/asterisk/stream.h
+++ b/include/asterisk/stream.h
@@ -55,39 +55,39 @@ typedef void (*ast_stream_data_free_fn)(void *);
* \brief States that a stream may be in
*/
enum ast_stream_state {
- /*!
- * \brief Set when the stream has been removed
- */
- AST_STREAM_STATE_REMOVED = 0,
- /*!
- * \brief Set when the stream is sending and receiving media
- */
- AST_STREAM_STATE_SENDRECV,
- /*!
- * \brief Set when the stream is sending media only
- */
- AST_STREAM_STATE_SENDONLY,
- /*!
- * \brief Set when the stream is receiving media only
- */
- AST_STREAM_STATE_RECVONLY,
- /*!
- * \brief Set when the stream is not sending OR receiving media
- */
- AST_STREAM_STATE_INACTIVE,
+ /*!
+ * \brief Set when the stream has been removed/declined
+ */
+ AST_STREAM_STATE_REMOVED = 0,
+ /*!
+ * \brief Set when the stream is sending and receiving media
+ */
+ AST_STREAM_STATE_SENDRECV,
+ /*!
+ * \brief Set when the stream is sending media only
+ */
+ AST_STREAM_STATE_SENDONLY,
+ /*!
+ * \brief Set when the stream is receiving media only
+ */
+ AST_STREAM_STATE_RECVONLY,
+ /*!
+ * \brief Set when the stream is not sending OR receiving media
+ */
+ AST_STREAM_STATE_INACTIVE,
};
/*!
* \brief Stream data slots
*/
enum ast_stream_data_slot {
- /*!
- * \brief Data slot for RTP instance
- */
- AST_STREAM_DATA_RTP_INSTANCE = 0,
- /*!
- * \brief Controls the size of the data pointer array
- */
+ /*!
+ * \brief Data slot for RTP instance
+ */
+ AST_STREAM_DATA_RTP_CODECS = 0,
+ /*!
+ * \brief Controls the size of the data pointer array
+ */
AST_STREAM_DATA_SLOT_MAX
};
@@ -386,15 +386,15 @@ struct ast_stream_topology *ast_stream_topology_create_from_format_cap(
*
* \param topology The topology of streams
*
- * \retval non-NULL success
- * \retval NULL failure
- *
- * \note The stream topology is NOT altered by this function.
- *
- * \since 15
- */
+ * \retval non-NULL success
+ * \retval NULL failure
+ *
+ * \note The stream topology is NOT altered by this function.
+ *
+ * \since 15
+ */
struct ast_format_cap *ast_format_cap_from_stream_topology(
- struct ast_stream_topology *topology);
+ struct ast_stream_topology *topology);
/*!
* \brief Gets the first stream of a specific type from the topology