Stop the stream after waitstream returns so that our formats get restored. (issue #7370 reported by kryptolus)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@43891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2006-09-28 16:13:55 +00:00
parent f6ddf4e7d4
commit 34adb7efe6

View File

@@ -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;