summaryrefslogtreecommitdiffstats
path: root/bchannel.h
diff options
context:
space:
mode:
Diffstat (limited to 'bchannel.h')
-rw-r--r--bchannel.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/bchannel.h b/bchannel.h
index f7b3860..55ce323 100644
--- a/bchannel.h
+++ b/bchannel.h
@@ -9,12 +9,18 @@
** **
\*****************************************************************************/
+/* this test produces a test tone to test gaps in audio stream */
+//#define SEAMLESS_TEST
+
+#define QUEUE_BUFFER_SIZE 8192 /* must be the power of two */
+#define QUEUE_BUFFER_MAX 4096 /* half of size */
struct bchannel {
struct bchannel *next;
struct chan_call *call; /* link to call process */
unsigned int handle; /* handle for stack id */
int b_sock; /* socket for b-channel */
+ struct lcr_fd lcr_fd; /* socket register */
int b_mode; /* dsp, raw, dsphdlc */
int b_state;
int b_txdata;
@@ -30,6 +36,15 @@ struct bchannel {
int b_dtmf;
int b_bf_len;
unsigned char b_bf_key[128];
+ int nodsp_queue; /* enables nodsp_queue_buffer */
+ unsigned char nodsp_queue_buffer[QUEUE_BUFFER_SIZE];
+ /* buffer for seamless transmission */
+ unsigned int nodsp_queue_in, nodsp_queue_out;
+ /* in and out pointers */
+ int queue_sent; /* data for mISDN was not confrmed yet */
+#ifdef SEAMLESS_TEST
+ int test;
+#endif
};
@@ -39,7 +54,7 @@ extern pid_t bchannel_pid;
int bchannel_initialize(void);
void bchannel_deinitialize(void);
void bchannel_destroy(struct bchannel *bchannel);
-int bchannel_create(struct bchannel *channel, int mode);
+int bchannel_create(struct bchannel *channel, int mode, int queue);
void bchannel_activate(struct bchannel *channel, int activate);
void bchannel_transmit(struct bchannel *channel, unsigned char *data, int len);
void bchannel_join(struct bchannel *channel, unsigned short id);
@@ -47,7 +62,6 @@ void bchannel_dtmf(struct bchannel *channel, int on);
void bchannel_blowfish(struct bchannel *bchannel, unsigned char *key, int len);
void bchannel_pipeline(struct bchannel *bchannel, char *pipeline);
void bchannel_gain(struct bchannel *bchannel, int gain, int tx);
-int bchannel_handle(void);
struct bchannel *find_bchannel_handle(unsigned int handle);
//struct bchannel *find_bchannel_ref(unsigned int ref);
struct bchannel *alloc_bchannel(unsigned int handle);