mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-08-13 17:38:59 +00:00
add disable_ec app
git-svn-id: http://svn.openzap.org/svn/openzap/trunk@506 a93c3328-9c30-0410-af19-c9cd2b2d52af
This commit is contained in:
@@ -260,6 +260,10 @@ typedef enum {
|
||||
ZAP_COMMAND_TRACE_OUTPUT,
|
||||
ZAP_COMMAND_ENABLE_CALLERID_DETECT,
|
||||
ZAP_COMMAND_DISABLE_CALLERID_DETECT,
|
||||
ZAP_COMMAND_ENABLE_ECHOCANCEL,
|
||||
ZAP_COMMAND_DISABLE_ECHOCANCEL,
|
||||
ZAP_COMMAND_ENABLE_ECHOTRAIN,
|
||||
ZAP_COMMAND_DISABLE_ECHOTRAIN,
|
||||
ZAP_COMMAND_COUNT
|
||||
} zap_command_t;
|
||||
|
||||
|
@@ -204,6 +204,7 @@ zap_size_t zap_buffer_write(zap_buffer_t *buffer, const void *data, zap_size_t d
|
||||
|
||||
if (freespace < datalen) {
|
||||
zap_size_t new_size, new_block_size;
|
||||
void *data;
|
||||
|
||||
new_size = buffer->datalen + datalen;
|
||||
new_block_size = buffer->datalen + buffer->blocksize;
|
||||
@@ -212,10 +213,11 @@ zap_size_t zap_buffer_write(zap_buffer_t *buffer, const void *data, zap_size_t d
|
||||
new_size = new_block_size;
|
||||
}
|
||||
buffer->head = buffer->data;
|
||||
buffer->data = realloc(buffer->data, new_size);
|
||||
if (!buffer->data) {
|
||||
data = realloc(buffer->data, new_size);
|
||||
if (!data) {
|
||||
return 0;
|
||||
}
|
||||
buffer->data = data;
|
||||
buffer->head = buffer->data;
|
||||
buffer->datalen = new_size;
|
||||
}
|
||||
|
@@ -377,6 +377,32 @@ static ZIO_COMMAND_FUNCTION(zt_command)
|
||||
memset(&ztp, 0, sizeof(ztp));
|
||||
|
||||
switch(command) {
|
||||
case ZAP_COMMAND_ENABLE_ECHOCANCEL:
|
||||
{
|
||||
int level = ZAP_COMMAND_OBJ_INT;
|
||||
err = ioctl(zchan->sockfd, ZT_ECHOCANCEL, &level);
|
||||
ZAP_COMMAND_OBJ_INT = level;
|
||||
}
|
||||
case ZAP_COMMAND_DISABLE_ECHOCANCEL:
|
||||
{
|
||||
int level = 0;
|
||||
err = ioctl(zchan->sockfd, ZT_ECHOCANCEL, &level);
|
||||
ZAP_COMMAND_OBJ_INT = level;
|
||||
}
|
||||
break;
|
||||
case ZAP_COMMAND_ENABLE_ECHOTRAIN:
|
||||
{
|
||||
int level = ZAP_COMMAND_OBJ_INT;
|
||||
err = ioctl(zchan->sockfd, ZT_ECHOTRAIN, &level);
|
||||
ZAP_COMMAND_OBJ_INT = level;
|
||||
}
|
||||
case ZAP_COMMAND_DISABLE_ECHOTRAIN:
|
||||
{
|
||||
int level = 0;
|
||||
err = ioctl(zchan->sockfd, ZT_ECHOTRAIN, &level);
|
||||
ZAP_COMMAND_OBJ_INT = level;
|
||||
}
|
||||
break;
|
||||
case ZAP_COMMAND_OFFHOOK:
|
||||
{
|
||||
int command = ZT_OFFHOOK;
|
||||
|
Reference in New Issue
Block a user