diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asterisk/channel.h | 37 | ||||
-rw-r--r-- | include/asterisk/frame.h | 2 |
2 files changed, 39 insertions, 0 deletions
diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h index 3ae1e2fd4..9a3a967e2 100644 --- a/include/asterisk/channel.h +++ b/include/asterisk/channel.h @@ -4850,4 +4850,41 @@ struct ast_stream *ast_channel_get_default_stream(struct ast_channel *chan, enum */ int ast_channel_is_multistream(struct ast_channel *chan); +/*! + * \brief Request that the stream topology of a channel change + * + * \param chan The channel to change + * \param topology The new stream topology + * + * \pre chan is locked + * + * \retval 0 request has been accepted to be attempted + * \retval -1 request could not be attempted + * + * \note This function initiates an asynchronous request to change the stream topology. It is not + * guaranteed that the topology will change and until an AST_CONTROL_STREAM_TOPOLOGY_CHANGED + * frame is received from the channel the current handler of the channel must tolerate the + * stream topology as it currently exists. + * + * \note This interface is provided for applications and resources to request that the topology change. + * It is not for use by the channel driver itself. + */ +int ast_channel_request_stream_topology_change(struct ast_channel *chan, struct ast_stream_topology *topology); + +/*! + * \brief Provide notice to a channel that the stream topology has changed + * + * \param chan The channel to provide notice to + * \param topology The new stream topology + * + * \pre chan is locked + * + * \retval 0 success + * \retval -1 failure + * + * \note This interface is provided for applications and resources to accept a topology change. + * It is not for use by the channel driver itself. + */ +int ast_channel_stream_topology_changed(struct ast_channel *chan, struct ast_stream_topology *topology); + #endif /* _ASTERISK_CHANNEL_H */ diff --git a/include/asterisk/frame.h b/include/asterisk/frame.h index c56539af4..2f6c365ad 100644 --- a/include/asterisk/frame.h +++ b/include/asterisk/frame.h @@ -297,6 +297,8 @@ enum ast_control_frame_type { AST_CONTROL_UPDATE_RTP_PEER = 32, /*!< Interrupt the bridge and have it update the peer */ AST_CONTROL_PVT_CAUSE_CODE = 33, /*!< Contains an update to the protocol-specific cause-code stored for branching dials */ AST_CONTROL_MASQUERADE_NOTIFY = 34, /*!< A masquerade is about to begin/end. (Never sent as a frame but directly with ast_indicate_data().) */ + AST_CONTROL_STREAM_TOPOLOGY_REQUEST_CHANGE = 35, /*!< Channel indication that a stream topology change has been requested */ + AST_CONTROL_STREAM_TOPOLOGY_CHANGED = 36, /*!< Channel indication that a stream topology change has occurred */ /* * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING |