members_with_avatar = conference->members_with_avatar;
if (conference_utils_test_flag(conference, CFLAG_VIDEO_BRIDGE_FIRST_TWO)) {
- if (conference->members_with_video < 3) {
+ if (conference->members_seeing_video < 3) {
switch_yield(20000);
continue;
}
if (conference_utils_test_flag(member->conference, CFLAG_VIDEO_BRIDGE_FIRST_TWO)) {
- if (member->conference->members_with_video < 3) {
+ if (member->conference->members_seeing_video < 3) {
conference_video_write_frame(member->conference, member, frame);
conference_video_check_recording(member->conference, NULL, frame);
switch_thread_rwlock_unlock(member->conference->rwlock);
while (conference_globals.running && !conference_utils_test_flag(conference, CFLAG_DESTRUCT)) {
switch_size_t file_sample_len = samples;
switch_size_t file_data_len = samples * 2 * conference->channels;
- int has_file_data = 0, members_with_video = 0, members_with_avatar = 0;
+ int has_file_data = 0, members_with_video = 0, members_with_avatar = 0, members_seeing_video = 0;
uint32_t conference_energy = 0;
int nomoh = 0;
conference_member_t *floor_holder;
members_with_video++;
}
+ if (switch_channel_ready(channel) &&
+ switch_channel_test_flag(channel, CF_VIDEO_READY) &&
+ imember->video_media_flow != SWITCH_MEDIA_FLOW_SENDONLY &&
+ !conference_utils_member_test_flag(imember, MFLAG_SECOND_SCREEN)) {
+ members_seeing_video++;
+ }
+
if (imember->avatar_png_img && !switch_channel_test_flag(channel, CF_VIDEO)) {
members_with_avatar++;
}
}
conference->members_with_video = members_with_video;
+ conference->members_seeing_video = members_seeing_video;
conference->members_with_avatar = members_with_avatar;
if (floor_holder != conference->floor_holder) {