tweak
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6747 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
99b12efefc
commit
f147f039ae
|
@ -658,7 +658,7 @@ SWITCH_STANDARD_APP(info_function)
|
|||
switch_channel_event_set_data(channel, event);
|
||||
switch_event_serialize(event, &buf, SWITCH_FALSE);
|
||||
switch_assert(buf);
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "CHANNEL_DATA:\n%s\n", buf);
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "CHANNEL_DATA:\n%s\n", buf);
|
||||
switch_event_destroy(&event);
|
||||
free(buf);
|
||||
}
|
||||
|
|
|
@ -278,7 +278,7 @@ static switch_status_t my_on_hangup(switch_core_session_t *session)
|
|||
switch_channel_event_set_data(channel, event);
|
||||
switch_event_serialize(event, &buf, SWITCH_FALSE);
|
||||
switch_assert(buf);
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "CHANNEL_DATA:\n%s\n", buf);
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "CHANNEL_DATA:\n%s\n", buf);
|
||||
switch_event_destroy(&event);
|
||||
free(buf);
|
||||
}
|
||||
|
|
|
@ -310,17 +310,17 @@ SWITCH_DECLARE(switch_port_t) switch_rtp_set_end_port(switch_port_t port)
|
|||
return END_PORT;
|
||||
}
|
||||
|
||||
static void release_port(switch_rtp_t *rtp_session)
|
||||
static void release_port(const char *host, int port)
|
||||
{
|
||||
switch_core_port_allocator_t *alloc = NULL;
|
||||
|
||||
if (!rtp_session->rx_host) {
|
||||
if (!host) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch_mutex_lock(port_lock);
|
||||
if ((alloc = switch_core_hash_find(alloc_hash, rtp_session->rx_host))) {
|
||||
switch_core_port_allocator_free_port(alloc, rtp_session->rx_port);
|
||||
if ((alloc = switch_core_hash_find(alloc_hash, host))) {
|
||||
switch_core_port_allocator_free_port(alloc, port);
|
||||
}
|
||||
switch_mutex_unlock(port_lock);
|
||||
|
||||
|
@ -412,7 +412,6 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_set_local_address(switch_rtp_t *rtp_s
|
|||
*err = "Send myself a packet failed!";
|
||||
goto done;
|
||||
}
|
||||
release_port(rtp_session);
|
||||
|
||||
old_sock = rtp_session->sock;
|
||||
rtp_session->sock = new_sock;
|
||||
|
@ -429,12 +428,6 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_set_local_address(switch_rtp_t *rtp_s
|
|||
|
||||
done:
|
||||
|
||||
if (status == SWITCH_STATUS_SUCCESS) {
|
||||
rtp_session->rx_host = switch_core_strdup(rtp_session->pool, host);
|
||||
rtp_session->rx_port = port;
|
||||
rtp_session->ready = 1;
|
||||
}
|
||||
|
||||
if (new_sock) {
|
||||
switch_socket_close(new_sock);
|
||||
}
|
||||
|
@ -611,21 +604,31 @@ SWITCH_DECLARE(switch_rtp_t *) switch_rtp_new(const char *rx_host,
|
|||
uint32_t ms_per_packet,
|
||||
switch_rtp_flag_t flags, char *crypto_key, char *timer_name, const char **err, switch_memory_pool_t *pool)
|
||||
{
|
||||
switch_rtp_t *rtp_session;
|
||||
|
||||
switch_rtp_t *rtp_session = NULL;
|
||||
|
||||
if (switch_rtp_create(&rtp_session, payload, samples_per_interval, ms_per_packet, flags, crypto_key, timer_name, err, pool) != SWITCH_STATUS_SUCCESS) {
|
||||
return NULL;
|
||||
goto end;
|
||||
}
|
||||
|
||||
|
||||
if (switch_rtp_set_remote_address(rtp_session, tx_host, tx_port, err) != SWITCH_STATUS_SUCCESS) {
|
||||
return NULL;
|
||||
rtp_session = NULL;
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (switch_rtp_set_local_address(rtp_session, rx_host, rx_port, err) != SWITCH_STATUS_SUCCESS) {
|
||||
return NULL;
|
||||
rtp_session = NULL;
|
||||
}
|
||||
|
||||
end:
|
||||
|
||||
if (rtp_session) {
|
||||
rtp_session->ready = 1;
|
||||
rtp_session->rx_host = switch_core_strdup(rtp_session->pool, rx_host);
|
||||
rtp_session->rx_port = rx_port;
|
||||
} else {
|
||||
release_port(rx_host, rx_port);
|
||||
}
|
||||
|
||||
rtp_session->ready = 1;
|
||||
return rtp_session;
|
||||
}
|
||||
|
||||
|
@ -720,7 +723,7 @@ SWITCH_DECLARE(void) switch_rtp_destroy(switch_rtp_t **rtp_session)
|
|||
switch_core_timer_destroy(&(*rtp_session)->timer);
|
||||
}
|
||||
|
||||
release_port(*rtp_session);
|
||||
release_port((*rtp_session)->rx_host, (*rtp_session)->rx_port);
|
||||
|
||||
switch_mutex_unlock((*rtp_session)->flag_mutex);
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue