diff --git a/include/asterisk/stream.h b/include/asterisk/stream.h index ca637be3fd..205feeb9c4 100644 --- a/include/asterisk/stream.h +++ b/include/asterisk/stream.h @@ -473,6 +473,19 @@ const struct ast_format_cap *ast_stream_get_formats(const struct ast_stream *str */ const char *ast_stream_to_str(const struct ast_stream *stream, struct ast_str **buf); +/*! + * \brief Get a stack allocated string representing the stream for debugging/display purposes + * + * \param stream A stream + * + * \returns a stack allocated pointer to a string representing the stream. + * + * \warning No attempt should ever be made to free the returned + * char* as it is allocated from the stack. + * + */ +#define ast_stream_to_stra(__stream) ast_str_tmp(128, ast_stream_to_str(__stream, &STR_TMP)) + /*! * \brief Get the count of the current negotiated formats of a stream * @@ -954,4 +967,17 @@ struct ast_stream_topology *ast_stream_topology_create_resolved( struct ast_stream_codec_negotiation_prefs *prefs, struct ast_str **error_message); +/*! + * \brief Get a stack allocated string representing the topology for debugging/display purposes + * + * \param topology A topology + * + * \returns a stack allocated pointer to a string representing the topology. + * + * \warning No attempt should ever be made to free the returned + * char* as it is allocated from the stack. + * + */ +#define ast_stream_topology_to_stra(__topology) ast_str_tmp(256, ast_stream_topology_to_str(__topology, &STR_TMP)) + #endif /* _AST_STREAM_H */ diff --git a/main/stream.c b/main/stream.c index 01b07cad19..c97ae484c8 100644 --- a/main/stream.c +++ b/main/stream.c @@ -343,7 +343,8 @@ const char *ast_stream_to_str(const struct ast_stream *stream, struct ast_str ** return ast_str_buffer(*buf); } - ast_str_append(buf, 0, "%s:%s:%s ", + ast_str_append(buf, 0, "%d:%s:%s:%s ", + stream->position, S_OR(stream->name, "noname"), ast_codec_media_type2str(stream->type), ast_stream_state_map[stream->state]);