[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