diff --git a/src/mod/applications/mod_conference/conference_record.c b/src/mod/applications/mod_conference/conference_record.c index aca71a0298..23cb60798b 100644 --- a/src/mod/applications/mod_conference/conference_record.c +++ b/src/mod/applications/mod_conference/conference_record.c @@ -132,10 +132,12 @@ switch_status_t conference_record_action(conference_obj_t *conference, char *pat break; case REC_ACTION_PAUSE: conference_utils_member_set_flag_locked(member, MFLAG_PAUSE_RECORDING); + switch_set_flag((&member->rec->fh), SWITCH_FILE_PAUSE); count = 1; break; case REC_ACTION_RESUME: conference_utils_member_clear_flag_locked(member, MFLAG_PAUSE_RECORDING); + switch_clear_flag((&member->rec->fh), SWITCH_FILE_PAUSE); count = 1; break; } diff --git a/src/mod/applications/mod_conference/conference_video.c b/src/mod/applications/mod_conference/conference_video.c index ce69d3d858..6671985ea8 100644 --- a/src/mod/applications/mod_conference/conference_video.c +++ b/src/mod/applications/mod_conference/conference_video.c @@ -2263,7 +2263,8 @@ void conference_video_check_recording(conference_obj_t *conference, mcu_canvas_t continue; } - if (switch_test_flag((&imember->rec->fh), SWITCH_FILE_OPEN) && switch_core_file_has_video(&imember->rec->fh, SWITCH_TRUE)) { + if (switch_test_flag((&imember->rec->fh), SWITCH_FILE_OPEN) && !switch_test_flag((&imember->rec->fh), SWITCH_FILE_PAUSE) && + switch_core_file_has_video(&imember->rec->fh, SWITCH_TRUE)) { switch_core_file_write_video(&imember->rec->fh, frame); } }