FS-7513: add video decode conference flag

This commit is contained in:
Anthony Minessale 2014-11-21 16:57:45 -05:00 committed by Michael Jerris
parent fbe347ead4
commit 79bc5bcda2
1 changed files with 8 additions and 2 deletions

View File

@ -225,7 +225,8 @@ typedef enum {
CFLAG_JSON_EVENTS = (1 << 20),
CFLAG_LIVEARRAY_SYNC = (1 << 21),
CFLAG_CONF_RESTART_AUTO_RECORD = (1 << 22),
CFLAG_POSITIONAL = (1 << 23)
CFLAG_POSITIONAL = (1 << 23),
CFLAG_DECODE_VIDEO = (1 << 24)
} conf_flag_t;
typedef enum {
@ -2244,6 +2245,10 @@ static switch_status_t conference_add_member(conference_obj_t *conference, confe
switch_set_flag_locked(member, MFLAG_ACK_VIDEO);
}
if (switch_test_flag(conference, CFLAG_DECODE_VIDEO)) {
switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ);
}
switch_channel_set_variable_printf(channel, "conference_member_id", "%d", member->id);
switch_channel_set_variable_printf(channel, "conference_moderator", "%s", switch_test_flag(member, MFLAG_MOD) ? "true" : "false");
switch_channel_set_variable_printf(channel, "conference_ghost", "%s", switch_test_flag(member, MFLAG_GHOST) ? "true" : "false");
@ -8929,6 +8934,8 @@ static void set_cflags(const char *flags, uint32_t *f)
*f |= CFLAG_RFC4579;
} else if (!strcasecmp(argv[i], "auto-3d-position")) {
*f |= CFLAG_POSITIONAL;
} else if (!strcasecmp(argv[i], "decode-video")) {
*f |= CFLAG_DECODE_VIDEO;
}
@ -9201,7 +9208,6 @@ SWITCH_STANDARD_APP(conference_function)
switch_channel_set_flag(channel, CF_CONFERENCE);
switch_channel_set_flag(channel, CF_VIDEO_PASSIVE);
if (switch_channel_answer(channel) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Channel answer failed.\n");
goto end;