mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-29 18:19:30 +00:00
Allow multiple codecs to be printed in debug (bug #989)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
27
frame.c
27
frame.c
@@ -424,6 +424,33 @@ char* ast_getformatname(int format)
|
||||
return "UNKN";
|
||||
}
|
||||
|
||||
char* ast_getformatname_multiple(char *buf, unsigned n, int format) {
|
||||
unsigned u=1;
|
||||
unsigned len;
|
||||
char *b = buf;
|
||||
char *start = buf;
|
||||
if (!n) return buf;
|
||||
snprintf(b,n,"0x%x(",format);
|
||||
len = strlen(b);
|
||||
b += len;
|
||||
n -= len;
|
||||
start = b;
|
||||
while (u) {
|
||||
if (u&format) {
|
||||
snprintf(b,n,"%s|",ast_getformatname(u));
|
||||
len = strlen(b);
|
||||
b += len;
|
||||
n -= len;
|
||||
}
|
||||
u *= 2;
|
||||
}
|
||||
if (start==b)
|
||||
snprintf(start,n,"EMPTY)");
|
||||
else if (n>1)
|
||||
b[-1]=')';
|
||||
return buf;
|
||||
}
|
||||
|
||||
int ast_getformatbyname(char *name)
|
||||
{
|
||||
if (!strcasecmp(name, "g723.1"))
|
||||
|
Reference in New Issue
Block a user