[Freeswitch-svn] [commit] r11694 - freeswitch/branches/gmaruzz/mod_skypiax

FreeSWITCH SVN gmaruzz at freeswitch.org
Sun Feb 8 09:10:44 PST 2009


Author: gmaruzz
Date: Sun Feb  8 11:10:44 2009
New Revision: 11694

Log:
skypiax: cleaning skypiax_protocol.c

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

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	Sun Feb  8 11:10:44 2009
@@ -7,8 +7,8 @@
 extern char *skypiax_console_active;
 #else /* FREESWITCH */
 #define skypiax_sleep switch_sleep
-//#define skypiax_file_write switch_file_write
-#define skypiax_file_read switch_file_read
+//#define skypiax_pipe_write switch_file_write
+//#define skypiax_pipe_read switch_file_read
 extern switch_memory_pool_t *skypiax_module_pool;
 extern switch_endpoint_interface_t *skypiax_endpoint_interface;
 #endif /* ASTERISK */
@@ -23,8 +23,31 @@
 #endif /* WIN32 */
 /*************************************/
 
+
+#if defined(WIN32) && !defined(__CYGWIN__)
+int skypiax_pipe_read(switch_file_t * pipe, short *buf, int howmany)
+{
+  switch_size_t quantity;
+
+  quantity = howmany;
+
+  switch_file_read(pipe, buf, &quantity);
+
+  howmany = quantity;
+
+  return howmany;
+}
+#else /* WIN32 */
+int skypiax_pipe_read(int pipe, short *buf, int howmany)
+{
+  howmany = read(pipe, buf, howmany);
+  return howmany;
+}
+#endif /* WIN32 */
+
+
 #if defined(WIN32) && !defined(__CYGWIN__)
-int skypiax_file_write(switch_file_t * pipe, short *buf, int howmany)
+int skypiax_pipe_write(switch_file_t * pipe, short *buf, int howmany)
 {
   switch_size_t quantity;
 
@@ -37,12 +60,14 @@
   return howmany;
 }
 #else /* WIN32 */
-int skypiax_file_write(int pipe, short *buf, int howmany)
+int skypiax_pipe_write(int pipe, short *buf, int howmany)
 {
   howmany = write(pipe, buf, howmany);
   return howmany;
 }
 #endif /* WIN32 */
+
+
 #if defined(WIN32) && !defined(__CYGWIN__)
 int skypiax_close_socket(unsigned int fd)
 {
@@ -153,7 +178,7 @@
               a++;
             }
           } else if (SAMPLERATE_SKYPIAX == 16000) {
-            /* we're NOT downsampling from 16khz to 8khz, srv_out will contain ALL samples from srv_in */
+            /* we're NOT downsampling, srv_out will contain ALL samples from srv_in */
             for (i = 0; i < len / sizeof(short); i++) {
               srv_out[i] = srv_in[i];
             }
@@ -177,7 +202,7 @@
             }
             /* send the complete frame through the pipe to our code waiting for incoming audio */
             howmany =
-              skypiax_file_write(tech_pvt->audiopipe[1], totalbuf,
+              skypiax_pipe_write(tech_pvt->audiopipe[1], totalbuf,
                                  SAMPLES_PER_FRAME * sizeof(short));
             if (howmany != SAMPLES_PER_FRAME * sizeof(short)) {
               ERRORA("howmany is %d, but was expected to be %d\n", SKYPIAX_P_LOG, howmany,
@@ -204,17 +229,18 @@
 
     }
 
+    /* let's send some frame in the pipes, so both tcp_cli and tcp_srv will have an occasion to die */
     kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
-    len = skypiax_file_write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size);
+    len = skypiax_pipe_write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size);
     kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
-    len = skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size);
+    len = skypiax_pipe_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size);
     tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
     kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
-    len = skypiax_file_write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size);
+    len = skypiax_pipe_write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size);
     kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
-    len = skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size);
+    len = skypiax_pipe_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size);
 
-    DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG);
+    DEBUGA_SKYPE("Skype incoming audio GONE\n", SKYPIAX_P_LOG);
     skypiax_close_socket(fd);
     if (exit)
       break;
@@ -227,6 +253,8 @@
   }
   return NULL;
 }
+
+
 void *skypiax_do_tcp_cli_thread_func(void *obj)
 {
   private_t *tech_pvt = obj;
@@ -317,11 +345,7 @@
       if (rt > 0) {
         if ((SAMPLERATE_SKYPIAX - 8000) == 0) {
           got = SAMPLES_PER_FRAME * sizeof(short);
-#if defined(WIN32) && !defined(__CYGWIN__)
-          skypiax_file_read(tech_pvt->audioskypepipe[0], cli_in, &got);
-#else /* WIN32 */
-          got = read(tech_pvt->audioskypepipe[0], cli_in, got);
-#endif /* WIN32 */
+          got = skypiax_pipe_read(tech_pvt->audioskypepipe[0], cli_in, got);
 
           if (got > 0) {
             a = 0;
@@ -347,11 +371,7 @@
           }
         } else if (SAMPLERATE_SKYPIAX == 16000) {
           got = SAMPLES_PER_FRAME * sizeof(short);
-#if defined(WIN32) && !defined(__CYGWIN__)
-          skypiax_file_read(tech_pvt->audioskypepipe[0], cli_in, &got);
-#else /* WIN32 */
-          got = read(tech_pvt->audioskypepipe[0], cli_in, got);
-#endif /* WIN32 */
+          got = skypiax_pipe_read(tech_pvt->audioskypepipe[0], cli_in, got);
 
           if (got > 0) {
             if (got != SAMPLES_PER_FRAME * sizeof(short))
@@ -450,11 +470,7 @@
 #endif /* WIN32 */
   if (rt > 0) {
     samples = SAMPLES_PER_FRAME * sizeof(short);
-#if defined(WIN32) && !defined(__CYGWIN__)
-    skypiax_file_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, &samples);
-#else /* WIN32 */
-    samples = read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, samples);
-#endif /* WIN32 */
+    samples = skypiax_pipe_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, samples);
 
     //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]);
     //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]);
@@ -554,7 +570,7 @@
       howmany = strlen(msg_from_skype) + 1;
 //#if defined(WIN32) && !defined(__CYGWIN__) 
       howmany =
-        skypiax_file_write(tech_pvt->SkypiaxHandles.fdesc[1], (short *) msg_from_skype,
+        skypiax_pipe_write(tech_pvt->SkypiaxHandles.fdesc[1], (short *) msg_from_skype,
                            howmany);
       //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, msg_from_skype);
 //#else
@@ -1115,12 +1131,7 @@
   if (rt > 0) {
     if (tech_pvt->SkypiaxHandles.fdesc[0]) {
       howmany = sizeof(read_from_pipe);
-#if defined(WIN32) && !defined(__CYGWIN__)
-      skypiax_file_read(tech_pvt->SkypiaxHandles.fdesc[0], read_from_pipe, &howmany);
-#else /* WIN32 */
-      howmany =
-        read(tech_pvt->SkypiaxHandles.fdesc[0], read_from_pipe, sizeof(read_from_pipe));
-#endif /* WIN32 */
+      howmany = skypiax_pipe_read(tech_pvt->SkypiaxHandles.fdesc[0], (short *)read_from_pipe, howmany);
 
       a = 0;
       for (i = 0; i < howmany; i++) {



More information about the Freeswitch-svn mailing list