/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
File: oct6100_channel.c
Copyright (c) 2001-2007 Octasic Inc.
Description:
This file contains functions used to open, modify and close echo
cancellation channels.
This file is part of the Octasic OCT6100 GPL API . The OCT6100 GPL API is
free software; you can redistribute it and/or modify it under the terms of
the GNU General Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later version.
The OCT6100 GPL API is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with the OCT6100 GPL API; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
$Octasic_Release: OCT612xAPI-01.00-PR49 $
$Octasic_Revision: 492 $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
/***************************** INCLUDE FILES *******************************/
#if defined(__FreeBSD__)
#include <sys/types.h>
#include <dahdi/compat/bsd.h>
#else
#ifndef __KERNEL__
#include <stdlib.h>
#include <stdio.h>
#define kmalloc(size, type) malloc(size)
#define kfree(ptr) free(ptr)
#define GFP_ATOMIC 0 /* Dummy */
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
#else
#include <linux/slab.h>
#include <linux/kernel.h>
#endif
#endif
#include "octdef.h"
#include "oct6100api/oct6100_defines.h"
#include "oct6100api/oct6100_errors.h"
#include "oct6100api/oct6100_apiud.h"
#include "apilib/octapi_llman.h"
#include "oct6100api/oct6100_tlv_inst.h"
#include "oct6100api/oct6100_chip_open_inst.h"
#include "oct6100api/oct6100_chip_stats_inst.h"
#include "oct6100api/oct6100_interrupts_inst.h"
#include "oct6100api/oct6100_remote_debug_inst.h"
#include "oct6100api/oct6100_debug_inst.h"
#include "oct6100api/oct6100_api_inst.h"
#include "oct6100api/oct6100_mixer_inst.h"
#include "oct6100api/oct6100_tsi_cnct_inst.h"
#include "oct6100api/oct6100_conf_bridge_inst.h"
#include "oct6100api/oct6100_tone_detection_inst.h"
#include "oct6100api/oct6100_phasing_tsst_inst.h"
#include "oct6100api/oct6100_tsst_inst.h"
#include "oct6100api/oct6100_channel_inst.h"
#include "oct6100api/oct6100_interrupts_pub.h"
#include "oct6100api/oct6100_chip_open_pub.h"
#include "oct6100api/oct6100_tsi_cnct_pub.h"
#include "oct6100api/oct6100_playout_buf_pub.h"
#include "oct6100api/oct6100_phasing_tsst_pub.h"
#include "oct6100api/oct6100_mixer_pub.h"
#include "oct6100api/oct6100_conf_bridge_pub.h"
#include "oct6100api/oct6100_tone_detection_pub.h"
#include "oct6100api/oct6100_channel_pub.h"
#include "oct6100api/oct6100_debug_pub.h"
#include "oct6100_chip_open_priv.h"
#include "oct6100_miscellaneous_priv.h"
#include "oct6100_memory_priv.h"
#include "oct6100_tsst_priv.h"
#include "oct6100_mixer_priv.h"
#include "oct6100_phasing_tsst_priv.h"
#include "oct6100_tsi_cnct_priv.h"
#include "oct6100_playout_buf_priv.h"
#include "oct6100_conf_bridge_priv.h"
#include "oct6100_tone_detection_priv.h"
#include "oct6100_channel_priv.h"
#include "oct6100_debug_priv.h"
/**************************** PUBLIC FUNCTIONS ****************************/
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
Function: Oct6100ChannelOpen
Description: This function opens a echo cancellation channel. An echo cancellation
channel is constituted of two voice stream (RIN/ROUT and SIN/SOUT), and
an echo cancelling core.
-------------------------------------------------------------------------------
| Argument | Description
-------------------------------------------------------------------------------
f_pApiInstance Pointer to API instance. This memory is used to keep the
present state of the chip and all its resources.
f_pChannelOpen Pointer to echo channel open structure.
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
#if !SKIP_Oct6100ChannelOpenDef
UINT32 Oct6100ChannelOpenDef(
IN OUT tPOCT6100_CHANNEL_OPEN f_pChannelOpen )
{
f_pChannelOpen->pulChannelHndl = NULL;
f_pChannelOpen->ulUserChanId = cOCT6100_INVALID_VALUE;
f_pChannelOpen->ulEchoOperationMode = cOCT6100_ECHO_OP_MODE_POWER_DOWN;
f_pChannelOpen->fEnableToneDisabler = FALSE;
f_pChannelOpen->fEnableExtToneDetection = FALSE;
/* VQE configuration.*/
f_pChannelOpen->VqeConfig.fSinDcOffsetRemoval = TRUE;
f_pChannelOpen->VqeConfig.fRinDcOffsetRemoval = TRUE;
f_pChannelOpen->VqeConfig.fRinLevelControl = FALSE;
f_pChannelOpen->VqeConfig.lRinLevelControlGainDb = 0;
f_pChannelOpen->VqeConfig.fSoutLevelControl = FALSE;
f_pChannelOpen->VqeConfig.lSoutLevelControlGainDb = 0;
f_pChannelOpen->VqeConfig.fRinAutomaticLevelControl = FALSE;
f_pChannelOpen->VqeConfig.lRinAutomaticLevelControlTargetDb = -20;
f_pChannelOpen->VqeConfig.fSoutAutomaticLevelControl = FALSE;
f_pChannelOpen->VqeConfig.lSoutAutomaticLevelControlTargetDb = -20;
f_pChannelOpen->VqeConfig.fRinHighLevelCompensation = FALSE;
f_pChannelOpen->VqeConfig.lRinHighLevelCompensationThresholdDb = -10;
f_pChannelOpen->VqeConfig.fSoutAdaptiveNoiseReduction = FALSE;
f_pChannelOpen->VqeConfig.fSoutNoiseBleaching = FALSE;
f_pChannelOpen->VqeConfig.fSoutConferencingNoiseReduction = FALSE;
f_pChannelOpen->VqeConfig.ulComfortNoiseMode = cOCT6100_COMFORT_NOISE_NORMAL;
f_pChannelOpen->VqeConfig.fEnableNlp = TRUE;
f_pChannelOpen->VqeConfig.fEnableTailDisplacement = FALSE;
f_pChannelOpen->VqeConfig.ulTailDisplacement = cOCT6100_AUTO_SELECT_TAIL;
f_pChannelOpen->VqeConfig.ulTailLength = cOCT6100_AUTO_SELECT_TAIL;
f_pChannelOpen->VqeConfig.fDtmfToneRemoval = FALSE;
f_pChannelOpen->VqeConfig.fAcousticEcho = FALSE;
f_pChannelOpen->VqeConfig.lDefaultErlDb = -6;
f_pChannelOpen->VqeConfig.ulAecTailLength = 128;
f_pChannelOpen->VqeConfig.lAecDefaultErlDb = 0;
f_pChannelOpen->VqeConfig.ulNonLinearityBehaviorA = 1;
f_pChannelOpen->VqeConfig.ulNonLinearityBehaviorB = 0;
f_pChannelOpen->VqeConfig.ulDoubleTalkBehavior = cOCT6100_DOUBLE_TALK_BEH_NORMAL;
f_pChannelOpen->VqeConfig.ulSoutAutomaticListenerEnhancementGainDb = 0;
f_pChannelOpen->VqeConfig.ulSoutNaturalListenerEnhancementGainDb = 0;
f_pChannelOpen->VqeConfig.fSoutNaturalListenerEnhancement = FALSE;
f_pChannelOpen->VqeConfig.fRoutNoiseReduction = FALSE;
f_pChannelOpen->VqeConfig.lRoutNoiseReductionLevelGainDb = -18;
f_pChannelOpen->VqeConfig.lAnrSnrEnhancementDb = -18;
f_pChannelOpen->VqeConfig.ulAnrVoiceNoiseSegregation = 6;
f_pChannelOpen->VqeConfig.ulToneDisablerVqeActivationDelay = 300;
f_pChannelOpen->VqeConfig.fEnableMusicProtection = FALSE;
/* Older images have idle code detection hard-coded to enabled. */
f_pChannelOpen->VqeConfig.fIdleCodeDetection = TRUE;
/* TDM configuration.*/
f_pChannelOpen->TdmConfig.ulRinNumTssts = 1;
f_pChannelOpen->TdmConfig.ulSinNumTssts = 1;
f_pChannelOpen->TdmConfig.ulRoutNumTssts = 1;
f_pChannelOpen->TdmConfig.ulSoutNumTssts = 1;
f_pChannelOpen->TdmConfig.ulRinTimeslot = cOCT6100_UNASSIGNED;
f_pChannelOpen->TdmConfig.ulRinStream = cOCT6100_UNASSIGNED;
f_pChannelOpen->TdmConfig.ulRinPcmLaw = cOCT6100_PCM_U_LAW;
f_pChannelOpen->TdmConfig.ulSinTimeslot = cOCT6100_UNASSIGNED;
f_pChannelOpen->TdmConfig.ulSinStream = cOCT6100_UNASSIGNED;
f_pChannelOpen->TdmConfig.ulSinPcmLaw = cOCT6100_PCM_U_LAW;
f_pChannelOpen->TdmConfig.ulRoutTimeslot = cOCT6100_UNASSIGNED;
f_pChannelOpen->TdmConfig.ulRoutStream = cOCT6100_UNASSIGNED;
f_pChannelOpen->TdmConfig.ulRoutPcmLaw = cOCT6100_PCM_U_LAW;
f_pChannelOpen->TdmConfig.ulSoutTimeslot = cOCT6100_UNASSIGNED;
f_pChannelOpen->TdmConfig.ulSoutStream = cOCT6100_UNASSIGNED;
f_pChannelOpen->TdmConfig.ulSoutPcmLaw = cOCT6100_PCM_U_LAW;
/* CODEC configuration.*/
f_pCh
没有合适的资源?快使用搜索试试~ 我知道了~
dahdi-linux-complete-current.tar.gz_You Are Special
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 185 浏览量
2022-09-23
01:14:44
上传
评论
收藏 8.12MB GZ 举报
温馨提示
共625个文件
h:217个
c:170个
pm:24个
This is a simple-to-install complete DAHDI kit for Linux users. It is designed to be a drop-in replacement for users used to building Zaptel 1.2 or 1.4 for their system without specifying any special build options, file locations, or anything else. If you need to influence the build or installation process in any way outside the defaults, you will need to use the installation steps specific to the dahdi-linux and dahdi-tools packages separately (both of which are located in subdirectories of the dahdi-complete package).
资源推荐
资源详情
资源评论
收起资源包目录
dahdi-linux-complete-current.tar.gz_You Are Special (625个子文件)
output.0 619KB
traces.0 157KB
output.1 619KB
traces.1 61KB
10-dahdi-cfg 623B
10-span-types 144B
output.2 619KB
traces.2 155KB
20-fxotune 247B
20-span-assignments 290B
50-asterisk 423B
dahdi_span_assignments.8 7KB
fxotune.8 6KB
dahdi_span_types.8 5KB
astribank_hexload.8 4KB
dahdi_monitor.8 3KB
dahdi_scan.8 3KB
astribank_is_starting.8 2KB
astribank_allow.8 2KB
astribank_tool.8 2KB
dahdi_cfg.8 2KB
dahdi_diag.8 2KB
fxstest.8 1KB
dahdi_waitfor_span_assignments.8 1KB
dahdi_maint.8 1KB
pattest.8 1KB
xtalk_send.8 1KB
dahdi_test.8 1KB
patgen.8 1KB
dahdi_tool.8 712B
configure.ac 10KB
Makefile.am 5KB
Makefile.am 4KB
Makefile.am 3KB
Makefile.am 2KB
Makefile.am 658B
Makefile.am 319B
Makefile.am 270B
Makefile.am 177B
README.Astribank 58KB
astribank_hook 6KB
astribank_upgrade 3KB
builder 5KB
oct6100_channel.c 515KB
oct6100_channel.c 513KB
oct6100_conf_bridge.c 289KB
oct6100_conf_bridge.c 288KB
dahdi-base.c 280KB
oct6100_chip_open.c 228KB
oct6100_chip_open.c 227KB
base.c 166KB
base.c 154KB
wcaxx-base.c 119KB
oct6100_playout_buf.c 119KB
oct6100_playout_buf.c 119KB
base.c 113KB
base.c 102KB
wcte43x-base.c 99KB
octapi_llman.c 89KB
octapi_llman.c 89KB
base.c 84KB
wctdm.c 82KB
xhfc.c 77KB
wcte13xp-base.c 77KB
card_pri.c 72KB
oct6100_interrupts.c 71KB
oct6100_interrupts.c 71KB
oct6100_tlv.c 70KB
oct6100_tlv.c 70KB
GpakApi.c 63KB
oct6100_remote_debug.c 59KB
oct6100_remote_debug.c 59KB
oct6100_mixer.c 56KB
oct6100_mixer.c 56KB
card_fxs.c 55KB
oct6100_debug.c 52KB
oct6100_debug.c 52KB
voicebus.c 52KB
xbus-core.c 52KB
oct6100_events.c 51KB
oct6100_events.c 51KB
pciradio.c 51KB
dahdi_cfg.c 47KB
tor2.c 46KB
card_bri.c 46KB
wcte11xp.c 46KB
oct6100_adpcm_chan.c 45KB
oct6100_adpcm_chan.c 45KB
card_fxo.c 42KB
zonedata.c 40KB
syncppp.c 39KB
oct6100_tone_detection.c 38KB
oct6100_tone_detection.c 38KB
fxotune.c 38KB
octapi_bt0.c 36KB
octapi_bt0.c 36KB
wct1xxp.c 36KB
xbus-pcm.c 35KB
oct6100_tsi_cnct.c 34KB
oct6100_tsi_cnct.c 34KB
共 625 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
局外狗
- 粉丝: 64
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功