- if ((!floor_holder || (imember->score_iir > SCORE_IIR_SPEAKING_MAX && (floor_holder->score_iir < SCORE_IIR_SPEAKING_MIN))) &&
- (!switch_test_flag(conference, CFLAG_VID_FLOOR) || switch_channel_test_flag(channel, CF_VIDEO))) {
- floor_holder = imember;
+ if (switch_channel_test_flag(channel, CF_VIDEO)) {
+ if (!floor_holder) {
+ floor_holder = imember;
+ } else if ((imember->score_iir > SCORE_IIR_SPEAKING_MAX) && (floor_holder->score_iir < SCORE_IIR_SPEAKING_MIN) &&
+ (!switch_test_flag(conference, CFLAG_VID_FLOOR))) {
+ floor_holder = imember;
+ }
}