]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-10198: mod_conference: add var in xml to configure audio recording metadata
authorDragos Oancea <dragos.oancea@nexmo.com>
Thu, 30 Mar 2017 09:36:12 +0000 (10:36 +0100)
committerDragos Oancea <dragos.oancea@nexmo.com>
Thu, 30 Mar 2017 09:52:26 +0000 (10:52 +0100)
src/mod/applications/mod_conference/conference_record.c
src/mod/applications/mod_conference/mod_conference.c
src/mod/applications/mod_conference/mod_conference.h

index f926d3043dfb5c5e88b2624133d0d85acc866626..aca71a029844e07ada05fc00146822f442f24a15 100644 (file)
@@ -306,7 +306,8 @@ void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *thread, v
                switch_safe_free(vval);
        }
 
-       switch_core_file_set_string(&member->rec->fh, SWITCH_AUDIO_COL_STR_ARTIST, "FreeSWITCH mod_conference Software Conference Module");
+       switch_core_file_set_string(&member->rec->fh, SWITCH_AUDIO_COL_STR_ARTIST, 
+                       !zstr(conference->recording_metadata)?conference->recording_metadata:"FreeSWITCH mod_conference Software Conference Module");
 
        if (test_eflag(conference, EFLAG_RECORD) &&
                switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
index 1923671a2aa8bc3b2096f5ea4e028daf1f413a2f..a8a480818ed214ca400250cf10267dd2d964198f 100644 (file)
@@ -2631,6 +2631,7 @@ conference_obj_t *conference_new(char *name, conference_xml_cfg_t cfg, switch_co
        char *suppress_events = NULL;
        char *verbose_events = NULL;
        char *auto_record = NULL;
+       char *recording_metadata = NULL;
        int auto_record_canvas = 0;
        int min_recording_participants = 1;
        char *conference_log_dir = NULL;
@@ -2939,6 +2940,8 @@ conference_obj_t *conference_new(char *name, conference_xml_cfg_t cfg, switch_co
                                verbose_events = val;
                        } else if (!strcasecmp(var, "auto-record") && !zstr(val)) {
                                auto_record = val;
+                       } else if (!strcasecmp(var, "recording-metadata") && !zstr(val)) {
+                               recording_metadata = val;
                        } else if (!strcasecmp(var, "auto-record-canvas-id") && !zstr(val)) {
                                auto_record_canvas = atoi(val);
                                if (auto_record_canvas) {
@@ -3481,6 +3484,10 @@ conference_obj_t *conference_new(char *name, conference_xml_cfg_t cfg, switch_co
                conference->auto_record = switch_core_strdup(conference->pool, auto_record);
        }
 
+       if (!zstr(recording_metadata)) {
+               conference->recording_metadata = switch_core_strdup(conference->pool, recording_metadata);
+       }
+
        conference->min_recording_participants = min_recording_participants;
 
        if (!zstr(desc)) {
index 8370232348c6462825d55e359532baadfda3c560..c710d1d73f40d23dcd6835de1c8bb83a5a76cf96 100644 (file)
@@ -683,6 +683,7 @@ typedef struct conference_obj {
        int broadcast_chat_messages;
        int comfort_noise_level;
        int auto_recording;
+       char *recording_metadata;
        int record_count;
        uint32_t min_recording_participants;
        int ivr_dtmf_timeout;