[Freeswitch-svn] [commit] r9285 - freeswitch/trunk/src

Freeswitch SVN anthm at freeswitch.org
Tue Aug 12 15:12:38 EDT 2008


Author: anthm
Date: Tue Aug 12 15:12:38 2008
New Revision: 9285

Modified:
   freeswitch/trunk/src/switch_ivr_play_say.c

Log:
byte swap on l16 read codec

Modified: freeswitch/trunk/src/switch_ivr_play_say.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr_play_say.c	(original)
+++ freeswitch/trunk/src/switch_ivr_play_say.c	Tue Aug 12 15:12:38 2008
@@ -731,6 +731,7 @@
 	const char *alt = NULL;
 	int eof = 0;
 	switch_size_t bread = 0;
+	int l16 = 0;
 
 	switch_channel_pre_answer(channel);
 
@@ -739,6 +740,10 @@
 
 	read_codec = switch_core_session_get_read_codec(session);
 
+	if (!strcasecmp(read_codec->implementation->iananame, "l16")) {
+		l16++;
+	}
+
 	if (switch_strlen_zero(file) || !read_codec) {
 		status = SWITCH_STATUS_FALSE;
 		goto end;
@@ -1143,12 +1148,11 @@
 			write_frame.timestamp = timer.samplecount;
 		}
 #ifndef WIN32
-#if 0 // don't seem to need it, maybe only on mac?
-//#if SWITCH_BYTE_ORDER == __BIG_ENDIAN
-		if (!asis) {
+		//#if SWITCH_BYTE_ORDER == __BIG_ENDIAN
+		if (!asis && l16) {
 			switch_swap_linear(write_frame.data, (int) write_frame.datalen / 2);
 		}
-#endif
+		//#endif
 #endif
 		if (fh->vol) {
 			switch_change_sln_volume(write_frame.data, write_frame.datalen / 2, fh->vol);



More information about the Freeswitch-svn mailing list