X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=bchannel.h;h=55ce3238b0892c88094a37c3df13eacf2a211995;hp=2b03444f0313b3c1a6291b680e792c09f562a10a;hb=3e1c6a9f43301783ef2f517a0ce7d6204c987145;hpb=b0bd74e35e935aa976b68c594def4e8d2c22ef95 diff --git a/bchannel.h b/bchannel.h index 2b03444..55ce323 100644 --- a/bchannel.h +++ b/bchannel.h @@ -9,6 +9,11 @@ ** ** \*****************************************************************************/ +/* 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; @@ -31,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 }; @@ -40,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);