[Freeswitch-svn] [commit] r13222 - in freeswitch/trunk/src/mod: endpoints/mod_sofia formats/mod_local_stream

FreeSWITCH SVN anthm at freeswitch.org
Sat May 2 20:15:42 PDT 2009


Author: anthm
Date: Sat May  2 22:15:42 2009
New Revision: 13222

Log:
refactor resampling in mod_local_stream

Modified:
   freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
   freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c

Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c	(original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c	Sat May  2 22:15:42 2009
@@ -1248,11 +1248,11 @@
 			} else {
 				switch_set_string(ref_to, msg->string_arg);
 			}
+			switch_yield(10);
 			nua_refer(tech_pvt->nh, SIPTAG_REFER_TO_STR(ref_to), SIPTAG_REFERRED_BY_STR(tech_pvt->contact_url), TAG_END());
 			switch_mutex_unlock(tech_pvt->sofia_mutex);
 			sofia_wait_for_reply(tech_pvt, 9999, 300);
 			switch_mutex_lock(tech_pvt->sofia_mutex);
-			
 			if ((var = switch_channel_get_variable(tech_pvt->channel, "sip_refer_reply"))) {
 				msg->string_reply = switch_core_session_strdup(session, var); 
 			} else {

Modified: freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c
==============================================================================
--- freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c	(original)
+++ freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c	Sat May  2 22:15:42 2009
@@ -184,7 +184,7 @@
 			fname = path_buf;
 			fh.prebuf = source->prebuf;
 			fh.pre_buffer_datalen = source->prebuf;
-
+			
 			if (switch_core_file_open(&fh,
 									  (char *) fname,
 									  source->channels, source->rate, SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) {
@@ -192,10 +192,7 @@
 				switch_yield(1000000);
 				continue;
 			}
-
-			source->rate = fh.samplerate;
-			source->samples = switch_samples_per_packet(fh.native_rate, source->interval);
-
+			
 			if (switch_core_timer_init(&timer, source->timer_name, source->interval, source->samples, source->pool) != SWITCH_STATUS_SUCCESS) {
 				switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "Can't start timer.\n");
 				switch_dir_close(source->dir_handle);



More information about the Freeswitch-svn mailing list