]> 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)
committerAnthony Minessale <anthm@freeswitch.org>
Thu, 27 Apr 2017 22:57:26 +0000 (17:57 -0500)
src/mod/applications/mod_conference/conference_record.c
src/mod/applications/mod_conference/conference_video.c

index aca71a029844e07ada05fc00146822f442f24a15..23cb60798b1061073dcf6856386a2cf636369c73 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 ce69d3d8583bde91e35c6c923a823b0e43508f17..6671985ea8749db29dd05726e1c3e8f981bb2467 100644 (file)
@@ -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);
                }
        }