diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-09-28 16:13:55 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-09-28 16:13:55 +0000 |
commit | 5acf095b0e403987c58c665546b420568ed5554f (patch) | |
tree | d81efa99f987b32ee84b9df9d8e23df950c34733 /apps | |
parent | aba3f062e011d7fe60dbbe1c41da6ae0e7360636 (diff) |
Stop the stream after waitstream returns so that our formats get restored. (issue #7370 reported by kryptolus)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@43891 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_meetme.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c index 891fc3655..a29289ed8 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -936,6 +936,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c if (conf->users == 2) { if (!ast_streamfile(chan,"conf-onlyone",chan->language)) { res = ast_waitstream(chan, AST_DIGIT_ANY); + ast_stopstream(chan); if (res > 0) keepplaying=0; else if (res == -1) @@ -944,6 +945,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c } else { if (!ast_streamfile(chan, "conf-thereare", chan->language)) { res = ast_waitstream(chan, AST_DIGIT_ANY); + ast_stopstream(chan); if (res > 0) keepplaying=0; else if (res == -1) @@ -958,6 +960,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c } if (keepplaying && !ast_streamfile(chan, "conf-otherinparty", chan->language)) { res = ast_waitstream(chan, AST_DIGIT_ANY); + ast_stopstream(chan); if (res > 0) keepplaying=0; else if (res == -1) @@ -1986,8 +1989,10 @@ static int conf_exec(struct ast_channel *chan, void *data) break; } else { /* Pin invalid */ - if (!ast_streamfile(chan, "conf-invalidpin", chan->language)) + if (!ast_streamfile(chan, "conf-invalidpin", chan->language)) { res = ast_waitstream(chan, AST_DIGIT_ANY); + ast_stopstream(chan); + } else { ast_log(LOG_WARNING, "Couldn't play invalid pin msg!\n"); break; |