]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-10269: [mod_conference] conference recording pause doesn't work correctly for...
authorAnthony Minessale <anthm@freeswitch.org>
Thu, 27 Apr 2017 22:57:26 +0000 (17:57 -0500)
committerMike Jerris <mike@jerris.com>
Thu, 1 Jun 2017 20:03:39 +0000 (16:03 -0400)
src/mod/applications/mod_conference/conference_record.c
src/mod/applications/mod_conference/conference_video.c

index 64a444cdee06d750ac6111696bd2897f54f62581..f7654aaac9b7bb4b026e49c44e684b955254dcaa 100644 (file)
@@ -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;
                                                }
index c8691c84298602a2e2cd086b61e6f3543a251227..122e8d24725acdc604443ff7abb28ffc50db5890 100644 (file)
@@ -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);
                }
        }