mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-20 00:30:20 +00:00
stream.c: Added 2 more debugging utils and added pos to stream string
* Added ast_stream_to_stra and ast_stream_topology_to_stra() macros
which are shortcuts for
ast_str_tmp(256, ast_stream_to_str(stream, &STR_TMP))
* Added the stream position to the string representation of the
stream.
* Fixed some formatting in ast_stream_to_str().
Change-Id: Idaf4cb0affa46d4dce58a73a111f35435331cc4b
This commit is contained in:
@@ -197,6 +197,19 @@ void ast_stream_set_type(struct ast_stream *stream, enum ast_media_type type);
|
|||||||
*/
|
*/
|
||||||
const char *ast_stream_to_str(const struct ast_stream *stream, struct ast_str **buf);
|
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
|
* \brief Get the count of the current negotiated formats of a stream
|
||||||
*
|
*
|
||||||
@@ -610,4 +623,17 @@ int ast_stream_topology_get_active_count(const struct ast_stream_topology *topol
|
|||||||
*/
|
*/
|
||||||
const char *ast_stream_topology_to_str(const struct ast_stream_topology *topology, struct ast_str **buf);
|
const char *ast_stream_topology_to_str(const struct ast_stream_topology *topology, struct ast_str **buf);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \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 */
|
#endif /* _AST_STREAM_H */
|
||||||
|
|||||||
@@ -206,22 +206,23 @@ 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)
|
const char *ast_stream_to_str(const struct ast_stream *stream, struct ast_str **buf)
|
||||||
{
|
{
|
||||||
if (!buf || !*buf) {
|
if (!buf || !*buf) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!stream) {
|
if (!stream) {
|
||||||
ast_str_append(buf, 0, "(null stream)");
|
ast_str_append(buf, 0, "(null stream)");
|
||||||
return ast_str_buffer(*buf);
|
return ast_str_buffer(*buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
ast_str_append(buf, 0, "%s:%s:%s ",
|
ast_str_append(buf, 0, "%d:%s:%s:%s ",
|
||||||
S_OR(stream->name, "noname"),
|
stream->position,
|
||||||
ast_codec_media_type2str(stream->type),
|
S_OR(stream->name, "noname"),
|
||||||
ast_stream_state_map[stream->state]);
|
ast_codec_media_type2str(stream->type),
|
||||||
ast_format_cap_append_names(stream->formats, buf);
|
ast_stream_state_map[stream->state]);
|
||||||
|
ast_format_cap_append_names(stream->formats, buf);
|
||||||
|
|
||||||
return ast_str_buffer(*buf);
|
return ast_str_buffer(*buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
int ast_stream_get_format_count(const struct ast_stream *stream)
|
int ast_stream_get_format_count(const struct ast_stream *stream)
|
||||||
|
|||||||
Reference in New Issue
Block a user