aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_alsa.c
diff options
context:
space:
mode:
authormurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2006-11-07 23:46:41 +0000
committermurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2006-11-07 23:46:41 +0000
commitc25499d6c75ea145820465178ef982d256432bc6 (patch)
treede5d3b24e69a5cd86813ecf37bdeb5c9f87059a9 /channels/chan_alsa.c
parentb3c737f0114f072f2c01eab99cfd6265fd6a1264 (diff)
These mods are to solve the problem in bug 7506. It's a lot of rework to solve a fairly small problem... such is life.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@47303 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_alsa.c')
-rw-r--r--channels/chan_alsa.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/channels/chan_alsa.c b/channels/chan_alsa.c
index 6d4617a6c..3d819bb32 100644
--- a/channels/chan_alsa.c
+++ b/channels/chan_alsa.c
@@ -783,11 +783,10 @@ static struct ast_channel *alsa_new(struct chan_alsa_pvt *p, int state)
{
struct ast_channel *tmp = NULL;
- if (!(tmp = ast_channel_alloc(1)))
+ if (!(tmp = ast_channel_alloc(1, state, 0, 0, "ALSA/%s", indevname)))
return NULL;
tmp->tech = &alsa_tech;
- ast_string_field_build(tmp, name, "ALSA/%s", indevname);
tmp->fds[0] = readdev;
tmp->nativeformats = AST_FORMAT_SLINEAR;
tmp->readformat = AST_FORMAT_SLINEAR;
@@ -800,7 +799,6 @@ static struct ast_channel *alsa_new(struct chan_alsa_pvt *p, int state)
if (!ast_strlen_zero(language))
ast_string_field_set(tmp, language, language);
p->owner = tmp;
- ast_setstate(tmp, state);
ast_mutex_lock(&usecnt_lock);
usecnt++;
ast_mutex_unlock(&usecnt_lock);