diff --git a/src/mod/applications/mod_conference/conference_api.c b/src/mod/applications/mod_conference/conference_api.c index 0ca6b08de0..55e5d6be26 100644 --- a/src/mod/applications/mod_conference/conference_api.c +++ b/src/mod/applications/mod_conference/conference_api.c @@ -677,6 +677,11 @@ switch_status_t conference_api_sub_vblind(conference_member_t *member, switch_st return SWITCH_STATUS_SUCCESS; } + if (conference_utils_member_test_flag(member, MFLAG_HOLD)) { + if (stream) stream->write_function(stream, "-ERR member %u is on hold\n", member->id); + return SWITCH_STATUS_SUCCESS; + } + switch_core_session_write_blank_video(member->session, 50); conference_utils_member_clear_flag_locked(member, MFLAG_CAN_SEE); conference_video_reset_video_bitrate_counters(member); @@ -733,6 +738,11 @@ switch_status_t conference_api_sub_unvblind(conference_member_t *member, switch_ return SWITCH_STATUS_SUCCESS; } + if (conference_utils_member_test_flag(member, MFLAG_HOLD)) { + if (stream) stream->write_function(stream, "-ERR member %u is on hold\n", member->id); + return SWITCH_STATUS_SUCCESS; + } + conference_utils_member_set_flag_locked(member, MFLAG_CAN_SEE); conference_video_reset_video_bitrate_counters(member);