prevent race on codec change mid-call
This commit is contained in:
parent
ab0a2bfa03
commit
668763f490
|
@ -1084,7 +1084,7 @@ static switch_status_t sofia_read_frame(switch_core_session_t *session, switch_f
|
|||
tech_pvt->last_ts = 0;
|
||||
|
||||
/* inform them of the codec they are actually sending */
|
||||
|
||||
#if 0
|
||||
if (++tech_pvt->codec_reinvites > 2) {
|
||||
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING,
|
||||
"Ok, some devices *cough* X-lite *cough*\n"
|
||||
|
@ -1093,7 +1093,10 @@ static switch_status_t sofia_read_frame(switch_core_session_t *session, switch_f
|
|||
} else {
|
||||
sofia_glue_do_invite(session);
|
||||
}
|
||||
#endif
|
||||
|
||||
*frame = &silence_frame;
|
||||
return SWITCH_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -2669,7 +2669,8 @@ switch_status_t sofia_glue_tech_set_codec(private_object_t *tech_pvt, int force)
|
|||
tech_pvt->rm_encoding,
|
||||
tech_pvt->codec_ms,
|
||||
tech_pvt->rm_rate);
|
||||
|
||||
|
||||
switch_yield(tech_pvt->read_impl.microseconds_per_packet);
|
||||
switch_core_session_lock_codec_write(tech_pvt->session);
|
||||
switch_core_session_lock_codec_read(tech_pvt->session);
|
||||
resetting = 1;
|
||||
|
|
Loading…
Reference in New Issue