From bf2f091bbb2b099d6ca87e5fdd76efe45a209eb7 Mon Sep 17 00:00:00 2001 From: George Joseph Date: Mon, 13 Feb 2017 10:50:47 -0700 Subject: stream: Add stream topology to channel Adds topology set and get to channel. ASTERISK-26790 Change-Id: Ic379ea82a9486fc79dbd8c4d95c29fa3b46424f4 --- include/asterisk/channel.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'include/asterisk/channel.h') diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h index e5f792f1f..4170a8af4 100644 --- a/include/asterisk/channel.h +++ b/include/asterisk/channel.h @@ -884,6 +884,10 @@ enum { * world */ AST_CHAN_TP_INTERNAL = (1 << 2), + /*! + * \brief Channels with this particular technology support multiple simultaneous streams + */ + AST_CHAN_TP_MULTISTREAM = (1 << 3), }; /*! \brief ast_channel flags */ @@ -4734,4 +4738,34 @@ enum ast_channel_error ast_channel_errno(void); */ int ast_channel_get_intercept_mode(void); +/*! + * \brief Retrieve the topology of streams on a channel + * + * \param chan The channel to get the stream topology of + * + * \pre chan is locked + * + * \retval non-NULL success + * \retval NULL failure + */ +struct ast_stream_topology *ast_channel_get_stream_topology( + const struct ast_channel *chan); + +/*! + * \brief Set the topology of streams on a channel + * + * \param chan The channel to set the stream topology on + * \param topology The stream topology to set + * + * \pre chan is locked + * + * \note If topology is NULL a new empty topology will be created + * and returned. + * + * \retval non-NULL Success + * \retval NULL failure + */ +struct ast_stream_topology *ast_channel_set_stream_topology( + struct ast_channel *chan, struct ast_stream_topology *topology); + #endif /* _ASTERISK_CHANNEL_H */ -- cgit v1.2.3