aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-28 16:13:55 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-28 16:13:55 +0000
commit5acf095b0e403987c58c665546b420568ed5554f (patch)
treed81efa99f987b32ee84b9df9d8e23df950c34733 /apps
parentaba3f062e011d7fe60dbbe1c41da6ae0e7360636 (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.c7
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;