diff --git a/src/mod/codecs/mod_ilbc/mod_ilbc.c b/src/mod/codecs/mod_ilbc/mod_ilbc.c
index b32360e0b6..fe3f889358 100644
--- a/src/mod/codecs/mod_ilbc/mod_ilbc.c
+++ b/src/mod/codecs/mod_ilbc/mod_ilbc.c
@@ -112,7 +112,8 @@ static switch_status switch_ilbc_encode(switch_codec *codec,
unsigned int new_len = 0;
unsigned char *edp = encoded_data;
short *ddp = decoded_data;
- int x, y;
+ int x;
+ uint16_t y;
int loops = (int) decoded_data_len / context->dbytes;
float buf[240];
@@ -155,7 +156,8 @@ static switch_status switch_ilbc_decode(switch_codec *codec,
int loops = (int) encoded_data_len / context->bytes;
unsigned char *edp = encoded_data;
short *ddp = decoded_data;
- int x,y;
+ int x;
+ uint16_t y;
unsigned int new_len = 0;
float buf[240];
@@ -163,7 +165,7 @@ static switch_status switch_ilbc_decode(switch_codec *codec,
for (x = 0; x < loops && new_len < *decoded_data_len; x++) {
iLBC_decode(buf, edp, &context->decoder, 1);
for(y = 0; y < context->dbytes / sizeof(short) ; y++) {
- ddp[y] = buf[y];
+ ddp[y] = (short)buf[y];
}
ddp += context->dbytes / sizeof(short);
edp += context->bytes;
diff --git a/src/mod/codecs/mod_ilbc/mod_ilbc.vcproj b/src/mod/codecs/mod_ilbc/mod_ilbc.vcproj
index b5ca5e2fd2..1800d14d24 100644
--- a/src/mod/codecs/mod_ilbc/mod_ilbc.vcproj
+++ b/src/mod/codecs/mod_ilbc/mod_ilbc.vcproj
@@ -25,7 +25,7 @@
>
=1 Then
BuildModCodecG729=True
Case "Mod_CodecGSM"
BuildModCodecGSM=True
+ Case "Mod_ilbc"
+ BuildModilbc=True
Case "Mod_XMPPEvent"
BuildModXMPPEvent=True
Case "Mod_sndfile"
@@ -111,6 +114,7 @@ If objArgs.Count >=1 Then
BuildModzeroconf=True
BuildModSpiderMonkey=True
BuildModDingaling=True
+ BuildModilbc=True
End Select
Else
BuildCore=True
@@ -127,6 +131,7 @@ Else
BuildModzeroconf=True
BuildModSpiderMonkey=True
BuildModDingaling=True
+ BuildModilbc=True
End If
' ******************
@@ -201,6 +206,10 @@ If BuildModCodecGSM Then
BuildLibs_libgsm BuildDebug, BuildRelease
End If
+If BuildModilbc Then
+ BuildLibs_libilbc BuildDebug, BuildRelease
+End If
+
If BuildModXMPPEvent Then
BuildLibs_iksemel BuildDebug, BuildRelease
End If
@@ -567,6 +576,24 @@ Sub BuildLibs_libgsm(BuildDebug, BuildRelease)
End If
End Sub
+
+Sub BuildLibs_libilbc(BuildDebug, BuildRelease)
+ If FSO.FolderExists(LibDestDir & "codec\ilbc") Then
+ If BuildDebug Then
+ If Not FSO.FileExists(LibDestDir & "codec\ilbc\Debug\libilbc.lib") Then
+ BuildViaVCBuild LibDestDir & "codec\ilbc\libilbc.vcproj", "Debug"
+ End If
+ End If
+ If BuildRelease Then
+ If Not FSO.FileExists(LibDestDir & "codec\ilbc\Release\libilbc.lib") Then
+ BuildViaVCBuild LibDestDir & "codec\ilbc\libilbc.vcproj", "Release"
+ End If
+ End If
+ Else
+ Wscript.echo "Unable to download libilbc"
+ End If
+End Sub
+
Sub BuildLibs_SpeexCodec(BuildDebug, BuildRelease)
If Not FSO.FolderExists(LibDestDir & "speex") Then
WgetUnCompress "http://downloads.us.xiph.org/releases/speex/speex-1.1.11.1.tar.gz", LibDestDir