summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2011-01-03 18:27:49 +0000
committerShaun Ruffell <sruffell@digium.com>2011-01-03 18:27:49 +0000
commit0ff2f222e549212012256c00eaa214618c62c753 (patch)
tree8e3a2e8ef58014758a7d5285e477906aa4cd5e1e /include
parent40e0183721b4dd08ff25b14cc4dd088577436280 (diff)
dahdi: When DACS is enabled, hold a pointer directly to the crossed channel.
This both removes the need to reference the 'chans' __dahdi_process_putaudio_chunk and __dahdi_process_getaudio_chunk, and allows the dahdi_receive / dahdi_transmit logic to be streamlined. DACS channels can no longer be echocanceled if crossed. However, if a channel was DACSed with dahi_cfg it couldn't have been echocanceled anyway since the echo cancelers are disabled on the channel by default. This change was originally contained in a patch kpfleming had floating around. I split it up and merged it. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Signed-off-by: Kevin P. Fleming <kpfleming@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9603 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'include')
-rw-r--r--include/dahdi/kernel.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/dahdi/kernel.h b/include/dahdi/kernel.h
index 3e8f274..9f74d89 100644
--- a/include/dahdi/kernel.h
+++ b/include/dahdi/kernel.h
@@ -432,6 +432,9 @@ struct dahdi_chan {
u_char sreadchunk[DAHDI_MAX_CHUNKSIZE]; /*!< Preallocated static area */
short *readchunkpreec;
+ /* Channel from which to read when DACSed. */
+ struct dahdi_chan *dacs_chan;
+
/*! Pointer to tx and rx gain tables */
const u_char *rxgain;
const u_char *txgain;
@@ -529,7 +532,7 @@ struct dahdi_chan {
short conflast[DAHDI_MAX_CHUNKSIZE]; /*!< Last conference sample -- base part of channel */
short conflast1[DAHDI_MAX_CHUNKSIZE]; /*!< Last conference sample -- pseudo part of channel */
short conflast2[DAHDI_MAX_CHUNKSIZE]; /*!< Previous last conference sample -- pseudo part of channel */
-
+
/*! The echo canceler module that should be used to create an
instance when this channel needs one */