diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-04-16 02:47:03 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-04-16 02:47:03 +0000 |
commit | 177e092ee9e1d265a953efd9d0f90fd77289cb46 (patch) | |
tree | f5f3665e6d5ac2806b317041f9323afd068088ee /channel.c | |
parent | b2f9fe53c3c09849e34b93cb2b78ea7ee811c8a8 (diff) |
Add "prod" function, to get audio moving
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@856 f38db490-d61c-443f-a65b-d21fe96a405b
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; |