tech_pvt->mparams.extsipip = profile->extsipip;
tech_pvt->mparams.extrtpip = profile->extrtpip;
tech_pvt->mparams.local_network = profile->local_network;
- tech_pvt->mparams.mutex = tech_pvt->sofia_mutex;
tech_pvt->mparams.sipip = profile->sipip;
tech_pvt->mparams.jb_msec = profile->jb_msec;
tech_pvt->mparams.rtcp_audio_interval_msec = profile->rtcp_audio_interval_msec;
int payload_space;
char *origin;
-
+ switch_mutex_t *mutex;
const switch_codec_implementation_t *negotiated_codecs[SWITCH_MAX_CODECS];
int num_negotiated_codecs;
session->media_handle->engines[SWITCH_MEDIA_TYPE_VIDEO].read_frame.buflen = SWITCH_RTP_MAX_BUF_LEN;
session->media_handle->mparams = params;
+ switch_mutex_init(&session->media_handle->mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(session));
+
session->media_handle->engines[SWITCH_MEDIA_TYPE_AUDIO].ssrc =
(uint32_t) ((intptr_t) &session->media_handle->engines[SWITCH_MEDIA_TYPE_AUDIO] + (uint32_t) time(NULL));
return;
}
- if (smh->mparams->mutex) switch_mutex_lock(smh->mparams->mutex);
+ if (smh->mutex) switch_mutex_lock(smh->mutex);
smh->mparams->local_sdp_str = dup ? switch_core_session_strdup(session, sdp_str) : (char *) sdp_str;
switch_channel_set_variable(session->channel, "rtp_local_sdp_str", smh->mparams->local_sdp_str);
- if (smh->mparams->mutex) switch_mutex_unlock(smh->mparams->mutex);
+ if (smh->mutex) switch_mutex_unlock(smh->mutex);
}
}
- if (smh->mparams->mutex) switch_mutex_lock(smh->mparams->mutex);
+ if (smh->mutex) switch_mutex_lock(smh->mutex);
if (switch_channel_down(session->channel)) {
end_lock:
- if (smh->mparams->mutex) switch_mutex_unlock(smh->mparams->mutex);
+ if (smh->mutex) switch_mutex_unlock(smh->mutex);
end: