diff --git a/win32/compat.h b/win32/compat.h new file mode 100644 index 0000000..a16e408 --- /dev/null +++ b/win32/compat.h @@ -0,0 +1,35 @@ +#ifndef __WIN32_COMPAT_H__ +#define __WIN32_COMPAT_H__ + +/* #define WIN32_LEAN_AND_MEAN */ +#include +#include +#include +#include + +#define inline __inline + +#define popen _popen +#define pclose _pclose +#define snprintf _snprintf +#define strncasecmp strnicmp +#define stat _stat + +#define sleep(a) Sleep((a) * 1000) + +#define va_copy(dst, src) memcpy(&(dst), &(src), sizeof(va_list)) + +#define S_IRGRP 0 +#define S_IROTH 0 +#define S_IWGRP 0 +#define S_IWOTH 0 +#define S_IXGRP 0 +#define S_IXOTH 0 +#define PATH_SEPARATOR '\\' +#define _PATH_DEVNULL "nul" + +#ifndef ssize_t +# define ssize_t long +#endif /* !ssize_t */ + +#endif /* __WIN32_COMPAT_H__ */ \ No newline at end of file diff --git a/win32/config.h b/win32/config.h index 9c250ab..54be404 100644 --- a/win32/config.h +++ b/win32/config.h @@ -1,40 +1,18 @@ -#include -#include -#include +#ifndef __WIN32_CONFIG_H__ +#define __WIN32_CONFIG_H__ -#define HAVE_INTTYPES_H 1 -#define HAVE_LOCALE_H 1 -#define HAVE_STAT 1 -#define HAVE_STDINT_H 1 -#define HAVE_STRUCT_TIMEVAL 1 -#define HAVE_SYS_STAT_H 1 - -#define ICONV_CONST const - -/* Name of package */ -#define PACKAGE "ezstream" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "https://trac.xiph.org/newticket?component=ezstream" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "ezstream" - -/* Define to the full name and version of this package. */ #define PACKAGE_STRING "ezstream 0.5.4" -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "ezstream" +#define HAVE_SYS_TYPES_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_LOCALE_H 1 -/* Define to the version of this package. */ -#define PACKAGE_VERSION "0.5.4" +#define HAVE_STAT 1 -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 +#define HAVE_STRUCT_TIMEVAL 1 -/* Version number of package */ -#define VERSION "0.5.4" +#define ICONV_CONST -#ifdef XALLOC_DEBUG -typedef long ssize_t; -#endif +#include + +#endif /* __WIN32_CONFIG_H__ */ \ No newline at end of file diff --git a/win32/ezstream.sln b/win32/ezstream.sln index 39544fc..5824176 100644 --- a/win32/ezstream.sln +++ b/win32/ezstream.sln @@ -1,111 +1,95 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ezstream", "ezstream.vcproj", "{4C27B249-0C17-4007-9D51-2ED145DF06C2}" + +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ezstream", "ezstream.vcproj", "{43809192-0B8F-4AFE-85E6-C54E265CFB75}" ProjectSection(ProjectDependencies) = postProject - {376BDB5E-7092-44EC-AF16-C087D2D80FC6} = {376BDB5E-7092-44EC-AF16-C087D2D80FC6} - {A1CA7E73-EA91-43C0-80B5-5B16CF3EA61E} = {A1CA7E73-EA91-43C0-80B5-5B16CF3EA61E} - {3E590C94-A4E0-4E79-839E-A7263F3CA6B1} = {3E590C94-A4E0-4E79-839E-A7263F3CA6B1} + {1ACB165E-8C63-4B44-A4EB-791EFA8FA0A5} = {1ACB165E-8C63-4B44-A4EB-791EFA8FA0A5} + {29A3AE75-E9A8-4A43-BADB-A4EF0972BD5B} = {29A3AE75-E9A8-4A43-BADB-A4EF0972BD5B} + {8FB7BDB7-B66C-4D45-A03D-2FD46AAB1B08} = {8FB7BDB7-B66C-4D45-A03D-2FD46AAB1B08} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libshout", "..\..\shout\win32\libshout.vcproj", "{376BDB5E-7092-44EC-AF16-C087D2D80FC6}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libogg", "libogg.vcproj", "{60A624C8-EEFF-4083-A02E-1A4F6B56CE4F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvorbis", "libvorbis.vcproj", "{5CC6CF7F-35F8-41D4-AB87-F8173EFF390D}" ProjectSection(ProjectDependencies) = postProject - {63A539B9-C6CD-4DC9-80B2-B28DB92C151E} = {63A539B9-C6CD-4DC9-80B2-B28DB92C151E} + {60A624C8-EEFF-4083-A02E-1A4F6B56CE4F} = {60A624C8-EEFF-4083-A02E-1A4F6B56CE4F} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtheora", "..\..\theora\win32\theora_static.vcproj", "{63A539B9-C6CD-4DC9-80B2-B28DB92C151E}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvorbisfile", "libvorbisfile.vcproj", "{8FB7BDB7-B66C-4D45-A03D-2FD46AAB1B08}" ProjectSection(ProjectDependencies) = postProject - {5E55AD4D-483E-466D-B3B7-EAD8B6128DC9} = {5E55AD4D-483E-466D-B3B7-EAD8B6128DC9} + {5CC6CF7F-35F8-41D4-AB87-F8173EFF390D} = {5CC6CF7F-35F8-41D4-AB87-F8173EFF390D} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvorbisfile", "..\..\vorbis\win32\vorbisfile_static.vcproj", "{5E55AD4D-483E-466D-B3B7-EAD8B6128DC9}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libflac", "libflac.vcproj", "{3B517561-45A7-4189-B149-6EA03369255D}" ProjectSection(ProjectDependencies) = postProject - {FB2ECA7B-D98C-4341-84B7-005E037E25A7} = {FB2ECA7B-D98C-4341-84B7-005E037E25A7} + {60A624C8-EEFF-4083-A02E-1A4F6B56CE4F} = {60A624C8-EEFF-4083-A02E-1A4F6B56CE4F} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvorbis", "..\..\vorbis\win32\vorbis_static.vcproj", "{FB2ECA7B-D98C-4341-84B7-005E037E25A7}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtheora", "libtheora.vcproj", "{140F1A87-BAE3-4DBD-9221-D0918A63646F}" ProjectSection(ProjectDependencies) = postProject - {A0144DD0-0064-46CF-93D3-78DB712034D4} = {A0144DD0-0064-46CF-93D3-78DB712034D4} + {60A624C8-EEFF-4083-A02E-1A4F6B56CE4F} = {60A624C8-EEFF-4083-A02E-1A4F6B56CE4F} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libogg", "..\..\ogg\win32\ogg_static.vcproj", "{A0144DD0-0064-46CF-93D3-78DB712034D4}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libspeex", "libspeex.vcproj", "{6EC28559-BD88-4C63-AD91-A406FED1B363}" ProjectSection(ProjectDependencies) = postProject + {60A624C8-EEFF-4083-A02E-1A4F6B56CE4F} = {60A624C8-EEFF-4083-A02E-1A4F6B56CE4F} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxml2", "..\..\libxml2\win32\VC7\libxml2.vcproj", "{3E590C94-A4E0-4E79-839E-A7263F3CA6B1}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libshout", "libshout.vcproj", "{29A3AE75-E9A8-4A43-BADB-A4EF0972BD5B}" ProjectSection(ProjectDependencies) = postProject - {C6320F61-2939-4C52-A749-933377C12DEA} = {C6320F61-2939-4C52-A749-933377C12DEA} - {12329AC8-F4EC-4663-AEE2-93911D033E97} = {12329AC8-F4EC-4663-AEE2-93911D033E97} + {6EC28559-BD88-4C63-AD91-A406FED1B363} = {6EC28559-BD88-4C63-AD91-A406FED1B363} + {3B517561-45A7-4189-B149-6EA03369255D} = {3B517561-45A7-4189-B149-6EA03369255D} + {5CC6CF7F-35F8-41D4-AB87-F8173EFF390D} = {5CC6CF7F-35F8-41D4-AB87-F8173EFF390D} + {140F1A87-BAE3-4DBD-9221-D0918A63646F} = {140F1A87-BAE3-4DBD-9221-D0918A63646F} + {60A624C8-EEFF-4083-A02E-1A4F6B56CE4F} = {60A624C8-EEFF-4083-A02E-1A4F6B56CE4F} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\..\zlib\win32\zlib.vcproj", "{C6320F61-2939-4C52-A749-933377C12DEA}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libiconv", "..\..\libiconv\win32\libiconv.vcproj", "{12329AC8-F4EC-4663-AEE2-93911D033E97}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "taglib", "..\..\taglib\win32\taglib.vcproj", "{F91FFAA9-0A12-4D51-9E10-FA7D8FCA8DFD}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "taglib_c", "..\..\taglib\win32\taglib_c.vcproj", "{A1CA7E73-EA91-43C0-80B5-5B16CF3EA61E}" - ProjectSection(ProjectDependencies) = postProject - {F91FFAA9-0A12-4D51-9E10-FA7D8FCA8DFD} = {F91FFAA9-0A12-4D51-9E10-FA7D8FCA8DFD} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libz", "libz.vcproj", "{1ACB165E-8C63-4B44-A4EB-791EFA8FA0A5}" EndProject Global - GlobalSection(SolutionConfiguration) = preSolution - Debug = Debug - Release = Release + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {4C27B249-0C17-4007-9D51-2ED145DF06C2}.Debug.ActiveCfg = Debug|Win32 - {4C27B249-0C17-4007-9D51-2ED145DF06C2}.Debug.Build.0 = Debug|Win32 - {4C27B249-0C17-4007-9D51-2ED145DF06C2}.Release.ActiveCfg = Release|Win32 - {4C27B249-0C17-4007-9D51-2ED145DF06C2}.Release.Build.0 = Release|Win32 - {376BDB5E-7092-44EC-AF16-C087D2D80FC6}.Debug.ActiveCfg = Debug|Win32 - {376BDB5E-7092-44EC-AF16-C087D2D80FC6}.Debug.Build.0 = Debug|Win32 - {376BDB5E-7092-44EC-AF16-C087D2D80FC6}.Release.ActiveCfg = Release|Win32 - {376BDB5E-7092-44EC-AF16-C087D2D80FC6}.Release.Build.0 = Release|Win32 - {63A539B9-C6CD-4DC9-80B2-B28DB92C151E}.Debug.ActiveCfg = Debug|Win32 - {63A539B9-C6CD-4DC9-80B2-B28DB92C151E}.Debug.Build.0 = Debug|Win32 - {63A539B9-C6CD-4DC9-80B2-B28DB92C151E}.Release.ActiveCfg = Release|Win32 - {63A539B9-C6CD-4DC9-80B2-B28DB92C151E}.Release.Build.0 = Release|Win32 - {5E55AD4D-483E-466D-B3B7-EAD8B6128DC9}.Debug.ActiveCfg = Debug|Win32 - {5E55AD4D-483E-466D-B3B7-EAD8B6128DC9}.Debug.Build.0 = Debug|Win32 - {5E55AD4D-483E-466D-B3B7-EAD8B6128DC9}.Release.ActiveCfg = Release|Win32 - {5E55AD4D-483E-466D-B3B7-EAD8B6128DC9}.Release.Build.0 = Release|Win32 - {FB2ECA7B-D98C-4341-84B7-005E037E25A7}.Debug.ActiveCfg = Debug|Win32 - {FB2ECA7B-D98C-4341-84B7-005E037E25A7}.Debug.Build.0 = Debug|Win32 - {FB2ECA7B-D98C-4341-84B7-005E037E25A7}.Release.ActiveCfg = Release|Win32 - {FB2ECA7B-D98C-4341-84B7-005E037E25A7}.Release.Build.0 = Release|Win32 - {A0144DD0-0064-46CF-93D3-78DB712034D4}.Debug.ActiveCfg = Debug|Win32 - {A0144DD0-0064-46CF-93D3-78DB712034D4}.Debug.Build.0 = Debug|Win32 - {A0144DD0-0064-46CF-93D3-78DB712034D4}.Release.ActiveCfg = Release|Win32 - {A0144DD0-0064-46CF-93D3-78DB712034D4}.Release.Build.0 = Release|Win32 - {3E590C94-A4E0-4E79-839E-A7263F3CA6B1}.Debug.ActiveCfg = Debug|Win32 - {3E590C94-A4E0-4E79-839E-A7263F3CA6B1}.Debug.Build.0 = Debug|Win32 - {3E590C94-A4E0-4E79-839E-A7263F3CA6B1}.Release.ActiveCfg = Release|Win32 - {3E590C94-A4E0-4E79-839E-A7263F3CA6B1}.Release.Build.0 = Release|Win32 - {C6320F61-2939-4C52-A749-933377C12DEA}.Debug.ActiveCfg = Debug|Win32 - {C6320F61-2939-4C52-A749-933377C12DEA}.Debug.Build.0 = Debug|Win32 - {C6320F61-2939-4C52-A749-933377C12DEA}.Release.ActiveCfg = Release|Win32 - {C6320F61-2939-4C52-A749-933377C12DEA}.Release.Build.0 = Release|Win32 - {12329AC8-F4EC-4663-AEE2-93911D033E97}.Debug.ActiveCfg = Debug|Win32 - {12329AC8-F4EC-4663-AEE2-93911D033E97}.Debug.Build.0 = Debug|Win32 - {12329AC8-F4EC-4663-AEE2-93911D033E97}.Release.ActiveCfg = Release|Win32 - {12329AC8-F4EC-4663-AEE2-93911D033E97}.Release.Build.0 = Release|Win32 - {F91FFAA9-0A12-4D51-9E10-FA7D8FCA8DFD}.Debug.ActiveCfg = Debug|Win32 - {F91FFAA9-0A12-4D51-9E10-FA7D8FCA8DFD}.Debug.Build.0 = Debug|Win32 - {F91FFAA9-0A12-4D51-9E10-FA7D8FCA8DFD}.Release.ActiveCfg = Release|Win32 - {F91FFAA9-0A12-4D51-9E10-FA7D8FCA8DFD}.Release.Build.0 = Release|Win32 - {A1CA7E73-EA91-43C0-80B5-5B16CF3EA61E}.Debug.ActiveCfg = Debug|Win32 - {A1CA7E73-EA91-43C0-80B5-5B16CF3EA61E}.Debug.Build.0 = Debug|Win32 - {A1CA7E73-EA91-43C0-80B5-5B16CF3EA61E}.Release.ActiveCfg = Release|Win32 - {A1CA7E73-EA91-43C0-80B5-5B16CF3EA61E}.Release.Build.0 = Release|Win32 + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {43809192-0B8F-4AFE-85E6-C54E265CFB75}.Debug|Win32.ActiveCfg = Debug|Win32 + {43809192-0B8F-4AFE-85E6-C54E265CFB75}.Debug|Win32.Build.0 = Debug|Win32 + {43809192-0B8F-4AFE-85E6-C54E265CFB75}.Release|Win32.ActiveCfg = Release|Win32 + {43809192-0B8F-4AFE-85E6-C54E265CFB75}.Release|Win32.Build.0 = Release|Win32 + {60A624C8-EEFF-4083-A02E-1A4F6B56CE4F}.Debug|Win32.ActiveCfg = Debug|Win32 + {60A624C8-EEFF-4083-A02E-1A4F6B56CE4F}.Debug|Win32.Build.0 = Debug|Win32 + {60A624C8-EEFF-4083-A02E-1A4F6B56CE4F}.Release|Win32.ActiveCfg = Release|Win32 + {60A624C8-EEFF-4083-A02E-1A4F6B56CE4F}.Release|Win32.Build.0 = Release|Win32 + {5CC6CF7F-35F8-41D4-AB87-F8173EFF390D}.Debug|Win32.ActiveCfg = Debug|Win32 + {5CC6CF7F-35F8-41D4-AB87-F8173EFF390D}.Debug|Win32.Build.0 = Debug|Win32 + {5CC6CF7F-35F8-41D4-AB87-F8173EFF390D}.Release|Win32.ActiveCfg = Release|Win32 + {5CC6CF7F-35F8-41D4-AB87-F8173EFF390D}.Release|Win32.Build.0 = Release|Win32 + {8FB7BDB7-B66C-4D45-A03D-2FD46AAB1B08}.Debug|Win32.ActiveCfg = Debug|Win32 + {8FB7BDB7-B66C-4D45-A03D-2FD46AAB1B08}.Debug|Win32.Build.0 = Debug|Win32 + {8FB7BDB7-B66C-4D45-A03D-2FD46AAB1B08}.Release|Win32.ActiveCfg = Release|Win32 + {8FB7BDB7-B66C-4D45-A03D-2FD46AAB1B08}.Release|Win32.Build.0 = Release|Win32 + {3B517561-45A7-4189-B149-6EA03369255D}.Debug|Win32.ActiveCfg = Debug|Win32 + {3B517561-45A7-4189-B149-6EA03369255D}.Debug|Win32.Build.0 = Debug|Win32 + {3B517561-45A7-4189-B149-6EA03369255D}.Release|Win32.ActiveCfg = Release|Win32 + {3B517561-45A7-4189-B149-6EA03369255D}.Release|Win32.Build.0 = Release|Win32 + {140F1A87-BAE3-4DBD-9221-D0918A63646F}.Debug|Win32.ActiveCfg = Debug|Win32 + {140F1A87-BAE3-4DBD-9221-D0918A63646F}.Debug|Win32.Build.0 = Debug|Win32 + {140F1A87-BAE3-4DBD-9221-D0918A63646F}.Release|Win32.ActiveCfg = Release|Win32 + {140F1A87-BAE3-4DBD-9221-D0918A63646F}.Release|Win32.Build.0 = Release|Win32 + {6EC28559-BD88-4C63-AD91-A406FED1B363}.Debug|Win32.ActiveCfg = Debug|Win32 + {6EC28559-BD88-4C63-AD91-A406FED1B363}.Debug|Win32.Build.0 = Debug|Win32 + {6EC28559-BD88-4C63-AD91-A406FED1B363}.Release|Win32.ActiveCfg = Release|Win32 + {6EC28559-BD88-4C63-AD91-A406FED1B363}.Release|Win32.Build.0 = Release|Win32 + {29A3AE75-E9A8-4A43-BADB-A4EF0972BD5B}.Debug|Win32.ActiveCfg = Debug|Win32 + {29A3AE75-E9A8-4A43-BADB-A4EF0972BD5B}.Debug|Win32.Build.0 = Debug|Win32 + {29A3AE75-E9A8-4A43-BADB-A4EF0972BD5B}.Release|Win32.ActiveCfg = Release|Win32 + {29A3AE75-E9A8-4A43-BADB-A4EF0972BD5B}.Release|Win32.Build.0 = Release|Win32 + {1ACB165E-8C63-4B44-A4EB-791EFA8FA0A5}.Debug|Win32.ActiveCfg = Debug|Win32 + {1ACB165E-8C63-4B44-A4EB-791EFA8FA0A5}.Debug|Win32.Build.0 = Debug|Win32 + {1ACB165E-8C63-4B44-A4EB-791EFA8FA0A5}.Release|Win32.ActiveCfg = Release|Win32 + {1ACB165E-8C63-4B44-A4EB-791EFA8FA0A5}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE EndGlobalSection EndGlobal diff --git a/win32/ezstream.vcproj b/win32/ezstream.vcproj index 06c4dc5..16e5be4 100644 --- a/win32/ezstream.vcproj +++ b/win32/ezstream.vcproj @@ -1,158 +1,188 @@ + TargetFrameworkVersion="131072" + > + Name="Win32" + /> + + + CharacterSet="0" + BuildLogFile="$(IntDir)\$(TargetName)-BuildLog.htm" + > + Name="VCPreBuildEventTool" + /> + Name="VCCustomBuildTool" + /> + Name="VCXMLDataGeneratorTool" + /> + + /> + Name="VCCLCompilerTool" + UseUnicodeResponseFiles="false" + Optimization="0" + EnableIntrinsicFunctions="false" + AdditionalIncludeDirectories=".;..\src;taglib-bin\include;libxml2-bin\include;libiconv-bin\include;.\libshout\include;.\libvorbis\include;.\libogg\include;" + PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;HAVE_CONFIG_H=1;" + StringPooling="true" + MinimalRebuild="true" + ExceptionHandling="0" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + EnableFunctionLevelLinking="true" + RuntimeTypeInfo="false" + ObjectFile="$(IntDir)\$(TargetName).obj\" + ProgramDataBaseFileName="$(IntDir)\$(TargetName)-vc90.pdb" + WarningLevel="3" + DebugInformationFormat="4" + CompileAs="1" + /> - + Name="VCManagedResourceCompilerTool" + /> + /> + Name="VCPreLinkEventTool" + /> + Name="VCLinkerTool" + UseUnicodeResponseFiles="false" + AdditionalDependencies="ws2_32.lib .\taglib-bin\lib\tag.lib .\taglib-bin\lib\tag_c.lib libxml2-bin\lib\libxml2_a.lib .\libiconv-bin\lib\libiconv-vc9.lib" + GenerateDebugInformation="true" + SubSystem="0" + LargeAddressAware="2" + TargetMachine="1" + /> + Name="VCALinkTool" + /> + Name="VCManifestTool" + /> + Name="VCXDCMakeTool" + /> + + + + + CharacterSet="2" + WholeProgramOptimization="1" + BuildLogFile="$(IntDir)\$(TargetName)-BuildLog.htm" + > + Name="VCPreBuildEventTool" + /> + Name="VCCustomBuildTool" + /> + Name="VCXMLDataGeneratorTool" + /> + + /> + Name="VCCLCompilerTool" + UseUnicodeResponseFiles="false" + Optimization="3" + EnableIntrinsicFunctions="false" + AdditionalIncludeDirectories=".;..\src;taglib-bin\include;libxml2-bin\include;libiconv-bin\include;.\libshout\include;.\libvorbis\include;.\libogg\include;" + PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;HAVE_CONFIG_H=1;" + StringPooling="true" + ExceptionHandling="0" + RuntimeLibrary="2" + EnableFunctionLevelLinking="false" + RuntimeTypeInfo="false" + ObjectFile="$(IntDir)\$(TargetName).obj\" + ProgramDataBaseFileName="$(IntDir)\$(TargetName)-vc90.pdb" + WarningLevel="3" + DebugInformationFormat="0" + CompileAs="1" + /> - + Name="VCManagedResourceCompilerTool" + /> + /> + Name="VCPreLinkEventTool" + /> + Name="VCLinkerTool" + UseUnicodeResponseFiles="false" + AdditionalDependencies="ws2_32.lib .\taglib-bin\lib\tag.lib .\taglib-bin\lib\tag_c.lib libxml2-bin\lib\libxml2_a.lib .\libiconv-bin\lib\libiconv-vc9.lib" + GenerateDebugInformation="false" + SubSystem="1" + LargeAddressAware="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + SetChecksum="true" + TargetMachine="1" + /> + Name="VCALinkTool" + /> + Name="VCManifestTool" + /> + Name="VCXDCMakeTool" + /> + + + + @@ -160,126 +190,105 @@ + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + RelativePath="..\src\compat.c" + > - - - - - - + RelativePath="..\src\configfile.c" + > - - - - - - + RelativePath="..\src\ezstream.c" + > - - - - - - + RelativePath="..\src\getopt.c" + > + RelativePath="..\src\metadata.c" + > + RelativePath="..\src\playlist.c" + > + RelativePath="..\src\strlcat.c" + > + RelativePath="..\src\strlcpy.c" + > + RelativePath="..\src\strtonum.c" + > + RelativePath="..\src\util.c" + > + RelativePath="..\src\xalloc.c" + > + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + RelativePath="..\src\compat.h" + > + RelativePath="..\src\configfile.h" + > + RelativePath="..\src\metadata.h" + > + RelativePath="..\src\playlist.h" + > + RelativePath="..\src\strfctns.h" + > + RelativePath="..\src\util.h" + > - - - - + RelativePath="..\src\xalloc.h" + > + + + + + + + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > diff --git a/win32/libflac.vcproj b/win32/libflac.vcproj new file mode 100644 index 0000000..457b702 --- /dev/null +++ b/win32/libflac.vcproj @@ -0,0 +1,411 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win32/libogg.vcproj b/win32/libogg.vcproj new file mode 100644 index 0000000..04c3980 --- /dev/null +++ b/win32/libogg.vcproj @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win32/libshout.vcproj b/win32/libshout.vcproj new file mode 100644 index 0000000..b2e8a99 --- /dev/null +++ b/win32/libshout.vcproj @@ -0,0 +1,322 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win32/libspeex.vcproj b/win32/libspeex.vcproj new file mode 100644 index 0000000..3266932 --- /dev/null +++ b/win32/libspeex.vcproj @@ -0,0 +1,392 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win32/libtheora.vcproj b/win32/libtheora.vcproj new file mode 100644 index 0000000..d4def7f --- /dev/null +++ b/win32/libtheora.vcproj @@ -0,0 +1,504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win32/libvorbis.vcproj b/win32/libvorbis.vcproj new file mode 100644 index 0000000..9cd471c --- /dev/null +++ b/win32/libvorbis.vcproj @@ -0,0 +1,474 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win32/libvorbisfile.vcproj b/win32/libvorbisfile.vcproj new file mode 100644 index 0000000..c5f8858 --- /dev/null +++ b/win32/libvorbisfile.vcproj @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win32/libz.vcproj b/win32/libz.vcproj new file mode 100644 index 0000000..b8e4495 --- /dev/null +++ b/win32/libz.vcproj @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win32/shout/Makefile.am b/win32/shout/Makefile.am new file mode 100644 index 0000000..0b44c7c --- /dev/null +++ b/win32/shout/Makefile.am @@ -0,0 +1,5 @@ +AUTOMAKE_OPTIONS = 1.9 foreign + +EXTRA_DIST = shout.h + +CLEANFILES = *~ core *.core diff --git a/win32/shout/shout.h b/win32/shout/shout.h new file mode 100644 index 0000000..814063a --- /dev/null +++ b/win32/shout/shout.h @@ -0,0 +1,209 @@ +/* shout.h + * + * API for libshout, the streaming library for icecast + * + * Copyright (C) 2002-2003 the Icecast team + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the Free + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __LIBSHOUT_SHOUT_H__ +#define __LIBSHOUT_SHOUT_H__ + +#define VERSION "2.2.2" +#define LIBSHOUT_MAJOR 2 +#define LIBSHOUT_MINOR 2 +#define LIBSHOUT_MICRO 2 + +#include +#ifdef WIN32 +#include +#endif + +#define SHOUTERR_SUCCESS (0) +#define SHOUTERR_INSANE (-1) +#define SHOUTERR_NOCONNECT (-2) +#define SHOUTERR_NOLOGIN (-3) +#define SHOUTERR_SOCKET (-4) +#define SHOUTERR_MALLOC (-5) +#define SHOUTERR_METADATA (-6) +#define SHOUTERR_CONNECTED (-7) +#define SHOUTERR_UNCONNECTED (-8) +#define SHOUTERR_UNSUPPORTED (-9) + +#define SHOUTERR_BUSY (-10) + +#define SHOUT_FORMAT_OGG (0) +#define SHOUT_FORMAT_MP3 (1) +/* backward-compatibility alias */ +#define SHOUT_FORMAT_VORBIS SHOUT_FORMAT_OGG + +#define SHOUT_PROTOCOL_HTTP (0) +#define SHOUT_PROTOCOL_XAUDIOCAST (1) +#define SHOUT_PROTOCOL_ICY (2) + +#define SHOUT_AI_BITRATE "bitrate" +#define SHOUT_AI_SAMPLERATE "samplerate" +#define SHOUT_AI_CHANNELS "channels" +#define SHOUT_AI_QUALITY "quality" + +typedef struct shout shout_t; +typedef struct _util_dict shout_metadata_t; + +#ifdef __cplusplus +extern "C" { +#endif + +/* initializes the shout library. Must be called before anything else */ +void shout_init(void); + +/* shuts down the shout library, deallocating any global storage. Don't call + * anything afterwards */ +void shout_shutdown(void); + +/* returns a static version string. Non-null parameters will be set to the + * value of the library major, minor, and patch levels, respectively */ +const char *shout_version(int *major, int *minor, int *patch); + +/* Allocates and sets up a new shout_t. Returns NULL if it can't get enough + * memory. The returns shout_t must be disposed of with shout_free. */ +shout_t *shout_new(void); + +/* Free all memory allocated by a shout_t */ +void shout_free(shout_t *self); + +/* Returns a statically allocated string describing the last shout error + * to occur. Only valid until the next libshout call on this shout_t */ +const char *shout_get_error(shout_t *self); + +/* Return the error code (e.g. SHOUTERR_SOCKET) for this shout instance */ +int shout_get_errno(shout_t *self); + +/* returns SHOUTERR_CONNECTED or SHOUTERR_UNCONNECTED */ +int shout_get_connected(shout_t *self); + +/* Parameter manipulation functions. libshout makes copies of all parameters, + * the caller may free its copies after giving them to libshout. May return + * SHOUTERR_MALLOC */ + +int shout_set_host(shout_t *self, const char *host); +const char *shout_get_host(shout_t *self); + +int shout_set_port(shout_t *self, unsigned short port); +unsigned short shout_get_port(shout_t *self); + +int shout_set_password(shout_t *, const char *password); +const char *shout_get_password(shout_t *self); + +int shout_set_mount(shout_t *self, const char *mount); +const char *shout_get_mount(shout_t *self); + +int shout_set_name(shout_t *self, const char *name); +const char *shout_get_name(shout_t *self); + +int shout_set_url(shout_t *self, const char *url); +const char *shout_get_url(shout_t *self); + +int shout_set_genre(shout_t *self, const char *genre); +const char *shout_get_genre(shout_t *self); + +int shout_set_user(shout_t *self, const char *username); +const char *shout_get_user(shout_t *self); + +int shout_set_agent(shout_t *self, const char *username); +const char *shout_get_agent(shout_t *self); + +int shout_set_description(shout_t *self, const char *description); +const char *shout_get_description(shout_t *self); + +int shout_set_dumpfile(shout_t *self, const char *dumpfile); +const char *shout_get_dumpfile(shout_t *self); + +int shout_set_audio_info(shout_t *self, const char *name, const char *value); +const char *shout_get_audio_info(shout_t *self, const char *name); + +int shout_set_public(shout_t *self, unsigned int make_public); +unsigned int shout_get_public(shout_t *self); + +/* takes a SHOUT_FORMAT_xxxx argument */ +int shout_set_format(shout_t *self, unsigned int format); +unsigned int shout_get_format(shout_t *self); + +/* takes a SHOUT_PROTOCOL_xxxxx argument */ +int shout_set_protocol(shout_t *self, unsigned int protocol); +unsigned int shout_get_protocol(shout_t *self); + +/* Instructs libshout to use nonblocking I/O. Must be called before + * shout_open (no switching back and forth midstream at the moment). */ +int shout_set_nonblocking(shout_t* self, unsigned int nonblocking); +unsigned int shout_get_nonblocking(shout_t *self); + +/* Opens a connection to the server. All parameters must already be set */ +int shout_open(shout_t *self); + +/* Closes a connection to the server */ +int shout_close(shout_t *self); + +/* Send data to the server, parsing it for format specific timing info */ +int shout_send(shout_t *self, const unsigned char *data, size_t len); + +/* Send unparsed data to the server. Do not use this unless you know + * what you are doing. + * Returns the number of bytes written, or < 0 on error. + */ +ssize_t shout_send_raw(shout_t *self, const unsigned char *data, size_t len); + +/* return the number of bytes currently on the write queue (only makes sense in + * nonblocking mode). */ +ssize_t shout_queuelen(shout_t *self); + +/* Puts caller to sleep until it is time to send more data to the server */ +void shout_sync(shout_t *self); + +/* Amount of time in ms caller should wait before sending again */ +int shout_delay(shout_t *self); + +/* Sets MP3 metadata. + * Returns: + * SHOUTERR_SUCCESS + * SHOUTERR_UNSUPPORTED if format isn't MP3 + * SHOUTERR_MALLOC + * SHOUTERR_INSANE + * SHOUTERR_NOCONNECT + * SHOUTERR_SOCKET + */ +int shout_set_metadata(shout_t *self, shout_metadata_t *metadata); + +/* Allocates a new metadata structure. Must be freed by shout_metadata_free. */ +shout_metadata_t *shout_metadata_new(void); + +/* Free resources allocated by shout_metadata_t */ +void shout_metadata_free(shout_metadata_t *self); + +/* Add a parameter to the metadata structure. + * Returns: + * SHOUTERR_SUCCESS on success + * SHOUTERR_INSANE if self isn't a valid shout_metadata_t* or name is null + * SHOUTERR_MALLOC if memory can't be allocated */ +int shout_metadata_add(shout_metadata_t *self, const char *name, const char *value); + +#ifdef __cplusplus +} +#endif + +/* --- Compiled features --- */ + +#define SHOUT_THREADSAFE 0 + +#endif /* __LIBSHOUT_SHOUT_H__ */