]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
skypiax: indent -gnu -ts4 -br -brs -cdw -lp -ce -nbfda -npcs -nprs -npsl -nbbo -saf...
authorGiovanni Maruzzelli <gmaruzz@gmail.com>
Mon, 27 Jul 2009 15:56:07 +0000 (15:56 +0000)
committerGiovanni Maruzzelli <gmaruzz@gmail.com>
Mon, 27 Jul 2009 15:56:07 +0000 (15:56 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14375 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_skypiax/mod_skypiax.c
src/mod/endpoints/mod_skypiax/skypiax.h
src/mod/endpoints/mod_skypiax/skypiax_protocol.c

index 7ee6d94a6ecfbd08d9a2c52ef47c8e3412644c40..bb888ccf915357ad2de832fdd52a67363d76eeb3 100644 (file)
 /***************/
 // from http://www.openasthra.com/c-tidbits/gettimeofday-function-for-windows/
 
-#include <time.h>\r
-     \r
-#if defined(_MSC_VER) || defined(_MSC_EXTENSIONS)\r
-#define DELTA_EPOCH_IN_MICROSECS  11644473600000000Ui64\r
-#else\r
-#define DELTA_EPOCH_IN_MICROSECS  11644473600000000ULL\r
-#endif\r
-     \r
-    struct timezone \r
-    {\r
-      int  tz_minuteswest; /* minutes W of Greenwich */\r
-      int  tz_dsttime;     /* type of dst correction */\r
-    };\r
-     \r
-    int gettimeofday(struct timeval *tv, struct timezone *tz)\r
-    {\r
-      FILETIME ft;\r
-      unsigned __int64 tmpres = 0;\r
-      static int tzflag;\r
-     \r
-      if (NULL != tv)\r
-      {\r
-        GetSystemTimeAsFileTime(&ft);\r
-     \r
-        tmpres |= ft.dwHighDateTime;\r
-        tmpres <<= 32;\r
-        tmpres |= ft.dwLowDateTime;\r
-     \r
-        /*converting file time to unix epoch*/\r
-        tmpres /= 10;  /*convert into microseconds*/\r
-        tmpres -= DELTA_EPOCH_IN_MICROSECS; \r
-        tv->tv_sec = (long)(tmpres / 1000000UL);\r
-        tv->tv_usec = (long)(tmpres % 1000000UL);\r
-      }\r
-     \r
-      if (NULL != tz)\r
-      {\r
-        if (!tzflag)\r
-        {\r
-          _tzset();\r
-          tzflag++;\r
-        }\r
-        tz->tz_minuteswest = _timezone / 60;\r
-        tz->tz_dsttime = _daylight;\r
-      }\r
-     \r
-      return 0;\r
-    }\r
+#include <time.h>
+
+#if defined(_MSC_VER) || defined(_MSC_EXTENSIONS)
+#define DELTA_EPOCH_IN_MICROSECS  11644473600000000Ui64
+#else /*  */
+#define DELTA_EPOCH_IN_MICROSECS  11644473600000000ULL
+#endif /*  */
+struct timezone {
+  int tz_minuteswest;           /* minutes W of Greenwich */
+  int tz_dsttime;               /* type of dst correction */
+};
+int gettimeofday(struct timeval *tv, struct timezone *tz)
+{
+  FILETIME ft;
+  unsigned __int64 tmpres = 0;
+  static int tzflag;
+  if (NULL != tv) {
+    GetSystemTimeAsFileTime(&ft);
+    tmpres |= ft.dwHighDateTime;
+    tmpres <<= 32;
+    tmpres |= ft.dwLowDateTime;
+
+    /*converting file time to unix epoch */
+    tmpres /= 10;               /*convert into microseconds */
+    tmpres -= DELTA_EPOCH_IN_MICROSECS;
+    tv->tv_sec = (long) (tmpres / 1000000UL);
+    tv->tv_usec = (long) (tmpres % 1000000UL);
+  }
+  if (NULL != tz) {
+    if (!tzflag) {
+      _tzset();
+      tzflag++;
+    }
+    tz->tz_minuteswest = _timezone / 60;
+    tz->tz_dsttime = _daylight;
+  }
+  return 0;
+}
+
 /***************/
 #endif /* WIN32 */
-
 SWITCH_MODULE_LOAD_FUNCTION(mod_skypiax_load);
 SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_skypiax_shutdown);
 SWITCH_MODULE_DEFINITION(mod_skypiax, mod_skypiax_load, mod_skypiax_shutdown, NULL);
@@ -140,8 +130,8 @@ SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_codec_rates_string,
                                   globals.codec_rates_string);
 
 /* BEGIN: Changes here */
-static switch_status_t interface_exists(charskype_user);
-static switch_status_t remove_interface(charskype_user);
+static switch_status_t interface_exists(char *skype_user);
+static switch_status_t remove_interface(char *skype_user);
 /* END: Changes here */
 
 static switch_status_t channel_on_init(switch_core_session_t * session);
@@ -221,93 +211,102 @@ void skypiax_tech_init(private_t * tech_pvt, switch_core_session_t * session)
 }
 
 /* BEGIN: Changes here */
-static switch_status_t interface_exists(char* skype_user) {
-       int i;
-       for (i = 0; i < SKYPIAX_MAX_INTERFACES; i++) {
-               if (strlen(globals.SKYPIAX_INTERFACES[i].name)) {
-                       if(strcmp(globals.SKYPIAX_INTERFACES[i].skype_user, skype_user) == 0) {
-                               return SWITCH_STATUS_SUCCESS;
-                       }
-               }
-       }
-       return SWITCH_STATUS_FALSE;
+static switch_status_t interface_exists(char *skype_user)
+{
+  int i;
+  for (i = 0; i < SKYPIAX_MAX_INTERFACES; i++) {
+    if (strlen(globals.SKYPIAX_INTERFACES[i].name)) {
+      if (strcmp(globals.SKYPIAX_INTERFACES[i].skype_user, skype_user) == 0) {
+        return SWITCH_STATUS_SUCCESS;
+      }
+    }
+  }
+  return SWITCH_STATUS_FALSE;
 }
 
-static switch_status_t remove_interface(char* skype_user) {
-       int x = 100;
-       unsigned int howmany = 8;
-       int interface_id = -1;
-       private_t *tech_pvt = NULL;
-       switch_status_t status;
-
-       running = 0;
-
-       for (interface_id = 0; interface_id < SKYPIAX_MAX_INTERFACES; interface_id++) {
-               if(strcmp(globals.SKYPIAX_INTERFACES[interface_id].skype_user, skype_user) == 0) {
-                       tech_pvt = &globals.SKYPIAX_INTERFACES[interface_id];
-                       break;
-               }
-       }
-
-       if(!tech_pvt) {
-               DEBUGA_SKYPE("interface for skype user '%s' does not exist\n", SKYPIAX_P_LOG, skype_user);
-               goto end;
-       }
-
-       if (strlen(globals.SKYPIAX_INTERFACES[interface_id].session_uuid_str)) {
-               DEBUGA_SKYPE("interface for skype user '%s' is busy\n", SKYPIAX_P_LOG, skype_user);
-               goto end;
-       }
-
-       if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_signaling_thread) {
+static switch_status_t remove_interface(char *skype_user)
+{
+  int x = 100;
+  unsigned int howmany = 8;
+  int interface_id = -1;
+  private_t *tech_pvt = NULL;
+  switch_status_t status;
+
+  running = 0;
+
+  for (interface_id = 0; interface_id < SKYPIAX_MAX_INTERFACES; interface_id++) {
+    if (strcmp(globals.SKYPIAX_INTERFACES[interface_id].skype_user, skype_user) == 0) {
+      tech_pvt = &globals.SKYPIAX_INTERFACES[interface_id];
+      break;
+    }
+  }
+
+  if (!tech_pvt) {
+    DEBUGA_SKYPE("interface for skype user '%s' does not exist\n", SKYPIAX_P_LOG,
+                 skype_user);
+    goto end;
+  }
+
+  if (strlen(globals.SKYPIAX_INTERFACES[interface_id].session_uuid_str)) {
+    DEBUGA_SKYPE("interface for skype user '%s' is busy\n", SKYPIAX_P_LOG, skype_user);
+    goto end;
+  }
+
+  if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_signaling_thread) {
 #ifdef WIN32
-               switch_file_write(tech_pvt->SkypiaxHandles.fdesc[1], "sciutati", &howmany);   // let's the controldev_thread die
+    switch_file_write(tech_pvt->SkypiaxHandles.fdesc[1], "sciutati", &howmany); // let's the controldev_thread die
 #else /* WIN32 */
-               howmany = write(tech_pvt->SkypiaxHandles.fdesc[1], "sciutati", howmany);
+    howmany = write(tech_pvt->SkypiaxHandles.fdesc[1], "sciutati", howmany);
 #endif /* WIN32 */
-       }
+  }
 
-       if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_api_thread) {
+  if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_api_thread) {
 #ifdef WIN32
-               if (SendMessage(tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, WM_DESTROY, 0, 0) == FALSE) {  // let's the skypiax_api_thread_func die
-                       DEBUGA_SKYPE("got FALSE here, thread probably was already dead. GetLastError returned: %d\n",
-                                       SKYPIAX_P_LOG, GetLastError());
-                       globals.SKYPIAX_INTERFACES[interface_id].skypiax_api_thread = NULL;
-               }
+    if (SendMessage(tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, WM_DESTROY, 0, 0) == FALSE) {    // let's the skypiax_api_thread_func die
+      DEBUGA_SKYPE
+        ("got FALSE here, thread probably was already dead. GetLastError returned: %d\n",
+         SKYPIAX_P_LOG, GetLastError());
+      globals.SKYPIAX_INTERFACES[interface_id].skypiax_api_thread = NULL;
+    }
 #else
-               XEvent e;
-               Atom atom1 = XInternAtom(tech_pvt->SkypiaxHandles.disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False);
-               memset(&e, 0, sizeof(e));
-               e.xclient.type = ClientMessage;
-               e.xclient.message_type = atom1;   /*  leading message */
-               e.xclient.display = tech_pvt->SkypiaxHandles.disp;
-               e.xclient.window = tech_pvt->SkypiaxHandles.skype_win;
-               e.xclient.format = 8;
-
-               XSendEvent(tech_pvt->SkypiaxHandles.disp, tech_pvt->SkypiaxHandles.win, False, 0, &e);
-               XSync(tech_pvt->SkypiaxHandles.disp, False);
+    XEvent e;
+    Atom atom1 =
+      XInternAtom(tech_pvt->SkypiaxHandles.disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False);
+    memset(&e, 0, sizeof(e));
+    e.xclient.type = ClientMessage;
+    e.xclient.message_type = atom1; /*  leading message */
+    e.xclient.display = tech_pvt->SkypiaxHandles.disp;
+    e.xclient.window = tech_pvt->SkypiaxHandles.skype_win;
+    e.xclient.format = 8;
+
+    XSendEvent(tech_pvt->SkypiaxHandles.disp, tech_pvt->SkypiaxHandles.win, False, 0, &e);
+    XSync(tech_pvt->SkypiaxHandles.disp, False);
 #endif
-       }
+  }
 
-       while (x) {                 //FIXME 2 seconds?
-               x--;
-               switch_yield(20000);
-       }
+  while (x) {                   //FIXME 2 seconds?
+    x--;
+    switch_yield(20000);
+  }
 
-       if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_signaling_thread) {
-               switch_thread_join(&status, globals.SKYPIAX_INTERFACES[interface_id].skypiax_signaling_thread);
-       }
+  if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_signaling_thread) {
+    switch_thread_join(&status,
+                       globals.SKYPIAX_INTERFACES[interface_id].skypiax_signaling_thread);
+  }
 
-       if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_api_thread) {
-               switch_thread_join(&status, globals.SKYPIAX_INTERFACES[interface_id].skypiax_api_thread);
-       }
+  if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_api_thread) {
+    switch_thread_join(&status,
+                       globals.SKYPIAX_INTERFACES[interface_id].skypiax_api_thread);
+  }
 
-       memset(&globals.SKYPIAX_INTERFACES[interface_id], '\0',sizeof(private_t));
-       DEBUGA_SKYPE("interface for skype user '%s' deleted successfully\n", SKYPIAX_P_LOG, skype_user);
+  memset(&globals.SKYPIAX_INTERFACES[interface_id], '\0', sizeof(private_t));
+  DEBUGA_SKYPE("interface for skype user '%s' deleted successfully\n", SKYPIAX_P_LOG,
+               skype_user);
 end:
-       running = 1;
-       return SWITCH_STATUS_SUCCESS;
+  running = 1;
+  return SWITCH_STATUS_SUCCESS;
 }
+
 /* END: Changes here */
 
 /* 
@@ -983,10 +982,10 @@ static switch_status_t load_config(int reload_type)
       }
 
       /* BEGIN: Changes here */
-      if(reload_type == SOFT_RELOAD) {
-        if(interface_exists(skype_user) == SWITCH_STATUS_SUCCESS) {
-         continue;
-       }
+      if (reload_type == SOFT_RELOAD) {
+        if (interface_exists(skype_user) == SWITCH_STATUS_SUCCESS) {
+          continue;
+        }
       }
       /* END: Changes here */
 
@@ -1622,19 +1621,19 @@ SWITCH_STANDARD_API(sk_function)
 
 /* BEGIN: Changes heres */
   } else if (!strcasecmp(argv[0], "reload")) {
-    if(load_config(SOFT_RELOAD) != SWITCH_STATUS_SUCCESS) {
+    if (load_config(SOFT_RELOAD) != SWITCH_STATUS_SUCCESS) {
       stream->write_function(stream, "sk reload failed\n");
     } else {
       stream->write_function(stream, "sk reload success\n");
     }
   } else if (!strcasecmp(argv[0], "remove")) {
-    if(argc == 2) {
-      if(remove_interface(argv[1]) == SWITCH_STATUS_SUCCESS) {
-       if(interface_exists(argv[1]) == SWITCH_STATUS_SUCCESS) {
+    if (argc == 2) {
+      if (remove_interface(argv[1]) == SWITCH_STATUS_SUCCESS) {
+        if (interface_exists(argv[1]) == SWITCH_STATUS_SUCCESS) {
           stream->write_function(stream, "sk remove '%s' failed\n", argv[1]);
-       } else {
-          stream->write_function(stream, "sk remove '%s' success\n",argv[1]);
-       }
+        } else {
+          stream->write_function(stream, "sk remove '%s' success\n", argv[1]);
+        }
       }
     } else {
       stream->write_function(stream, "-ERR Usage: sk remove interface_name\n");
index bde8705eec86498eb6bf3778e985c9245131a0ac..d50e3c91293337d65842992e16383d1da95b38b2 100644 (file)
@@ -37,7 +37,6 @@
 #include <switch.h>
 #include <switch_version.h>
 
-
 #ifndef WIN32
 #include <sys/time.h>
 #include <X11/Xlib.h>
index 5aaf140006fb08eb23e29019d36846af08ccd528..07c0be6e0b82e52ed08613de4d663f7ae0ca2ca4 100644 (file)
@@ -181,7 +181,7 @@ int skypiax_signaling_read(private_t * tech_pvt)
               /* this is the call in which we are calling out */
               DEBUGA_SKYPE("Call %s NOTHING\n", SKYPIAX_P_LOG, id);
             } else {
-              skypiax_sleep(400000);   //0.4 seconds
+              skypiax_sleep(400000);    //0.4 seconds
               DEBUGA_SKYPE("Call %s TRY TRANSFER\n", SKYPIAX_P_LOG, id);
               skypiax_transfer(tech_pvt, id, value);
             }
@@ -252,8 +252,8 @@ int skypiax_signaling_read(private_t * tech_pvt)
             char msg_to_skype[1024];
             tech_pvt->skype_callflow = CALLFLOW_STATUS_EARLYMEDIA;
             tech_pvt->interface_state = SKYPIAX_STATE_DIALING;
-            DEBUGA_SKYPE("Our remote party in skype_call %s is EARLYMEDIA\n", SKYPIAX_P_LOG,
-                   id);
+            DEBUGA_SKYPE("Our remote party in skype_call %s is EARLYMEDIA\n",
+                         SKYPIAX_P_LOG, id);
             start_audio_threads(tech_pvt);
             skypiax_sleep(1000);
             sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id,
@@ -391,7 +391,7 @@ int skypiax_signaling_read(private_t * tech_pvt)
                             sizeof(tech_pvt->skype_call_id) - 1);
             tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
             tech_pvt->skype_call_id[0] = '\0';
-                       skypiax_sleep(1000);
+            skypiax_sleep(1000);
             return CALLFLOW_INCOMING_HANGUP;
           } else if (!strcasecmp(value, "WAITING_REDIAL_COMMAND")) {
             tech_pvt->skype_callflow = CALLFLOW_STATUS_FAILED;
@@ -402,7 +402,7 @@ int skypiax_signaling_read(private_t * tech_pvt)
                             sizeof(tech_pvt->skype_call_id) - 1);
             tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
             tech_pvt->skype_call_id[0] = '\0';
-                       skypiax_sleep(1000);
+            skypiax_sleep(1000);
             return CALLFLOW_INCOMING_HANGUP;
           } else {
             WARNINGA("skype_call: %s, STATUS: %s is not recognized\n", SKYPIAX_P_LOG, id,
@@ -695,7 +695,7 @@ void *skypiax_do_tcp_cli_thread_func(void *obj)
         DEBUGA_SKYPE("ACCEPTED here you send me %d\n", SKYPIAX_P_LOG,
                      tech_pvt->tcp_cli_port);
 #ifndef WIN32
-               fcntl(tech_pvt->audioskypepipe[0], F_SETFL, O_NONBLOCK);
+        fcntl(tech_pvt->audioskypepipe[0], F_SETFL, O_NONBLOCK);
 #endif //WIN32
 
         if (!running)
@@ -713,7 +713,7 @@ void *skypiax_do_tcp_cli_thread_func(void *obj)
           if (!running)
             break;
           FD_ZERO(&fs);
-          to.tv_usec = 120000;   //120msec
+          to.tv_usec = 120000;  //120msec
           to.tv_sec = 0;
 #if defined(WIN32) && !defined(__CYGWIN__)
 /* on win32 we cannot select from the apr "pipe", so we select on socket writability */
@@ -730,63 +730,63 @@ void *skypiax_do_tcp_cli_thread_func(void *obj)
 #endif
 
           if (rt > 0) {
-                         int counter;
-
-                         /* until we drained the pipe to empty */
-                       for(counter = 0; counter < 10; counter++){
-            /* read from the pipe the audio frame we are supposed to send out */
-            got =
-              skypiax_pipe_read(tech_pvt->audioskypepipe[0], cli_in,
-                                SAMPLES_PER_FRAME * sizeof(short));
-                       if(got == -1)
-                               break;
-
-            if (got != SAMPLES_PER_FRAME * sizeof(short)) {
-              WARNINGA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got,
-                       (int) (SAMPLES_PER_FRAME * sizeof(short)));
-            }
-
-            if (got == SAMPLES_PER_FRAME * sizeof(short)) {
-              if (samplerate_skypiax == 8000) {
+            int counter;
+
+            /* until we drained the pipe to empty */
+            for (counter = 0; counter < 10; counter++) {
+              /* read from the pipe the audio frame we are supposed to send out */
+              got =
+                skypiax_pipe_read(tech_pvt->audioskypepipe[0], cli_in,
+                                  SAMPLES_PER_FRAME * sizeof(short));
+              if (got == -1)
+                break;
+
+              if (got != SAMPLES_PER_FRAME * sizeof(short)) {
+                WARNINGA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got,
+                         (int) (SAMPLES_PER_FRAME * sizeof(short)));
+              }
 
-                /* we're upsampling from 8khz to 16khz, cli_out will contain two times each sample from cli_in */
-                a = 0;
-                for (i = 0; i < got / sizeof(short); i++) {
-                  cli_out[a] = cli_in[i];
-                  a++;
-                  cli_out[a] = cli_in[i];
-                  a++;
-                }
-                got = got * 2;
-              } else if (samplerate_skypiax == 16000) {
-                /* we're NOT upsampling, cli_out will contain just ALL samples from cli_in */
-                for (i = 0; i < got / sizeof(short); i++) {
-                  cli_out[i] = cli_in[i];
+              if (got == SAMPLES_PER_FRAME * sizeof(short)) {
+                if (samplerate_skypiax == 8000) {
+
+                  /* we're upsampling from 8khz to 16khz, cli_out will contain two times each sample from cli_in */
+                  a = 0;
+                  for (i = 0; i < got / sizeof(short); i++) {
+                    cli_out[a] = cli_in[i];
+                    a++;
+                    cli_out[a] = cli_in[i];
+                    a++;
+                  }
+                  got = got * 2;
+                } else if (samplerate_skypiax == 16000) {
+                  /* we're NOT upsampling, cli_out will contain just ALL samples from cli_in */
+                  for (i = 0; i < got / sizeof(short); i++) {
+                    cli_out[i] = cli_in[i];
+                  }
+                } else {
+                  ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG);
                 }
-              } else {
-                ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG);
-              }
 
-              /* send the 16khz frame to the Skype client waiting for incoming audio to be sent to the remote party */
-              if (tech_pvt->skype_callflow != CALLFLOW_STATUS_REMOTEHOLD) {
-                len = send(fd, (char *) cli_out, got, 0);
-                skypiax_sleep(5000);    //5 msec
-
-                if (len == -1) {
-                  break;
-                } else if (len != got) {
-                  ERRORA("len=%d\n", SKYPIAX_P_LOG, len);
-                  skypiax_sleep(1000);
-                  break;
+                /* send the 16khz frame to the Skype client waiting for incoming audio to be sent to the remote party */
+                if (tech_pvt->skype_callflow != CALLFLOW_STATUS_REMOTEHOLD) {
+                  len = send(fd, (char *) cli_out, got, 0);
+                  skypiax_sleep(5000);  //5 msec
+
+                  if (len == -1) {
+                    break;
+                  } else if (len != got) {
+                    ERRORA("len=%d\n", SKYPIAX_P_LOG, len);
+                    skypiax_sleep(1000);
+                    break;
+                  }
                 }
-              }
 
-            } else {
+              } else {
 
-              WARNINGA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got,
-                       (int) (SAMPLES_PER_FRAME * sizeof(short)));
+                WARNINGA("got is %d, but was expected to be %d\n", SKYPIAX_P_LOG, got,
+                         (int) (SAMPLES_PER_FRAME * sizeof(short)));
+              }
             }
-                       }
           } else {
             if (rt)
               ERRORA("CLI rt=%d\n", SKYPIAX_P_LOG, rt);