]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 46554 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Tue, 31 Oct 2006 06:10:59 +0000 (06:10 +0000)
committerRussell Bryant <russell@russellbryant.com>
Tue, 31 Oct 2006 06:10:59 +0000 (06:10 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r46554 | russell | 2006-10-31 00:55:07 -0500 (Tue, 31 Oct 2006) | 5 lines

Add a small tweak to the code that checks to see whether destination formats
are translatable based on the source format.  If we have already determined
that there is no translation path in one direction, don't bother checking the
other direction.

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46556 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/translate.c

index 136537ea6cb28b64bb9ca428692c4d7a5714d9cb..7405708552b4ffb7d6e56b5f2c2e1d0d5226c10b 100644 (file)
@@ -781,13 +781,14 @@ unsigned int ast_translate_available_formats(unsigned int dest, unsigned int src
 
                /* if we don't have a translation path from the src
                   to this format, remove it from the result */
-               if (!tr_matrix[src_audio][powerof(x)].step)
+               if (!tr_matrix[src_audio][powerof(x)].step) {
                        res &= ~x;
+                       continue;
+               }
 
                /* now check the opposite direction */
                if (!tr_matrix[powerof(x)][src_audio].step)
                        res &= ~x;
-
        }
 
        /* For a given source video format, traverse the list of
@@ -806,8 +807,10 @@ unsigned int ast_translate_available_formats(unsigned int dest, unsigned int src
 
                /* if we don't have a translation path from the src
                   to this format, remove it from the result */
-               if (!tr_matrix[src_video][powerof(x)].step)
+               if (!tr_matrix[src_video][powerof(x)].step) {
                        res &= ~x;
+                       continue;
+               }
 
                /* now check the opposite direction */
                if (!tr_matrix[powerof(x)][src_video].step)