[asterisk-commits] kpfleming: trunk r38348 - in /trunk: ./ channel.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Thu Jul 27 08:42:50 MST 2006


Author: kpfleming
Date: Thu Jul 27 10:42:49 2006
New Revision: 38348

URL: http://svn.digium.com/view/asterisk?rev=38348&view=rev
Log:
Merged revisions 38347 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r38347 | kpfleming | 2006-07-27 10:40:03 -0500 (Thu, 27 Jul 2006) | 2 lines

do a better job avoiding translation path teardown/setup when not needed

........

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

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

Modified: trunk/channel.c
URL: http://svn.digium.com/view/asterisk/trunk/channel.c?rev=38348&r1=38347&r2=38348&view=diff
==============================================================================
--- trunk/channel.c (original)
+++ trunk/channel.c Thu Jul 27 10:42:49 2006
@@ -2472,10 +2472,6 @@
 	/* Make sure we only consider audio */
 	fmt &= AST_FORMAT_AUDIO_MASK;
 	
-	/* if already in the desired format nothing to do here */
-	if (*format == fmt)
-		return 0;
-
 	native = chan->nativeformats;
 	/* Find a translation path from the native format to one of the desired formats */
 	if (!direction)
@@ -2493,6 +2489,13 @@
 	
 	/* Now we have a good choice for both. */
 	ast_channel_lock(chan);
+
+	if ((*rawformat == native) && (*format == fmt)) {
+		/* the channel is already in these formats, so nothing to do */
+		ast_channel_unlock(chan);
+		return 0;
+	}
+
 	*rawformat = native;
 	/* User perspective is fmt */
 	*format = fmt;



More information about the asterisk-commits mailing list