mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-11-11 20:17:05 +00:00
[core, mod_verto] remove CF_VIDEO_ONLY and pay attention to the streams instead and add CF_NO_RECOVER flag for verto
This commit is contained in:
1 parent
3ce9a9a393
commit
badd59d609
6 files changed
+35
-24
No files matched your search
@@ -634,7 +634,7 @@ void conference_event_adv_la(conference_obj_t *conference, conference_member_t *
|
||||
switch_channel_set_flag(member->channel, CF_VIDEO_REFRESH_REQ);
|
||||
switch_core_media_gen_key_frame(member->session);
|
||||
|
||||
if (conference && conference->la && member->session && !switch_channel_test_flag(member->channel, CF_VIDEO_ONLY)) {
|
||||
if (conference && conference->la && member->session) {
|
||||
cJSON *msg, *data;
|
||||
const char *uuid = switch_core_session_get_uuid(member->session);
|
||||
const char *cookie = switch_channel_get_variable(member->channel, "event_channel_cookie");
|
||||
|
||||
@@ -186,7 +186,7 @@ void conference_member_update_status_field(conference_member_t *member)
|
||||
cJSON_AddItemToObject(video, "visible", cJSON_CreateFalse());
|
||||
}
|
||||
|
||||
cJSON_AddItemToObject(video, "videoOnly", cJSON_CreateBool(switch_channel_test_flag(member->channel, CF_VIDEO_ONLY)));
|
||||
cJSON_AddItemToObject(video, "noRecover", cJSON_CreateBool(switch_channel_test_flag(member->channel, CF_NO_RECOVER)));
|
||||
if (switch_true(switch_channel_get_variable_dup(member->channel, "video_screen_share", SWITCH_FALSE, -1))) {
|
||||
cJSON_AddItemToObject(video, "screenShare", cJSON_CreateTrue());
|
||||
}
|
||||
|
||||
@@ -2474,21 +2474,21 @@ SWITCH_STANDARD_APP(conference_function)
|
||||
switch_core_session_set_video_read_callback(session, conference_video_thread_callback, (void *)&member);
|
||||
switch_core_session_set_text_read_callback(session, conference_text_thread_callback, (void *)&member);
|
||||
|
||||
if (switch_channel_test_flag(channel, CF_VIDEO_ONLY) || !switch_channel_test_flag(channel, CF_AUDIO)) {
|
||||
while(conference_utils_member_test_flag((&member), MFLAG_RUNNING) && switch_channel_ready(channel)) {
|
||||
switch_frame_t *read_frame;
|
||||
if (switch_channel_test_flag(channel, CF_AUDIO)) {
|
||||
switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0);
|
||||
}
|
||||
switch_yield(100000);
|
||||
}
|
||||
} else {
|
||||
|
||||
/* Run the conference loop */
|
||||
do {
|
||||
/* Run the conference loop */
|
||||
do {
|
||||
switch_media_flow_t audio_flow = switch_core_session_media_flow(session, SWITCH_MEDIA_TYPE_AUDIO);
|
||||
|
||||
if (switch_channel_test_flag(channel, CF_AUDIO) && (audio_flow == SWITCH_MEDIA_FLOW_SENDRECV || audio_flow == SWITCH_MEDIA_FLOW_RECVONLY)) {
|
||||
conference_loop_output(&member);
|
||||
} while (member.loop_loop);
|
||||
}
|
||||
} else {
|
||||
if (conference_utils_member_test_flag((&member), MFLAG_RUNNING) && switch_channel_ready(channel)) {
|
||||
switch_yield(100000);
|
||||
member.loop_loop = 1;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} while (member.loop_loop);
|
||||
|
||||
switch_core_session_video_reset(session);
|
||||
switch_channel_clear_flag_recursive(channel, CF_VIDEO_DECODED_READ);
|
||||
|
||||
Reference in new issue
Block a user