diff options
author | Mark Spencer <markster@digium.com> | 2003-04-16 02:47:03 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2003-04-16 02:47:03 +0000 |
commit | 40fe8aa5335874af37513cfad0eb5cf413a6bb5d (patch) | |
tree | f5f3665e6d5ac2806b317041f9323afd068088ee /channel.c | |
parent | 7ba7ec9c976b44ba7cdf21b7c7cb8ab8aaf20b44 (diff) |
Add "prod" function, to get audio moving
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@856 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channel.c')
-rwxr-xr-x | channel.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -726,6 +726,7 @@ int ast_activate_generator(struct ast_channel *chan, struct ast_generator *gen, chan->generator->release(chan, chan->generatordata); chan->generatordata = NULL; } + ast_prod(chan); if ((chan->generatordata = gen->alloc(chan, params))) { chan->generator = gen; } else { @@ -1210,6 +1211,18 @@ static int do_senddigit(struct ast_channel *chan, char digit) return 0; } +int ast_prod(struct ast_channel *chan) +{ + struct ast_frame a = { AST_FRAME_VOICE }; + char nothing[128]; + /* Send an empty audio frame to get things moving */ + if (chan->_state != AST_STATE_UP) { + a.subclass = chan->pvt->rawwriteformat; + a.data = nothing + AST_FRIENDLY_OFFSET; + } + return 0; +} + int ast_write(struct ast_channel *chan, struct ast_frame *fr) { int res = -1; |