mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-08-13 09:36:46 +00:00
avoiding racing cpu (part 2)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5446 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
@@ -964,12 +964,7 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_
|
||||
|
||||
if (status == SWITCH_STATUS_BREAK || bytes == 0) {
|
||||
if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_DATAWAIT)) {
|
||||
if (rtp_session->ms_per_packet) {
|
||||
switch_yield((rtp_session->ms_per_packet / 1000) * 750);
|
||||
} else {
|
||||
switch_yield(1000);
|
||||
}
|
||||
continue;
|
||||
goto do_continue;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -1005,12 +1000,7 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_
|
||||
|
||||
|
||||
if (bytes && rtp_session->cng_pt && rtp_session->recv_msg.header.pt == rtp_session->cng_pt) {
|
||||
if (rtp_session->ms_per_packet) {
|
||||
switch_yield((rtp_session->ms_per_packet / 1000) * 750);
|
||||
} else {
|
||||
switch_yield(1000);
|
||||
}
|
||||
continue;
|
||||
goto do_continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -1059,11 +1049,19 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_
|
||||
}
|
||||
}
|
||||
|
||||
continue;
|
||||
goto do_continue;
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
|
||||
do_continue:
|
||||
|
||||
if (rtp_session->ms_per_packet) {
|
||||
switch_yield((rtp_session->ms_per_packet / 1000) * 750);
|
||||
} else {
|
||||
switch_yield(1000);
|
||||
}
|
||||
}
|
||||
|
||||
*payload_type = (switch_payload_t) rtp_session->recv_msg.header.pt;
|
||||
|
Reference in New Issue
Block a user