From: Super User Date: Sun, 23 Sep 2007 07:43:30 +0000 (+0200) Subject: removed some usleep debugging, so audioprocessing will not hang X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=commitdiff_plain;h=59b8aa319440a9e58976cc921775889a27eb5347 removed some usleep debugging, so audioprocessing will not hang --- diff --git a/dss1.cpp b/dss1.cpp index cd6a41e..18eb511 100644 --- a/dss1.cpp +++ b/dss1.cpp @@ -3188,6 +3188,9 @@ int stack2manager_nt(void *dat, void *arg) case CC_RELEASE_COMPLETE | INDICATION: break; + case CC_FACILITY | INDICATION: + break; + default: PERROR("unhandled message: prim(0x%x) dinfo(0x%x) msg->len(%d)\n", hh->prim, hh->dinfo, msg->len); port = port_first; diff --git a/mISDN.cpp b/mISDN.cpp index 0abffd6..7a95c9f 100644 --- a/mISDN.cpp +++ b/mISDN.cpp @@ -1971,7 +1971,7 @@ int PmISDN::message_epoint(unsigned long epoint_id, int message_id, union parame #ifdef SOCKET_MISDN int mISDN_handler(void) { - int ret; + int ret, work = 0; struct mISDNport *mISDNport; class PmISDN *isdnport; int i; @@ -2050,6 +2050,7 @@ int mISDN_handler(void) ret = recv(mISDNport->b_stack[i], buffer, sizeof(buffer), 0); if (ret >= MISDN_HEADER_LEN) { + work = 1; switch(hh->prim) { /* we don't care about confirms, we use rx data to sync tx */ @@ -2060,6 +2061,7 @@ int mISDN_handler(void) /* we receive audio data, we respond to it AND we send tones */ case PH_DATA_IND: case DL_DATA_IND: + case PH_SIGNAL_IND: case PH_CONTROL_IND: if (mISDNport->b_port[i]) mISDNport->b_port[i]->bchannel_receive(hh, buffer+MISDN_HEADER_LEN, ret-MISDN_HEADER_LEN); @@ -2120,6 +2122,8 @@ int mISDN_handler(void) mISDNport = mISDNport->next; } + /* if we received at least one b-frame, we will return 1 */ + return(work); } #else int mISDN_handler(void) diff --git a/main.c b/main.c index 38c710a..3481245 100644 --- a/main.c +++ b/main.c @@ -472,15 +472,15 @@ int main(int argc, char *argv[]) /* all loops must be counted from the beginning since nodes might get freed during handler */ all_idle = 1; -#warning debugging usleep crash - debug_usleep(1, __FILE__, __LINE__, now_tm->tm_hour, now_tm->tm_min, now_tm->tm_sec); +//#warning debugging usleep crash +// debug_usleep(1, __FILE__, __LINE__, now_tm->tm_hour, now_tm->tm_min, now_tm->tm_sec); /* handle mISDN messages from kernel */ debug_prefix = "ISDN"; if (mISDN_handler()) all_idle = 0; -#warning debugging usleep crash - debug_usleep(1, __FILE__, __LINE__, now_tm->tm_hour, now_tm->tm_min, now_tm->tm_sec); +//#warning debugging usleep crash +// debug_usleep(1, __FILE__, __LINE__, now_tm->tm_hour, now_tm->tm_min, now_tm->tm_sec); BUDETECT @@ -623,8 +623,8 @@ BUDETECT all_idle = 0; } #endif -#warning debugging usleep crash - debug_usleep(1, __FILE__, __LINE__, now_tm->tm_hour, now_tm->tm_min, now_tm->tm_sec); +//#warning debugging usleep crash +// debug_usleep(1, __FILE__, __LINE__, now_tm->tm_hour, now_tm->tm_min, now_tm->tm_sec); /* do idle checking */ if (idlecheck != now)