提交 c4a4a1de authored 作者: Michael Jerris's avatar Michael Jerris

updated iax build for msvc

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8324 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 38552839
......@@ -125,9 +125,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "directory", "directory", "{
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sip_profiles", "sip_profiles", "{8E2E8798-8B6F-4A55-8E4F-4E6FDE40ED26}"
ProjectSection(SolutionItems) = preProject
conf\sip_profiles\default.xml = conf\sip_profiles\default.xml
conf\sip_profiles\nat.xml = conf\sip_profiles\nat.xml
conf\sip_profiles\outbound.xml = conf\sip_profiles\outbound.xml
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "lang", "lang", "{09455AA9-C243-4F16-A1A1-A016881A2765}"
......@@ -409,7 +407,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_iax", "src\mod\endpoint
ProjectSection(ProjectDependencies) = postProject
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
{F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E} = {5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_PortAudio", "src\mod\endpoints\mod_portaudio\mod_PortAudio.2008.vcproj", "{5FD31A25-5D83-4794-8BEE-904DAD84CE71}"
......@@ -541,8 +538,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_event_socket", "src\mod
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libilbc", "libs\codec\ilbc\libilbc.2008.vcproj", "{989BB874-7AF1-44CB-8E5C-CC8113D267E8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libiax2", "libs\iax\libiax2.2008.vcproj", "{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdingaling", "libs\libdingaling\libdingaling.2008.vcproj", "{1906D736-08BD-4EE1-924F-B536249B9A54}"
ProjectSection(ProjectDependencies) = postProject
{F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3}
......@@ -1036,12 +1031,6 @@ Global
{989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Release|Win32.ActiveCfg = Release|Win32
{989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Release|Win32.Build.0 = Release|Win32
{989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Release|x64.ActiveCfg = Release|Win32
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}.Debug|Win32.ActiveCfg = Debug|Win32
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}.Debug|Win32.Build.0 = Debug|Win32
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}.Debug|x64.ActiveCfg = Debug|Win32
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}.Release|Win32.ActiveCfg = Release|Win32
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}.Release|Win32.Build.0 = Release|Win32
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}.Release|x64.ActiveCfg = Release|Win32
{1906D736-08BD-4EE1-924F-B536249B9A54}.Debug|Win32.ActiveCfg = Debug|Win32
{1906D736-08BD-4EE1-924F-B536249B9A54}.Debug|Win32.Build.0 = Debug|Win32
{1906D736-08BD-4EE1-924F-B536249B9A54}.Debug|x64.ActiveCfg = Debug|Win32
......@@ -1502,7 +1491,6 @@ Global
{ACFD96F2-58AA-491D-B4C0-33BD0BD57FDE} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{89385C74-5860-4174-9CAF-A39E7C48909C} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{989BB874-7AF1-44CB-8E5C-CC8113D267E8} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{1906D736-08BD-4EE1-924F-B536249B9A54} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{EEF031CB-FED8-451E-A471-91EC8D4F6750} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{6EDFEFD5-3596-4FA9-8EBA-B331547B35A3} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
......
......@@ -15,7 +15,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeSwitchCoreLib", "w32\Li
{F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3}
{F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
{EEF031CB-FED8-451E-A471-91EC8D4F6750} = {EEF031CB-FED8-451E-A471-91EC8D4F6750}
{101130D1-3EA6-4ED2-B65D-CEB5243A20ED} = {101130D1-3EA6-4ED2-B65D-CEB5243A20ED}
{6EDFEFD5-3596-4FA9-8EBA-B331547B35A3} = {6EDFEFD5-3596-4FA9-8EBA-B331547B35A3}
EndProjectSection
EndProject
......@@ -35,7 +34,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_iax", "src\mod\endpoint
ProjectSection(ProjectDependencies) = postProject
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
{F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E} = {5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_PortAudio", "src\mod\endpoints\mod_portaudio\mod_PortAudio.vcproj", "{5FD31A25-5D83-4794-8BEE-904DAD84CE71}"
......@@ -193,8 +191,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Libraries", "_Libraries",
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libilbc", "libs\codec\ilbc\libilbc.vcproj", "{989BB874-7AF1-44CB-8E5C-CC8113D267E8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libiax2", "libs\iax\libiax2.vcproj", "{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdingaling", "libs\libdingaling\libdingaling.vcproj", "{1906D736-08BD-4EE1-924F-B536249B9A54}"
ProjectSection(ProjectDependencies) = postProject
{F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3}
......@@ -216,15 +212,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libresample", "libs\win32\l
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libapr", "libs\win32\apr\libapr.vcproj", "{F6C55D93-B927-4483-BB69-15AEF3DD2DFF}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libapriconv", "libs\win32\apr-iconv\libapriconv.vcproj", "{101130D1-3EA6-4ED2-B65D-CEB5243A20ED}"
ProjectSection(ProjectDependencies) = postProject
{F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libaprutil", "libs\win32\apr-util\libaprutil.vcproj", "{F057DA7F-79E5-4B00-845C-EF446EF055E3}"
ProjectSection(ProjectDependencies) = postProject
{F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF}
{101130D1-3EA6-4ED2-B65D-CEB5243A20ED} = {101130D1-3EA6-4ED2-B65D-CEB5243A20ED}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Downloads", "_Downloads", "{C120A020-773F-4EA3-923F-B67AF28B750D}"
......@@ -1046,12 +1036,6 @@ Global
{989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Release|Win32.ActiveCfg = Release|Win32
{989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Release|Win32.Build.0 = Release|Win32
{989BB874-7AF1-44CB-8E5C-CC8113D267E8}.Release|x64.ActiveCfg = Release|Win32
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}.Debug|Win32.ActiveCfg = Debug|Win32
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}.Debug|Win32.Build.0 = Debug|Win32
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}.Debug|x64.ActiveCfg = Debug|Win32
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}.Release|Win32.ActiveCfg = Release|Win32
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}.Release|Win32.Build.0 = Release|Win32
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E}.Release|x64.ActiveCfg = Release|Win32
{1906D736-08BD-4EE1-924F-B536249B9A54}.Debug|Win32.ActiveCfg = Debug|Win32
{1906D736-08BD-4EE1-924F-B536249B9A54}.Debug|Win32.Build.0 = Debug|Win32
{1906D736-08BD-4EE1-924F-B536249B9A54}.Debug|x64.ActiveCfg = Debug|Win32
......@@ -1094,12 +1078,6 @@ Global
{F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Release|Win32.ActiveCfg = Release|Win32
{F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Release|Win32.Build.0 = Release|Win32
{F6C55D93-B927-4483-BB69-15AEF3DD2DFF}.Release|x64.ActiveCfg = Release|Win32
{101130D1-3EA6-4ED2-B65D-CEB5243A20ED}.Debug|Win32.ActiveCfg = Debug|Win32
{101130D1-3EA6-4ED2-B65D-CEB5243A20ED}.Debug|Win32.Build.0 = Debug|Win32
{101130D1-3EA6-4ED2-B65D-CEB5243A20ED}.Debug|x64.ActiveCfg = Debug|Win32
{101130D1-3EA6-4ED2-B65D-CEB5243A20ED}.Release|Win32.ActiveCfg = Release|Win32
{101130D1-3EA6-4ED2-B65D-CEB5243A20ED}.Release|Win32.Build.0 = Release|Win32
{101130D1-3EA6-4ED2-B65D-CEB5243A20ED}.Release|x64.ActiveCfg = Release|Win32
{F057DA7F-79E5-4B00-845C-EF446EF055E3}.Debug|Win32.ActiveCfg = Debug|Win32
{F057DA7F-79E5-4B00-845C-EF446EF055E3}.Debug|Win32.Build.0 = Debug|Win32
{F057DA7F-79E5-4B00-845C-EF446EF055E3}.Debug|x64.ActiveCfg = Debug|Win32
......@@ -1503,7 +1481,6 @@ Global
{EC3E5C7F-EE09-47E2-80FE-546363D14A98} = {B8F5B47B-8568-46EB-B320-64C17D2A98BC}
{89385C74-5860-4174-9CAF-A39E7C48909C} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{989BB874-7AF1-44CB-8E5C-CC8113D267E8} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{5CC054B7-6DAA-46BF-9A08-3B33B83E8D3E} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{1906D736-08BD-4EE1-924F-B536249B9A54} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{EEF031CB-FED8-451E-A471-91EC8D4F6750} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{6EDFEFD5-3596-4FA9-8EBA-B331547B35A3} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
......@@ -1511,7 +1488,6 @@ Global
{1CED5987-A529-46DC-B30F-870D85FF9C94} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{50AD0E28-B8D7-4FCC-8FC3-599F6AC69761} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{101130D1-3EA6-4ED2-B65D-CEB5243A20ED} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{F057DA7F-79E5-4B00-845C-EF446EF055E3} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{1C469CDD-A3AF-4A94-A592-B2CF12F2D918} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{E727E8F6-935D-46FE-8B0E-37834748A0E3} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
......
......@@ -302,6 +302,7 @@ struct conference_member {
uint32_t resample_out_len;
conference_file_node_t *fnode;
conference_relationship_t *relationships;
switch_ivr_digit_stream_parser_t *dtmf_parser;
switch_ivr_digit_stream_t *digit_stream;
switch_speech_handle_t lsh;
switch_speech_handle_t *sh;
......@@ -4195,6 +4196,12 @@ SWITCH_STANDARD_APP(conference_function)
profile_name = "default";
}
if (0) {
member.dtmf_parser = conference->dtmf_parser;
} else {
}
switch_event_create(&params, SWITCH_EVENT_MESSAGE);
switch_assert(params);
switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "conf_name", conf_name);
......@@ -4514,6 +4521,9 @@ SWITCH_STANDARD_APP(conference_function)
switch_buffer_destroy(&member.resample_buffer);
switch_buffer_destroy(&member.audio_buffer);
switch_buffer_destroy(&member.mux_buffer);
if (member.dtmf_parser != conference->dtmf_parser) {
switch_ivr_digit_stream_parser_destroy(member.dtmf_parser);
}
if (conference) {
switch_mutex_lock(conference->mutex);
......
......@@ -684,13 +684,13 @@ static unsigned char get_n_bits_at(unsigned char *data, int n, int bit)
return 0;
if (rem < n) {
ret = (data[byte] << (n - rem));
ret = (unsigned char)(data[byte] << (n - rem));
ret |= (data[byte + 1] >> (8 - n + rem));
} else {
ret = (data[byte] >> (rem - n));
ret = (unsigned char)(data[byte] >> (rem - n));
}
return (ret & (0xff >> (8 - n)));
return (unsigned char)(ret & (0xff >> (8 - n)));
}
static int speex_get_wb_sz_at(unsigned char *data, int len, int bit)
......@@ -957,7 +957,7 @@ int iax_init(char *ip, int preferredportno)
{
int portno = preferredportno;
struct sockaddr_in sin;
unsigned int sinlen;
int sinlen;
int flags;
init_time();
......@@ -1060,7 +1060,7 @@ static unsigned char compress_subclass(int subclass)
int power=-1;
/* If it's 128 or smaller, just return it */
if (subclass < IAX_FLAG_SC_LOG)
return subclass;
return (unsigned char)subclass;
/* Otherwise find its power */
for (x = 0; x < IAX_MAX_SHIFT; x++) {
if (subclass & (1 << x)) {
......@@ -1071,7 +1071,7 @@ static unsigned char compress_subclass(int subclass)
power = x;
}
}
return power | IAX_FLAG_SC_LOG;
return (unsigned char)(power | IAX_FLAG_SC_LOG);
}
static int iax_send(struct iax_session *pvt, struct ast_frame *f, time_in_ms_t ts, int seqno, int now, int transfer, int final)
......@@ -1131,7 +1131,7 @@ static int iax_send(struct iax_session *pvt, struct ast_frame *f, time_in_ms_t t
return -1;
}
fr->callno = pvt->callno;
fr->callno = (unsigned short)pvt->callno;
fr->transfer = transfer;
fr->final = final;
fr->session = pvt;
......@@ -1145,19 +1145,19 @@ static int iax_send(struct iax_session *pvt, struct ast_frame *f, time_in_ms_t t
fh = (struct ast_iax2_full_hdr *)(((char *)fr->af.data) - sizeof(struct ast_iax2_full_hdr));
fh->scallno = htons(fr->callno | IAX_FLAG_FULL);
fh->ts = htonl((long)(fr->ts));
fh->oseqno = fr->oseqno;
fh->oseqno = (unsigned char)fr->oseqno;
if (transfer) {
fh->iseqno = 0;
} else
fh->iseqno = fr->iseqno;
fh->iseqno = (unsigned char)fr->iseqno;
/* Keep track of the last thing we've acknowledged */
pvt->aseqno = fr->iseqno;
fh->type = fr->af.frametype & 0xFF;
pvt->aseqno = (unsigned char)fr->iseqno;
fh->type = (char)(fr->af.frametype & 0xFF);
fh->csub = compress_subclass(fr->af.subclass);
if (transfer) {
fr->dcallno = pvt->transfercallno;
fr->dcallno = (unsigned short)pvt->transfercallno;
} else
fr->dcallno = pvt->peercallno;
fr->dcallno = (unsigned short)pvt->peercallno;
fh->dcallno = htons(fr->dcallno);
fr->datalen = fr->af.datalen + sizeof(struct ast_iax2_full_hdr);
fr->data = fh;
......@@ -1370,11 +1370,11 @@ int iax_setup_transfer(struct iax_session *org_session, struct iax_session *new_
/* reversed setup */
iax_ie_append_addr(&ied0, IAX_IE_APPARENT_ADDR, &s1->peeraddr);
iax_ie_append_short(&ied0, IAX_IE_CALLNO, s1->peercallno);
iax_ie_append_short(&ied0, IAX_IE_CALLNO, (unsigned short)s1->peercallno);
iax_ie_append_int(&ied0, IAX_IE_TRANSFERID, transfer_id);
iax_ie_append_addr(&ied1, IAX_IE_APPARENT_ADDR, &s0->peeraddr);
iax_ie_append_short(&ied1, IAX_IE_CALLNO, s0->peercallno);
iax_ie_append_short(&ied1, IAX_IE_CALLNO, (unsigned short)s0->peercallno);
iax_ie_append_int(&ied1, IAX_IE_TRANSFERID, transfer_id);
s0->transfer = s1->peeraddr;
......@@ -1460,15 +1460,15 @@ static int iax_handle_txready(struct iax_session *s)
s->transferring = TRANSFER_REL;
s0 = s;
s1 = iax_find_session2(s0->transferpeer);
s1 = iax_find_session2((short)s0->transferpeer);
if (s1 != NULL &&
s1->callno == s0->transferpeer &&
s0->transferring == TRANSFER_REL &&
s1->transferring == TRANSFER_REL) {
s0_org_peer = s0->peercallno;
s1_org_peer = s1->peercallno;
s0_org_peer = (short)s0->peercallno;
s1_org_peer = (short)s1->peercallno;
iax_finish_transfer(s0, s1_org_peer);
iax_finish_transfer(s1, s0_org_peer);
......@@ -1483,7 +1483,7 @@ static void iax_handle_txreject(struct iax_session *s)
struct iax_session *s0, *s1;
s0 = s;
s1 = iax_find_session2(s0->transferpeer);
s1 = iax_find_session2((short)s0->transferpeer);
if (s1 != NULL &&
s0->transferpeer == s1->callno &&
s1->transferring) {
......@@ -1662,12 +1662,12 @@ int iax_register(struct iax_session *session, char *server, char *peer, char *se
return -1;
}
memcpy(&session->peeraddr.sin_addr, hp->h_addr, sizeof(session->peeraddr.sin_addr));
session->peeraddr.sin_port = htons(portno);
session->peeraddr.sin_port = htons((unsigned short)portno);
session->peeraddr.sin_family = AF_INET;
strncpy(session->username, peer, sizeof(session->username) - 1);
session->refresh = refresh;
iax_ie_append_str(&ied, IAX_IE_USERNAME, (unsigned char *) peer);
iax_ie_append_short(&ied, IAX_IE_REFRESH, refresh);
iax_ie_append_short(&ied, IAX_IE_REFRESH, (unsigned short)refresh);
res = send_command(session, AST_FRAME_IAX, IAX_COMMAND_REGREQ, 0, ied.buf, ied.pos, -1);
return res;
}
......@@ -1854,7 +1854,7 @@ static int iax_send_txready(struct iax_session *session)
struct iax_ie_data ied;
memset(&ied, 0, sizeof(ied));
/* see asterisk chan_iax2.c */
iax_ie_append_short(&ied, IAX_IE_CALLNO, session->callno);
iax_ie_append_short(&ied, IAX_IE_CALLNO, (unsigned short)session->callno);
return send_command(session, AST_FRAME_IAX, IAX_COMMAND_TXREADY, 0, ied.buf, ied.pos, -1);
}
......@@ -1887,7 +1887,7 @@ static int iax_regauth_reply(struct iax_session *session, char *password, char *
struct iax_ie_data ied;
memset(&ied, 0, sizeof(ied));
iax_ie_append_str(&ied, IAX_IE_USERNAME, (unsigned char *) session->username);
iax_ie_append_short(&ied, IAX_IE_REFRESH, session->refresh);
iax_ie_append_short(&ied, IAX_IE_REFRESH, (unsigned short)session->refresh);
if ((methods & IAX_AUTHMETHOD_MD5) && challenge) {
MD5Init(&md5);
MD5Update(&md5, (const unsigned char *) challenge, (unsigned int)strlen(challenge));
......@@ -1931,9 +1931,9 @@ int iax_dialplan_request(struct iax_session *session, char *number)
static inline int which_bit(unsigned int i)
{
char x;
unsigned char x;
for(x = 0; x < 32; x++) {
if ((1 << x) == i) {
if ((unsigned)(1 << x) == i) {
return x + 1;
}
}
......@@ -1943,7 +1943,7 @@ static inline int which_bit(unsigned int i)
char iax_pref_codec_add(struct iax_session *session, unsigned int format)
{
int diff = (int) 'A';
session->codec_order[session->codec_order_len++] = (which_bit(format)) + diff;
session->codec_order[session->codec_order_len++] = (char)((which_bit(format)) + diff);
session->codec_order[session->codec_order_len] = '\0';
return session->codec_order[session->codec_order_len-1];
}
......@@ -1954,7 +1954,7 @@ void iax_pref_codec_del(struct iax_session *session, unsigned int format)
int diff = (int) 'A';
size_t x;
char old[32];
char remove = which_bit(format) + diff;
char remove = (char)(which_bit(format) + diff);
strncpy(old, session->codec_order, sizeof(old));
session->codec_order_len = 0;
......@@ -2083,7 +2083,7 @@ int iax_call(struct iax_session *session, const char *cidnum, const char *cidnam
return -1;
}
memcpy(&session->peeraddr.sin_addr, hp->h_addr, sizeof(session->peeraddr.sin_addr));
session->peeraddr.sin_port = htons(portno);
session->peeraddr.sin_port = htons((unsigned short)portno);
session->peeraddr.sin_family = AF_INET;
res = send_command(session, AST_FRAME_IAX, IAX_COMMAND_NEW, 0, ied.buf, ied.pos, -1);
if (res < 0)
......@@ -2984,7 +2984,7 @@ static struct iax_event *iax_net_read(void)
struct sockaddr_in sin;
sinlen = sizeof(sin);
res = iax_recvfrom(netfd, buf, sizeof(buf), 0, (struct sockaddr *) &sin, &sinlen);
res = iax_recvfrom(netfd, (char *)buf, sizeof(buf), 0, (struct sockaddr *) &sin, &sinlen);
if (res < 0) {
#ifdef WIN32
......@@ -3024,7 +3024,7 @@ static struct iax_session *iax_txcnt_session(struct ast_iax2_full_hdr *fh, int d
}
iax_mutex_lock(session_mutex);
for( cur=sessions; cur; cur=cur->next ) {
if ((cur->transferring) && (cur->transferid == ies.transferid) &&
if ((cur->transferring) && (cur->transferid == (int)ies.transferid) &&
(cur->callno == dcallno) && (cur->transfercallno == callno)) {
/* We're transferring ---
* skip address/port checking which would fail while remote peer behind symmetric NAT
......
......@@ -84,23 +84,20 @@ void jb_reset(jitterbuf *jb)
jitterbuf * jb_new()
{
jitterbuf *jb;
jitterbuf *jb = (jitterbuf *)malloc(sizeof(*jb));
if (!(jb = (jitterbuf *)malloc(sizeof(*jb))))
return NULL;
if (!jb) return NULL;
jb->info.conf.target_extra = JB_TARGET_EXTRA;
jb_reset(jb);
jb_dbg2("jb_new() = %x\n", jb);
return jb;
}
void jb_destroy(jitterbuf *jb)
{
jb_frame *frame;
jb_dbg2("jb_destroy(%x)\n", jb);
/* free all the frames on the "free list" */
frame = jb->free;
......@@ -127,7 +124,7 @@ static int longcmp(const void *a, const void *b)
/* maybe later we can make the history buckets variable size, or something? */
/* drop parameter determines whether we will drop outliers to minimize
* delay */
static int history_put(jitterbuf *jb, time_in_ms_t ts, time_in_ms_t now, long ms)
static int history_put(jitterbuf *jb, time_in_ms_t ts, time_in_ms_t now)
{
time_in_ms_t delay = now - (ts - jb->info.resync_offset);
time_in_ms_t threshold = 2 * jb->info.jitter + jb->info.conf.resync_threshold;
......@@ -326,17 +323,20 @@ static void history_get(jitterbuf *jb)
/* returns 1 if frame was inserted into head of queue, 0 otherwise */
static int queue_put(jitterbuf *jb, void *data, const enum jb_frame_type type, long ms, time_in_ms_t ts)
{
jb_frame *frame;
jb_frame *frame = jb->free;
jb_frame *p;
int head = 0;
time_in_ms_t resync_ts = ts - jb->info.resync_offset;
if ((frame = jb->free)) {
if (frame) {
jb->free = frame->next;
} else if (!(frame = (jb_frame *)malloc(sizeof(*frame)))) {
} else {
frame = (jb_frame *)malloc(sizeof(*frame));
if (!frame) {
jb_err("cannot allocate frame\n");
return 0;
}
}
jb->info.frames_cur++;
......@@ -514,8 +514,6 @@ static void jb_dbgqueue(jitterbuf *jb)
enum jb_return_code jb_put(jitterbuf *jb, void *data, const enum jb_frame_type type, long ms, time_in_ms_t ts, time_in_ms_t now)
{
jb_dbg2("jb_put(%x,%x,%ld,%ld,%ld)\n", jb, data, ms, ts, now);
jb->info.frames_in++;
if (type == JB_TYPE_VOICE) {
......@@ -524,7 +522,7 @@ enum jb_return_code jb_put(jitterbuf *jb, void *data, const enum jb_frame_type t
* sending retransmitted control frames with their awkward
* timestamps through
*/
if (history_put(jb,ts,now,ms))
if (history_put(jb,ts,now))
return JB_DROP;
}
......
......@@ -40,10 +40,10 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;$(InputDir)..\..\..\..\libs\iax\src&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS"
AdditionalIncludeDirectories="."
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS;WIN32_TIME_GET_TIME;LIBIAX;NEWJB;_CRT_SECURE_NO_DEPRECATE;DEBUG_SUPPORT"
UsePrecompiledHeader="0"
DisableSpecificWarnings="4201"
DisableSpecificWarnings="4201;4200;4100;4127;6246;6053;6031;6262;4706"
/>
<Tool
Name="VCManagedResourceCompilerTool"
......@@ -105,9 +105,10 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(InputDir)..\..\..\..\libs\iax\src&quot;"
AdditionalIncludeDirectories="."
PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;MOD_EXPORTS;LIBIAX;WIN32_TIME_GET_TIME;DEBUG_SUPPORT;NEWJB;_CRT_SECURE_NO_DEPRECATE"
UsePrecompiledHeader="0"
DisableSpecificWarnings="4201"
DisableSpecificWarnings="4201;4200;4100;4127;6246;6053;6031;6262;4706"
/>
<Tool
Name="VCManagedResourceCompilerTool"
......@@ -150,6 +151,26 @@
<References>
</References>
<Files>
<File
RelativePath=".\iax-mutex.c"
>
</File>
<File
RelativePath=".\iax.c"
>
</File>
<File
RelativePath=".\iax2-parser.c"
>
</File>
<File
RelativePath=".\jitterbuf.c"
>
</File>
<File
RelativePath=".\md5.c"
>
</File>
<File
RelativePath=".\mod_iax.c"
>
......
......@@ -6,6 +6,7 @@
ProjectGUID="{3A5B9131-F20C-4A85-9447-6C1610941CEE}"
RootNamespace="mod_iax"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
......@@ -21,17 +22,64 @@
InheritedPropertySheets="..\..\..\..\w32\module_debug.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;$(InputDir)..\..\..\..\libs\iax\src&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS"
AdditionalIncludeDirectories="."
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS;WIN32_TIME_GET_TIME;LIBIAX;NEWJB;_CRT_SECURE_NO_DEPRECATE;DEBUG_SUPPORT"
UsePrecompiledHeader="0"
DisableSpecificWarnings="4201"
DisableSpecificWarnings="4201;4200;4100;4127;6246;6053;6031;6262;4706"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalLibraryDirectories="&quot;..\..\..\..\libs\iax\$(OutDir)&quot;"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
......@@ -40,21 +88,89 @@
InheritedPropertySheets="..\..\..\..\w32\module_release.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(InputDir)..\..\..\..\libs\iax\src&quot;"
AdditionalIncludeDirectories="."
PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;MOD_EXPORTS;LIBIAX;WIN32_TIME_GET_TIME;DEBUG_SUPPORT;NEWJB;_CRT_SECURE_NO_DEPRECATE"
UsePrecompiledHeader="0"
DisableSpecificWarnings="4201"
DisableSpecificWarnings="4201;4200;4100;4127;6246;6053;6031;6262;4706"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalLibraryDirectories="&quot;..\..\..\..\libs\iax\$(OutDir)&quot;"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<File
RelativePath=".\iax-mutex.c"
>
</File>
<File
RelativePath=".\iax.c"
>
</File>
<File
RelativePath=".\iax2-parser.c"
>
</File>
<File
RelativePath=".\jitterbuf.c"
>
</File>
<File
RelativePath=".\md5.c"
>
</File>
<File
RelativePath=".\mod_iax.c"
>
......
差异被折叠。
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论