update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10540 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
8b87e4bac7
commit
f6ae3b3c44
|
@ -1123,6 +1123,7 @@ SWITCH_DECLARE(switch_status_t) switch_socket_sendto(switch_socket_t *sock, swit
|
||||||
*/
|
*/
|
||||||
SWITCH_DECLARE(switch_status_t) switch_socket_recvfrom(switch_sockaddr_t *from, switch_socket_t *sock, int32_t flags, char *buf, size_t *len);
|
SWITCH_DECLARE(switch_status_t) switch_socket_recvfrom(switch_sockaddr_t *from, switch_socket_t *sock, int32_t flags, char *buf, size_t *len);
|
||||||
|
|
||||||
|
SWITCH_DECLARE(switch_status_t) switch_socket_atmark(switch_socket_t *sock, int *atmark);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Read data from a network.
|
* Read data from a network.
|
||||||
|
|
|
@ -754,6 +754,11 @@ SWITCH_DECLARE(int32_t) switch_sockaddr_get_family(switch_sockaddr_t *sa)
|
||||||
return sa->family;
|
return sa->family;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SWITCH_DECLARE(switch_status_t) switch_socket_atmark(switch_socket_t *sock, int *atmark)
|
||||||
|
{
|
||||||
|
return apr_socket_atmark(sock, atmark);
|
||||||
|
}
|
||||||
|
|
||||||
SWITCH_DECLARE(switch_status_t) switch_socket_recvfrom(switch_sockaddr_t *from, switch_socket_t *sock, int32_t flags, char *buf, size_t *len)
|
SWITCH_DECLARE(switch_status_t) switch_socket_recvfrom(switch_sockaddr_t *from, switch_socket_t *sock, int32_t flags, char *buf, size_t *len)
|
||||||
{
|
{
|
||||||
apr_status_t r;
|
apr_status_t r;
|
||||||
|
|
|
@ -1269,12 +1269,13 @@ SWITCH_DECLARE(void) rtp_flush_read_buffer(switch_rtp_t *rtp_session)
|
||||||
switch_size_t bytes;
|
switch_size_t bytes;
|
||||||
switch_status_t status;
|
switch_status_t status;
|
||||||
|
|
||||||
if (!switch_rtp_ready(rtp_session)) {
|
if (!switch_rtp_ready(rtp_session) || switch_test_flag(rtp_session, SWITCH_RTP_FLAG_PROXY_MEDIA)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
READ_INC(rtp_session);
|
READ_INC(rtp_session);
|
||||||
|
|
||||||
|
if (switch_rtp_ready(rtp_session)) {
|
||||||
if (!switch_test_flag(rtp_session, SWITCH_RTP_FLAG_NOBLOCK)) {
|
if (!switch_test_flag(rtp_session, SWITCH_RTP_FLAG_NOBLOCK)) {
|
||||||
was_blocking = 1;
|
was_blocking = 1;
|
||||||
switch_set_flag_locked(rtp_session, SWITCH_RTP_FLAG_NOBLOCK);
|
switch_set_flag_locked(rtp_session, SWITCH_RTP_FLAG_NOBLOCK);
|
||||||
|
@ -1282,19 +1283,21 @@ SWITCH_DECLARE(void) rtp_flush_read_buffer(switch_rtp_t *rtp_session)
|
||||||
}
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
if (switch_rtp_ready(rtp_session)) {
|
||||||
bytes = sizeof(rtp_msg_t);
|
bytes = sizeof(rtp_msg_t);
|
||||||
status = switch_socket_recvfrom(rtp_session->from_addr, rtp_session->sock_input, 0, (void *) &rtp_session->recv_msg, &bytes);
|
status = switch_socket_recvfrom(rtp_session->from_addr, rtp_session->sock_input, 0, (void *) &rtp_session->recv_msg, &bytes);
|
||||||
} while(bytes);
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} while(bytes > 0);
|
||||||
|
|
||||||
if (was_blocking) {
|
if (was_blocking && switch_rtp_ready(rtp_session)) {
|
||||||
switch_clear_flag_locked(rtp_session, SWITCH_RTP_FLAG_NOBLOCK);
|
switch_clear_flag_locked(rtp_session, SWITCH_RTP_FLAG_NOBLOCK);
|
||||||
switch_socket_opt_set(rtp_session->sock_input, SWITCH_SO_NONBLOCK, FALSE);
|
switch_socket_opt_set(rtp_session->sock_input, SWITCH_SO_NONBLOCK, FALSE);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
READ_DEC(rtp_session);
|
READ_DEC(rtp_session);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#define return_cng_frame() do_cng = 1; goto timer_check
|
#define return_cng_frame() do_cng = 1; goto timer_check
|
||||||
|
|
Loading…
Reference in New Issue