removed some usleep debugging, so audioprocessing will not hang
authorSuper User <root@isdn.jolly.ten>
Sun, 23 Sep 2007 07:43:30 +0000 (09:43 +0200)
committerSuper User <root@isdn.jolly.ten>
Sun, 23 Sep 2007 07:43:30 +0000 (09:43 +0200)
dss1.cpp
mISDN.cpp
main.c

index cd6a41e..18eb511 100644 (file)
--- 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;
index 0abffd6..7a95c9f 100644 (file)
--- 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 (file)
--- 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)