]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add restart-auto-record flag
authorAnthony Minessale <anthm@freeswitch.org>
Fri, 15 Nov 2013 20:36:08 +0000 (01:36 +0500)
committerAnthony Minessale <anthm@freeswitch.org>
Fri, 15 Nov 2013 20:37:16 +0000 (01:37 +0500)
src/mod/applications/mod_conference/mod_conference.c

index dd3d6bb4bb6cc0bec9236bc4a03171dff7f72022..03fd1cdfc17f6c6432b2d0c419238a6737bc12da 100644 (file)
@@ -210,7 +210,8 @@ typedef enum {
        CFLAG_FLOOR_CHANGE = (1 << 18),
        CFLAG_VID_FLOOR_LOCK = (1 << 19),
        CFLAG_JSON_EVENTS = (1 << 20),
-       CFLAG_LIVEARRAY_SYNC = (1 << 21)
+       CFLAG_LIVEARRAY_SYNC = (1 << 21),
+       CFLAG_CONF_RESTART_AUTO_RECORD = (1 << 22)
 } conf_flag_t;
 
 typedef enum {
@@ -1457,7 +1458,7 @@ static switch_status_t conference_record_stop(conference_obj_t *conference, swit
        switch_mutex_lock(conference->member_mutex);
        for (member = conference->members; member; member = member->next) {
                if (switch_test_flag(member, MFLAG_NOCHANNEL) && (!path || !strcmp(path, member->rec_path))) {
-                       if (member->rec && member->rec->autorec) {
+                       if (!switch_test_flag(conference, CFLAG_CONF_RESTART_AUTO_RECORD) && member->rec && member->rec->autorec) {
                                stream->write_function(stream, "Stopped AUTO recording file %s (Auto Recording Now Disabled)\n", member->rec_path);
                                conference->auto_record = 0;
                        } else {
@@ -7695,6 +7696,8 @@ static void set_cflags(const char *flags, uint32_t *f)
                                *f |= CFLAG_VIDEO_BRIDGE;
                        } else if (!strcasecmp(argv[i], "audio-always")) {
                                *f |= CFLAG_AUDIO_ALWAYS;
+                       } else if (!strcasecmp(argv[i], "restart-auto-record")) {
+                               *f |= CFLAG_CONF_RESTART_AUTO_RECORD;
                        } else if (!strcasecmp(argv[i], "json-events")) {
                                *f |= CFLAG_JSON_EVENTS;
                        } else if (!strcasecmp(argv[i], "livearray-sync")) {