diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2005-04-05 23:34:56 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2005-04-05 23:34:56 +0000 |
commit | c7c20f8656c0fdc3b26b6d2281be71af0626ec35 (patch) | |
tree | a2305eba9473a2b024b26cedd866d2c82d544b3b /rtp.c | |
parent | 45c92426e36b940112def4ad448b577fc26d7de4 (diff) |
report non-codec capabilities in 'sip debug' properly (bug #3960)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'rtp.c')
-rwxr-xr-x | rtp.c | 25 |
1 files changed, 23 insertions, 2 deletions
@@ -805,7 +805,7 @@ struct rtpPayloadType ast_rtp_lookup_pt(struct ast_rtp* rtp, int pt) } /* Looks up an RTP code out of our *static* outbound list */ -int ast_rtp_lookup_code(struct ast_rtp* rtp, int isAstFormat, int code) { +int ast_rtp_lookup_code(struct ast_rtp* rtp, const int isAstFormat, const int code) { int pt; @@ -838,7 +838,7 @@ int ast_rtp_lookup_code(struct ast_rtp* rtp, int isAstFormat, int code) { return -1; } -char* ast_rtp_lookup_mime_subtype(int isAstFormat, int code) { +char* ast_rtp_lookup_mime_subtype(const int isAstFormat, const int code) { int i; @@ -850,6 +850,27 @@ char* ast_rtp_lookup_mime_subtype(int isAstFormat, int code) { return ""; } +char *ast_rtp_lookup_mime_multiple(char *buf, int size, const int capability, const int isAstFormat) +{ + int format; + + if (!buf || !size) + return NULL; + + snprintf(buf, size, "0x%x (", capability); + + for (format = 1; format < AST_RTP_MAX; format <<= 1) { + if (capability & format) { + const char *name = ast_rtp_lookup_mime_subtype(isAstFormat, format); + snprintf(buf + strlen(buf), size - strlen(buf), "%s|", name); + } + } + if (!ast_strlen_zero(buf)) + buf[strlen(buf)] = ')'; + + return buf; +} + static int rtp_socket(void) { int s; |