Show codec enhancements (bug #307)
authorMark Spencer <markster@digium.com>
Fri, 26 Sep 2003 23:17:33 +0000 (23:17 +0000)
committerMark Spencer <markster@digium.com>
Fri, 26 Sep 2003 23:17:33 +0000 (23:17 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1553 65c4cc65-6c06-0410-ace0-fbb531ad65f3

frame.c

diff --git a/frame.c b/frame.c
index b2f6736..6a4c20b 100755 (executable)
--- a/frame.c
+++ b/frame.c
@@ -441,7 +441,10 @@ char *ast_codec2str(int codec) {
                "undefined",                  /* 23 */
         "Maximum video format",       /* 24 */
                };
-       return codecs[codec];
+       if ((codec >= 0) && (codec <= 24))
+               return codecs[codec];
+       else
+               return "unknown";
 }
 
 static int show_codecs(int fd, int argc, char *argv[])
@@ -454,19 +457,19 @@ static int show_codecs(int fd, int argc, char *argv[])
        if ((argc == 2) || (!strcasecmp(argv[1],"audio"))) {
                found = 1;
                for (i=0;i<11;i++)
-                       ast_cli(fd, "%8d (1 << %2d)  %s\n",1 << i,i,ast_codec2str(i));
+                       ast_cli(fd, "%11u (1 << %2d)  %s\n",1 << i,i,ast_codec2str(i));
        }
 
        if ((argc == 2) || (!strcasecmp(argv[1],"image"))) {
                found = 1;
                for (i=16;i<18;i++)
-                       ast_cli(fd, "%8d (1 << %2d)  %s\n",1 << i,i,ast_codec2str(i));
+                       ast_cli(fd, "%11u (1 << %2d)  %s\n",1 << i,i,ast_codec2str(i));
        }
 
        if ((argc == 2) || (!strcasecmp(argv[1],"video"))) {
                found = 1;
                for (i=18;i<20;i++)
-                       ast_cli(fd, "%8d (1 << %2d)  %s\n",1 << i,i,ast_codec2str(i));
+                       ast_cli(fd, "%11u (1 << %2d)  %s\n",1 << i,i,ast_codec2str(i));
        }
 
        if (! found)
@@ -499,9 +502,9 @@ static int show_codec_n(int fd, int argc, char *argv[])
                return RESULT_SHOWUSAGE;
 
        for (i=0;i<32;i++)
-               if (codec == (1 << i)) {
+               if (codec & (1 << i)) {
                        found = 1;
-                       ast_cli(fd, "%d (1 << %d)  %s\n",1 << i,i,ast_codec2str(i));
+                       ast_cli(fd, "%11u (1 << %2d)  %s\n",1 << i,i,ast_codec2str(i));
                }
 
        if (! found)