[Freeswitch-svn] [commit] r11689 - freeswitch/branches/gmaruzz/mod_skypiax
FreeSWITCH SVN
gmaruzz at freeswitch.org
Sun Feb 8 06:02:51 PST 2009
Author: gmaruzz
Date: Sun Feb 8 08:02:51 2009
New Revision: 11689
Log:
skypiax: skypiax_protocol.c indent -gnu -ts4 -br -brs -cdw -lp -ce -nbfda -npcs -nprs -npsl -nbbo -saf -sai -saw -cs -bbo -nhnl -nut -sob -l90
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 08:02:51 2009
@@ -23,33 +23,35 @@
#endif /* WIN32 */
/*************************************/
-#if defined(WIN32) && !defined(__CYGWIN__)
-int skypiax_file_write(switch_file_t *pipe, short *buf, int howmany){
- switch_size_t quantity;
+#if defined(WIN32) && !defined(__CYGWIN__)
+int skypiax_file_write(switch_file_t * pipe, short *buf, int howmany)
+{
+ switch_size_t quantity;
- quantity = howmany;
+ quantity = howmany;
- switch_file_write(pipe, buf, &quantity);
+ switch_file_write(pipe, buf, &quantity);
- howmany = quantity;
+ howmany = quantity;
- return howmany;
+ return howmany;
}
#else /* WIN32 */
-int skypiax_file_write(int pipe, short *buf, int howmany){
- howmany = write(pipe, buf, howmany);
- return howmany;
+int skypiax_file_write(int pipe, short *buf, int howmany)
+{
+ howmany = write(pipe, buf, howmany);
+ return howmany;
}
#endif /* WIN32 */
-void * skypiax_do_tcp_srv_thread_func(void *obj)
+void *skypiax_do_tcp_srv_thread_func(void *obj)
{
private_t *tech_pvt = obj;
int s;
unsigned int len;
unsigned int i;
unsigned int a;
-#if defined(WIN32) && !defined(__CYGWIN__)
+#if defined(WIN32) && !defined(__CYGWIN__)
int sin_size;
#else /* WIN32 */
unsigned int sin_size;
@@ -116,14 +118,14 @@
to.tv_sec = 0;
rt = select(fdselect + 1, &fs, NULL, NULL, &to);
-#ifndef NOTDEF
if (rt > 0) {
len = recv(fd, (char *) srv_in, 320, 0); //seems that Skype only sends 320 bytes at time
- if (len == 320) {
+ if (len == 320) {
+ unsigned int howmany;
- if (SAMPLERATE_SKYPIAX == 8000) {
+ if (SAMPLERATE_SKYPIAX == 8000) {
a = 0;
for (i = 0; i < len / sizeof(short); i++) {
@@ -138,7 +140,6 @@
}
tech_pvt->audiobuf_is_loaded = 1;
} else {
- unsigned int howmany;
howmany = len / 2 / 2;
for (i = 0; i < howmany; i++)
@@ -156,140 +157,46 @@
tech_pvt->audiobuf_is_loaded = 0;
}
- } else if (SAMPLERATE_SKYPIAX == 16000) {
-
- if (!tech_pvt->audiobuf_is_loaded) {
- for (i = 0; i < (len / sizeof(short)); i++) {
- tech_pvt->audiobuf[i] = srv_in[i];
- }
- tech_pvt->audiobuf_is_loaded = 1;
- } else {
- unsigned int howmany = SAMPLES_PER_FRAME * sizeof(short);
-
- for (i = 0; i < (len / sizeof(short)); i++)
- totalbuf[i] = tech_pvt->audiobuf[i];
- for (a = 0; a < (len / sizeof(short)); a++) {
- totalbuf[i] = srv_in[a];
- i++;
- }
-
- howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, howmany);
- tech_pvt->audiobuf_is_loaded = 0;
- }
-
- } else {
- ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG);
- }
-
- } else if (len == 0) {
- DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG);
- skypiax_sleep(1000);
- } else {
- ERRORA("len=%d\n", SKYPIAX_P_LOG, len);
- exit = 1;
- break;
- }
-
-
-
-
-
-
-
- } else {
- if (rt)
- ERRORA("SRV rt=%d\n", SKYPIAX_P_LOG, rt);
- skypiax_sleep(10000);
- }
-#endif // NOTDEF
-
-#ifdef NOTDEF
- if (rt > 0) {
-
- len = recv(fd, (char *) srv_in, 320, 0); //seems that Skype only sends 320 bytes at time
-
-
- if (SAMPLERATE_SKYPIAX == 8000) {
-
- if (len == 320) {
- a = 0;
- for (i = 0; i < len / sizeof(short); i++) {
- srv_out[a] = srv_in[i];
- i++;
- a++;
- }
+ } else if (SAMPLERATE_SKYPIAX == 16000) {
if (!tech_pvt->audiobuf_is_loaded) {
- for (i = 0; i < (len / sizeof(short)) / 2; i++) {
- tech_pvt->audiobuf[i] = srv_out[i];
+ for (i = 0; i < (len / sizeof(short)); i++) {
+ tech_pvt->audiobuf[i] = srv_in[i];
}
tech_pvt->audiobuf_is_loaded = 1;
} else {
- unsigned int howmany;
+ howmany = SAMPLES_PER_FRAME * sizeof(short);
- howmany = len / 2 / 2;
- for (i = 0; i < howmany; i++)
+ for (i = 0; i < (len / sizeof(short)); i++)
totalbuf[i] = tech_pvt->audiobuf[i];
-
- howmany = len / 2 / 2;
- for (a = 0; a < howmany; a++) {
- totalbuf[i] = srv_out[a];
+ for (a = 0; a < (len / sizeof(short)); a++) {
+ totalbuf[i] = srv_in[a];
i++;
}
- howmany = len;
-
howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, howmany);
tech_pvt->audiobuf_is_loaded = 0;
}
- } else if (len == 0) {
- DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG);
- skypiax_sleep(1000);
} else {
- ERRORA("len=%d\n", SKYPIAX_P_LOG, len);
- exit = 1;
- break;
- }
- } else if (SAMPLERATE_SKYPIAX == 16000) {
-
- if (len == 320) {
- if (!tech_pvt->audiobuf_is_loaded) {
- for (i = 0; i < (len / sizeof(short)); i++) {
- tech_pvt->audiobuf[i] = srv_in[i];
- }
- tech_pvt->audiobuf_is_loaded = 1;
- } else {
- unsigned int howmany = SAMPLES_PER_FRAME * sizeof(short);
-
- for (i = 0; i < (len / sizeof(short)); i++)
- totalbuf[i] = tech_pvt->audiobuf[i];
- for (a = 0; a < (len / sizeof(short)); a++) {
- totalbuf[i] = srv_in[a];
- i++;
- }
-
- howmany = skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, howmany);
- tech_pvt->audiobuf_is_loaded = 0;
- }
- } else if (len == 0) {
- DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG);
- skypiax_sleep(1000);
- } else {
- ERRORA("SRV len=%d\n", SKYPIAX_P_LOG, len);
- exit = 1;
- break;
+ ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG);
}
+ } else if (len == 0) {
+ DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG);
+ skypiax_sleep(1000);
} else {
- ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG);
+ ERRORA("len=%d\n", SKYPIAX_P_LOG, len);
+ exit = 1;
+ break;
}
+
} else {
if (rt)
ERRORA("SRV rt=%d\n", SKYPIAX_P_LOG, rt);
skypiax_sleep(10000);
}
-#endif // NOTDEF
+
}
kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
@@ -303,7 +210,7 @@
len = skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size);
DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG);
-#if defined(WIN32) && !defined(__CYGWIN__)
+#if defined(WIN32) && !defined(__CYGWIN__)
closesocket(fd);
#else
close(fd);
@@ -313,7 +220,7 @@
}
DEBUGA_SKYPE("server (I am it) GONE\n", SKYPIAX_P_LOG);
-#if defined(WIN32) && !defined(__CYGWIN__)
+#if defined(WIN32) && !defined(__CYGWIN__)
closesocket(s);
#else
close(s);
@@ -323,7 +230,7 @@
}
return NULL;
}
-void * skypiax_do_tcp_cli_thread_func(void *obj)
+void *skypiax_do_tcp_cli_thread_func(void *obj)
{
private_t *tech_pvt = obj;
int s;
@@ -369,8 +276,8 @@
if (option_debug > 100) {
DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
}
-#if defined(WIN32) && !defined(__CYGWIN__)
- closesocket(s);
+#if defined(WIN32) && !defined(__CYGWIN__)
+ closesocket(s);
#else
close(s);
#endif
@@ -417,7 +324,7 @@
if (rt > 0) {
if ((SAMPLERATE_SKYPIAX - 8000) == 0) {
got = SAMPLES_PER_FRAME * sizeof(short);
-#if defined(WIN32) && !defined(__CYGWIN__)
+#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);
@@ -447,7 +354,7 @@
}
} else if (SAMPLERATE_SKYPIAX == 16000) {
got = SAMPLES_PER_FRAME * sizeof(short);
-#if defined(WIN32) && !defined(__CYGWIN__)
+#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);
@@ -484,8 +391,8 @@
}
DEBUGA_SKYPE("Skype server GONE\n", SKYPIAX_P_LOG);
-#if defined(WIN32) && !defined(__CYGWIN__)
- closesocket(s);
+#if defined(WIN32) && !defined(__CYGWIN__)
+ closesocket(s);
#else
close(fd);
#endif
@@ -493,7 +400,7 @@
}
DEBUGA_SKYPE("client (I am it) GONE\n", SKYPIAX_P_LOG);
-#if defined(WIN32) && !defined(__CYGWIN__)
+#if defined(WIN32) && !defined(__CYGWIN__)
closesocket(s);
#else
close(s);
@@ -507,7 +414,7 @@
int skypiax_skypeaudio_init(private_t * tech_pvt)
{
-#if defined(WIN32) && !defined(__CYGWIN__)
+#if defined(WIN32) && !defined(__CYGWIN__)
switch_status_t rv;
rv =
switch_file_pipe_create(&tech_pvt->audiopipe[0], &tech_pvt->audiopipe[1],
@@ -558,7 +465,7 @@
#endif /* WIN32 */
if (rt > 0) {
samples = SAMPLES_PER_FRAME * sizeof(short);
-#if defined(WIN32) && !defined(__CYGWIN__)
+#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);
@@ -661,10 +568,12 @@
howmany = strlen(msg_from_skype) + 1;
//#if defined(WIN32) && !defined(__CYGWIN__)
- howmany = skypiax_file_write(tech_pvt->SkypiaxHandles.fdesc[1], (short *)msg_from_skype, howmany);
+ howmany =
+ skypiax_file_write(tech_pvt->SkypiaxHandles.fdesc[1], (short *) msg_from_skype,
+ howmany);
//NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, msg_from_skype);
//#else
- //howmany = write(tech_pvt->SkypiaxHandles.fdesc[1], msg_from_skype, howmany);
+ //howmany = write(tech_pvt->SkypiaxHandles.fdesc[1], msg_from_skype, howmany);
//NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, msg_from_skype);
//#endif
lReturnCode = 1;
@@ -799,7 +708,7 @@
DWORD win32_dwThreadId;
-void * skypiax_do_skypeapi_thread_func(void *obj)
+void *skypiax_do_skypeapi_thread_func(void *obj)
{
/* create window class */
/* create dummy/hidden window for processing messages */
@@ -811,14 +720,14 @@
/* destroy window class */
private_t *tech_pvt = obj;
-#if defined(WIN32) && !defined(__CYGWIN__)
+#if defined(WIN32) && !defined(__CYGWIN__)
switch_status_t rv;
switch_file_pipe_create(&tech_pvt->SkypiaxHandles.fdesc[0],
&tech_pvt->SkypiaxHandles.fdesc[1], skypiax_module_pool);
rv =
- switch_file_pipe_create(&tech_pvt->SkypiaxHandles.fdesc[0], &tech_pvt->SkypiaxHandles.fdesc[1],
- skypiax_module_pool);
+ switch_file_pipe_create(&tech_pvt->SkypiaxHandles.fdesc[0],
+ &tech_pvt->SkypiaxHandles.fdesc[1], skypiax_module_pool);
#else /* WIN32 */
if (pipe(tech_pvt->SkypiaxHandles.fdesc)) {
fcntl(tech_pvt->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK);
@@ -826,7 +735,6 @@
}
#endif /* WIN32 */
-
tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach =
RegisterWindowMessage("SkypeControlAPIAttach");
tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover =
@@ -991,7 +899,7 @@
skypiax_sleep(1000);
}
-void * skypiax_do_skypeapi_thread_func(void *obj)
+void *skypiax_do_skypeapi_thread_func(void *obj)
{
private_t *tech_pvt = obj;
@@ -1003,14 +911,14 @@
DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
- if(!strlen(tech_pvt->X11_display))
- strcpy(tech_pvt->X11_display, getenv("DISPLAY"));
+ if (!strlen(tech_pvt->X11_display))
+ strcpy(tech_pvt->X11_display, getenv("DISPLAY"));
- if(!tech_pvt->tcp_srv_port)
- tech_pvt->tcp_srv_port = 10160;
+ if (!tech_pvt->tcp_srv_port)
+ tech_pvt->tcp_srv_port = 10160;
- if(!tech_pvt->tcp_cli_port)
- tech_pvt->tcp_cli_port = 10161;
+ if (!tech_pvt->tcp_cli_port)
+ tech_pvt->tcp_cli_port = 10161;
if (pipe(tech_pvt->SkypiaxHandles.fdesc)) {
fcntl(tech_pvt->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK);
@@ -1021,7 +929,7 @@
if (!disp) {
ERRORA("Cannot open X Display '%s', exiting skype thread\n", SKYPIAX_P_LOG,
tech_pvt->X11_display);
- running=0;
+ running = 0;
return NULL;
} else {
DEBUGA_SKYPE("X Display '%s' opened\n", SKYPIAX_P_LOG, tech_pvt->X11_display);
@@ -1052,7 +960,7 @@
("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n",
SKYPIAX_P_LOG);
DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
- running=0;
+ running = 0;
return NULL;
}
@@ -1062,7 +970,7 @@
("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n",
SKYPIAX_P_LOG);
DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
- running=0;
+ running = 0;
return NULL;
}
@@ -1110,11 +1018,11 @@
ERRORA
("Skype is not running, maybe crashed. Please run/restart Skype and relaunch Skypiax\n",
SKYPIAX_P_LOG);
- running=0;
+ running = 0;
return NULL;
}
DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
- running=0;
+ running = 0;
return NULL;
}
@@ -1222,7 +1130,7 @@
if (rt > 0) {
if (tech_pvt->SkypiaxHandles.fdesc[0]) {
howmany = sizeof(read_from_pipe);
-#if defined(WIN32) && !defined(__CYGWIN__)
+#if defined(WIN32) && !defined(__CYGWIN__)
skypiax_file_read(tech_pvt->SkypiaxHandles.fdesc[0], read_from_pipe, &howmany);
#else /* WIN32 */
howmany =
@@ -1322,7 +1230,9 @@
if (!strcasecmp(id, tech_pvt->skype_user)) {
tech_pvt->SkypiaxHandles.api_connected = 1;
- DEBUGA_SKYPE ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, tech_pvt->skype_user);
+ DEBUGA_SKYPE
+ ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n",
+ SKYPIAX_P_LOG, messaggio, obj, id, tech_pvt->skype_user);
}
}
@@ -1438,11 +1348,11 @@
tech_pvt->interface_state = SKYPIAX_STATE_PRERING;
}
- if (!strcasecmp(prop, "DTMF")) {
+ if (!strcasecmp(prop, "DTMF")) {
DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value);
- dtmf_received(tech_pvt, value);
+ dtmf_received(tech_pvt, value);
}
if (!strcasecmp(prop, "FAILUREREASON")) {
@@ -1596,7 +1506,7 @@
strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1);
DEBUGA_SKYPE("skype_call: %s is now UNPLACED\n", SKYPIAX_P_LOG, id);
} else if (!strcasecmp(value, "INPROGRESS")) {
- char msg_to_skype[1024];
+ char msg_to_skype[1024];
tech_pvt->skype_callflow = CALLFLOW_STATUS_INPROGRESS;
strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1);
tech_pvt->interface_state = SKYPIAX_STATE_UP;
@@ -1607,29 +1517,29 @@
DEBUGA_SKYPE("skype_call: %s SKYPIAX_CONTROL_ANSWER sent\n",
SKYPIAX_P_LOG, id);
- start_audio_threads(tech_pvt);
+ start_audio_threads(tech_pvt);
+
+ 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);
+ 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);
+ 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);
- 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);
- skypiax_sleep(100000);
-
tech_pvt->skype_callflow = SKYPIAX_STATE_UP;
if (!strlen(tech_pvt->session_uuid_str)) {
DEBUGA_SKYPE("New Inbound Channel!\n", SKYPIAX_P_LOG);
- new_inbound_channel(tech_pvt);
- } else {
+ new_inbound_channel(tech_pvt);
+ } else {
DEBUGA_SKYPE("Outbound Channel Answered!\n", SKYPIAX_P_LOG);
- outbound_channel_answered(tech_pvt);
+ outbound_channel_answered(tech_pvt);
}
} else {
@@ -1700,4 +1610,3 @@
//FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING);
return 0;
}
-
More information about the Freeswitch-svn
mailing list