summaryrefslogtreecommitdiff
path: root/ztdynamic.c
diff options
context:
space:
mode:
authormarkster <markster@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2003-12-08 21:25:26 +0000
committermarkster <markster@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2003-12-08 21:25:26 +0000
commit7efd21693c2274a32853cf1e8c1860d5b41696ed (patch)
treef096a6b7e8e00b0a10cd1aae208f3980e1962e14 /ztdynamic.c
parent753c5cc72de686518b4bbe900177bce9b47efc62 (diff)
Enable echo cancellation on dyanmic spans
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@287 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'ztdynamic.c')
-rwxr-xr-xztdynamic.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ztdynamic.c b/ztdynamic.c
index c931246..149fdbe 100755
--- a/ztdynamic.c
+++ b/ztdynamic.c
@@ -201,11 +201,16 @@ static void ztdynamic_run(void)
{
long flags;
struct zt_dynamic *z;
+ int y;
spin_lock_irqsave(&dlock, flags);
z = dspans;
while(z) {
if (!z->dead) {
/* Ignore dead spans */
+ for (y=0;y<z->span.channels;y++) {
+ /* Echo cancel double buffered data */
+ zt_ec_chunk(&z->span.chans[y], z->span.chans[y].readchunk, z->span.chans[y].writechunk);
+ }
zt_receive(&z->span);
zt_transmit(&z->span);
/* Handle all transmissions now */