[Freeswitch-branches] [commit] r11517 - freeswitch/branches/gmaruzz/mod_skypiax

FreeSWITCH SVN gmaruzz at freeswitch.org
Tue Jan 27 13:59:00 PST 2009


Author: gmaruzz
Date: Tue Jan 27 15:59:00 2009
New Revision: 11517

Log:
skypiax: moving switch specific things out of skypiax_protocol.c

Modified:
   freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c

Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	Tue Jan 27 15:59:00 2009
@@ -293,7 +293,7 @@
   tech_pvt->read_frame.flags = SFF_NONE;
   *frame = NULL;
 
-  if (skypiax_skypeaudio_read(tech_pvt) != SWITCH_STATUS_SUCCESS) {
+  if (!skypiax_skypeaudio_read(tech_pvt)) {
 
     ERRORA("skypiax_skypeaudio_read ERROR\n", SKYPIAX_P_LOG);
 
@@ -861,7 +861,7 @@
                                         SWITCH_THREAD_STACKSIZE);
         switch_thread_create(&globals.SKYPIAX_INTERFACES[interface_id].
                              skypiax_skypeapi_thread, skypiax_skypeapi_thread_attr,
-                             skypiax_skypeapi_thread_func,
+                             skypiax_do_skypeapi_thread,
                              &globals.SKYPIAX_INTERFACES[interface_id],
                              skypiax_module_pool);
 
@@ -1013,6 +1013,23 @@
   return SWITCH_STATUS_SUCCESS;
 }
 
+void *SWITCH_THREAD_FUNC skypiax_do_tcp_srv_thread(switch_thread_t * thread,
+                                                          void *obj)
+{
+	return skypiax_do_tcp_srv_thread_func(obj);
+}
+void *SWITCH_THREAD_FUNC skypiax_do_tcp_cli_thread(switch_thread_t * thread,
+                                                          void *obj)
+{
+	return skypiax_do_tcp_cli_thread_func(obj);
+}
+void *SWITCH_THREAD_FUNC skypiax_do_skypeapi_thread(switch_thread_t * thread,
+                                                          void *obj)
+{
+	return skypiax_do_skypeapi_thread_func(obj);
+}
+
+
 /* For Emacs:
  * Local Variables:
  * mode:c

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h	Tue Jan 27 15:59:00 2009
@@ -237,7 +237,7 @@
 void *SWITCH_THREAD_FUNC skypiax_skypeapi_thread_func(switch_thread_t * thread,
                                                       void *obj);
 void skypiax_tech_init(private_t * tech_pvt, switch_core_session_t * session);
-switch_status_t skypiax_skypeaudio_read(private_t * tech_pvt);
+int skypiax_skypeaudio_read(private_t * tech_pvt);
 int skypiax_skypeaudio_init(private_t * tech_pvt);
 int skypiax_skype_write(private_t * tech_pvt, char *msg_to_skype);
 int skypiax_skype_read(private_t * tech_pvt);
@@ -245,3 +245,13 @@
 int skypiax_skype_call(private_t * tech_pvt, char *idest, int timeout,
                        switch_core_session_t * session);
 int skypiax_skype_senddigit(private_t * tech_pvt, char digit);
+
+#define skypiax_sleep switch_sleep
+void * skypiax_do_tcp_srv_thread_func(void *obj);
+void *SWITCH_THREAD_FUNC skypiax_do_tcp_srv_thread(switch_thread_t * thread, void *obj);
+
+void * skypiax_do_tcp_cli_thread_func(void *obj);
+void *SWITCH_THREAD_FUNC skypiax_do_tcp_cli_thread(switch_thread_t * thread, void *obj);
+
+void * skypiax_do_skypeapi_thread_func(void *obj);
+void *SWITCH_THREAD_FUNC skypiax_do_skypeapi_thread(switch_thread_t * thread, void *obj);

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	Tue Jan 27 15:59:00 2009
@@ -12,8 +12,7 @@
 #endif /* WIN32 */
 /*************************************/
 
-static void *SWITCH_THREAD_FUNC skypiax_do_tcp_srv_thread(switch_thread_t * thread,
-                                                          void *obj)
+void * skypiax_do_tcp_srv_thread_func(void *obj)
 {
   private_t *tech_pvt = obj;
   int s;
@@ -155,7 +154,7 @@
 
           } else if (len == 0) {
             DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG);
-            switch_sleep(1000);
+            skypiax_sleep(1000);
           } else {
             ERRORA("len=%d\n", SKYPIAX_P_LOG, len);
             exit = 1;
@@ -205,7 +204,7 @@
 
           } else if (len == 0) {
             DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG);
-            switch_sleep(1000);
+            skypiax_sleep(1000);
           } else {
             ERRORA("SRV len=%d\n", SKYPIAX_P_LOG, len);
             exit = 1;
@@ -218,7 +217,7 @@
       } else {
         if (rt)
           ERRORA("SRV rt=%d\n", SKYPIAX_P_LOG, rt);
-        switch_sleep(10000);
+        skypiax_sleep(10000);
       }
     }
 #ifdef WIN32
@@ -263,8 +262,7 @@
   }
   return NULL;
 }
-static void *SWITCH_THREAD_FUNC skypiax_do_tcp_cli_thread(switch_thread_t * thread,
-                                                          void *obj)
+void * skypiax_do_tcp_cli_thread_func(void *obj)
 {
   private_t *tech_pvt = obj;
   int s;
@@ -383,7 +381,7 @@
               break;
             }
           } else {
-            switch_sleep(1000);
+            skypiax_sleep(1000);
             ERRORA("CLI PIPE give us: %u\n", SKYPIAX_P_LOG, got);
           }
         } else if (SAMPLERATE_SKYPIAX == 16000) {
@@ -412,13 +410,13 @@
               break;
             }
           } else {
-            switch_sleep(1000);
+            skypiax_sleep(1000);
             ERRORA("CLI PIPE give us: %u\n", SKYPIAX_P_LOG, got);
           }
         }
 
       } else {
-        switch_sleep(1000);
+        skypiax_sleep(1000);
         if (rt)
           ERRORA("select give us: %u\n", SKYPIAX_P_LOG, rt);
       }
@@ -473,7 +471,7 @@
   return 0;
 }
 
-switch_status_t skypiax_skypeaudio_read(private_t * tech_pvt)
+int skypiax_skypeaudio_read(private_t * tech_pvt)
 {
   //private_t *p;
   unsigned int samples;
@@ -508,7 +506,7 @@
       //if (samples)
       //ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%lu\n", SKYPIAX_P_LOG, samples, SAMPLES_PER_FRAME * sizeof(short));
       assert(samples == SAMPLES_PER_FRAME * sizeof(short)); //do a crash, please
-      //do nothing
+      return 0;
     } else {
       /* A real frame */
       tech_pvt->read_frame.datalen = samples;
@@ -516,8 +514,9 @@
   } else {
     if (rt)
       DEBUGA_SKYPE("select returned %d\n", SKYPIAX_P_LOG, rt);
+    //do nothing
   }
-  return SWITCH_STATUS_SUCCESS;
+  return 1;
 }
 
 #ifdef WIN32
@@ -619,7 +618,7 @@
           DEBUGA_SKYPE
             ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n",
              SKYPIAX_P_LOG);
-          switch_sleep(5000);
+          skypiax_sleep(5000);
           if (!tech_pvt->SkypiaxHandles.api_connected) {
             SendMessage(HWND_BROADCAST,
                         tech_pvt->SkypiaxHandles.
@@ -636,7 +635,7 @@
           break;
         case SKYPECONTROLAPI_ATTACH_API_AVAILABLE:
           DEBUGA_SKYPE("Skype API available\n", SKYPIAX_P_LOG);
-          switch_sleep(5000);
+          skypiax_sleep(5000);
           if (!tech_pvt->SkypiaxHandles.api_connected) {
             SendMessage(HWND_BROADCAST,
                         tech_pvt->SkypiaxHandles.
@@ -731,7 +730,7 @@
 
 DWORD win32_dwThreadId;
 
-void *SWITCH_THREAD_FUNC skypiax_skypeapi_thread_func(switch_thread_t * thread, void *obj)
+void * skypiax_do_skypeapi_thread_func(void *obj)
 {
   /*  create window class */
   /*    create dummy/hidden window for processing messages */
@@ -751,7 +750,7 @@
   tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover =
     RegisterWindowMessage("SkypeControlAPIDiscover");
 
-  switch_sleep(2000000);
+  skypiax_sleep(2000000);
 
   if (tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach != 0
       && tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover != 0) {
@@ -909,10 +908,10 @@
     DEBUGA_SKYPE("NOT destroyed disp\n", SKYPIAX_P_LOG);
   }
   DEBUGA_SKYPE("OUT destroyed disp\n", SKYPIAX_P_LOG);
-  switch_sleep(1000);
+  skypiax_sleep(1000);
 }
 
-void *SWITCH_THREAD_FUNC skypiax_skypeapi_thread_func(switch_thread_t * thread, void *obj)
+void * skypiax_do_skypeapi_thread_func(void *obj)
 {
 
   private_t *tech_pvt = obj;
@@ -1156,9 +1155,9 @@
             DEBUGA_SKYPE
               ("If I don't connect immediately, please give the Skype client authorization to be connected by Skypiax (and to not ask you again)\n",
                SKYPIAX_P_LOG);
-            switch_sleep(1000000);
+            skypiax_sleep(1000000);
             skypiax_skype_write(tech_pvt, "PROTOCOL 6");
-            switch_sleep(10000);
+            skypiax_sleep(10000);
             return 0;
           }
 
@@ -1400,15 +1399,15 @@
                     tech_pvt->interface_state = SKYPIAX_STATE_RING;
                     /* no owner, no active call, let's answer */
                     skypiax_skype_write(tech_pvt, "SET AGC OFF");
-                    switch_sleep(10000);
+                    skypiax_sleep(10000);
                     skypiax_skype_write(tech_pvt, "SET AEC OFF");
-                    switch_sleep(10000);
+                    skypiax_sleep(10000);
                     sprintf(msg_to_skype, "GET CALL %s PARTNER_DISPNAME", id);
                     skypiax_skype_write(tech_pvt, msg_to_skype);
-                    switch_sleep(10000);
+                    skypiax_sleep(10000);
                     sprintf(msg_to_skype, "GET CALL %s PARTNER_HANDLE", id);
                     skypiax_skype_write(tech_pvt, msg_to_skype);
-                    switch_sleep(10000);
+                    skypiax_sleep(10000);
                     sprintf(msg_to_skype, "ALTER CALL %s ANSWER", id);
                     skypiax_skype_write(tech_pvt, msg_to_skype);
                     if (option_debug)
@@ -1420,7 +1419,7 @@
                     /* we're owned, we're in a call, let's refuse */
                     sprintf(msg_to_skype, "ALTER CALL %s END HANGUP", id);
                     skypiax_skype_write(tech_pvt, msg_to_skype);
-                    switch_sleep(10000);
+                    skypiax_sleep(10000);
                     DEBUGA_SKYPE
                       ("We have NOT answered a Skype RING on skype_call %s, because we are already in a skypiax call\n",
                        SKYPIAX_P_LOG, id);
@@ -1552,15 +1551,15 @@
                                        skypiax_do_tcp_cli_thread, tech_pvt,
                                        skypiax_module_pool);
                   DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG);
-                  switch_sleep(100000);
+                  skypiax_sleep(100000);
                   sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id,
                           tech_pvt->tcp_srv_port);
                   skypiax_skype_write(tech_pvt, msg_to_skype);
-                  switch_sleep(100000);
+                  skypiax_sleep(100000);
                   sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id,
                           tech_pvt->tcp_cli_port);
                   skypiax_skype_write(tech_pvt, msg_to_skype);
-                  switch_sleep(100000);
+                  skypiax_sleep(100000);
                 }
 
                 tech_pvt->skype_callflow = SKYPIAX_STATE_UP;
@@ -1698,16 +1697,16 @@
   if (option_debug > 10) {
     DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
   }
-  switch_sleep(5000);
+  skypiax_sleep(5000);
 
   rdest = strchr(idest, '/');
   *rdest++ = '\0';
 
   DEBUGA_SKYPE("Calling Skype, rdest is: %s\n", SKYPIAX_P_LOG, rdest);
   skypiax_skype_write(tech_pvt, "SET AGC OFF");
-  switch_sleep(10000);
+  skypiax_sleep(10000);
   skypiax_skype_write(tech_pvt, "SET AEC OFF");
-  switch_sleep(10000);
+  skypiax_sleep(10000);
 
   sprintf(msg_to_skype, "CALL %s", rdest);
   if (skypiax_skype_write(tech_pvt, msg_to_skype) < 0) {



More information about the Freeswitch-branches mailing list