if (imember->watching_canvas_id == canvas->canvas_id && switch_channel_test_flag(imember->channel, CF_VIDEO_REFRESH_REQ)) {
switch_channel_clear_flag(imember->channel, CF_VIDEO_REFRESH_REQ);
- send_keyframe = SWITCH_TRUE;
+ canvas->send_keyframe = 30;
+ send_keyframe = 1;
}
if (conference_utils_test_flag(conference, CFLAG_MINIMIZE_VIDEO_ENCODING) &&
switch_channel_get_name(tech_pvt->channel),
tech_pvt->mparams->local_sdp_str);
set_call_params(params, tech_pvt);
+ switch_core_media_gen_key_frame(tech_pvt->session);
+ switch_channel_set_flag(tech_pvt->channel, CF_VIDEO_REFRESH_REQ);
jsock_queue_event(jsock, &msg, SWITCH_TRUE);
}
}
}
+ if (tech_pvt) {
+ if (err) {
+ if (tech_pvt->channel) {
+ switch_channel_hangup(tech_pvt->channel, SWITCH_CAUSE_BEARERCAPABILITY_NOTAVAIL);
+ }
+ } else {
+ switch_core_media_gen_key_frame(tech_pvt->session);
+ switch_channel_set_flag(tech_pvt->channel, CF_VIDEO_REFRESH_REQ);
+ }
+ }
+
if (session) {
switch_core_session_rwunlock(session);
}
return SWITCH_TRUE;
}
- if (tech_pvt && tech_pvt->channel) {
- switch_channel_hangup(tech_pvt->channel, SWITCH_CAUSE_BEARERCAPABILITY_NOTAVAIL);
- }
-
-
cJSON_AddItemToObject(obj, "code", cJSON_CreateNumber(CODE_SESSION_ERROR));
return SWITCH_FALSE;