[Freeswitch-svn] [commit] r2757 - freeswitch/trunk/src
Freeswitch SVN
anthm at freeswitch.org
Tue Sep 19 16:04:36 EDT 2006
Author: anthm
Date: Tue Sep 19 16:04:35 2006
New Revision: 2757
Modified:
freeswitch/trunk/src/switch_ivr.c
freeswitch/trunk/src/switch_rtp.c
Log:
tweak
Modified: freeswitch/trunk/src/switch_ivr.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr.c (original)
+++ freeswitch/trunk/src/switch_ivr.c Tue Sep 19 16:04:35 2006
@@ -1809,7 +1809,9 @@
peer_channels[i] = NULL;
peer_sessions[i] = NULL;
continue;
- }
+ }
+
+ switch_core_session_read_lock(peer_sessions[i]);
pool = NULL;
peer_channels[i] = switch_core_session_get_channel(peer_sessions[i]);
@@ -1984,6 +1986,13 @@
}
if (!pass && write_codec.implementation) {
switch_core_codec_destroy(&write_codec);
+ }
+
+ for (i = 0; i < argc; i++) {
+ if (!peer_channels[i]) {
+ continue;
+ }
+ switch_core_session_rwunlock(peer_sessions[i]);
}
return status;
Modified: freeswitch/trunk/src/switch_rtp.c
==============================================================================
--- freeswitch/trunk/src/switch_rtp.c (original)
+++ freeswitch/trunk/src/switch_rtp.c Tue Sep 19 16:04:35 2006
@@ -584,11 +584,16 @@
}
switch_mutex_lock((*rtp_session)->flag_mutex);
+
+ if ((*rtp_session)->packet_buffer) {
+ switch_buffer_destroy(&(*rtp_session)->packet_buffer);
+ }
+
switch_rtp_kill_socket(*rtp_session);
switch_socket_close((*rtp_session)->sock);
(*rtp_session)->sock = NULL;
- switch_mutex_unlock((*rtp_session)->flag_mutex);
+
if (switch_test_flag((*rtp_session), SWITCH_RTP_FLAG_VAD)) {
switch_rtp_disable_vad(*rtp_session);
}
@@ -602,6 +607,8 @@
switch_core_timer_destroy(&(*rtp_session)->timer);
}
+ switch_mutex_unlock((*rtp_session)->flag_mutex);
+
return;
}
@@ -1099,7 +1106,8 @@
send_msg->header.m = m ? 1 : 0;
if (packetize) {
if (!rtp_session->packet_buffer) {
- if (switch_buffer_create(rtp_session->pool, &rtp_session->packet_buffer, rtp_session->packet_size * 2) != SWITCH_STATUS_SUCCESS) {
+ if (switch_buffer_create_dynamic(&rtp_session->packet_buffer, rtp_session->packet_size, rtp_session->packet_size * 2, 0)
+ != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Buffer memory error\n");
return -1;
}
More information about the Freeswitch-svn
mailing list