aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-11-07 16:21:01 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-11-07 16:21:01 +0000
commitba6bf065a5bd2601ee2f9c50cc4bf28ff7967eda (patch)
treec49d88dc28e7688af27d41128811a3ba986bcf40 /channels
parented93c876b2e791d00175ee89f5cb5bdd57bb3a7f (diff)
Disable echo canceller for digital calls (bug #2785), fix build on MacOSX (bug #2803)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4170 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-xchannels/chan_zap.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 4644bf095..2a8b95d74 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -1213,11 +1213,17 @@ static void zt_enable_ec(struct zt_pvt *p)
{
int x;
int res;
+ if (!p)
+ return;
if (p->echocanon) {
ast_log(LOG_DEBUG, "Echo cancellation already on\n");
return;
}
- if (p && p->echocancel) {
+ if (p->digital) {
+ ast_log(LOG_DEBUG, "Echo cancellation isn't required on digital connection\n");
+ return;
+ }
+ if (p->echocancel) {
if (p->sig == SIG_PRI) {
x = 1;
res = ioctl(p->subs[SUB_REAL].zfd, ZT_AUDIOMODE, &x);