]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-11206: [mod_conference] add conference hold feature
authorMike Jerris <mike@jerris.com>
Thu, 21 Jun 2018 09:32:22 +0000 (05:32 -0400)
committerMike Jerris <mike@jerris.com>
Mon, 13 Aug 2018 18:59:49 +0000 (18:59 +0000)
src/mod/applications/mod_conference/conference_api.c

index 0ca6b08de0ba6e44bee56a4c951e8c5cac7b80e4..55e5d6be2615d47f48874aaf272515085dba49de 100644 (file)
@@ -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);