aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroot <root@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-08 05:02:32 +0000
committerroot <root@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-08 05:02:32 +0000
commit7502a6b9e61a6d8b258fc8b494ad86034a9e25de (patch)
tree80593f5222abc515c83b3e0444bc8b485bb9b7fc
parent0345676c7e2b9a8463e8d9b7ea692ed4ca7f2ec3 (diff)
automerge commit
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2-netsec@42419 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_local.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/channels/chan_local.c b/channels/chan_local.c
index a28964167..84fd9d220 100644
--- a/channels/chan_local.c
+++ b/channels/chan_local.c
@@ -515,7 +515,7 @@ static struct local_pvt *local_alloc(char *data, int format)
static struct ast_channel *local_new(struct local_pvt *p, int state)
{
struct ast_channel *tmp, *tmp2;
- int randnum = rand() & 0xffff;
+ int randnum = rand() & 0xffff, fmt = 0;
tmp = ast_channel_alloc(1);
tmp2 = ast_channel_alloc(1);
@@ -537,14 +537,15 @@ static struct ast_channel *local_new(struct local_pvt *p, int state)
tmp2->type = type;
ast_setstate(tmp, state);
ast_setstate(tmp2, AST_STATE_RING);
- tmp->writeformat = p->reqformat;
- tmp2->writeformat = p->reqformat;
- tmp->rawwriteformat = p->reqformat;
- tmp2->rawwriteformat = p->reqformat;
- tmp->readformat = p->reqformat;
- tmp2->readformat = p->reqformat;
- tmp->rawreadformat = p->reqformat;
- tmp2->rawreadformat = p->reqformat;
+ fmt = ast_best_codec(p->reqformat);
+ tmp->writeformat = fmt;
+ tmp2->writeformat = fmt;
+ tmp->rawwriteformat = fmt;
+ tmp2->rawwriteformat = fmt;
+ tmp->readformat = fmt;
+ tmp2->readformat = fmt;
+ tmp->rawreadformat = fmt;
+ tmp2->rawreadformat = fmt;
tmp->tech_pvt = p;
tmp2->tech_pvt = p;
p->owner = tmp;