[commit] r11689 - freeswitch/branches/gmaruzz/mod_skypiax
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; } -
participants (1)
-
FreeSWITCH SVN