[asterisk-commits] russell: trunk r69011 - in /trunk: ./ main/channel.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Tue Jun 12 12:19:09 MST 2007


Author: russell
Date: Tue Jun 12 14:19:09 2007
New Revision: 69011

URL: http://svn.digium.com/view/asterisk?view=rev&rev=69011
Log:
Merged revisions 69010 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r69010 | russell | 2007-06-12 14:13:41 -0500 (Tue, 12 Jun 2007) | 12 lines

In ast_channel_make_compatible(), just return if the channels' read and write
formats already match up.  There are code paths that call this function on a
pair of channels multiple times.  This made calls fail that were using g729
in some cases.  The reason is that codec_g729a will unregister itself from the
list of available translators will all licenses are in use.  So, the first
time the function got called, the right translation path was allocated.
However, the second time it got called, the code would not find a translation
path to/from g729 and make the call fail, even if the channel actually already
had a g729 translation path allocated.

(SPD-32)

........

Modified:
    trunk/   (props changed)
    trunk/main/channel.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/main/channel.c
URL: http://svn.digium.com/view/asterisk/trunk/main/channel.c?view=diff&rev=69011&r1=69010&r2=69011
==============================================================================
--- trunk/main/channel.c (original)
+++ trunk/main/channel.c Tue Jun 12 14:19:09 2007
@@ -3244,6 +3244,11 @@
 	int src;
 	int dst;
 
+	if (from->readformat == to->writeformat && from->writeformat == to->readformat) {
+		/* Already compatible!  Moving on ... */
+		return 0;
+	}
+
 	/* Set up translation from the 'from' channel to the 'to' channel */
 	src = from->nativeformats;
 	dst = to->nativeformats;



More information about the asterisk-commits mailing list