diff --git a/src/mod/applications/mod_conference/conference_record.c b/src/mod/applications/mod_conference/conference_record.c index 64a444cdee..f7654aaac9 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 c8691c8429..122e8d2472 100644 --- a/src/mod/applications/mod_conference/conference_video.c +++ b/src/mod/applications/mod_conference/conference_video.c @@ -1753,7 +1753,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); } }