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)