conference_video_check_avatar(member, SWITCH_FALSE);
+ if (switch_true(switch_channel_get_variable_dup(member->channel, "video_second_screen", SWITCH_FALSE, -1))) {
+ conference_utils_member_set_flag(member, MFLAG_SECOND_SCREEN);
+ }
+
if ((var = switch_channel_get_variable_dup(member->channel, "video_initial_canvas", SWITCH_FALSE, -1))) {
uint32_t id = atoi(var) - 1;
if (id < conference->canvas_count) {
if ((var = switch_channel_get_variable_dup(member->channel, "video_initial_watching_canvas", SWITCH_FALSE, -1))) {
uint32_t id = atoi(var) - 1;
-
+
if (id == 0) {
id = conference->canvas_count;
}
-
+
if (id <= conference->canvas_count && conference->canvases[id]) {
member->watching_canvas_id = id;
}
}
-
+
conference_video_reset_member_codec_index(member);
if (has_video) {
static switch_bool_t verto__invite_func(const char *method, cJSON *params, jsock_t *jsock, cJSON **response)
{
- cJSON *obj = cJSON_CreateObject(), *screenShare = NULL, *dedEnc = NULL, *mirrorInput, *json_ptr = NULL, *bandwidth = NULL;
+ cJSON *obj = cJSON_CreateObject(), *screenShare = NULL, *dedEnc = NULL, *mirrorInput, *json_ptr = NULL, *bandwidth = NULL, *canvas = NULL;
switch_core_session_t *session = NULL;
switch_channel_t *channel;
switch_event_t *var_event;
switch_channel_set_flag(channel, CF_VIDEO_MIRROR_INPUT);
}
+ if ((canvas = cJSON_GetObjectItem(dialog, "conferenceCanvasID"))) {
+ int canvas_id = 0;
+
+ if (!zstr(canvas->valuestring)) {
+ canvas_id = atoi(canvas->valuestring);
+ } else if (canvas->valueint) {
+ canvas_id = canvas->valueint;
+ }
+
+ if (canvas_id >= 0) {
+ switch_channel_set_variable_printf(channel, "video_initial_watching_canvas", "%d", canvas_id);
+ switch_channel_set_variable(channel, "video_second_screen", "true");
+ }
+ }
+
if ((bandwidth = cJSON_GetObjectItem(dialog, "outgoingBandwidth"))) {
int core_bw = 0, bwval = 0;
const char *val;