From 68720145e384f4e8a49d7f63c49a139e490f024c Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Tue, 31 Oct 2006 05:55:07 +0000 Subject: [PATCH] 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/branches/1.4@46554 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/translate.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/main/translate.c b/main/translate.c index f3918d9d20..c7172619bc 100644 --- a/main/translate.c +++ b/main/translate.c @@ -855,13 +855,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 @@ -880,8 +881,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)