From: Anthony Minessale Date: Mon, 7 May 2012 15:24:08 +0000 (-0500) Subject: FS-4177 play-file-done was not previously possible it was part of supressing play... X-Git-Tag: v1.2-rc1~17^2~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f7476320dbdb7afe1e305b9036ef31bff5563ca2;p=thirdparty%2Ffreeswitch.git FS-4177 play-file-done was not previously possible it was part of supressing play-file, try this patch --- diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index aa5a1a3015..8b4be69b2c 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -217,7 +217,8 @@ typedef enum { EFLAG_FLOOR_CHANGE = (1 << 25), EFLAG_MUTE_DETECT = (1 << 26), EFLAG_RECORD = (1 << 27), - EFLAG_HUP_MEMBER = (1 << 28) + EFLAG_HUP_MEMBER = (1 << 28), + EFLAG_PLAY_FILE_DONE = (1 << 29), } event_type_t; typedef struct conference_file_node { @@ -1621,7 +1622,7 @@ static void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, v } if (file_sample_len <= 0) { - if (test_eflag(conference, EFLAG_PLAY_FILE) && + if (test_eflag(conference, EFLAG_PLAY_FILE_DONE) && switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) { conference_add_event_data(conference, event); switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "play-file-done"); @@ -6107,6 +6108,8 @@ static void clear_eflags(char *events, uint32_t *f) *f &= ~EFLAG_VOLUME_OUT_MEMBER; } else if (!strcmp(event, "play-file")) { *f &= ~EFLAG_PLAY_FILE; + } else if (!strcmp(event, "play-file-done")) { + *f &= ~EFLAG_PLAY_FILE; } else if (!strcmp(event, "play-file-member")) { *f &= ~EFLAG_PLAY_FILE_MEMBER; } else if (!strcmp(event, "speak-text")) {