[Freeswitch-svn] [commit] r10577 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax

FreeSWITCH SVN gmaruzz at freeswitch.org
Wed Dec 3 10:11:48 PST 2008


Author: gmaruzz
Date: Wed Dec  3 13:11:48 2008
New Revision: 10577

Log:
skypiax: converting to use APR pipes, not finished, do not compile... gotta go now

Modified:
   freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c

Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c
==============================================================================
--- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c	(original)
+++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c	Wed Dec  3 13:11:48 2008
@@ -34,8 +34,8 @@
  *
  */
 
-#define WIN32_SKYPIAX
-#define __CYGWIN__
+#undef WIN32_SKYPIAX
+#undef __CYGWIN__
 #define MOD_SKYPIAX
 #ifdef MOD_SKYPIAX
 
@@ -194,7 +194,7 @@
 	char language[80];  /*!< \brief default Asterisk dialplan language for this interface */
 	char exten[80];    /*!< \brief default Asterisk dialplan extension for this interface */
 	int skypiax_sound_rate;       /*!< \brief rate of the sound device, in Hz, eg: 8000 */
-	int skypiax_sound_capt_fd;    /*!< \brief file descriptor for sound capture dev */
+	switch_file_t *skypiax_sound_capt_fd;    /*!< \brief file descriptor for sound capture dev */
 	char callid_name[50];
 	char callid_number[50];
 	double playback_boost;
@@ -209,8 +209,8 @@
 	int skype_callflow;           /*!< \brief 'callflow' of the skype interface (as opposed to phone interface) */
 	int skype;                    /*!< \brief config flag, bool, Skype support on this interface (0 if false, -1 if true) */
 	int control_to_send;
-	int audiopipe[2];
-	int audioskypepipe[2];
+	switch_file_t *audiopipe[2];
+	switch_file_t *audioskypepipe[2];
 	switch_thread_t *tcp_srv_thread;
 	switch_thread_t *tcp_cli_thread;
 	short audiobuf[160];
@@ -640,7 +640,8 @@
   struct skypiax_interface *p = obj;
   short in[GG];
   short out[GG / 2];
-  int s, fd, len, sent;
+  //int s, fd, len, sent;
+  int s, fd, len;
   unsigned int sin_size;
   struct sockaddr_in my_addr;
   struct sockaddr_in remote_addr;
@@ -717,8 +718,11 @@
           }
           p->audiobuf_is_loaded = 1;
         } else {
-          sent = write(p->audiopipe[1], p->audiobuf, len / 2);
-          sent = write(p->audiopipe[1], out, len / 2);
+			unsigned int howmany;
+			howmany = len/2;
+          switch_file_write(p->audiopipe[1], p->audiobuf, &howmany);
+			howmany = len/2;
+          switch_file_write(p->audiopipe[1], out, &howmany);
           p->audiobuf_is_loaded = 0;
           //DEBUGA_SOUND("read=====> req=%d recv=%d to sent=%d sent=%d\n", SKYPIAX_P_LOG, sizeof(short)*GG, len, (len*sizeof(short))/2, sent);
         }
@@ -758,7 +762,7 @@
   struct sockaddr_in remote_addr;
   int a;
   int i;
-  int got;
+  unsigned int got;
   int exit=0;
 
   if (option_debug > 10) {
@@ -807,16 +811,18 @@
 
 
 
-  fdselect = p->audioskypepipe[0];
+  //fdselect = p->audioskypepipe[0];
   FD_ZERO(&fs);
   FD_SET(fdselect, &fs);
   to.tv_usec = 100;
   to.tv_sec = 0;
-  rt = select(fdselect + 1, &fs, NULL, NULL, &to);
+  //rt = select(fdselect + 1, &fs, NULL, NULL, &to);
+  rt=1;
   if (rt > 0) {
 
 
-      got = read(p->audioskypepipe[0], in, (NN / 2) * sizeof(short));
+      got = (NN / 2) * sizeof(short);
+      switch_file_read(p->audioskypepipe[0], in, &got);
     //ERRORA("got %d\n", SKYPIAX_P_LOG, got);
 
       if (got > 0) {
@@ -858,6 +864,7 @@
 int skypiax_skypeaudio_init(struct skypiax_interface *p)
 {
   int c;
+#if 0
 /* build the pipe that will be polled on by pbx */
   c = pipe(p->audiopipe);
   if (c) {
@@ -867,6 +874,7 @@
     }
     return -1;
   }
+#endif
 
 /* the pipe is our audio fd for pbx to poll on */
   p->skypiax_sound_capt_fd = p->audiopipe[0];
@@ -883,6 +891,7 @@
   }
 */
 
+#ifdef NOTDEF_WIN32_SKYPIAX
   c = pipe(p->audioskypepipe);
   if (c) {
     ERRORA("Unable to create audioskypepipe\n", SKYPIAX_P_LOG);
@@ -891,7 +900,6 @@
     }
     return -1;
   }
-#ifndef WIN32_SKYPIAX
   fcntl(p->audioskypepipe[0], F_SETFL, O_NONBLOCK);
   fcntl(p->audioskypepipe[1], F_SETFL, O_NONBLOCK);
 #endif// WIN32_SKYPIAX



More information about the Freeswitch-svn mailing list