mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-06-06 05:01:34 +00:00
skypopen: better checking audio buffers not destroyed
This commit is contained in:
parent
f04322e9bb
commit
01fb67aeca
@ -597,7 +597,7 @@ int skypopen_signaling_read(private_t * tech_pvt)
|
||||
tech_pvt->ringing_state = SKYPOPEN_RINGING_INIT;
|
||||
tech_pvt->skype_callflow = CALLFLOW_CALL_IDLE;
|
||||
tech_pvt->interface_state = SKYPOPEN_STATE_IDLE;
|
||||
ERRORA("we're back to IDLE\n", SKYPOPEN_P_LOG, id);
|
||||
WARNINGA("we're back to IDLE\n", SKYPOPEN_P_LOG);
|
||||
skypopen_sleep(10000);
|
||||
|
||||
}
|
||||
@ -885,12 +885,14 @@ void *skypopen_do_tcp_srv_thread_func(void *obj)
|
||||
nospace = 0;
|
||||
if (len > 0) {
|
||||
switch_mutex_lock(tech_pvt->mutex_audio_srv);
|
||||
if (switch_buffer_freespace(tech_pvt->read_buffer) < len) {
|
||||
switch_buffer_zero(tech_pvt->read_buffer);
|
||||
nospace = 1;
|
||||
//switch_buffer_toss(tech_pvt->read_buffer, len);
|
||||
if(tech_pvt->read_buffer){
|
||||
if (switch_buffer_freespace(tech_pvt->read_buffer) < len) {
|
||||
switch_buffer_zero(tech_pvt->read_buffer);
|
||||
nospace = 1;
|
||||
//switch_buffer_toss(tech_pvt->read_buffer, len);
|
||||
}
|
||||
switch_buffer_write(tech_pvt->read_buffer, srv_in, len);
|
||||
}
|
||||
switch_buffer_write(tech_pvt->read_buffer, srv_in, len);
|
||||
switch_mutex_unlock(tech_pvt->mutex_audio_srv);
|
||||
if (nospace) {
|
||||
DEBUGA_SKYPE("NO SPACE READ: there was no space for: %d\n", SKYPOPEN_P_LOG, len);
|
||||
@ -1028,7 +1030,7 @@ void *skypopen_do_tcp_cli_thread_func(void *obj)
|
||||
break;
|
||||
}
|
||||
switch_mutex_lock(tech_pvt->mutex_audio_cli);
|
||||
if (switch_buffer_inuse(tech_pvt->write_buffer)) {
|
||||
if (tech_pvt->write_buffer && switch_buffer_inuse(tech_pvt->write_buffer)) {
|
||||
bytes_to_write = switch_buffer_read(tech_pvt->write_buffer, cli_out, 640);
|
||||
}
|
||||
switch_mutex_unlock(tech_pvt->mutex_audio_cli);
|
||||
|
Loading…
x
Reference in New Issue
Block a user