mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-05-07 05:53:06 +00:00
Merge branch 'wince-port'
Conflicts: linphone/coreapi/exevents.c linphone/coreapi/friend.c linphone/coreapi/linphonecore.c linphone/coreapi/lpconfig.c linphone/mediastreamer2/build/wince/mediastreamer2.def linphone/mediastreamer2/build/wince/mediastreamer2.vcproj linphone/mediastreamer2/src/msvolume.c linphone/oRTP/build/wince/oRTP.vcproj linphone/oRTP/src/rtpsession.c git-svn-id: svn+ssh://svn.savannah.nongnu.org/linphone/trunk@801 3f6dc0c8-ddfe-455d-9043-3cd528dc4637
This commit is contained in:
commit
e1c2a3833a
44 changed files with 4742 additions and 2872 deletions
BIN
linphone/build/wince/liblinphone.ncb
Normal file
BIN
linphone/build/wince/liblinphone.ncb
Normal file
Binary file not shown.
51
linphone/build/wince/liblinphone.sln
Normal file
51
linphone/build/wince/liblinphone.sln
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblinphone", "liblinphone.vcproj", "{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "linphonec", "linphonec\linphonec.vcproj", "{92574924-BF59-4DAA-994B-9978B80E5797}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7} = {290078F0-3B63-47BF-A2A9-E1AF5411F5E7}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|Windows Mobile 6 Professional SDK (ARMV4I) = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
Debug|Windows Mobile 6 Standard SDK (ARMV4I) = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
Release|Win32 = Release|Win32
|
||||
Release|Windows Mobile 6 Professional SDK (ARMV4I) = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
Release|Windows Mobile 6 Standard SDK (ARMV4I) = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Release|Win32.Build.0 = Release|Win32
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{92574924-BF59-4DAA-994B-9978B80E5797}.Debug|Win32.ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{92574924-BF59-4DAA-994B-9978B80E5797}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{92574924-BF59-4DAA-994B-9978B80E5797}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{92574924-BF59-4DAA-994B-9978B80E5797}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{92574924-BF59-4DAA-994B-9978B80E5797}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{92574924-BF59-4DAA-994B-9978B80E5797}.Release|Win32.ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{92574924-BF59-4DAA-994B-9978B80E5797}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{92574924-BF59-4DAA-994B-9978B80E5797}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{92574924-BF59-4DAA-994B-9978B80E5797}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{92574924-BF59-4DAA-994B-9978B80E5797}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
BIN
linphone/build/wince/liblinphone.suo
Normal file
BIN
linphone/build/wince/liblinphone.suo
Normal file
Binary file not shown.
584
linphone/build/wince/liblinphone.vcproj
Normal file
584
linphone/build/wince/liblinphone.vcproj
Normal file
|
|
@ -0,0 +1,584 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Name="liblinphone"
|
||||
ProjectGUID="{290078F0-3B63-47BF-A2A9-E1AF5411F5E7}"
|
||||
RootNamespace="liblinphone"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="0"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="Windows Mobile 6 Standard SDK (ARMV4I)"
|
||||
/>
|
||||
<Platform
|
||||
Name="Windows Mobile 6 Professional SDK (ARMV4I)"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="Debug"
|
||||
IntermediateDirectory="Debug"
|
||||
ConfigurationType="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""..\..\oRTP\include:..\..\mediastreamer2\include:..\..\..\..\linphone-builder\osip\include:..\..\..\..\linphone-builder\eXosip\include:..\..\..\..\linphone-builder\speex\include""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBLINPHONE_EXPORTS; OSIP_MT: ENABLE_TRACE:LOG_DOMAIN=\"LinphoneCore\":ORTP_STATIC:"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
|
||||
OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
|
||||
IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ExecutionBucket="7"
|
||||
AdditionalOptions="
"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\oRTP\include;..\..\mediastreamer2\include;"..\..\..\..\linphone-builder\speex\include";"..\..\..\..\linphone-builder\eXosip\include";"..\..\..\..\linphone-builder\osip\include""
|
||||
PreprocessorDefinitions="ORTP_INET6;ORTP_EXPORT;_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;$(PLATFORMDEFINES);_DEBUG;_USRDLL;$(ARCHFAM);$(_ARCHFAM_);LIBLINPHONE_EXPORTS;OSIP_MT;ENABLE_TRACE;LOG_DOMAIN=\"LinphoneCore\";IN_LINPHONE;LINPHONE_PLUGINS_DIR=\"\";LINPHONE_VERSION=\"3.1.2\""
|
||||
MinimalRebuild="true"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="ws2.lib osip2.lib osipparser2.lib eXosip2.lib mediastreamer2.lib ortp.lib"
|
||||
LinkIncremental="2"
|
||||
AdditionalLibraryDirectories=""..\..\..\..\linphone-builder\osip\platform\wince\$(PlatformName)\$(ConfigurationName)";"..\..\oRTP\build\wince\$(PlatformName)\$(ConfigurationName)""
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
TargetMachine="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
ForceDirty="-1"
|
||||
RemoteDirectory=""
|
||||
RegisterOutput="0"
|
||||
AdditionalFiles=""
|
||||
/>
|
||||
<DebuggerTool
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
|
||||
OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
|
||||
IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ExecutionBucket="7"
|
||||
AdditionalOptions="
"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\oRTP\include;..\..\mediastreamer2\include;"..\..\..\..\linphone-builder\speex\include";"..\..\..\..\linphone-builder\eXosip\include";"..\..\..\..\linphone-builder\osip\include""
|
||||
PreprocessorDefinitions="ORTP_INET6;ORTP_EXPORT;_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;$(PLATFORMDEFINES);_DEBUG;_USRDLL;$(ARCHFAM);$(_ARCHFAM_);LIBLINPHONE_EXPORTS;OSIP_MT;ENABLE_TRACE;LOG_DOMAIN=\"LinphoneCore\";IN_LINPHONE;LINPHONE_PLUGINS_DIR=\"\";LINPHONE_VERSION=\"3.1.2\";_UNICODE;UNICODE"
|
||||
MinimalRebuild="true"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalOptions=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
ForceDirty="-1"
|
||||
RemoteDirectory=""
|
||||
RegisterOutput="0"
|
||||
AdditionalFiles=""
|
||||
/>
|
||||
<DebuggerTool
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\..\oRTP\include:..\..\mediastreamer2\include:..\..\..\..\linphone-builder\osip\include::..\..\..\..\linphone-builder\eXosip::..\..\..\..\linphone-builder\speex\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBLINPHONE_EXPORTS; OSIP_MT: ENABLE_TRACE:LOG_DOMAIN=\"LinphoneCore\":ORTP_STATIC:"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
|
||||
OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
|
||||
IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ExecutionBucket="7"
|
||||
AdditionalIncludeDirectories="..\..\oRTP\include:..\..\mediastreamer2\include:..\..\..\..\linphone-builder\osip\include::..\..\..\..\linphone-builder\eXosip::..\..\..\..\linphone-builder\speex\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBLINPHONE_EXPORTS; OSIP_MT: ENABLE_TRACE:LOG_DOMAIN=\"LinphoneCore\":ORTP_STATIC:"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
ForceDirty="-1"
|
||||
RemoteDirectory=""
|
||||
RegisterOutput="0"
|
||||
AdditionalFiles=""
|
||||
/>
|
||||
<DebuggerTool
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
|
||||
OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
|
||||
IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ExecutionBucket="7"
|
||||
AdditionalIncludeDirectories="..\..\oRTP\include:..\..\mediastreamer2\include:..\..\..\..\linphone-builder\osip\include::..\..\..\..\linphone-builder\eXosip::..\..\..\..\linphone-builder\speex\include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBLINPHONE_EXPORTS; OSIP_MT: ENABLE_TRACE:LOG_DOMAIN=\"LinphoneCore\":ORTP_STATIC:"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
ForceDirty="-1"
|
||||
RemoteDirectory=""
|
||||
RegisterOutput="0"
|
||||
AdditionalFiles=""
|
||||
/>
|
||||
<DebuggerTool
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\enum.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\exevents.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\linphonecore.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\lpconfig.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\private.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\sdphandler.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\sipsetup.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\authentication.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\chat.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\enum.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\exevents.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\friend.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\general_state.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\linphonecore.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\lpconfig.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\misc.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\presence.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\proxy.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\sdphandler.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\siplogin.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\coreapi\sipsetup.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
239
linphone/build/wince/linphonec/linphonec.vcproj
Normal file
239
linphone/build/wince/linphonec/linphonec.vcproj
Normal file
|
|
@ -0,0 +1,239 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Name="linphonec"
|
||||
ProjectGUID="{92574924-BF59-4DAA-994B-9978B80E5797}"
|
||||
RootNamespace="linphonec"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="196613"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Windows Mobile 6 Professional SDK (ARMV4I)"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ExecutionBucket="7"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""..\..\..\..\..\linphone-builder\osip\include";..\..\..\mediastreamer2\include;..\..\..\oRTP\include;..\..\..\coreapi"
|
||||
PreprocessorDefinitions="_DEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;DEBUG;_CONSOLE;$(ARCHFAM);$(_ARCHFAM_);_UNICODE;UNICODE;IN_LINPHONE"
|
||||
MinimalRebuild="true"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES)"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions=" /subsystem:windowsce,5.02"
|
||||
AdditionalDependencies="mediastreamer2.lib ortp.lib liblinphone.lib ws2.lib mmtimer.lib iphlpapi.lib eXosip2.lib osip2.lib osipparser2.lib"
|
||||
OutputFile="$(OutDir)/linphonec.exe"
|
||||
LinkIncremental="2"
|
||||
AdditionalLibraryDirectories=""..\..\..\oRTP\build\wince\$(PlatformName)\$(ConfigurationName)";"..\..\..\mediastreamer2\build\wince\$(PlatformName)\$(ConfigurationName)";"..\$(PlatformName)\$(ConfigurationName)";"..\..\..\..\..\linphone-builder\eXosip\platform\wince\$(PlatformName)\$(ConfigurationName)";"..\..\..\..\..\linphone-builder\osip\platform\wince\$(PlatformName)\$(ConfigurationName)""
|
||||
DelayLoadDLLs="$(NOINHERIT)"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)/linphonec.pdb"
|
||||
SubSystem="0"
|
||||
StackReserveSize="65536"
|
||||
StackCommitSize="4096"
|
||||
EntryPointSymbol="mainWCRTStartup"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
ForceDirty="-1"
|
||||
RemoteDirectory="%CSIDL_PROGRAM_FILES%\linphone"
|
||||
RegisterOutput="0"
|
||||
AdditionalFiles="..\..\..\oRTP\build\wince\$(PlatformName)\$(ConfigurationName)\oRTP.dll;..\..\..\mediastreamer2\build\wince\$(PlatformName)\$(ConfigurationName)\mediastreamer2.dll"
|
||||
/>
|
||||
<DebuggerTool
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ExecutionBucket="7"
|
||||
Optimization="2"
|
||||
FavorSizeOrSpeed="2"
|
||||
PreprocessorDefinitions="NDEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;_CONSOLE;$(ARCHFAM);$(_ARCHFAM_);_UNICODE;UNICODE"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="2"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES)"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions=" /subsystem:windowsce,5.02"
|
||||
OutputFile="$(OutDir)/linphonec.exe"
|
||||
LinkIncremental="1"
|
||||
DelayLoadDLLs="$(NOINHERIT)"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)/linphonec.pdb"
|
||||
SubSystem="0"
|
||||
StackReserveSize="65536"
|
||||
StackCommitSize="4096"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
EntryPointSymbol="mainWCRTStartup"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
ForceDirty="-1"
|
||||
RemoteDirectory=""
|
||||
RegisterOutput="0"
|
||||
AdditionalFiles=""
|
||||
/>
|
||||
<DebuggerTool
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\console\commands.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\console\linphonec.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\..\console\linphonec.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
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}"
|
||||
>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\ReadMe.txt"
|
||||
>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
|
|
@ -36,8 +36,15 @@ AC_HEADER_STDC
|
|||
AM_PROG_CC_C_O
|
||||
|
||||
case $target_os in
|
||||
*mingw32ce)
|
||||
CFLAGS="$CFLAGS -D_WIN32_WCE -DORTP_STATIC -D_WIN32_WINNT=0x0501"
|
||||
CXXFLAGS="$CXXFLAGS -DORTP_STATIC -D_WIN32_WINNT=0x0501"
|
||||
LIBS="$LIBS -lws2 -liphlpapi"
|
||||
mingw_found=yes
|
||||
mingwce_found=yes
|
||||
;;
|
||||
*mingw*)
|
||||
CFLAGS="$CFLAGS -DORTP_STATIC -D_WIN32_WINNT=0x0501"
|
||||
CFLAGS="$CFLAGS -DORTP_STATIC -D_WIN32_WINNT=0x0501 "
|
||||
CXXFLAGS="$CXXFLAGS -DORTP_STATIC -D_WIN32_WINNT=0x0501"
|
||||
LIBS="$LIBS -lws2_32"
|
||||
GUI_FLAGS="-mwindows"
|
||||
|
|
@ -84,9 +91,15 @@ dnl gettext macro does not work properly under mingw.
|
|||
AM_GNU_GETTEXT([external])
|
||||
LIBS="$LIBS $LIBINTL"
|
||||
else
|
||||
AC_DEFINE(ENABLE_NLS,1,[Tells whether localisation is possible])
|
||||
AC_DEFINE(HAVE_GETTEXT,1,[Tells wheter localisation is possible])
|
||||
LIBS="$LIBS -L/usr/lib -lintl"
|
||||
if test "$mingwce_found" != "yes" ; then
|
||||
AC_DEFINE(ENABLE_NLS,1,[Tells whether localisation is possible])
|
||||
AC_DEFINE(HAVE_GETTEXT,1,[Tells wheter localisation is possible])
|
||||
LIBS="$LIBS -L/usr/lib -lintl"
|
||||
else
|
||||
dnl gettext macro does not work properly under mingw.
|
||||
AM_GNU_GETTEXT([external])
|
||||
LIBS="$LIBS $LIBINTL"
|
||||
fi
|
||||
fi
|
||||
|
||||
GETTEXT_PACKAGE=linphone
|
||||
|
|
@ -315,6 +328,19 @@ dnl compilation of gtk-glade user interface
|
|||
AM_CONDITIONAL(BUILD_GLADE_UI, [test x$gtk_ui = xtrue ] )
|
||||
AM_CONDITIONAL(BUILD_WIN32, test x$mingw_found = xyes )
|
||||
|
||||
dnl check getenv
|
||||
AH_TEMPLATE([HAVE_GETENV])
|
||||
AC_CHECK_FUNC([getenv], AC_DEFINE([HAVE_GETENV], [1], [If present, the getenv function allows fim to read environment variables.]))
|
||||
|
||||
dnl
|
||||
AC_MSG_CHECKING([for sighandler_t])
|
||||
AC_TRY_COMPILE([#include <signal.h>],[sighandler_t *f;],
|
||||
has_sighandler_t=yes,has_sighandler_t=no)
|
||||
AC_MSG_RESULT($has_sighandler_t)
|
||||
if test "$has_sighandler_t" = "yes" ; then
|
||||
AC_DEFINE( HAVE_SIGHANDLER_T, 1, [Define if sighandler_t available] )
|
||||
fi
|
||||
|
||||
##################################################
|
||||
# Stricter build options (after external packages)
|
||||
##################################################
|
||||
|
|
|
|||
|
|
@ -26,10 +26,12 @@
|
|||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#ifndef _WIN32_WCE
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#endif /*_WIN32_WCE*/
|
||||
#include <limits.h>
|
||||
#include <ctype.h>
|
||||
#include <unistd.h>
|
||||
#include <linphonecore.h>
|
||||
#include "linphonec.h"
|
||||
#include "private.h"
|
||||
|
|
@ -298,7 +300,7 @@ linphonec_command_generator(const char *text, int state)
|
|||
|
||||
if (strncmp(name, text, len) == 0)
|
||||
{
|
||||
return strdup(name);
|
||||
return ortp_strdup(name);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -593,10 +595,12 @@ lpc_cmd_friend(LinphoneCore *lc, char *args)
|
|||
args+=4;
|
||||
if ( ! *args ) return 0;
|
||||
friend_num = strtol(args, NULL, 10);
|
||||
#ifndef _WIN32_WCE
|
||||
if ( errno == ERANGE ) {
|
||||
linphonec_out("Invalid friend number\n");
|
||||
return 0;
|
||||
}
|
||||
#endif /*_WIN32_WCE*/
|
||||
linphonec_friend_call(lc, friend_num);
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -613,10 +617,12 @@ lpc_cmd_friend(LinphoneCore *lc, char *args)
|
|||
else
|
||||
{
|
||||
friend_num = strtol(args, NULL, 10);
|
||||
#ifndef _WIN32_WCE
|
||||
if ( errno == ERANGE ) {
|
||||
linphonec_out("Invalid friend number\n");
|
||||
return 0;
|
||||
}
|
||||
#endif /*_WIN32_WCE*/
|
||||
}
|
||||
linphonec_friend_delete(lc, friend_num);
|
||||
return 1;
|
||||
|
|
@ -1423,9 +1429,9 @@ static int lpc_cmd_duration(LinphoneCore *lc, char *args){
|
|||
|
||||
static int lpc_cmd_status(LinphoneCore *lc, char *args)
|
||||
{
|
||||
if ( ! args ) return 0;
|
||||
|
||||
LinphoneProxyConfig *cfg;
|
||||
|
||||
if ( ! args ) return 0;
|
||||
linphone_core_get_default_proxy(lc,&cfg);
|
||||
if (strstr(args,"register"))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -23,24 +23,28 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#ifndef _WIN32_WCE
|
||||
#include <sys/time.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <signal.h>
|
||||
#include "private.h" /*coreapi/private.h, needed for LINPHONE_VERSION */
|
||||
#endif /*_WIN32_WCE*/
|
||||
#include <limits.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include <linphonecore.h>
|
||||
#include "private.h" /*coreapi/private.h, needed for LINPHONE_VERSION */
|
||||
|
||||
#include "linphonec.h"
|
||||
|
||||
#ifdef WIN32
|
||||
#include <ws2tcpip.h>
|
||||
#include <ctype.h>
|
||||
#ifndef _WIN32_WCE
|
||||
#include <conio.h>
|
||||
#endif /*_WIN32_WCE*/
|
||||
#else
|
||||
#include <sys/socket.h>
|
||||
#include <netdb.h>
|
||||
|
|
@ -48,6 +52,21 @@
|
|||
#include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32_WCE)
|
||||
|
||||
#if !defined(PATH_MAX)
|
||||
#define PATH_MAX 256
|
||||
#endif /*PATH_MAX*/
|
||||
|
||||
#if !defined(strdup)
|
||||
#define strdup _strdup
|
||||
#endif /*strdup*/
|
||||
/*
|
||||
#if !defined(access)
|
||||
#define access _access
|
||||
#endif*/ /*access*/
|
||||
|
||||
#endif /*_WIN32_WCE*/
|
||||
|
||||
#ifdef HAVE_GETTEXT
|
||||
#include <libintl.h>
|
||||
|
|
@ -71,14 +90,16 @@ typedef struct {
|
|||
|
||||
/***************************************************************************
|
||||
*
|
||||
* Forward declarations
|
||||
* Forward declarations
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
char *lpc_strip_blanks(char *input);
|
||||
|
||||
static int handle_configfile_migration(void);
|
||||
#if !defined(_WIN32_WCE)
|
||||
static int copy_file(const char *from, const char *to);
|
||||
#endif /*_WIN32_WCE*/
|
||||
static int linphonec_parse_cmdline(int argc, char **argv);
|
||||
static int linphonec_init(int argc, char **argv);
|
||||
static int linphonec_main_loop (LinphoneCore * opm, char * sipAddr);
|
||||
|
|
@ -111,7 +132,7 @@ static void linphonec_dtmf_received(LinphoneCore *lc, int dtmf);
|
|||
static void print_prompt(LinphoneCore *opm);
|
||||
/***************************************************************************
|
||||
*
|
||||
* Global variables
|
||||
* Global variables
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
|
|
@ -135,18 +156,25 @@ static int trace_level = 0;
|
|||
static char *logfile_name = NULL;
|
||||
static char configfile_name[PATH_MAX];
|
||||
static char *sipAddr = NULL; /* for autocall */
|
||||
#if !defined(_WIN32_WCE)
|
||||
static ortp_pipe_t client_sock=ORTP_PIPE_INVALID;
|
||||
#endif /*_WIN32_WCE*/
|
||||
char prompt[PROMPT_MAX_LEN];
|
||||
|
||||
#if !defined(_WIN32_WCE)
|
||||
static ortp_thread_t pipe_reader_th;
|
||||
static bool_t pipe_reader_run=FALSE;
|
||||
#endif /*_WIN32_WCE*/
|
||||
#if !defined(_WIN32_WCE)
|
||||
static ortp_pipe_t server_sock;
|
||||
#endif /*_WIN32_WCE*/
|
||||
|
||||
|
||||
LinphoneCoreVTable linphonec_vtable = {
|
||||
LinphoneCoreVTable linphonec_vtable
|
||||
#if !defined (_MSC_VER)
|
||||
= {
|
||||
.show =(ShowInterfaceCb) stub,
|
||||
.inv_recv = linphonec_call_received,
|
||||
.bye_recv = linphonec_bye_received,
|
||||
.bye_recv = linphonec_bye_received,
|
||||
.notify_recv = linphonec_notify_received,
|
||||
.new_unknown_subscriber = linphonec_new_unknown_subscriber,
|
||||
.auth_info_requested = linphonec_prompt_for_auth,
|
||||
|
|
@ -162,7 +190,9 @@ LinphoneCoreVTable linphonec_vtable = {
|
|||
.text_received=linphonec_text_received,
|
||||
.general_state=linphonec_general_state,
|
||||
.dtmf_received=linphonec_dtmf_received
|
||||
};
|
||||
}
|
||||
#endif /*_WIN32_WCE*/
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
|
@ -173,7 +203,7 @@ LinphoneCoreVTable linphonec_vtable = {
|
|||
***************************************************************************/
|
||||
|
||||
/*
|
||||
* Linphone core callback
|
||||
* Linphone core callback
|
||||
*/
|
||||
static void
|
||||
linphonec_display_something (LinphoneCore * lc, const char *something)
|
||||
|
|
@ -183,7 +213,7 @@ linphonec_display_something (LinphoneCore * lc, const char *something)
|
|||
}
|
||||
|
||||
/*
|
||||
* Linphone core callback
|
||||
* Linphone core callback
|
||||
*/
|
||||
static void
|
||||
linphonec_display_status (LinphoneCore * lc, const char *something)
|
||||
|
|
@ -193,7 +223,7 @@ linphonec_display_status (LinphoneCore * lc, const char *something)
|
|||
}
|
||||
|
||||
/*
|
||||
* Linphone core callback
|
||||
* Linphone core callback
|
||||
*/
|
||||
static void
|
||||
linphonec_display_warning (LinphoneCore * lc, const char *something)
|
||||
|
|
@ -203,7 +233,7 @@ linphonec_display_warning (LinphoneCore * lc, const char *something)
|
|||
}
|
||||
|
||||
/*
|
||||
* Linphone core callback
|
||||
* Linphone core callback
|
||||
*/
|
||||
static void
|
||||
linphonec_display_url (LinphoneCore * lc, const char *something, const char *url)
|
||||
|
|
@ -213,7 +243,7 @@ linphonec_display_url (LinphoneCore * lc, const char *something, const char *url
|
|||
|
||||
|
||||
/*
|
||||
* Linphone core callback
|
||||
* Linphone core callback
|
||||
*/
|
||||
static void
|
||||
linphonec_call_received(LinphoneCore *lc, const char *from)
|
||||
|
|
@ -225,7 +255,7 @@ linphonec_call_received(LinphoneCore *lc, const char *from)
|
|||
}
|
||||
|
||||
/*
|
||||
* Linphone core callback
|
||||
* Linphone core callback
|
||||
*/
|
||||
static void
|
||||
linphonec_prompt_for_auth(LinphoneCore *lc, const char *realm, const char *username)
|
||||
|
|
@ -235,15 +265,15 @@ linphonec_prompt_for_auth(LinphoneCore *lc, const char *realm, const char *usern
|
|||
linphone_core_abort_authentication(lc,NULL);
|
||||
}else{
|
||||
LinphoneAuthInfo *pending_auth;
|
||||
|
||||
|
||||
if ( auth_stack.nitems+1 > MAX_PENDING_AUTH )
|
||||
{
|
||||
fprintf(stderr,
|
||||
"Can't accept another authentication request.\n"
|
||||
"Consider incrementing MAX_PENDING_AUTH macro.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
pending_auth=linphone_auth_info_new(username,NULL,NULL,NULL,realm);
|
||||
auth_stack.elem[auth_stack.nitems++]=pending_auth;
|
||||
}
|
||||
|
|
@ -268,8 +298,8 @@ linphonec_new_unknown_subscriber(LinphoneCore *lc, LinphoneFriend *lf,
|
|||
const char *url)
|
||||
{
|
||||
printf("Friend %s requested subscription "
|
||||
"(accept/deny is not implemented yet)\n", url);
|
||||
// This means that this person wishes to be notified
|
||||
"(accept/deny is not implemented yet)\n", url);
|
||||
// This means that this person wishes to be notified
|
||||
// of your presence information (online, busy, away...).
|
||||
|
||||
}
|
||||
|
|
@ -304,7 +334,7 @@ static void linphonec_dtmf_received(LinphoneCore *lc, int dtmf){
|
|||
fflush(stdout);
|
||||
}
|
||||
|
||||
static void
|
||||
static void
|
||||
linphonec_general_state (LinphoneCore * lc, LinphoneGeneralState *gstate)
|
||||
{
|
||||
if (show_general_state) {
|
||||
|
|
@ -352,11 +382,11 @@ linphonec_general_state (LinphoneCore * lc, LinphoneGeneralState *gstate)
|
|||
printf("GSTATE_CALL_ERROR");
|
||||
break;
|
||||
default:
|
||||
printf("GSTATE_UNKNOWN_%d",gstate->new_state);
|
||||
printf("GSTATE_UNKNOWN_%d",gstate->new_state);
|
||||
}
|
||||
if (gstate->message) printf(" %s", gstate->message);
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static char received_prompt[PROMPT_MAX_LEN];
|
||||
|
|
@ -380,14 +410,14 @@ static void start_prompt_reader(void){
|
|||
ms_mutex_init(&prompt_mutex,NULL);
|
||||
ortp_thread_create(&th,NULL,prompt_reader_thread,NULL);
|
||||
}
|
||||
|
||||
#if !defined(_WIN32_WCE)
|
||||
static ortp_pipe_t create_server_socket(void){
|
||||
char path[128];
|
||||
#ifndef WIN32
|
||||
snprintf(path,sizeof(path)-1,"linphonec-%i",getuid());
|
||||
#else
|
||||
{
|
||||
char username[128];
|
||||
TCHAR username[128];
|
||||
DWORD size=sizeof(username)-1;
|
||||
GetUserName(username,&size);
|
||||
snprintf(path,sizeof(path)-1,"linphonec-%s",username);
|
||||
|
|
@ -396,6 +426,7 @@ static ortp_pipe_t create_server_socket(void){
|
|||
return ortp_server_pipe_create(path);
|
||||
}
|
||||
|
||||
|
||||
static void *pipe_thread(void*p){
|
||||
char tmp[250];
|
||||
server_sock=create_server_socket();
|
||||
|
|
@ -424,7 +455,7 @@ static void *pipe_thread(void*p){
|
|||
ortp_server_pipe_close_client(client_sock);
|
||||
client_sock=ORTP_PIPE_INVALID;
|
||||
}
|
||||
|
||||
|
||||
}else{
|
||||
if (pipe_reader_run) fprintf(stderr,"accept() failed: %s\n",strerror(errno));
|
||||
}
|
||||
|
|
@ -446,6 +477,7 @@ static void stop_pipe_reader(void){
|
|||
ortp_server_pipe_close(server_sock);
|
||||
ortp_thread_join(pipe_reader_th,NULL);
|
||||
}
|
||||
#endif /*_WIN32_WCE*/
|
||||
|
||||
#ifdef HAVE_READLINE
|
||||
#define BOOL_HAVE_READLINE 1
|
||||
|
|
@ -462,8 +494,10 @@ char *linphonec_readline(char *prompt){
|
|||
prompt_reader_started=TRUE;
|
||||
}
|
||||
if (unix_socket && !pipe_reader_started){
|
||||
#if !defined(_WIN32_WCE)
|
||||
start_pipe_reader();
|
||||
pipe_reader_started=TRUE;
|
||||
#endif /*_WIN32_WCE*/
|
||||
}
|
||||
fprintf(stdout,"%s",prompt);
|
||||
fflush(stdout);
|
||||
|
|
@ -498,19 +532,23 @@ void linphonec_out(const char *fmt,...){
|
|||
va_end (args);
|
||||
printf("%s",res);
|
||||
fflush(stdout);
|
||||
#if !defined(_WIN32_WCE)
|
||||
if (client_sock!=ORTP_PIPE_INVALID){
|
||||
if (ortp_pipe_write(client_sock,(uint8_t*)res,strlen(res))==-1){
|
||||
fprintf(stderr,"Fail to send output via pipe: %s",strerror(errno));
|
||||
}
|
||||
}
|
||||
#endif /*_WIN32_WCE*/
|
||||
ortp_free(res);
|
||||
}
|
||||
|
||||
void linphonec_command_finished(void){
|
||||
#if !defined(_WIN32_WCE)
|
||||
if (client_sock!=ORTP_PIPE_INVALID){
|
||||
ortp_server_pipe_close_client(client_sock);
|
||||
client_sock=ORTP_PIPE_INVALID;
|
||||
}
|
||||
#endif /*_WIN32_WCE*/
|
||||
}
|
||||
|
||||
void linphonec_set_autoanswer(bool_t enabled){
|
||||
|
|
@ -530,9 +568,35 @@ bool_t linphonec_get_autoanswer(){
|
|||
* - char *histfile_name
|
||||
* - FILE *mylogfile
|
||||
*/
|
||||
#if defined (_MSC_VER)
|
||||
int _tmain(int argc, _TCHAR* argv[]) {
|
||||
trace_level=1;
|
||||
linphonec_vtable.show =(ShowInterfaceCb) stub;
|
||||
linphonec_vtable.inv_recv = linphonec_call_received;
|
||||
linphonec_vtable.bye_recv = linphonec_bye_received;
|
||||
linphonec_vtable.notify_recv = linphonec_notify_received;
|
||||
linphonec_vtable.new_unknown_subscriber = linphonec_new_unknown_subscriber;
|
||||
linphonec_vtable.auth_info_requested = linphonec_prompt_for_auth;
|
||||
linphonec_vtable.display_status = linphonec_display_status;
|
||||
linphonec_vtable.display_message=linphonec_display_something;
|
||||
#ifdef VINCENT_MAURY_RSVP
|
||||
/* the yes/no dialog box */
|
||||
linphonec_vtable.display_yes_no= (DisplayMessageCb) stub;
|
||||
#endif
|
||||
linphonec_vtable.display_warning=linphonec_display_warning;
|
||||
linphonec_vtable.display_url=linphonec_display_url;
|
||||
linphonec_vtable.display_question=(DisplayQuestionCb)stub;
|
||||
linphonec_vtable.text_received=linphonec_text_received;
|
||||
linphonec_vtable.general_state=linphonec_general_state;
|
||||
linphonec_vtable.dtmf_received=linphonec_dtmf_received;
|
||||
|
||||
#else
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
main (int argc, char *argv[]) {
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
if (! linphonec_init(argc, argv) ) exit(EXIT_FAILURE);
|
||||
|
||||
|
|
@ -556,9 +620,13 @@ linphonec_init(int argc, char **argv)
|
|||
* Set initial values for global variables
|
||||
*/
|
||||
mylogfile = NULL;
|
||||
snprintf(configfile_name, PATH_MAX, "%s/.linphonerc",
|
||||
getenv("HOME"));
|
||||
|
||||
snprintf(configfile_name, PATH_MAX, "%s/.linphonerc",
|
||||
#if !defined(_WIN32_WCE)
|
||||
getenv("HOME"));
|
||||
#else
|
||||
".");
|
||||
#endif /*_WIN32_WCE*/
|
||||
|
||||
/* Handle configuration filename changes */
|
||||
switch (handle_configfile_migration())
|
||||
|
|
@ -623,12 +691,13 @@ linphonec_init(int argc, char **argv)
|
|||
*/
|
||||
linphonec_initialize_readline();
|
||||
#endif
|
||||
#if !defined(_WIN32_WCE)
|
||||
/*
|
||||
* Initialize signal handlers
|
||||
*/
|
||||
signal(SIGTERM, linphonec_finish);
|
||||
signal(SIGINT, linphonec_finish);
|
||||
|
||||
signal(SIGTERM, linphonec_finish);
|
||||
signal(SIGINT, linphonec_finish);
|
||||
#endif /*_WIN32_WCE*/
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -645,16 +714,17 @@ void
|
|||
linphonec_finish(int exit_status)
|
||||
{
|
||||
printf("Terminating...\n");
|
||||
|
||||
|
||||
/* Terminate any pending call */
|
||||
linphonec_parse_command_line(linphonec, "terminate");
|
||||
linphonec_command_finished();
|
||||
#ifdef HAVE_READLINE
|
||||
linphonec_finish_readline();
|
||||
#endif
|
||||
#if !defined(_WIN32_WCE)
|
||||
if (pipe_reader_run)
|
||||
stop_pipe_reader();
|
||||
|
||||
#endif /*_WIN32_WCE*/
|
||||
|
||||
linphone_core_destroy (linphonec);
|
||||
|
||||
|
|
@ -672,7 +742,7 @@ linphonec_finish(int exit_status)
|
|||
* pending_auth != NULL.
|
||||
*
|
||||
* It prompts user for a password.
|
||||
* Hitting ^D (EOF) would make this function
|
||||
* Hitting ^D (EOF) would make this function
|
||||
* return 0 (Cancel).
|
||||
* Any other input would try to set linphone core
|
||||
* auth_password for the pending_auth, add the auth_info
|
||||
|
|
@ -715,7 +785,7 @@ linphonec_prompt_for_auth_final(LinphoneCore *lc)
|
|||
*/
|
||||
if ( ! input )
|
||||
{
|
||||
printf("Cancel requested, but not implemented.\n");
|
||||
printf("Cancel requested, but not implemented.\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -834,7 +904,7 @@ linphonec_initialize_readline()
|
|||
rl_readline_name = "linphonec";
|
||||
|
||||
/* Call idle_call() every second */
|
||||
rl_set_keyboard_input_timeout(LPC_READLINE_TIMEOUT);
|
||||
rl_set_keyboard_input_timeout(LPC_READLINE_TIMEOUT);
|
||||
rl_event_hook=linphonec_idle_call;
|
||||
|
||||
/* Set history file and read it */
|
||||
|
|
@ -849,7 +919,7 @@ linphonec_initialize_readline()
|
|||
rl_attempted_completion_function = linephonec_readline_completion;
|
||||
|
||||
/* printf("Readline initialized.\n"); */
|
||||
setlinebuf(stdout);
|
||||
setlinebuf(stdout);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -976,7 +1046,7 @@ linphonec_parse_cmdline(int argc, char **argv)
|
|||
else if (strncmp ("-c", argv[arg_num], 2) == 0)
|
||||
{
|
||||
if ( ++arg_num >= argc ) print_usage(EXIT_FAILURE);
|
||||
|
||||
#if !defined(_WIN32_WCE)
|
||||
if (access(argv[arg_num],F_OK)!=0 )
|
||||
{
|
||||
fprintf (stderr,
|
||||
|
|
@ -984,6 +1054,7 @@ linphonec_parse_cmdline(int argc, char **argv)
|
|||
argv[arg_num]);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
#endif /*_WIN32_WCE*/
|
||||
snprintf(configfile_name, PATH_MAX, "%s", argv[arg_num]);
|
||||
}
|
||||
else if (strncmp ("-s", argv[arg_num], 2) == 0)
|
||||
|
|
@ -1016,7 +1087,9 @@ linphonec_parse_cmdline(int argc, char **argv)
|
|||
("--version", argv[arg_num],
|
||||
strlen ("--version")) == 0))
|
||||
{
|
||||
#if !defined(_WIN32_WCE)
|
||||
printf ("version: " LINPHONE_VERSION "\n");
|
||||
#endif
|
||||
exit (EXIT_SUCCESS);
|
||||
}
|
||||
else if (strncmp ("-S", argv[arg_num], 2) == 0)
|
||||
|
|
@ -1053,16 +1126,20 @@ linphonec_parse_cmdline(int argc, char **argv)
|
|||
* Returns:
|
||||
* 0 if it did nothing
|
||||
* 1 if it migrated successfully
|
||||
* -1 on error
|
||||
* -1 on error
|
||||
*/
|
||||
static int
|
||||
handle_configfile_migration()
|
||||
{
|
||||
#if !defined(_WIN32_WCE)
|
||||
char *old_cfg_gui;
|
||||
char *old_cfg_cli;
|
||||
char *old_cfg_cli;
|
||||
char *new_cfg;
|
||||
#if !defined(_WIN32_WCE)
|
||||
const char *home = getenv("HOME");
|
||||
|
||||
#else
|
||||
const char *home = ".";
|
||||
#endif /*_WIN32_WCE*/
|
||||
new_cfg = ms_strdup_printf("%s/.linphonerc", home);
|
||||
|
||||
/*
|
||||
|
|
@ -1119,9 +1196,10 @@ handle_configfile_migration()
|
|||
|
||||
free(old_cfg_gui);
|
||||
free(new_cfg);
|
||||
#endif /*_WIN32_WCE*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if !defined(_WIN32_WCE)
|
||||
/*
|
||||
* Copy file "from" to file "to".
|
||||
* Destination file is truncated if existing.
|
||||
|
|
@ -1162,13 +1240,14 @@ copy_file(const char *from, const char *to)
|
|||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fclose(in);
|
||||
fclose(out);
|
||||
|
||||
return 1;
|
||||
}
|
||||
#endif /*_WIN32_WCE*/
|
||||
|
||||
#ifdef HAVE_READLINE
|
||||
static char **
|
||||
|
|
@ -1332,3 +1411,4 @@ lpc_strip_blanks(char *input)
|
|||
*
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* Compile-time defines
|
||||
|
|
@ -98,7 +99,7 @@ typedef struct {
|
|||
|
||||
/***************************************************************************
|
||||
*
|
||||
* Forward declarations
|
||||
* Forward declarations
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
|
|
|
|||
|
|
@ -43,9 +43,9 @@ endif
|
|||
|
||||
|
||||
AM_CFLAGS=$(STRICT_OPTIONS) -DIN_LINPHONE \
|
||||
$(ORTP_CFLAGS) \
|
||||
$(OSIP_CFLAGS) \
|
||||
$(EXOSIP_CFLAGS) \
|
||||
$(ORTP_CFLAGS) \
|
||||
-DENABLE_TRACE \
|
||||
-DLOG_DOMAIN=\"LinphoneCore\" \
|
||||
$(IPV6_CFLAGS) \
|
||||
|
|
|
|||
|
|
@ -19,7 +19,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
/* enum lookup code */
|
||||
|
||||
#ifndef _WIN32_WCE
|
||||
#include <errno.h>
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "enum.h"
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ int linphone_call_terminated(LinphoneCore *lc, eXosip_event_t *ev)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ms_message("Current call terminated...");
|
||||
if (lc->ringstream!=NULL) {
|
||||
ring_stop(lc->ringstream);
|
||||
|
|
@ -143,7 +143,7 @@ int linphone_call_terminated(LinphoneCore *lc, eXosip_event_t *ev)
|
|||
int linphone_call_released(LinphoneCore *lc, int cid){
|
||||
LinphoneCall *call=lc->call;
|
||||
if (call!=NULL && call->cid==cid){
|
||||
|
||||
|
||||
linphone_call_destroy(lc->call);
|
||||
lc->call=NULL;
|
||||
lc->vtable.display_status(lc,_("Could not reach destination."));
|
||||
|
|
@ -178,7 +178,7 @@ int linphone_call_failure(LinphoneCore *lc, eXosip_event_t *ev)
|
|||
reason=osip_message_get_reason_phrase(ev->response);
|
||||
}else code=-110;
|
||||
lc->vtable.show(lc);
|
||||
|
||||
|
||||
switch(code)
|
||||
{
|
||||
case 401:
|
||||
|
|
@ -211,12 +211,12 @@ int linphone_call_failure(LinphoneCore *lc, eXosip_event_t *ev)
|
|||
sprintf(umsg,retrymsg,tmpmsg,atoi(retry->hvalue)/60);
|
||||
lc->vtable.display_message(lc,umsg);
|
||||
ms_free(umsg);
|
||||
}*/
|
||||
}*/
|
||||
lc->vtable.display_message(lc,tmpmsg);
|
||||
break;
|
||||
case 487:
|
||||
lc->vtable.display_status(lc,msg487);
|
||||
break;
|
||||
break;
|
||||
case 600:
|
||||
lc->vtable.display_message(lc,msg600);
|
||||
break;
|
||||
|
|
@ -229,13 +229,13 @@ int linphone_call_failure(LinphoneCore *lc, eXosip_event_t *ev)
|
|||
case -111:
|
||||
lc->vtable.display_status(lc,_("Remote host was found but refused connection."));
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
if (code>0)
|
||||
{
|
||||
lc->vtable.display_status(lc,reason);
|
||||
}
|
||||
else ms_warning("failure_cb unknown code=%i\n",code);
|
||||
else ms_warning("failure_cb unknown code=%i\n",code);
|
||||
}
|
||||
if (lc->ringstream!=NULL) {
|
||||
ring_stop(lc->ringstream);
|
||||
|
|
@ -255,7 +255,7 @@ extern sdp_handler_t linphone_sdphandler;
|
|||
static int linphone_answer_sdp(LinphoneCore *lc, eXosip_event_t *ev, sdp_message_t *sdp){
|
||||
int status=200;
|
||||
sdp_context_t *ctx=NULL;
|
||||
|
||||
|
||||
ctx=lc->call->sdpctx;
|
||||
/* get the result of the negociation */
|
||||
sdp_context_get_answer(ctx,sdp);
|
||||
|
|
@ -280,8 +280,8 @@ int linphone_inc_new_call(LinphoneCore *lc, eXosip_event_t *ev)
|
|||
int err;
|
||||
|
||||
osip_from_to_str(ev->request->from,&from);
|
||||
osip_to_to_str(ev->request->to,&to);
|
||||
|
||||
osip_to_to_str(ev->request->to,&to);
|
||||
|
||||
/* first check if we can answer successfully to this invite */
|
||||
if (lc->presence_mode!=LINPHONE_STATUS_ONLINE){
|
||||
ms_message("Not present !! presence mode : %d\n",lc->presence_mode);
|
||||
|
|
@ -322,7 +322,7 @@ int linphone_inc_new_call(LinphoneCore *lc, eXosip_event_t *ev)
|
|||
goto end;
|
||||
}
|
||||
lc->call=linphone_call_new_incoming(lc,linphone_address_new(from),linphone_address_new(to),ev);
|
||||
|
||||
|
||||
sdp=eXosip_get_sdp_info(ev->request);
|
||||
if (sdp==NULL){
|
||||
ms_message("No sdp body in invite, 200-ack scheme");
|
||||
|
|
@ -352,7 +352,7 @@ int linphone_inc_new_call(LinphoneCore *lc, eXosip_event_t *ev)
|
|||
|
||||
lc->vtable.inv_recv(lc,tmp);
|
||||
ms_free(barmesg);
|
||||
osip_free(tmp);
|
||||
osip_free(tmp);
|
||||
}else{
|
||||
ms_error("Error during sdp negociation. ");
|
||||
eXosip_lock();
|
||||
|
|
@ -459,8 +459,8 @@ int linphone_set_audio_offer(sdp_context_t *ctx)
|
|||
PayloadType *codec;
|
||||
MSList *elem;
|
||||
sdp_payload_t payload;
|
||||
|
||||
|
||||
|
||||
|
||||
elem=lc->codecs_conf.audio_codecs;
|
||||
while(elem!=NULL){
|
||||
codec=(PayloadType*) elem->data;
|
||||
|
|
@ -468,7 +468,7 @@ int linphone_set_audio_offer(sdp_context_t *ctx)
|
|||
sdp_payload_init(&payload);
|
||||
payload.a_rtpmap=ortp_strdup_printf("%s/%i/1",codec->mime_type,codec->clock_rate);
|
||||
payload.pt=rtp_profile_get_payload_number_from_rtpmap(lc->local_profile,payload.a_rtpmap);
|
||||
payload.localport=call->audio_params.natd_port > 0 ?
|
||||
payload.localport=call->audio_params.natd_port > 0 ?
|
||||
call->audio_params.natd_port : lc->rtp_conf.audio_rtp_port;
|
||||
if (strcasecmp(codec->mime_type,"iLBC")==0){
|
||||
/* prefer the 30 ms mode */
|
||||
|
|
@ -494,7 +494,7 @@ static int find_payload_type_number(RtpProfile *prof, PayloadType *pt){
|
|||
PayloadType *it;
|
||||
for(i=0;i<127;++i){
|
||||
it=rtp_profile_get_payload(prof,i);
|
||||
if (it!=NULL && strcasecmp(pt->mime_type,it->mime_type)==0
|
||||
if (it!=NULL && strcasecmp(pt->mime_type,it->mime_type)==0
|
||||
&& (pt->clock_rate==it->clock_rate || pt->clock_rate<=0) ){
|
||||
if ( (pt->recv_fmtp && it->recv_fmtp && strcasecmp(pt->recv_fmtp,it->recv_fmtp)==0) ||
|
||||
(pt->recv_fmtp==NULL && it->recv_fmtp==NULL) ){
|
||||
|
|
@ -533,7 +533,7 @@ int linphone_set_video_offer(sdp_context_t *ctx)
|
|||
LinphoneCore *lc=call->core;
|
||||
PayloadType *codec;
|
||||
MSList *elem;
|
||||
bool_t firsttime=TRUE;
|
||||
bool_t firsttime=TRUE;
|
||||
|
||||
if (!linphone_core_video_enabled(lc)) return -1;
|
||||
|
||||
|
|
@ -544,7 +544,7 @@ int linphone_set_video_offer(sdp_context_t *ctx)
|
|||
sdp_payload_init(&payload);
|
||||
payload.line=1;
|
||||
payload.a_rtpmap=ortp_strdup_printf("%s/%i",codec->mime_type,codec->clock_rate);
|
||||
payload.localport=call->video_params.natd_port>0 ?
|
||||
payload.localport=call->video_params.natd_port>0 ?
|
||||
call->video_params.natd_port : lc->rtp_conf.video_rtp_port;
|
||||
payload.pt=find_payload_type_number(lc->local_profile,codec);
|
||||
payload.a_fmtp=codec->recv_fmtp;
|
||||
|
|
@ -576,7 +576,7 @@ SupportLevel linphone_payload_is_supported(LinphoneCore *lc, sdp_payload_t *payl
|
|||
localpt=payload->pt;
|
||||
ms_warning("payload has no rtpmap.");
|
||||
}
|
||||
|
||||
|
||||
if (localpt>=0 && localpt <128 ){
|
||||
/* this payload is understood, but does the user want to use it ?? */
|
||||
PayloadType *rtppayload;
|
||||
|
|
@ -610,7 +610,7 @@ SupportLevel linphone_payload_is_supported(LinphoneCore *lc, sdp_payload_t *payl
|
|||
if (rtppayload->type==PAYLOAD_VIDEO){
|
||||
dbw=lc->dw_video_bw;
|
||||
ubw=lc->up_video_bw;
|
||||
}else{
|
||||
}else{
|
||||
dbw=lc->dw_audio_bw;
|
||||
ubw=lc->up_audio_bw;
|
||||
}
|
||||
|
|
@ -665,11 +665,11 @@ int linphone_accept_audio_offer(sdp_context_t *ctx,sdp_payload_t *payload)
|
|||
ms_message("Only one codec has to be accepted.");
|
||||
return -1;
|
||||
}
|
||||
if (supported==SupportedAndValid) {
|
||||
if (supported==SupportedAndValid) {
|
||||
if (params->initialized==0){
|
||||
/* this is the first codec we accept, it is going to be used*/
|
||||
params->localport=lc->rtp_conf.audio_rtp_port;
|
||||
payload->localport=params->natd_port>0 ?
|
||||
payload->localport=params->natd_port>0 ?
|
||||
params->natd_port : lc->rtp_conf.audio_rtp_port;
|
||||
params->line=payload->line;
|
||||
params->pt=payload->pt; /* remember the first payload accepted */
|
||||
|
|
@ -692,7 +692,9 @@ int linphone_accept_audio_offer(sdp_context_t *ctx,sdp_payload_t *payload)
|
|||
/* refuse all other audio lines*/
|
||||
if(params->line!=payload->line) {
|
||||
ms_message("Only one audio line can be accepted.");
|
||||
#if !defined(_WIN32_WCE)
|
||||
abort();
|
||||
#endif /*_WIN32_WCE*/
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
|
@ -761,7 +763,7 @@ int linphone_read_audio_answer(sdp_context_t *ctx,sdp_payload_t *payload)
|
|||
StreamParams *params;
|
||||
SupportLevel supported;
|
||||
PayloadType *lpt=NULL;
|
||||
|
||||
|
||||
/* paranoid check: see if this codec is supported in our local rtp profile*/
|
||||
supported=linphone_payload_is_supported(lc, payload,lc->local_profile,call->profile,FALSE,&lpt);
|
||||
if (supported==Unsupported) {
|
||||
|
|
@ -801,7 +803,7 @@ int linphone_read_video_answer(sdp_context_t *ctx,sdp_payload_t *payload)
|
|||
StreamParams *params;
|
||||
SupportLevel supported;
|
||||
PayloadType *lpt=NULL;
|
||||
|
||||
|
||||
/* paranoid check: see if this codec is supported in our local rtp profile*/
|
||||
supported=linphone_payload_is_supported(lc, payload,lc->local_profile,call->profile,FALSE,&lpt);
|
||||
if (supported==Unsupported) {
|
||||
|
|
@ -834,7 +836,7 @@ int linphone_read_video_answer(sdp_context_t *ctx,sdp_payload_t *payload)
|
|||
void linphone_call_ringing(LinphoneCore *lc, eXosip_event_t *ev){
|
||||
sdp_message_t *sdp=eXosip_get_sdp_info(ev->response);
|
||||
LinphoneCall *call=lc->call;
|
||||
|
||||
|
||||
lc->vtable.display_status(lc,_("Remote ringing."));
|
||||
linphone_call_proceeding(lc,ev);
|
||||
if (call==NULL) return;
|
||||
|
|
@ -910,7 +912,7 @@ static void linphone_process_dtmf_relay(LinphoneCore *lc, eXosip_event_t *ev){
|
|||
lc->vtable.dtmf_received(lc, tmp[0]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
eXosip_call_build_answer(ev->tid,200,&ans);
|
||||
if (ans)
|
||||
eXosip_call_send_answer(ev->tid,200,ans);
|
||||
|
|
@ -952,7 +954,7 @@ void linphone_registration_faillure(LinphoneCore *lc, eXosip_event_t *ev){
|
|||
osip_uri_t *requri=osip_message_get_uri(ev->request);
|
||||
char *ru;
|
||||
LinphoneProxyConfig *cfg;
|
||||
|
||||
|
||||
if (ev->response){
|
||||
status_code=osip_message_get_status_code(ev->response);
|
||||
reason=osip_message_get_reason_phrase(ev->response);
|
||||
|
|
@ -994,7 +996,7 @@ void linphone_registration_success(LinphoneCore *lc,eXosip_event_t *ev){
|
|||
cfg->registered=TRUE;
|
||||
linphone_proxy_config_register_again_with_updated_contact(cfg,ev->request,ev->response);
|
||||
}else cfg->registered=FALSE;
|
||||
|
||||
|
||||
osip_uri_to_str(requri,&ru);
|
||||
if (cfg->registered) msg=ms_strdup_printf(_("Registration on %s successful."),ru);
|
||||
else msg=ms_strdup_printf(_("Unregistration on %s done."),ru);
|
||||
|
|
@ -1013,7 +1015,7 @@ static bool_t comes_from_local_if(osip_message_t *msg){
|
|||
osip_generic_param_t *param=NULL;
|
||||
osip_via_param_get_byname(via,"received",¶m);
|
||||
if (param==NULL) return TRUE;
|
||||
if (param->gvalue &&
|
||||
if (param->gvalue &&
|
||||
(strcmp(param->gvalue,"127.0.0.1")==0 || strcmp(param->gvalue,"::1")==0)){
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -1057,10 +1059,10 @@ static void linphone_other_request(LinphoneCore *lc, eXosip_event_t *ev){
|
|||
osip_message_header_get_byname(ev->request,"Refer-To",0,&h);
|
||||
eXosip_message_send_answer(ev->tid,200,NULL);
|
||||
if (h){
|
||||
if (lc->vtable.refer_received)
|
||||
if (lc->vtable.refer_received)
|
||||
lc->vtable.refer_received(lc,h->hvalue);
|
||||
}
|
||||
|
||||
|
||||
}else ms_warning("Ignored REFER not coming from this local loopback interface.");
|
||||
}else if (strncmp(ev->request->sip_method, "UPDATE", 6) == 0){
|
||||
linphone_inc_update(lc,ev);
|
||||
|
|
@ -1103,7 +1105,7 @@ void linphone_core_process_event(LinphoneCore *lc,eXosip_event_t *ev)
|
|||
break;
|
||||
case EXOSIP_CALL_INVITE:
|
||||
ms_message("CALL_NEW\n");
|
||||
/* CALL_NEW is used twice in qos mode :
|
||||
/* CALL_NEW is used twice in qos mode :
|
||||
* when you receive invite (textinfo = "With QoS" or "Without QoS")
|
||||
* and when you receive update (textinfo = "New Call") */
|
||||
linphone_inc_new_call(lc,ev);
|
||||
|
|
@ -1132,7 +1134,7 @@ void linphone_core_process_event(LinphoneCore *lc,eXosip_event_t *ev)
|
|||
linphone_call_message_new(lc,ev);
|
||||
break;
|
||||
case EXOSIP_CALL_MESSAGE_REQUESTFAILURE:
|
||||
if (ev->did<0 && ev->response &&
|
||||
if (ev->did<0 && ev->response &&
|
||||
(ev->response->status_code==407 || ev->response->status_code==401)){
|
||||
eXosip_default_action(ev);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -702,7 +702,7 @@ LinphoneFriend *linphone_core_get_friend_by_ref_key(const LinphoneCore *lc, cons
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#define key_compare(key, word) strncasecmp((key),(word),strlen(key))
|
||||
#define key_compare(s1,s2) strcmp(s1,s2)
|
||||
|
||||
LinphoneSubscribePolicy __policy_str_to_enum(const char* pol){
|
||||
if (key_compare("accept",pol)==0){
|
||||
|
|
|
|||
|
|
@ -31,9 +31,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#include "exevents.h"
|
||||
|
||||
|
||||
#ifdef INET6
|
||||
#ifdef INET6
|
||||
#ifndef WIN32
|
||||
#include <netdb.h>
|
||||
#include <netdb.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ static void toggle_video_preview(LinphoneCore *lc, bool_t val);
|
|||
/* relative path where is stored local ring*/
|
||||
#define LOCAL_RING "rings/oldphone.wav"
|
||||
/* same for remote ring (ringback)*/
|
||||
#define REMOTE_RING "ringback.wav"
|
||||
#define REMOTE_RING "ringback.wav"
|
||||
|
||||
|
||||
sdp_handler_t linphone_sdphandler={
|
||||
|
|
@ -79,7 +79,7 @@ static void linphone_call_init_common(LinphoneCall *call, LinphoneAddress *from
|
|||
call->media_start_time=0;
|
||||
call->log=linphone_call_log_new(call, from, to);
|
||||
linphone_core_notify_all_friends(call->core,LINPHONE_STATUS_ONTHEPHONE);
|
||||
if (linphone_core_get_firewall_policy(call->core)==LINPHONE_POLICY_USE_STUN)
|
||||
if (linphone_core_get_firewall_policy(call->core)==LINPHONE_POLICY_USE_STUN)
|
||||
linphone_core_run_stun_tests(call->core,call);
|
||||
call->profile=rtp_profile_new("Call RTP profile");
|
||||
}
|
||||
|
|
@ -159,7 +159,12 @@ void linphone_call_destroy(LinphoneCall *obj)
|
|||
|
||||
/*prevent a gcc bug with %c*/
|
||||
static size_t my_strftime(char *s, size_t max, const char *fmt, const struct tm *tm){
|
||||
#if !defined(_WIN32_WCE)
|
||||
return strftime(s, max, fmt, tm);
|
||||
#else
|
||||
return 0;
|
||||
/*FIXME*/
|
||||
#endif /*_WIN32_WCE*/
|
||||
}
|
||||
|
||||
static void set_call_log_date(LinphoneCallLog *cl, const struct tm *loctime){
|
||||
|
|
@ -171,7 +176,10 @@ LinphoneCallLog * linphone_call_log_new(LinphoneCall *call, LinphoneAddress *fro
|
|||
struct tm loctime;
|
||||
cl->dir=call->dir;
|
||||
#ifdef WIN32
|
||||
#if !defined(_WIN32_WCE)
|
||||
loctime=*localtime(&call->start_time);
|
||||
/*FIXME*/
|
||||
#endif /*_WIN32_WCE*/
|
||||
#else
|
||||
localtime_r(&call->start_time,&loctime);
|
||||
#endif
|
||||
|
|
@ -395,7 +403,7 @@ void _osip_trace_func(char *fi, int li, osip_trace_level_t level, char *chfr, va
|
|||
ortp_level=ORTP_FATAL;
|
||||
break;
|
||||
case END_TRACE_LEVEL:
|
||||
break;
|
||||
break;
|
||||
}
|
||||
if (ortp_log_level_enabled(level)){
|
||||
int len=strlen(chfr);
|
||||
|
|
@ -512,13 +520,13 @@ static void sound_config_read(LinphoneCore *lc)
|
|||
|
||||
devid=lp_config_get_string(lc->config,"sound","playback_dev_id",NULL);
|
||||
linphone_core_set_playback_device(lc,devid);
|
||||
|
||||
|
||||
devid=lp_config_get_string(lc->config,"sound","ringer_dev_id",NULL);
|
||||
linphone_core_set_ringer_device(lc,devid);
|
||||
|
||||
|
||||
devid=lp_config_get_string(lc->config,"sound","capture_dev_id",NULL);
|
||||
linphone_core_set_capture_device(lc,devid);
|
||||
|
||||
|
||||
/*
|
||||
tmp=lp_config_get_int(lc->config,"sound","play_lev",80);
|
||||
linphone_core_set_play_level(lc,tmp);
|
||||
|
|
@ -529,22 +537,22 @@ static void sound_config_read(LinphoneCore *lc)
|
|||
tmpbuf=lp_config_get_string(lc->config,"sound","source","m");
|
||||
linphone_core_set_sound_source(lc,tmpbuf[0]);
|
||||
*/
|
||||
|
||||
|
||||
tmpbuf=PACKAGE_SOUND_DIR "/" LOCAL_RING;
|
||||
tmpbuf=lp_config_get_string(lc->config,"sound","local_ring",tmpbuf);
|
||||
if (access(tmpbuf,F_OK)==-1) {
|
||||
if (ortp_file_exist(tmpbuf)==-1) {
|
||||
tmpbuf=PACKAGE_SOUND_DIR "/" LOCAL_RING;
|
||||
}
|
||||
if (strstr(tmpbuf,".wav")==NULL){
|
||||
/* it currently uses old sound files, so replace them */
|
||||
tmpbuf=PACKAGE_SOUND_DIR "/" LOCAL_RING;
|
||||
}
|
||||
|
||||
|
||||
linphone_core_set_ring(lc,tmpbuf);
|
||||
|
||||
|
||||
tmpbuf=PACKAGE_SOUND_DIR "/" REMOTE_RING;
|
||||
tmpbuf=lp_config_get_string(lc->config,"sound","remote_ring",tmpbuf);
|
||||
if (access(tmpbuf,F_OK)==-1){
|
||||
if (ortp_file_exist(tmpbuf)==-1){
|
||||
tmpbuf=PACKAGE_SOUND_DIR "/" REMOTE_RING;
|
||||
}
|
||||
if (strstr(tmpbuf,".wav")==NULL){
|
||||
|
|
@ -589,12 +597,16 @@ static void sip_config_read(LinphoneCore *lc)
|
|||
linphone_core_enable_ipv6(lc,ipv6);
|
||||
port=lp_config_get_int(lc->config,"sip","sip_port",5060);
|
||||
linphone_core_set_sip_port(lc,port);
|
||||
|
||||
|
||||
tmpstr=lp_config_get_string(lc->config,"sip","contact",NULL);
|
||||
if (tmpstr==NULL || linphone_core_set_primary_contact(lc,tmpstr)==-1) {
|
||||
char *hostname=getenv("HOST");
|
||||
char *username=getenv("USER");
|
||||
const char *hostname=NULL;
|
||||
const char *username=NULL;
|
||||
#ifdef HAVE_GETENV
|
||||
hostname=getenv("HOST");
|
||||
username=getenv("USER");
|
||||
if (hostname==NULL) hostname=getenv("HOSTNAME");
|
||||
#endif /*HAVE_GETENV*/
|
||||
if (hostname==NULL)
|
||||
hostname="unknown-host";
|
||||
if (username==NULL){
|
||||
|
|
@ -607,8 +619,8 @@ static void sip_config_read(LinphoneCore *lc)
|
|||
|
||||
tmp=lp_config_get_int(lc->config,"sip","guess_hostname",1);
|
||||
linphone_core_set_guess_hostname(lc,tmp);
|
||||
|
||||
|
||||
|
||||
|
||||
tmp=lp_config_get_int(lc->config,"sip","inc_timeout",15);
|
||||
linphone_core_set_inc_timeout(lc,tmp);
|
||||
|
||||
|
|
@ -624,7 +636,7 @@ static void sip_config_read(LinphoneCore *lc)
|
|||
/* get the default proxy */
|
||||
tmp=lp_config_get_int(lc->config,"sip","default_proxy",-1);
|
||||
linphone_core_set_default_proxy_index(lc,tmp);
|
||||
|
||||
|
||||
/* read authentication information */
|
||||
for(i=0;; i++){
|
||||
LinphoneAuthInfo *ai=linphone_auth_info_new_from_config_file(lc->config,i);
|
||||
|
|
@ -648,16 +660,16 @@ static void rtp_config_read(LinphoneCore *lc)
|
|||
int nortp_timeout;
|
||||
port=lp_config_get_int(lc->config,"rtp","audio_rtp_port",7078);
|
||||
linphone_core_set_audio_port(lc,port);
|
||||
|
||||
|
||||
port=lp_config_get_int(lc->config,"rtp","video_rtp_port",9078);
|
||||
if (port==0) port=9078;
|
||||
linphone_core_set_video_port(lc,port);
|
||||
|
||||
|
||||
jitt_comp=lp_config_get_int(lc->config,"rtp","audio_jitt_comp",60);
|
||||
linphone_core_set_audio_jittcomp(lc,jitt_comp);
|
||||
linphone_core_set_audio_jittcomp(lc,jitt_comp);
|
||||
jitt_comp=lp_config_get_int(lc->config,"rtp","video_jitt_comp",60);
|
||||
nortp_timeout=lp_config_get_int(lc->config,"rtp","nortp_timeout",30);
|
||||
linphone_core_set_nortp_timeout(lc,nortp_timeout);
|
||||
linphone_core_set_nortp_timeout(lc,nortp_timeout);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -666,14 +678,14 @@ static PayloadType * get_codec(LpConfig *config, char* type,int index){
|
|||
const char *mime,*fmtp;
|
||||
int rate,enabled;
|
||||
PayloadType *pt;
|
||||
|
||||
|
||||
snprintf(codeckey,50,"%s_%i",type,index);
|
||||
mime=lp_config_get_string(config,codeckey,"mime",NULL);
|
||||
if (mime==NULL || strlen(mime)==0 ) return NULL;
|
||||
|
||||
|
||||
pt=payload_type_new();
|
||||
pt->mime_type=ms_strdup(mime);
|
||||
|
||||
|
||||
rate=lp_config_get_int(config,codeckey,"rate",8000);
|
||||
pt->clock_rate=rate;
|
||||
fmtp=lp_config_get_string(config,codeckey,"recv_fmtp",NULL);
|
||||
|
|
@ -728,7 +740,7 @@ static void video_config_read(LinphoneCore *lc)
|
|||
str=lp_config_get_string(lc->config,"video","device",NULL);
|
||||
if (str && str[0]==0) str=NULL;
|
||||
linphone_core_set_video_device(lc,str);
|
||||
|
||||
|
||||
linphone_core_set_preferred_video_size_by_name(lc,
|
||||
lp_config_get_string(lc->config,"video","size","cif"));
|
||||
|
||||
|
|
@ -874,7 +886,7 @@ static void linphone_core_init (LinphoneCore * lc, const LinphoneCoreVTable *vta
|
|||
|
||||
gstate_initialize(lc);
|
||||
gstate_new_state(lc, GSTATE_POWER_STARTUP, NULL);
|
||||
|
||||
|
||||
ortp_init();
|
||||
linphone_core_assign_payload_type(&payload_type_lpc1015,115,NULL);
|
||||
linphone_core_assign_payload_type(&payload_type_speex_nb,110,"vbr=on");
|
||||
|
|
@ -908,11 +920,11 @@ static void linphone_core_init (LinphoneCore * lc, const LinphoneCoreVTable *vta
|
|||
#endif
|
||||
|
||||
ms_init();
|
||||
|
||||
|
||||
lc->config=lp_config_new(config_path);
|
||||
if (factory_config_path)
|
||||
lp_config_read_file(lc->config,factory_config_path);
|
||||
|
||||
|
||||
#ifdef VINCENT_MAURY_RSVP
|
||||
/* default qos parameters : rsvp on, rpc off */
|
||||
lc->rsvp_enable = 1;
|
||||
|
|
@ -1031,7 +1043,7 @@ void linphone_core_get_local_ip(LinphoneCore *lc, const char *dest, char *result
|
|||
if (eXosip_guess_localip(lc->sip_conf.ipv6_enabled ? AF_INET6 : AF_INET,result,LINPHONE_IPADDR_SIZE)<0){
|
||||
/*default to something */
|
||||
strncpy(result,lc->sip_conf.ipv6_enabled ? "::1" : "127.0.0.1",LINPHONE_IPADDR_SIZE);
|
||||
ms_error("Could not find default routable ip address !");
|
||||
ms_error("Could not find default routable ip address !");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1052,10 +1064,10 @@ const char *linphone_core_get_primary_contact(LinphoneCore *lc)
|
|||
ms_free(lc->sip_conf.guessed_contact);
|
||||
lc->sip_conf.guessed_contact=NULL;
|
||||
}
|
||||
|
||||
|
||||
osip_from_init(&url);
|
||||
if (osip_from_parse(url,lc->sip_conf.contact)==0){
|
||||
|
||||
|
||||
}else ms_error("Could not parse identity contact !");
|
||||
linphone_core_get_local_ip(lc, NULL, tmp);
|
||||
if (strcmp(tmp,"127.0.0.1")==0 || strcmp(tmp,"::1")==0 ){
|
||||
|
|
@ -1073,9 +1085,9 @@ const char *linphone_core_get_primary_contact(LinphoneCore *lc)
|
|||
}
|
||||
osip_from_to_str(url,&guessed);
|
||||
lc->sip_conf.guessed_contact=guessed;
|
||||
|
||||
|
||||
osip_from_free(url);
|
||||
|
||||
|
||||
}
|
||||
identity=lc->sip_conf.guessed_contact;
|
||||
}else{
|
||||
|
|
@ -1494,11 +1506,11 @@ void linphone_core_iterate(LinphoneCore *lc)
|
|||
{
|
||||
eXosip_event_t *ev;
|
||||
bool_t disconnected=FALSE;
|
||||
int disconnect_timeout = linphone_core_get_nortp_timeout(lc);
|
||||
int disconnect_timeout = linphone_core_get_nortp_timeout(lc);
|
||||
time_t curtime=time(NULL);
|
||||
int elapsed;
|
||||
bool_t one_second_elapsed=FALSE;
|
||||
|
||||
|
||||
if (curtime-lc->prevtime>=1){
|
||||
lc->prevtime=curtime;
|
||||
one_second_elapsed=TRUE;
|
||||
|
|
@ -1510,7 +1522,7 @@ void linphone_core_iterate(LinphoneCore *lc)
|
|||
lc->ringstream=NULL;
|
||||
lc_callback_obj_invoke(&lc->preview_finished_cb,lc);
|
||||
}
|
||||
|
||||
|
||||
if (exosip_running){
|
||||
while((ev=eXosip_event_wait(0,0))!=NULL){
|
||||
linphone_core_process_event(lc,ev);
|
||||
|
|
@ -1526,7 +1538,7 @@ void linphone_core_iterate(LinphoneCore *lc)
|
|||
|
||||
if (lc->call!=NULL){
|
||||
LinphoneCall *call=lc->call;
|
||||
|
||||
|
||||
if (call->dir==LinphoneCallIncoming && call->state==LCStateRinging){
|
||||
elapsed=curtime-call->start_time;
|
||||
ms_message("incoming call ringing for %i seconds",elapsed);
|
||||
|
|
@ -1613,7 +1625,7 @@ bool_t linphone_core_interpret_url(LinphoneCore *lc, const char *url, LinphoneAd
|
|||
if (real_parsed_url!=NULL) *real_parsed_url=NULL;
|
||||
*route=NULL;
|
||||
tmproute=linphone_core_get_route(lc);
|
||||
|
||||
|
||||
if (is_enum(url,&enum_domain)){
|
||||
lc->vtable.display_status(lc,_("Looking for telephone number destination..."));
|
||||
if (enum_lookup(enum_domain,&enumres)<0){
|
||||
|
|
@ -1789,7 +1801,7 @@ int linphone_core_invite(LinphoneCore *lc, const char *url)
|
|||
LinphoneAddress *real_parsed_url=NULL;
|
||||
char *real_url=NULL;
|
||||
LinphoneProxyConfig *dest_proxy=NULL;
|
||||
|
||||
|
||||
if (lc->call!=NULL){
|
||||
lc->vtable.display_warning(lc,_("Sorry, having multiple simultaneous calls is not supported yet !"));
|
||||
return -1;
|
||||
|
|
@ -1807,7 +1819,7 @@ int linphone_core_invite(LinphoneCore *lc, const char *url)
|
|||
ms_message("The used identity will be %s",linphone_proxy_config_get_identity(dest_proxy));
|
||||
}
|
||||
|
||||
if (dest_proxy!=NULL)
|
||||
if (dest_proxy!=NULL)
|
||||
from=linphone_proxy_config_get_identity(dest_proxy);
|
||||
else if (proxy!=NULL)
|
||||
from=linphone_proxy_config_get_identity(proxy);
|
||||
|
|
@ -1826,9 +1838,9 @@ int linphone_core_invite(LinphoneCore *lc, const char *url)
|
|||
osip_message_set_supported(invite, "timer");
|
||||
}
|
||||
/* make sdp message */
|
||||
|
||||
|
||||
parsed_url2=linphone_address_new(from);
|
||||
|
||||
|
||||
lc->call=linphone_call_new_outgoing(lc,parsed_url2,real_parsed_url);
|
||||
/*try to be best-effort in giving real local or routable contact address,
|
||||
except when the user choosed to override the ipaddress */
|
||||
|
|
@ -1856,7 +1868,7 @@ int linphone_core_invite(LinphoneCore *lc, const char *url)
|
|||
lc->call=NULL;
|
||||
linphone_core_stop_media_streams(lc);
|
||||
}else gstate_new_state(lc, GSTATE_CALL_OUT_INVITE, url);
|
||||
|
||||
|
||||
goto end;
|
||||
end:
|
||||
if (real_url!=NULL) ms_free(real_url);
|
||||
|
|
@ -1909,7 +1921,7 @@ int linphone_core_set_rpc_mode(LinphoneCore *lc, int on)
|
|||
{
|
||||
if (on==1)
|
||||
printf("RPC_ENABLE set on\n");
|
||||
else
|
||||
else
|
||||
printf("RPC_ENABLE set off\n");
|
||||
lc->rpc_enable = (on==1);
|
||||
/* need to tell eXosip the new setting */
|
||||
|
|
@ -1923,7 +1935,7 @@ int linphone_core_set_rsvp_mode(LinphoneCore *lc, int on)
|
|||
{
|
||||
if (on==1)
|
||||
printf("RSVP_ENABLE set on\n");
|
||||
else
|
||||
else
|
||||
printf("RSVP_ENABLE set off\n");
|
||||
lc->rsvp_enable = (on==1);
|
||||
/* need to tell eXosip the new setting */
|
||||
|
|
@ -1939,10 +1951,10 @@ int linphone_core_change_qos(LinphoneCore *lc, int answer)
|
|||
if (lc->call==NULL){
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
if (lc->rsvp_enable && answer==1)
|
||||
{
|
||||
/* answer is yes, local setting is with qos, so
|
||||
/* answer is yes, local setting is with qos, so
|
||||
* the user chose to continue with no qos ! */
|
||||
/* so switch in normal mode : ring and 180 */
|
||||
lc->rsvp_enable = 0; /* no more rsvp */
|
||||
|
|
@ -2066,7 +2078,7 @@ static void post_configure_audio_streams(LinphoneCore *lc){
|
|||
ms_filter_call_method(f,MS_VOLUME_SET_EA_FORCE,&force);
|
||||
if (sustain!=-1)
|
||||
ms_filter_call_method(f,MS_VOLUME_SET_EA_SUSTAIN,&sustain);
|
||||
|
||||
|
||||
}
|
||||
if (st->volsend){
|
||||
float ng_thres=lp_config_get_float(lc->config,"sound","ng_thres",0.05);
|
||||
|
|
@ -2085,12 +2097,13 @@ static void post_configure_audio_streams(LinphoneCore *lc){
|
|||
void linphone_core_start_media_streams(LinphoneCore *lc, LinphoneCall *call){
|
||||
LinphoneAddress *me=linphone_core_get_primary_contact_parsed(lc);
|
||||
const char *tool="linphone-" LINPHONE_VERSION;
|
||||
char *cname;
|
||||
/* adjust rtp jitter compensation. It must be at least the latency of the sound card */
|
||||
int jitt_comp=MAX(lc->sound_conf.latency,lc->rtp_conf.audio_jitt_comp);
|
||||
|
||||
if (call->media_start_time==0) call->media_start_time=time(NULL);
|
||||
|
||||
char *cname=ortp_strdup_printf("%s@%s",linphone_address_get_username(me),linphone_address_get_domain(me));
|
||||
cname=ortp_strdup_printf("%s@%s",me->url->username,me->url->host);
|
||||
{
|
||||
StreamParams *audio_params=&call->audio_params;
|
||||
if (!lc->use_files){
|
||||
|
|
@ -2104,7 +2117,7 @@ void linphone_core_start_media_streams(LinphoneCore *lc, LinphoneCall *call){
|
|||
ms_warning("No card defined for capture !");
|
||||
goto end;
|
||||
}
|
||||
if (audio_params->relay_session_id!=NULL)
|
||||
if (audio_params->relay_session_id!=NULL)
|
||||
audio_stream_set_relay_session_id(lc->audiostream,audio_params->relay_session_id);
|
||||
audio_stream_start_now(
|
||||
lc->audiostream,
|
||||
|
|
@ -2129,7 +2142,7 @@ void linphone_core_start_media_streams(LinphoneCore *lc, LinphoneCall *call){
|
|||
lc->play_file,
|
||||
lc->rec_file);
|
||||
}
|
||||
post_configure_audio_streams(lc);
|
||||
post_configure_audio_streams(lc);
|
||||
audio_stream_set_rtcp_information(lc->audiostream, cname, tool);
|
||||
}
|
||||
#ifdef VIDEO_ENABLED
|
||||
|
|
@ -2141,9 +2154,9 @@ void linphone_core_start_media_streams(LinphoneCore *lc, LinphoneCall *call){
|
|||
}
|
||||
if (lc->video_conf.display || lc->video_conf.capture) {
|
||||
StreamParams *video_params=&call->video_params;
|
||||
|
||||
|
||||
if (video_params->remoteport>0){
|
||||
if (video_params->relay_session_id!=NULL)
|
||||
if (video_params->relay_session_id!=NULL)
|
||||
video_stream_set_relay_session_id(lc->videostream,video_params->relay_session_id);
|
||||
video_stream_set_sent_video_size(lc->videostream,linphone_core_get_preferred_video_size(lc));
|
||||
video_stream_enable_self_view(lc->videostream,lc->video_conf.selfview);
|
||||
|
|
@ -2217,11 +2230,11 @@ int linphone_core_accept_call(LinphoneCore *lc, const char *url)
|
|||
LinphoneCall *call=lc->call;
|
||||
int err;
|
||||
bool_t offering=FALSE;
|
||||
|
||||
|
||||
if (call==NULL){
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
if (lc->call->state==LCStateAVRunning){
|
||||
/*call already accepted*/
|
||||
return -1;
|
||||
|
|
@ -2253,7 +2266,7 @@ int linphone_core_accept_call(LinphoneCore *lc, const char *url)
|
|||
offering=TRUE;
|
||||
ms_message("generating sdp offer");
|
||||
sdpmesg=sdp_context_get_offer(call->sdpctx);
|
||||
|
||||
|
||||
if (sdpmesg==NULL){
|
||||
ms_error("fail to generate sdp offer !");
|
||||
return -1;
|
||||
|
|
@ -2268,7 +2281,7 @@ int linphone_core_accept_call(LinphoneCore *lc, const char *url)
|
|||
eXosip_unlock();
|
||||
lc->vtable.display_status(lc,_("Connected."));
|
||||
gstate_new_state(lc, GSTATE_CALL_IN_CONNECTED, NULL);
|
||||
|
||||
|
||||
if (!offering) linphone_core_start_media_streams(lc, lc->call);
|
||||
ms_message("call answered.");
|
||||
return 0;
|
||||
|
|
@ -2289,11 +2302,11 @@ int linphone_core_terminate_call(LinphoneCore *lc, const char *url)
|
|||
return -1;
|
||||
}
|
||||
lc->call=NULL;
|
||||
|
||||
|
||||
eXosip_lock();
|
||||
eXosip_call_terminate(call->cid,call->did);
|
||||
eXosip_unlock();
|
||||
|
||||
|
||||
/*stop ringing*/
|
||||
if (lc->ringstream!=NULL) {
|
||||
ring_stop(lc->ringstream);
|
||||
|
|
@ -2361,7 +2374,7 @@ void linphone_core_set_presence_info(LinphoneCore *lc,int minutes_away,
|
|||
ms_message("contact url is correct.");
|
||||
}
|
||||
osip_from_free(url);
|
||||
|
||||
|
||||
}
|
||||
if (contactok>=0){
|
||||
if (lc->alt_contact!=NULL) ms_free(lc->alt_contact);
|
||||
|
|
@ -2369,7 +2382,7 @@ void linphone_core_set_presence_info(LinphoneCore *lc,int minutes_away,
|
|||
}
|
||||
if (lc->presence_mode!=presence_mode){
|
||||
linphone_core_notify_all_friends(lc,presence_mode);
|
||||
/*
|
||||
/*
|
||||
Improve the use of all LINPHONE_STATUS available.
|
||||
!TODO Do not mix "presence status" with "answer status code"..
|
||||
Use correct parameter to follow sip_if_match/sip_etag.
|
||||
|
|
@ -2378,7 +2391,7 @@ void linphone_core_set_presence_info(LinphoneCore *lc,int minutes_away,
|
|||
}
|
||||
lc->prev_mode=lc->presence_mode;
|
||||
lc->presence_mode=presence_mode;
|
||||
|
||||
|
||||
}
|
||||
|
||||
LinphoneOnlineStatus linphone_core_get_presence_info(const LinphoneCore *lc){
|
||||
|
|
@ -2455,7 +2468,7 @@ static MSSndCard *get_card_from_string_id(const char *devid, unsigned int cap){
|
|||
MSSndCard *sndcard=NULL;
|
||||
if (devid!=NULL){
|
||||
sndcard=ms_snd_card_manager_get_card(ms_snd_card_manager_get(),devid);
|
||||
if (sndcard!=NULL &&
|
||||
if (sndcard!=NULL &&
|
||||
(ms_snd_card_get_capabilities(sndcard) & cap)==0 ){
|
||||
ms_warning("%s card does not have the %s capability, ignoring.",
|
||||
devid,
|
||||
|
|
@ -2621,7 +2634,7 @@ void linphone_core_set_sound_source(LinphoneCore *lc, char source)
|
|||
ms_snd_card_set_capture(sndcard,MS_SND_CARD_LINE);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -2780,7 +2793,7 @@ void linphone_core_send_dtmf(LinphoneCore *lc,char dtmf)
|
|||
osip_message_set_content_type(msg,"application/dtmf-relay");
|
||||
snprintf(clen,sizeof(clen),"%lu",(unsigned long)strlen(dtmf_body));
|
||||
osip_message_set_content_length(msg,clen);
|
||||
|
||||
|
||||
eXosip_lock();
|
||||
eXosip_call_send_request(call->did,msg);
|
||||
eXosip_unlock();
|
||||
|
|
@ -2821,7 +2834,7 @@ static void apply_nat_settings(LinphoneCore *lc){
|
|||
int err;
|
||||
struct addrinfo hints,*res;
|
||||
const char *addr=lc->net_conf.nat_address;
|
||||
|
||||
|
||||
if (lc->net_conf.firewall_policy==LINPHONE_POLICY_USE_NAT_ADDRESS){
|
||||
if (addr==NULL || strlen(addr)==0){
|
||||
lc->vtable.display_warning(lc,_("No nat/firewall address supplied !"));
|
||||
|
|
@ -2831,7 +2844,7 @@ static void apply_nat_settings(LinphoneCore *lc){
|
|||
memset(&hints,0,sizeof(struct addrinfo));
|
||||
if (lc->sip_conf.ipv6_enabled)
|
||||
hints.ai_family=AF_INET6;
|
||||
else
|
||||
else
|
||||
hints.ai_family=AF_INET;
|
||||
hints.ai_socktype = SOCK_DGRAM;
|
||||
err=getaddrinfo(addr,NULL,&hints,&res);
|
||||
|
|
@ -2879,7 +2892,7 @@ static void apply_nat_settings(LinphoneCore *lc){
|
|||
}
|
||||
else {
|
||||
eXosip_set_option(EXOSIP_OPT_SET_IPV4_FOR_GATEWAY,NULL);
|
||||
eXosip_masquerade_contact("",0);
|
||||
eXosip_masquerade_contact("",0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3092,12 +3105,12 @@ unsigned long linphone_core_get_native_video_window_id(const LinphoneCore *lc){
|
|||
}
|
||||
|
||||
static MSVideoSizeDef supported_resolutions[]={
|
||||
{ MS_VIDEO_SIZE_SVGA , "svga" },
|
||||
{ MS_VIDEO_SIZE_4CIF , "4cif" },
|
||||
{ MS_VIDEO_SIZE_VGA , "vga" },
|
||||
{ MS_VIDEO_SIZE_CIF , "cif" },
|
||||
{ MS_VIDEO_SIZE_QVGA , "qvga" },
|
||||
{ MS_VIDEO_SIZE_QCIF , "qcif" },
|
||||
{ {MS_VIDEO_SIZE_SVGA_W,MS_VIDEO_SIZE_SVGA_H} , "svga" },
|
||||
{ {MS_VIDEO_SIZE_4CIF_W,MS_VIDEO_SIZE_4CIF_H} , "4cif" },
|
||||
{ {MS_VIDEO_SIZE_VGA_W,MS_VIDEO_SIZE_VGA_H} , "vga" },
|
||||
{ {MS_VIDEO_SIZE_CIF_W,MS_VIDEO_SIZE_CIF_H} , "cif" },
|
||||
{ {MS_VIDEO_SIZE_QVGA_W,MS_VIDEO_SIZE_QVGA_H} , "qvga" },
|
||||
{ {MS_VIDEO_SIZE_QCIF_W,MS_VIDEO_SIZE_QVGA_H} , "qcif" },
|
||||
{ {0,0} , NULL }
|
||||
};
|
||||
|
||||
|
|
@ -3112,13 +3125,14 @@ const MSVideoSizeDef *linphone_core_get_supported_video_sizes(LinphoneCore *lc){
|
|||
|
||||
static MSVideoSize video_size_get_by_name(const char *name){
|
||||
MSVideoSizeDef *pdef=supported_resolutions;
|
||||
MSVideoSize null_vsize={0,0};
|
||||
for(;pdef->name!=NULL;pdef++){
|
||||
if (strcasecmp(name,pdef->name)==0){
|
||||
return pdef->vsize;
|
||||
}
|
||||
}
|
||||
ms_warning("Video resolution %s is not supported in linphone.",name);
|
||||
return (MSVideoSize){0,0};
|
||||
return null_vsize;
|
||||
}
|
||||
|
||||
static const char *video_size_get_name(MSVideoSize vsize){
|
||||
|
|
@ -3167,8 +3181,9 @@ void linphone_core_set_preferred_video_size(LinphoneCore *lc, MSVideoSize vsize)
|
|||
**/
|
||||
void linphone_core_set_preferred_video_size_by_name(LinphoneCore *lc, const char *name){
|
||||
MSVideoSize vsize=video_size_get_by_name(name);
|
||||
MSVideoSize default_vsize={MS_VIDEO_SIZE_CIF_W,MS_VIDEO_SIZE_CIF_H};
|
||||
if (vsize.width!=0) linphone_core_set_preferred_video_size(lc,vsize);
|
||||
else linphone_core_set_preferred_video_size(lc,MS_VIDEO_SIZE_CIF);
|
||||
else linphone_core_set_preferred_video_size(lc,default_vsize);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -3203,7 +3218,7 @@ void linphone_core_set_record_file(LinphoneCore *lc, const char *file){
|
|||
}
|
||||
if (file!=NULL) {
|
||||
lc->rec_file=ms_strdup(file);
|
||||
if (lc->audiostream)
|
||||
if (lc->audiostream)
|
||||
audio_stream_record(lc->audiostream,file);
|
||||
}
|
||||
}
|
||||
|
|
@ -3272,7 +3287,7 @@ void net_config_uninit(LinphoneCore *lc)
|
|||
net_config_t *config=&lc->net_conf;
|
||||
lp_config_set_int(lc->config,"net","download_bw",config->download_bw);
|
||||
lp_config_set_int(lc->config,"net","upload_bw",config->upload_bw);
|
||||
|
||||
|
||||
if (config->stun_server!=NULL)
|
||||
lp_config_set_string(lc->config,"net","stun_server",config->stun_server);
|
||||
if (config->nat_address!=NULL)
|
||||
|
|
@ -3320,9 +3335,9 @@ void sip_config_uninit(LinphoneCore *lc)
|
|||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
linphone_proxy_config_write_to_config_file(lc->config,NULL,i); /*mark the end */
|
||||
|
||||
|
||||
for(elem=lc->auth_info,i=0;elem!=NULL;elem=ms_list_next(elem),i++){
|
||||
LinphoneAuthInfo *ai=(LinphoneAuthInfo*)(elem->data);
|
||||
linphone_auth_info_write_config(lc->config,ai,i);
|
||||
|
|
@ -3344,9 +3359,9 @@ void sound_config_uninit(LinphoneCore *lc)
|
|||
{
|
||||
sound_config_t *config=&lc->sound_conf;
|
||||
ms_free(config->cards);
|
||||
|
||||
|
||||
lp_config_set_string(lc->config,"sound","remote_ring",config->remote_ring);
|
||||
|
||||
|
||||
if (config->local_ring) ms_free(config->local_ring);
|
||||
if (config->remote_ring) ms_free(config->remote_ring);
|
||||
ms_snd_card_manager_destroy();
|
||||
|
|
@ -3354,7 +3369,7 @@ void sound_config_uninit(LinphoneCore *lc)
|
|||
|
||||
void video_config_uninit(LinphoneCore *lc)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
void codecs_config_uninit(LinphoneCore *lc)
|
||||
|
|
@ -3445,7 +3460,7 @@ static void linphone_core_uninit(LinphoneCore *lc)
|
|||
sip_setup_unregister_all();
|
||||
|
||||
linphone_core_free_payload_types();
|
||||
|
||||
|
||||
ortp_exit();
|
||||
eXosip_quit();
|
||||
exosip_running=FALSE;
|
||||
|
|
|
|||
|
|
@ -344,7 +344,7 @@ LinphoneProxyConfig *linphone_proxy_config_new(void);
|
|||
int linphone_proxy_config_set_server_addr(LinphoneProxyConfig *obj, const char *server_addr);
|
||||
void linphone_proxy_config_set_identity(LinphoneProxyConfig *obj, const char *identity);
|
||||
void linphone_proxy_config_set_route(LinphoneProxyConfig *obj, const char *route);
|
||||
void linphone_proxy_config_expires(LinphoneProxyConfig *obj, const int expires);
|
||||
void linphone_proxy_config_expires(LinphoneProxyConfig *obj, int expires);
|
||||
void linphone_proxy_config_enable_register(LinphoneProxyConfig *obj, bool_t val);
|
||||
#define linphone_proxy_config_enableregister linphone_proxy_config_enable_register
|
||||
void linphone_proxy_config_edit(LinphoneProxyConfig *obj);
|
||||
|
|
|
|||
|
|
@ -30,9 +30,13 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
#if !defined(_WIN32_WCE)
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#endif /*_WIN32_WCE*/
|
||||
|
||||
|
||||
|
||||
#define lp_new0(type,n) (type*)calloc(sizeof(type),n)
|
||||
|
||||
|
|
@ -59,14 +63,14 @@ struct _LpConfig{
|
|||
|
||||
LpItem * lp_item_new(const char *key, const char *value){
|
||||
LpItem *item=lp_new0(LpItem,1);
|
||||
item->key=strdup(key);
|
||||
item->value=strdup(value);
|
||||
item->key=ortp_strdup(key);
|
||||
item->value=ortp_strdup(value);
|
||||
return item;
|
||||
}
|
||||
|
||||
LpSection *lp_section_new(const char *name){
|
||||
LpSection *sec=lp_new0(LpSection,1);
|
||||
sec->name=strdup(name);
|
||||
sec->name=ortp_strdup(name);
|
||||
return sec;
|
||||
}
|
||||
|
||||
|
|
@ -136,9 +140,9 @@ LpItem *lp_section_find_item(LpSection *sec, const char *name){
|
|||
void lp_config_parse(LpConfig *lpconfig, FILE *file){
|
||||
char tmp[MAX_LEN];
|
||||
LpSection *cur=NULL;
|
||||
|
||||
|
||||
if (file==NULL) return;
|
||||
|
||||
|
||||
while(fgets(tmp,MAX_LEN,file)!=NULL){
|
||||
char *pos1,*pos2;
|
||||
pos1=strchr(tmp,'[');
|
||||
|
|
@ -168,10 +172,10 @@ void lp_config_parse(LpConfig *lpconfig, FILE *file){
|
|||
if (pos1!=NULL){
|
||||
char key[MAX_LEN];
|
||||
key[0]='\0';
|
||||
|
||||
|
||||
*pos1='\0';
|
||||
if (sscanf(tmp,"%s",key)>0){
|
||||
|
||||
|
||||
pos1++;
|
||||
pos2=strchr(pos1,'\n');
|
||||
if (pos2==NULL) pos2=pos1+strlen(pos1);
|
||||
|
|
@ -205,16 +209,18 @@ void lp_config_parse(LpConfig *lpconfig, FILE *file){
|
|||
LpConfig * lp_config_new(const char *filename){
|
||||
LpConfig *lpconfig=lp_new0(LpConfig,1);
|
||||
if (filename!=NULL){
|
||||
lpconfig->filename=strdup(filename);
|
||||
lpconfig->filename=ortp_strdup(filename);
|
||||
lpconfig->file=fopen(filename,"rw");
|
||||
if (lpconfig->file!=NULL){
|
||||
lp_config_parse(lpconfig,lpconfig->file);
|
||||
fclose(lpconfig->file);
|
||||
#if !defined(_WIN32_WCE)
|
||||
/* make existing configuration files non-group/world-accessible */
|
||||
if (chmod(filename, S_IRUSR | S_IWUSR) == -1)
|
||||
ms_warning("unable to correct permissions on "
|
||||
"configuration file: %s",
|
||||
strerror(errno));
|
||||
#endif /*_WIN32_WCE*/
|
||||
lpconfig->file=NULL;
|
||||
lpconfig->modified=0;
|
||||
}
|
||||
|
|
@ -235,7 +241,7 @@ int lp_config_read_file(LpConfig *lpconfig, const char *filename){
|
|||
|
||||
void lp_item_set_value(LpItem *item, const char *value){
|
||||
free(item->value);
|
||||
item->value=strdup(value);
|
||||
item->value=ortp_strdup(value);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -22,18 +22,24 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#include "mediastreamer2/mediastream.h"
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#ifdef HAVE_SIGHANDLER_T
|
||||
#include <signal.h>
|
||||
#endif /*HAVE_SIGHANDLER_T*/
|
||||
|
||||
#include <string.h>
|
||||
#if !defined(_WIN32_WCE)
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <strings.h>
|
||||
|
||||
#endif /*_WIN32_WCE*/
|
||||
|
||||
#undef snprintf
|
||||
#include <ortp/stun.h>
|
||||
|
||||
#ifndef WIN32
|
||||
|
||||
#if !defined(WIN32)
|
||||
|
||||
static char lock_name[80];
|
||||
static char lock_set=0;
|
||||
|
|
@ -41,7 +47,7 @@ static char lock_set=0;
|
|||
int set_lock_file()
|
||||
{
|
||||
FILE *lockfile;
|
||||
|
||||
|
||||
snprintf(lock_name,80,"/tmp/linphone.%i",getuid());
|
||||
lockfile=fopen(lock_name,"w");
|
||||
if (lockfile==NULL)
|
||||
|
|
@ -60,7 +66,7 @@ int get_lock_file()
|
|||
{
|
||||
int pid;
|
||||
FILE *lockfile;
|
||||
|
||||
|
||||
snprintf(lock_name,80,"/tmp/linphone.%i",getuid());
|
||||
lockfile=fopen(lock_name,"r");
|
||||
if (lockfile==NULL)
|
||||
|
|
@ -97,15 +103,17 @@ char *int2str(int number)
|
|||
|
||||
void check_sound_device(LinphoneCore *lc)
|
||||
{
|
||||
int fd,len;
|
||||
#ifdef _linux
|
||||
int fd=0;
|
||||
int len;
|
||||
int a;
|
||||
char *file=NULL;
|
||||
char *i810_audio=NULL;
|
||||
char *snd_pcm_oss=NULL;
|
||||
char *snd_mixer_oss=NULL;
|
||||
char *snd_pcm=NULL;
|
||||
|
||||
fd=open("/proc/modules",O_RDONLY);
|
||||
|
||||
if (fd>0){
|
||||
/* read the entire /proc/modules file and check if sound conf seems correct */
|
||||
/*a=fstat(fd,&statbuf);
|
||||
|
|
@ -138,13 +146,12 @@ void check_sound_device(LinphoneCore *lc)
|
|||
}
|
||||
}
|
||||
}else {
|
||||
#ifdef __linux
|
||||
|
||||
ms_warning("Could not open /proc/modules.");
|
||||
#endif
|
||||
}
|
||||
/* now check general volume. Some user forget to rise it and then complain that linphone is
|
||||
not working */
|
||||
/* but some other users complain that linphone should not change levels...
|
||||
/* but some other users complain that linphone should not change levels...
|
||||
if (lc->sound_conf.sndcard!=NULL){
|
||||
a=snd_card_get_level(lc->sound_conf.sndcard,SND_CARD_LEVEL_GENERAL);
|
||||
if (a<50){
|
||||
|
|
@ -156,6 +163,7 @@ void check_sound_device(LinphoneCore *lc)
|
|||
end:
|
||||
if (file!=NULL) ms_free(file);
|
||||
if (fd>0) close(fd);
|
||||
#endif
|
||||
}
|
||||
|
||||
#define UDP_HDR_SZ 8
|
||||
|
|
@ -164,12 +172,12 @@ void check_sound_device(LinphoneCore *lc)
|
|||
|
||||
const char *payload_type_get_description(PayloadType *pt){
|
||||
return _((const char *)pt->user_data);
|
||||
}
|
||||
}
|
||||
|
||||
void payload_type_set_enable(PayloadType *pt,int value)
|
||||
void payload_type_set_enable(PayloadType *pt,int value)
|
||||
{
|
||||
if ((value)!=0) payload_type_set_flag(pt,PAYLOAD_TYPE_ENABLED); \
|
||||
else payload_type_unset_flag(pt,PAYLOAD_TYPE_ENABLED);
|
||||
else payload_type_unset_flag(pt,PAYLOAD_TYPE_ENABLED);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -266,7 +274,7 @@ bool_t linphone_core_check_payload_type_usability(LinphoneCore *lc, PayloadType
|
|||
/*let the video use all the bandwidth minus the maximum bandwidth used by audio */
|
||||
if (min_video_bw>0)
|
||||
pt->normal_bitrate=min_video_bw*1000;
|
||||
else
|
||||
else
|
||||
pt->normal_bitrate=1500000; /*around 1.5 Mbit/s*/
|
||||
ret=TRUE;
|
||||
}
|
||||
|
|
@ -274,7 +282,7 @@ bool_t linphone_core_check_payload_type_usability(LinphoneCore *lc, PayloadType
|
|||
break;
|
||||
}
|
||||
/*if (!ret) ms_warning("Payload %s is not usable with your internet connection.",pt->mime_type);*/
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
@ -284,7 +292,7 @@ static PayloadType * find_payload(RtpProfile *prof, PayloadType *pt /*from confi
|
|||
PayloadType *it;
|
||||
for(i=0;i<127;++i){
|
||||
it=rtp_profile_get_payload(prof,i);
|
||||
if (it!=NULL && strcasecmp(pt->mime_type,it->mime_type)==0
|
||||
if (it!=NULL && strcasecmp(pt->mime_type,it->mime_type)==0
|
||||
&& (pt->clock_rate==it->clock_rate || pt->clock_rate<=0)
|
||||
&& payload_type_get_user_data(it)==NULL ){
|
||||
if ( (pt->recv_fmtp && it->recv_fmtp && strcasecmp(pt->recv_fmtp,it->recv_fmtp)==0) ||
|
||||
|
|
@ -316,7 +324,7 @@ static MSList *fix_codec_list(RtpProfile *prof, MSList *conflist)
|
|||
MSList *elem;
|
||||
MSList *newlist=NULL;
|
||||
PayloadType *payload,*confpayload;
|
||||
|
||||
|
||||
for (elem=conflist;elem!=NULL;elem=ms_list_next(elem))
|
||||
{
|
||||
confpayload=(PayloadType*)elem->data;
|
||||
|
|
@ -350,12 +358,10 @@ void linphone_core_setup_local_rtp_profile(LinphoneCore *lc)
|
|||
PayloadType *payload;
|
||||
bool_t prepend;
|
||||
lc->local_profile=rtp_profile_clone_full(&av_profile);
|
||||
|
||||
/* first look at the list given by configuration file to see if
|
||||
/* first look at the list given by configuration file to see if
|
||||
it is correct */
|
||||
audiopt=fix_codec_list(lc->local_profile,lc->codecs_conf.audio_codecs);
|
||||
videopt=fix_codec_list(lc->local_profile,lc->codecs_conf.video_codecs);
|
||||
|
||||
/* now find and add payloads that are not listed in the configuration
|
||||
codec list */
|
||||
for (i=0;i<127;i++)
|
||||
|
|
@ -384,7 +390,7 @@ void linphone_core_setup_local_rtp_profile(LinphoneCore *lc)
|
|||
case PAYLOAD_AUDIO_CONTINUOUS:
|
||||
case PAYLOAD_AUDIO_PACKETIZED:
|
||||
if (prepend)
|
||||
audiopt=ms_list_prepend(audiopt,(void *)payload);
|
||||
audiopt=ms_list_prepend(audiopt,(void *)payload);
|
||||
else
|
||||
audiopt=ms_list_append(audiopt,(void *)payload);
|
||||
break;
|
||||
|
|
@ -427,6 +433,7 @@ int from_2char_without_params(osip_from_t *from,char **str)
|
|||
}
|
||||
|
||||
bool_t lp_spawn_command_line_sync(const char *command, char **result,int *command_ret){
|
||||
#if !defined(_WIN32_WCE)
|
||||
FILE *f=popen(command,"r");
|
||||
if (f!=NULL){
|
||||
int err;
|
||||
|
|
@ -442,6 +449,7 @@ bool_t lp_spawn_command_line_sync(const char *command, char **result,int *comman
|
|||
if (command_ret!=NULL) *command_ret=err;
|
||||
return TRUE;
|
||||
}
|
||||
#endif /*_WIN32_WCE*/
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
@ -454,12 +462,12 @@ bool_t host_has_ipv6_network()
|
|||
struct ifaddrs *ifp;
|
||||
struct ifaddrs *ifpstart;
|
||||
bool_t ipv6_present=FALSE;
|
||||
|
||||
|
||||
if (getifaddrs (&ifpstart) < 0)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
for (ifp=ifpstart; ifp != NULL; ifp = ifp->ifa_next)
|
||||
{
|
||||
if (!ifp->ifa_addr)
|
||||
|
|
@ -467,7 +475,7 @@ bool_t host_has_ipv6_network()
|
|||
|
||||
switch (ifp->ifa_addr->sa_family) {
|
||||
case AF_INET:
|
||||
|
||||
|
||||
break;
|
||||
case AF_INET6:
|
||||
ipv6_present=TRUE;
|
||||
|
|
@ -608,7 +616,7 @@ void linphone_core_run_stun_tests(LinphoneCore *lc, LinphoneCall *call){
|
|||
}
|
||||
if (lc->vtable.display_status!=NULL)
|
||||
lc->vtable.display_status(lc,_("Stun lookup in progress..."));
|
||||
|
||||
|
||||
/*create the two audio and video RTP sockets, and send STUN message to our stun server */
|
||||
sock1=create_socket(linphone_core_get_audio_port(lc));
|
||||
if (sock1<0) return;
|
||||
|
|
@ -793,7 +801,7 @@ int linphone_core_get_local_ip_for(const char *dest, char *result){
|
|||
if (err<0) {
|
||||
ms_error("Error in connect: %s",strerror(errno));
|
||||
freeaddrinfo(res);
|
||||
close(sock);
|
||||
close_socket(sock);
|
||||
return -1;
|
||||
}
|
||||
freeaddrinfo(res);
|
||||
|
|
@ -802,14 +810,14 @@ int linphone_core_get_local_ip_for(const char *dest, char *result){
|
|||
err=getsockname(sock,(struct sockaddr*)&addr,&s);
|
||||
if (err!=0) {
|
||||
ms_error("Error in getsockname: %s",strerror(errno));
|
||||
close(sock);
|
||||
close_socket(sock);
|
||||
return -1;
|
||||
}
|
||||
err=getnameinfo((struct sockaddr *)&addr,s,result,LINPHONE_IPADDR_SIZE,NULL,0,NI_NUMERICHOST);
|
||||
if (err!=0){
|
||||
ms_error("getnameinfo error: %s",strerror(errno));
|
||||
}
|
||||
close(sock);
|
||||
close_socket(sock);
|
||||
ms_message("Local interface to reach %s is %s.",dest,result);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,10 +40,6 @@
|
|||
#define PACKAGE_SOUND_DIR "."
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
#include <io.h> /* for access() */
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GETTEXT
|
||||
#include <libintl.h>
|
||||
#ifndef _
|
||||
|
|
|
|||
|
|
@ -174,7 +174,7 @@ sdp_context_generate_template (sdp_context_t * ctx)
|
|||
}
|
||||
|
||||
static void add_relay_info(sdp_message_t *sdp, int mline, const char *relay, const char *relay_session_id){
|
||||
|
||||
|
||||
if (relay) sdp_message_a_attribute_add(sdp, mline,
|
||||
osip_strdup ("relay-addr"),osip_strdup(relay));
|
||||
if (relay_session_id) sdp_message_a_attribute_add(sdp, mline,
|
||||
|
|
@ -191,7 +191,12 @@ sdp_context_add_payload (sdp_context_t * ctx, sdp_payload_t * payload, char *med
|
|||
{
|
||||
eXosip_trace (OSIP_ERROR,
|
||||
("You must not call sdp_context_add_*_payload outside the write_offer callback\n"));
|
||||
abort ();
|
||||
#if !defined(_WIN32_WCE)
|
||||
abort();
|
||||
#else
|
||||
exit(-1);
|
||||
#endif /*_WIN32_WCE*/
|
||||
|
||||
}
|
||||
if (payload->proto == NULL)
|
||||
payload->proto = "RTP/AVP";
|
||||
|
|
@ -225,7 +230,7 @@ sdp_context_add_payload (sdp_context_t * ctx, sdp_payload_t * payload, char *med
|
|||
attr_field);
|
||||
}
|
||||
if (payload->b_as_bandwidth != 0)
|
||||
{
|
||||
{
|
||||
if (sdp_message_bandwidth_get(offer,payload->line,0)==NULL){
|
||||
attr_field =
|
||||
sstrdup_sprintf ("%i", payload->b_as_bandwidth);
|
||||
|
|
@ -326,7 +331,7 @@ sdp_context_get_answer ( sdp_context_t *ctx,sdp_message_t *remote)
|
|||
else eXosip_trace(OSIP_INFO1,("Using firewall address in sdp."));
|
||||
|
||||
answer = sdp_context_generate_template (ctx);
|
||||
|
||||
|
||||
/* for each m= line */
|
||||
for (i = 0; !sdp_message_endof_media (remote, i); i++){
|
||||
sdp_payload_init(&init_payload);
|
||||
|
|
@ -373,7 +378,7 @@ sdp_context_get_answer ( sdp_context_t *ctx,sdp_message_t *remote)
|
|||
sdp_message_a_attr_value_get_with_pt
|
||||
(remote, i, payload.pt,
|
||||
"fmtp");
|
||||
|
||||
|
||||
/* ask the application if this codec is supported */
|
||||
err = sdph->accept_audio_codecs (ctx,
|
||||
&payload);
|
||||
|
|
@ -447,7 +452,7 @@ sdp_context_get_answer ( sdp_context_t *ctx,sdp_message_t *remote)
|
|||
{
|
||||
/* refuse the line */
|
||||
refuse_mline(answer,mtype,proto,i);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
m_lines_accepted++;
|
||||
|
|
|
|||
|
|
@ -88,6 +88,9 @@ static int sip_login_do_logout(SipSetupContext * ctx){
|
|||
}
|
||||
|
||||
/* a simple SipSetup built-in plugin to allow specify the user/password for proxy config at runtime*/
|
||||
|
||||
#ifndef _MSC_VER
|
||||
|
||||
SipSetup linphone_sip_login={
|
||||
.name="SipLogin",
|
||||
.capabilities=SIP_SETUP_CAP_LOGIN,
|
||||
|
|
@ -96,3 +99,29 @@ SipSetup linphone_sip_login={
|
|||
.logout_account=sip_login_do_logout
|
||||
};
|
||||
|
||||
#else
|
||||
SipSetup linphone_sip_login={
|
||||
"SipLogin",
|
||||
SIP_SETUP_CAP_LOGIN,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
sip_login_init_instance,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
sip_login_do_login,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
sip_login_do_logout
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ EXPORTS
|
|||
ms_filter_register
|
||||
ms_filter_new_from_name
|
||||
ms_filter_set_notify_callback
|
||||
ms_filter_get_encoder
|
||||
|
||||
ms_snd_card_new
|
||||
ms_snd_card_manager_destroy
|
||||
|
|
@ -43,7 +44,20 @@ EXPORTS
|
|||
ms_snd_card_set_capture
|
||||
ms_snd_card_set_control
|
||||
ms_snd_card_get_control
|
||||
|
||||
|
||||
ms_web_cam_new
|
||||
ms_web_cam_manager_reload
|
||||
ms_web_cam_manager_get_default_cam
|
||||
ms_web_cam_manager_get
|
||||
ms_web_cam_manager_get_list
|
||||
ms_web_cam_manager_get_cam
|
||||
ms_web_cam_manager_add_cam
|
||||
ms_web_cam_manager_register_desc
|
||||
ms_web_cam_create_reader
|
||||
ms_web_cam_get_driver_type
|
||||
ms_web_cam_get_name
|
||||
ms_web_cam_get_string_id
|
||||
|
||||
ms_ticker_new
|
||||
ms_ticker_set_name
|
||||
ms_ticker_destroy
|
||||
|
|
@ -58,32 +72,58 @@ EXPORTS
|
|||
ms_bufferizer_read
|
||||
ms_bufferizer_put
|
||||
ms_bufferizer_put_from_queue
|
||||
|
||||
ms_queue_init
|
||||
ms_queue_flush
|
||||
|
||||
rfc3984_init
|
||||
rfc3984_uninit
|
||||
rfc3984_pack
|
||||
rfc3984_unpack
|
||||
rfc3984_set_mode
|
||||
|
||||
ms_load_plugins
|
||||
|
||||
audio_stream_start
|
||||
|
||||
ms_queue_init
|
||||
ms_queue_flush
|
||||
|
||||
rfc3984_init
|
||||
rfc3984_uninit
|
||||
rfc3984_pack
|
||||
rfc3984_unpack
|
||||
rfc3984_set_mode
|
||||
|
||||
audio_stream_alive
|
||||
audio_stream_enable_automatic_gain_control
|
||||
audio_stream_set_echo_canceler_params
|
||||
audio_stream_enable_gain_control
|
||||
audio_stream_enable_echo_limiter
|
||||
audio_stream_new
|
||||
audio_stream_set_rtcp_information
|
||||
audio_stream_start_with_files
|
||||
audio_stream_start_now
|
||||
audio_stream_set_relay_session_id
|
||||
audio_stream_play_received_dtmfs
|
||||
audio_stream_set_mic_gain
|
||||
audio_stream_stop
|
||||
audio_stream_play
|
||||
audio_stream_record
|
||||
ms_snd_card_get_capabilities
|
||||
ring_start_with_cb
|
||||
ring_start
|
||||
ring_stop
|
||||
audio_stream_send_dtmf
|
||||
ms_discover_mtu
|
||||
ms_set_mtu
|
||||
|
||||
ms_web_cam_new
|
||||
ms_web_cam_manager_reload
|
||||
ms_web_cam_manager_get_default_cam
|
||||
ms_web_cam_manager_get
|
||||
ms_web_cam_manager_get_list
|
||||
ms_web_cam_manager_get_cam
|
||||
ms_web_cam_manager_add_cam
|
||||
ms_web_cam_manager_register_desc
|
||||
ms_web_cam_create_reader
|
||||
ms_web_cam_get_driver_type
|
||||
ms_web_cam_get_name
|
||||
ms_web_cam_get_string_id
|
||||
ms_list_append
|
||||
ms_list_remove
|
||||
ms_list_free
|
||||
ms_list_for_each
|
||||
ms_list_find
|
||||
ms_list_for_each2
|
||||
ms_list_find_custom
|
||||
ms_list_size
|
||||
ms_list_nth_data
|
||||
ms_list_remove_link
|
||||
ms_list_index
|
||||
ms_list_prepend
|
||||
ms_list_position
|
||||
|
||||
ms_time
|
||||
ms_get_payload_max_size
|
||||
ms_sleep
|
||||
|
||||
|
||||
46
linphone/mediastreamer2/build/wince/mediastreamer2.sln
Normal file
46
linphone/mediastreamer2/build/wince/mediastreamer2.sln
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mediastreamer2", "mediastreamer2.vcproj", "{177F5AE2-A40C-4412-8F26-7F85FA32464E}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
Debug|Windows Mobile 6 Professional SDK (ARMV4I) = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
Debug|Windows Mobile 6 Standard SDK (ARMV4I) = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
Release|Windows Mobile 6 Professional SDK (ARMV4I) = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
Release|Windows Mobile 6 Standard SDK (ARMV4I) = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{177F5AE2-A40C-4412-8F26-7F85FA32464E}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -126,6 +126,7 @@ if test $GCC = yes && test $wall_werror = yes; then
|
|||
fi
|
||||
|
||||
macosx_found=no
|
||||
mingw32ce_found=no
|
||||
|
||||
dnl add thread flags
|
||||
case $target_os in
|
||||
|
|
@ -135,7 +136,16 @@ case $target_os in
|
|||
macosx_found=yes
|
||||
LIBS="$LIBS -framework CoreFoundation -framework Cocoa"
|
||||
;;
|
||||
*mingw*)
|
||||
*mingw32ce)
|
||||
CFLAGS="$CFLAGS -DINET6 -DORTP_INET6 -D_WIN32_WINNT=0x0501 -D_WIN32_WCE -DORTP_STATIC"
|
||||
CXXFLAGS="$CXXFLAGS -DINET6 -DORTP_INET6 -D_WIN32_WINNT=0x0501 -DORTP_STATIC -D_WIN32_WCE"
|
||||
dnl ORTP_STATIC to tell ortp not to export its variable with dllexport, as if we were building statically, or dynamically on linux
|
||||
LIBS="$LIBS -lws2"
|
||||
mingw_found=yes
|
||||
mingw32ce_found=yes
|
||||
build_tests=no
|
||||
;;
|
||||
*mingw*)
|
||||
CFLAGS="$CFLAGS -DINET6 -DORTP_INET6 -D_WIN32_WINNT=0x0501 -DORTP_STATIC"
|
||||
CXXFLAGS="$CXXFLAGS -DINET6 -DORTP_INET6 -D_WIN32_WINNT=0x0501 -DORTP_STATIC"
|
||||
dnl ORTP_STATIC to tell ortp not to export its variable with dllexport, as if we were building statically, or dynamically on linux
|
||||
|
|
@ -152,6 +162,8 @@ esac
|
|||
|
||||
AM_CONDITIONAL(BUILD_MACOSX, test x$macosx_found = xyes)
|
||||
|
||||
AM_CONDITIONAL(BUILD_TESTS,test x$build_tests != xno)
|
||||
|
||||
AC_CONFIG_COMMANDS([libtool-hacking],[
|
||||
if test "$mingw_found" = "yes" ; then
|
||||
echo "Hacking libtool to work with mingw..."
|
||||
|
|
@ -471,6 +483,7 @@ MS_CHECK_VIDEO
|
|||
AM_CONDITIONAL(BUILD_VIDEO, test "$video" = "true")
|
||||
AM_CONDITIONAL(BUILD_THEORA, test "$have_theora" = "yes")
|
||||
AM_CONDITIONAL(BUILD_WIN32, test "$mingw_found" = "yes")
|
||||
AM_CONDITIONAL(BUILD_WIN32_WCE, test "$mingw32ce_found" = "yes")
|
||||
|
||||
dnl *********************************************
|
||||
dnl setup oRTP dependency
|
||||
|
|
|
|||
|
|
@ -28,6 +28,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#include "mediastreamer2/msvideo.h"
|
||||
#include "ortp/ortp.h"
|
||||
#include "ortp/event.h"
|
||||
#include <time.h>
|
||||
|
||||
#if defined(_WIN32_WCE)
|
||||
time_t ms_time (time_t *t);
|
||||
#else
|
||||
#define ms_time time
|
||||
#endif
|
||||
|
||||
typedef enum EchoLimiterType{
|
||||
ELInactive,
|
||||
|
|
@ -99,7 +106,7 @@ void audio_stream_set_rtcp_information(AudioStream *st, const char *cname, const
|
|||
void audio_stream_play_received_dtmfs(AudioStream *st, bool_t yesno);
|
||||
|
||||
/* those two function do the same as audio_stream_start() but in two steps
|
||||
this is useful to make sure that sockets are open before sending an invite;
|
||||
this is useful to make sure that sockets are open before sending an invite;
|
||||
or to start to stream only after receiving an ack.*/
|
||||
AudioStream *audio_stream_new(int locport, bool_t ipv6);
|
||||
int audio_stream_start_now(AudioStream * stream, RtpProfile * prof, const char *remip, int remport, int rem_rtcp_port, int payload_type, int jitt_comp,MSSndCard *playcard, MSSndCard *captcard, bool_t echo_cancel);
|
||||
|
|
|
|||
|
|
@ -162,7 +162,9 @@ libmediastreamer_la_LIBADD+= -lole32 \
|
|||
endif
|
||||
|
||||
endif
|
||||
|
||||
if BUILD_WIN32_WCE
|
||||
libmediastreamer_la_LIBADD+= -lmmtimer
|
||||
endif
|
||||
|
||||
AM_CFLAGS= -I$(top_srcdir) \
|
||||
$(ORTP_CFLAGS) \
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ bool_t ms_is_ipv6(const char *remote){
|
|||
bool_t ret=FALSE;
|
||||
#ifdef INET6
|
||||
struct addrinfo hints, *res0;
|
||||
|
||||
|
||||
int err;
|
||||
memset(&hints, 0, sizeof(hints));
|
||||
hints.ai_family = PF_UNSPEC;
|
||||
|
|
@ -105,7 +105,7 @@ bool_t ms_is_ipv6(const char *remote){
|
|||
ms_warning ("get_local_addr_for: %s", gai_strerror(err));
|
||||
return FALSE;
|
||||
}
|
||||
ret=(res0->ai_addr->sa_family==AF_INET6);
|
||||
ret=(res0->ai_addr->sa_family==AF_INET6);
|
||||
freeaddrinfo(res0);
|
||||
#endif
|
||||
return ret;
|
||||
|
|
@ -127,7 +127,7 @@ RtpSession * create_duplex_rtpsession( int locport, bool_t ipv6){
|
|||
|
||||
#if defined(_WIN32_WCE)
|
||||
time_t
|
||||
time (time_t *t)
|
||||
ms_time (time_t *t)
|
||||
{
|
||||
DWORD timemillis = GetTickCount();
|
||||
if (timemillis>0)
|
||||
|
|
@ -145,9 +145,9 @@ bool_t audio_stream_alive(AudioStream * stream, int timeout){
|
|||
if (stats->recv!=0){
|
||||
if (stats->recv!=stream->last_packet_count){
|
||||
stream->last_packet_count=stats->recv;
|
||||
stream->last_packet_time=time(NULL);
|
||||
stream->last_packet_time=ms_time(NULL);
|
||||
}else{
|
||||
if (time(NULL)-stream->last_packet_time>timeout){
|
||||
if (ms_time(NULL)-stream->last_packet_time>timeout){
|
||||
/* more than timeout seconds of inactivity*/
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -179,7 +179,7 @@ void audio_stream_change_decoder(AudioStream *stream, int payload){
|
|||
ms_filter_link (stream->rtprecv, 0, stream->decoder, 0);
|
||||
ms_filter_link (stream->decoder,0 , stream->dtmfgen, 0);
|
||||
ms_filter_preprocess(stream->decoder,stream->ticker);
|
||||
|
||||
|
||||
}else{
|
||||
ms_warning("No decoder found for %s",pt->mime_type);
|
||||
}
|
||||
|
|
@ -208,17 +208,17 @@ int audio_stream_start_full(AudioStream *stream, RtpProfile *profile, const char
|
|||
if (remport>0) rtp_session_set_remote_addr_full(rtps,remip,remport,rem_rtcp_port);
|
||||
rtp_session_set_payload_type(rtps,payload);
|
||||
rtp_session_set_jitter_compensation(rtps,jitt_comp);
|
||||
|
||||
|
||||
if (remport>0)
|
||||
ms_filter_call_method(stream->rtpsend,MS_RTP_SEND_SET_SESSION,rtps);
|
||||
stream->rtprecv=ms_filter_new(MS_RTP_RECV_ID);
|
||||
ms_filter_call_method(stream->rtprecv,MS_RTP_RECV_SET_SESSION,rtps);
|
||||
stream->session=rtps;
|
||||
|
||||
|
||||
stream->dtmfgen=ms_filter_new(MS_DTMF_GEN_ID);
|
||||
rtp_session_signal_connect(rtps,"telephone-event",(RtpCallback)on_dtmf_received,(unsigned long)stream);
|
||||
rtp_session_signal_connect(rtps,"payload_type_changed",(RtpCallback)payload_type_changed,(unsigned long)stream);
|
||||
|
||||
|
||||
/* creates the local part */
|
||||
if (captcard!=NULL) stream->soundread=ms_snd_card_create_reader(captcard);
|
||||
else {
|
||||
|
|
@ -231,7 +231,7 @@ int audio_stream_start_full(AudioStream *stream, RtpProfile *profile, const char
|
|||
stream->soundwrite=ms_filter_new(MS_FILE_REC_ID);
|
||||
if (outfile!=NULL) audio_stream_record(stream,outfile);
|
||||
}
|
||||
|
||||
|
||||
/* creates the couple of encoder/decoder */
|
||||
pt=rtp_profile_get_payload(profile,payload);
|
||||
if (pt==NULL){
|
||||
|
|
@ -245,7 +245,7 @@ int audio_stream_start_full(AudioStream *stream, RtpProfile *profile, const char
|
|||
ms_error("mediastream.c: No decoder available for payload %i.",payload);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
if (use_ec) {
|
||||
stream->ec=ms_filter_new(MS_SPEEX_EC_ID);
|
||||
ms_filter_call_method(stream->ec,MS_FILTER_SET_SAMPLE_RATE,&pt->clock_rate);
|
||||
|
|
@ -283,7 +283,7 @@ int audio_stream_start_full(AudioStream *stream, RtpProfile *profile, const char
|
|||
ms_filter_call_method(stream->soundwrite,MS_FILTER_SET_SAMPLE_RATE,&pt->clock_rate);
|
||||
tmp=1;
|
||||
ms_filter_call_method(stream->soundwrite,MS_FILTER_SET_NCHANNELS, &tmp);
|
||||
|
||||
|
||||
/* give the encoder/decoder some parameters*/
|
||||
ms_filter_call_method(stream->encoder,MS_FILTER_SET_SAMPLE_RATE,&pt->clock_rate);
|
||||
ms_message("Payload's bitrate is %i",pt->normal_bitrate);
|
||||
|
|
@ -292,10 +292,10 @@ int audio_stream_start_full(AudioStream *stream, RtpProfile *profile, const char
|
|||
ms_filter_call_method(stream->encoder,MS_FILTER_SET_BITRATE,&pt->normal_bitrate);
|
||||
}
|
||||
ms_filter_call_method(stream->decoder,MS_FILTER_SET_SAMPLE_RATE,&pt->clock_rate);
|
||||
|
||||
|
||||
if (pt->send_fmtp!=NULL) ms_filter_call_method(stream->encoder,MS_FILTER_ADD_FMTP, (void*)pt->send_fmtp);
|
||||
if (pt->recv_fmtp!=NULL) ms_filter_call_method(stream->decoder,MS_FILTER_ADD_FMTP,(void*)pt->recv_fmtp);
|
||||
|
||||
|
||||
/*create the equalizer*/
|
||||
stream->equalizer=ms_filter_new(MS_EQUALIZER_ID);
|
||||
tmp=stream->eq_active;
|
||||
|
|
@ -303,7 +303,7 @@ int audio_stream_start_full(AudioStream *stream, RtpProfile *profile, const char
|
|||
|
||||
/* and then connect all */
|
||||
/* tip: draw yourself the picture if you don't understand */
|
||||
|
||||
|
||||
/*sending graph*/
|
||||
ms_connection_helper_start(&h);
|
||||
ms_connection_helper_link(&h,stream->soundread,-1,0);
|
||||
|
|
@ -328,13 +328,13 @@ int audio_stream_start_full(AudioStream *stream, RtpProfile *profile, const char
|
|||
if (stream->ec)
|
||||
ms_connection_helper_link(&h,stream->ec,0,0);
|
||||
ms_connection_helper_link(&h,stream->soundwrite,0,-1);
|
||||
|
||||
|
||||
/* create ticker */
|
||||
stream->ticker=ms_ticker_new();
|
||||
ms_ticker_set_name(stream->ticker,"Audio MSTicker");
|
||||
ms_ticker_attach(stream->ticker,stream->soundread);
|
||||
ms_ticker_attach(stream->ticker,stream->rtprecv);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -490,9 +490,9 @@ void audio_stream_stop(AudioStream * stream)
|
|||
MSConnectionHelper h;
|
||||
ms_ticker_detach(stream->ticker,stream->soundread);
|
||||
ms_ticker_detach(stream->ticker,stream->rtprecv);
|
||||
|
||||
|
||||
rtp_stats_display(rtp_session_get_stats(stream->session),"Audio session's RTP statistics");
|
||||
|
||||
|
||||
/*dismantle the outgoing graph*/
|
||||
ms_connection_helper_start(&h);
|
||||
ms_connection_helper_unlink(&h,stream->soundread,-1,0);
|
||||
|
|
|
|||
|
|
@ -105,11 +105,8 @@ static void volume_uninit(MSFilter *f){
|
|||
static int volume_get(MSFilter *f, void *arg){
|
||||
float *farg=(float*)arg;
|
||||
Volume *v=(Volume*)f->data;
|
||||
#ifndef _WIN32_WCE
|
||||
*farg=10*log10f((v->energy+1)/max_e);
|
||||
#else
|
||||
*farg=(float)(10*log10((v->energy+1)/max_e));
|
||||
#endif
|
||||
*farg=10*ortp_log10f((v->energy+1)/max_e);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -144,10 +141,10 @@ static inline float compute_gain(float static_gain, float energy, float weight){
|
|||
}
|
||||
|
||||
/*
|
||||
The principle of this algorithm is that we apply a gain to the input signal which is opposite to the
|
||||
The principle of this algorithm is that we apply a gain to the input signal which is opposite to the
|
||||
energy measured by the peer MSVolume.
|
||||
For example if some noise is played by the speaker, then the signal captured by the microphone will be lowered.
|
||||
The gain changes smoothly when the peer energy is decreasing, but is immediately changed when the peer energy is
|
||||
The gain changes smoothly when the peer energy is decreasing, but is immediately changed when the peer energy is
|
||||
increasing.
|
||||
*/
|
||||
|
||||
|
|
@ -352,7 +349,7 @@ static void volume_process(MSFilter *f){
|
|||
om->b_wptr+=nbytes;
|
||||
en=update_energy((int16_t*)om->b_rptr,v->nsamples,en);
|
||||
volume_agc_process(v,om);
|
||||
|
||||
|
||||
if (v->peer){
|
||||
volume_echo_avoider_process(v,f->ticker->time);
|
||||
}else v->target_gain=v->static_gain;
|
||||
|
|
@ -367,7 +364,7 @@ static void volume_process(MSFilter *f){
|
|||
while((m=ms_queue_get(f->inputs[0]))!=NULL){
|
||||
en=update_energy((int16_t*)m->b_rptr,(m->b_wptr-m->b_rptr)/2,en);
|
||||
if (v->peer){
|
||||
volume_echo_avoider_process(v,f->ticker->time);
|
||||
volume_echo_avoider_process(v,f->ticker->time);
|
||||
}else v->target_gain=v->static_gain;
|
||||
|
||||
if (v->noise_gate_enabled)
|
||||
|
|
|
|||
|
|
@ -348,6 +348,7 @@ static void add_rfc2190_header(mblk_t **packet, AVCodecContext *context){
|
|||
*packet = header;
|
||||
}
|
||||
|
||||
#if 0
|
||||
static int get_gbsc(uint8_t *psc, uint8_t *end)
|
||||
{
|
||||
int len = end-psc;
|
||||
|
|
@ -370,13 +371,33 @@ static int get_gbsc(uint8_t *psc, uint8_t *end)
|
|||
}
|
||||
return k;
|
||||
}
|
||||
#else
|
||||
static int get_gbsc_bytealigned(uint8_t *begin, uint8_t *end){
|
||||
int i;
|
||||
int len = end - begin;
|
||||
for (i = len - 2; /*len + length of scan window*/
|
||||
i > 2 + 2; /*length of scan window + 2 avoidance of 1st gob or psc*/
|
||||
i--){
|
||||
if(*(begin + i) == 0 &&
|
||||
*(begin + i+1) == 0 &&
|
||||
(*(begin + i+2) & 0x80) == 0x80){
|
||||
/*ms_message("JV psc/gob found! %2x %2x %2x", *(begin + i), *(begin + i+1), *(begin + i + 2));*/
|
||||
return i;
|
||||
}
|
||||
}
|
||||
/*ms_message("JV no psc or gob found!");*/
|
||||
return len;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void rfc2190_generate_packets(MSFilter *f, EncState *s, mblk_t *frame, uint32_t timestamp){
|
||||
mblk_t *packet=NULL;
|
||||
|
||||
while (frame->b_rptr<frame->b_wptr){
|
||||
packet=dupb(frame);
|
||||
frame->b_rptr=packet->b_wptr=packet->b_rptr+get_gbsc(packet->b_rptr, MIN(packet->b_rptr+s->mtu,frame->b_wptr));
|
||||
/*frame->b_rptr=packet->b_wptr=packet->b_rptr+get_gbsc(packet->b_rptr, MIN(packet->b_rptr+s->mtu,frame->b_wptr));*/
|
||||
frame->b_rptr = packet->b_wptr =
|
||||
packet->b_rptr + get_gbsc_bytealigned(packet->b_rptr, MIN(packet->b_rptr+s->mtu,frame->b_wptr));
|
||||
add_rfc2190_header(&packet, &s->av_context);
|
||||
mblk_set_timestamp_info(packet,timestamp);
|
||||
ms_queue_put(f->outputs[0],packet);
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
if BUILD_TESTS
|
||||
|
||||
noinst_PROGRAMS=echo ring mtudiscover bench
|
||||
|
||||
if BUILD_VIDEO
|
||||
|
|
@ -31,3 +33,5 @@ INCLUDES=-I$(top_srcdir)/include/
|
|||
|
||||
AM_CFLAGS=-I$(top_srcdir) $(ORTP_CFLAGS) $(STRICT_OPTIONS) $(VIDEO_CFLAGS)
|
||||
AM_LDFLAGS=-rdynamic
|
||||
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
SUBDIRS= win32native wince
|
||||
SUBDIRS= win32native wince winmob
|
||||
|
|
|
|||
2
linphone/oRTP/build/win32/.gitignore
vendored
2
linphone/oRTP/build/win32/.gitignore
vendored
|
|
@ -1,2 +0,0 @@
|
|||
Makefile.in
|
||||
Makefile
|
||||
46
linphone/oRTP/build/wince/oRTP.sln
Normal file
46
linphone/oRTP/build/wince/oRTP.sln
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "oRTP", "oRTP.vcproj", "{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
Debug|Windows Mobile 6 Professional SDK (ARMV4I) = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
Debug|Windows Mobile 6 Standard SDK (ARMV4I) = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
Release|Windows Mobile 6 Professional SDK (ARMV4I) = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
Release|Windows Mobile 6 Standard SDK (ARMV4I) = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,97 +1,102 @@
|
|||
LIBRARY ortp
|
||||
|
||||
EXPORTS
|
||||
|
||||
ortp_init
|
||||
ortp_scheduler_init
|
||||
ortp_exit
|
||||
|
||||
ortp_get_scheduler
|
||||
ortp_set_log_file
|
||||
ortp_set_log_level_mask
|
||||
ortp_logv_out
|
||||
ortp_set_log_handler
|
||||
ortp_strdup_printf
|
||||
ortp_logv
|
||||
|
||||
ortp_get_global_stats
|
||||
ortp_global_stats_display
|
||||
|
||||
session_set_new
|
||||
session_set_select
|
||||
session_set_destroy
|
||||
|
||||
rtp_stats_display
|
||||
rtp_session_get_stats
|
||||
|
||||
rtp_session_init
|
||||
rtp_session_new
|
||||
|
||||
rtp_session_set_scheduling_mode
|
||||
rtp_session_set_blocking_mode
|
||||
rtp_session_set_profile
|
||||
rtp_session_get_profile
|
||||
rtp_session_set_data
|
||||
|
||||
rtp_session_signal_connect
|
||||
rtp_session_signal_disconnect_by_callback
|
||||
rtp_session_set_ssrc
|
||||
rtp_session_set_seq_number
|
||||
rtp_session_get_seq_number
|
||||
rtp_session_set_jitter_compensation
|
||||
rtp_session_set_local_addr
|
||||
rtp_session_set_remote_addr
|
||||
rtp_session_enable_adaptive_jitter_compensation
|
||||
rtp_session_set_recv_buf_size
|
||||
|
||||
rtp_session_send_with_ts
|
||||
rtp_session_sendm_with_ts
|
||||
|
||||
rtp_session_set_sockets
|
||||
rtp_session_get_rtp_socket
|
||||
rtp_session_get_rtcp_socket
|
||||
|
||||
rtp_session_set_payload_type
|
||||
rtp_session_set_send_payload_type
|
||||
rtp_session_get_send_payload_type
|
||||
rtp_session_set_recv_payload_type
|
||||
rtp_session_get_recv_payload_type
|
||||
|
||||
rtp_session_recv_with_ts
|
||||
rtp_session_recvm_with_ts
|
||||
rtp_session_create_packet
|
||||
|
||||
rtp_session_get_current_send_ts
|
||||
rtp_session_get_current_recv_ts
|
||||
rtp_session_reset
|
||||
rtp_session_uninit
|
||||
rtp_session_destroy
|
||||
|
||||
rtp_add_csrc
|
||||
|
||||
rtp_session_send_dtmf
|
||||
|
||||
rtp_session_set_source_description
|
||||
rtp_session_set_symmetric_rtp
|
||||
|
||||
rtp_profile_new
|
||||
rtp_profile_set_payload
|
||||
rtp_profile_clone_full
|
||||
rtp_profile_destroy
|
||||
rtp_profile_get_payload_from_rtpmap
|
||||
|
||||
payload_type_set_send_fmtp
|
||||
payload_type_clone
|
||||
fmtp_get_value
|
||||
|
||||
LIBRARY ortp
|
||||
|
||||
EXPORTS
|
||||
|
||||
ortp_init
|
||||
ortp_scheduler_init
|
||||
ortp_exit
|
||||
|
||||
ortp_get_scheduler
|
||||
ortp_set_log_file
|
||||
ortp_set_log_level_mask
|
||||
ortp_logv_out
|
||||
ortp_set_log_handler
|
||||
ortp_strdup_printf
|
||||
ortp_logv
|
||||
|
||||
ortp_get_global_stats
|
||||
ortp_global_stats_display
|
||||
|
||||
session_set_new
|
||||
session_set_select
|
||||
session_set_destroy
|
||||
|
||||
rtp_stats_display
|
||||
rtp_session_get_stats
|
||||
|
||||
rtp_session_init
|
||||
rtp_session_new
|
||||
|
||||
rtp_session_set_scheduling_mode
|
||||
rtp_session_set_blocking_mode
|
||||
rtp_session_set_profile
|
||||
rtp_session_get_profile
|
||||
rtp_session_set_data
|
||||
|
||||
rtp_session_signal_connect
|
||||
rtp_session_signal_disconnect_by_callback
|
||||
rtp_session_set_ssrc
|
||||
rtp_session_set_seq_number
|
||||
rtp_session_get_seq_number
|
||||
rtp_session_set_jitter_compensation
|
||||
rtp_session_set_local_addr
|
||||
rtp_session_set_remote_addr
|
||||
rtp_session_enable_adaptive_jitter_compensation
|
||||
rtp_session_set_recv_buf_size
|
||||
|
||||
rtp_session_send_with_ts
|
||||
rtp_session_sendm_with_ts
|
||||
|
||||
rtp_session_set_sockets
|
||||
rtp_session_get_rtp_socket
|
||||
rtp_session_get_rtcp_socket
|
||||
|
||||
rtp_session_set_payload_type
|
||||
rtp_session_set_send_payload_type
|
||||
rtp_session_get_send_payload_type
|
||||
rtp_session_set_recv_payload_type
|
||||
rtp_session_get_recv_payload_type
|
||||
|
||||
rtp_session_recv_with_ts
|
||||
rtp_session_recvm_with_ts
|
||||
rtp_session_create_packet
|
||||
|
||||
rtp_session_get_current_send_ts
|
||||
rtp_session_get_current_recv_ts
|
||||
rtp_session_reset
|
||||
rtp_session_uninit
|
||||
rtp_session_destroy
|
||||
|
||||
rtp_add_csrc
|
||||
|
||||
rtp_session_send_dtmf
|
||||
|
||||
rtp_session_set_source_description
|
||||
rtp_session_set_symmetric_rtp
|
||||
|
||||
rtp_profile_new
|
||||
rtp_profile_set_payload
|
||||
rtp_profile_clone_full
|
||||
rtp_profile_destroy
|
||||
rtp_profile_get_payload_from_rtpmap
|
||||
rtp_profile_get_payload_number_from_rtpmap
|
||||
rtp_profile_get_payload_number_from_mime
|
||||
|
||||
payload_type_new
|
||||
payload_type_set_send_fmtp
|
||||
payload_type_append_send_fmtp
|
||||
payload_type_clone
|
||||
payload_type_destroy
|
||||
fmtp_get_value
|
||||
|
||||
ortp_free
|
||||
ortp_malloc
|
||||
ortp_strdup
|
||||
ortp_realloc
|
||||
ortp_malloc0
|
||||
|
||||
freemsg
|
||||
dupmsg
|
||||
|
||||
dupmsg
|
||||
allocb
|
||||
getq
|
||||
putq
|
||||
|
|
@ -105,19 +110,21 @@ EXPORTS
|
|||
concatb
|
||||
esballoc
|
||||
|
||||
WIN_thread_create
|
||||
WIN_thread_join
|
||||
WIN_cond_init
|
||||
WIN_mutex_init
|
||||
WIN_mutex_unlock
|
||||
WIN_cond_wait
|
||||
WIN_mutex_lock
|
||||
WIN_cond_destroy
|
||||
WIN_mutex_destroy
|
||||
WIN_cond_signal
|
||||
|
||||
__ortp_log_mask
|
||||
|
||||
WIN_thread_create
|
||||
WIN_thread_join
|
||||
WIN_cond_init
|
||||
WIN_mutex_init
|
||||
WIN_mutex_unlock
|
||||
WIN_cond_wait
|
||||
WIN_mutex_lock
|
||||
WIN_cond_destroy
|
||||
WIN_mutex_destroy
|
||||
WIN_cond_signal
|
||||
|
||||
__ortp_log_mask
|
||||
ortp_strdup_printf
|
||||
ortp_strdup_vprintf
|
||||
|
||||
rtp_session_register_event_queue
|
||||
rtp_session_unregister_event_queue
|
||||
ortp_ev_queue_new
|
||||
|
|
@ -142,13 +149,19 @@ EXPORTS
|
|||
stunCalculateIntegrity_shortterm
|
||||
stunCalculateIntegrity_longterm
|
||||
stunCalculateFingerprint
|
||||
|
||||
getWinSocketError
|
||||
|
||||
|
||||
rtp_session_set_dscp
|
||||
rtp_session_compute_recv_bandwidth
|
||||
rtp_session_compute_send_bandwidth
|
||||
|
||||
getWinSocketError
|
||||
close_socket
|
||||
set_non_blocking_socket
|
||||
ortp_strerror
|
||||
gettimeofday
|
||||
ortp_file_exist
|
||||
|
||||
|
||||
|
||||
rtp_session_set_dscp
|
||||
rtp_session_compute_recv_bandwidth
|
||||
rtp_session_compute_send_bandwidth
|
||||
rtcp_next_packet
|
||||
rtcp_is_SDES
|
||||
rtcp_sdes_parse
|
||||
|
|
@ -162,16 +175,16 @@ EXPORTS
|
|||
rtcp_is_BYE
|
||||
rtcp_BYE_get_ssrc
|
||||
rtcp_BYE_get_reason
|
||||
rtcp_is_APP
|
||||
rtcp_APP_get_subtype
|
||||
rtcp_APP_get_ssrc
|
||||
rtcp_APP_get_name
|
||||
rtcp_is_APP
|
||||
rtcp_APP_get_subtype
|
||||
rtcp_APP_get_ssrc
|
||||
rtcp_APP_get_name
|
||||
rtcp_APP_get_data
|
||||
rtp_session_flush_sockets
|
||||
rtp_session_resync
|
||||
rtp_session_set_remote_addr_and_port
|
||||
rtp_session_set_time_jump_limit
|
||||
|
||||
|
||||
copymsg
|
||||
rtp_session_enable_jitter_buffer
|
||||
|
||||
|
|
|
|||
2
linphone/oRTP/build/winmob/Makefile.am
Normal file
2
linphone/oRTP/build/winmob/Makefile.am
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
EXTRA_DIST=oRTP.vcproj ortp.def
|
||||
|
||||
46
linphone/oRTP/build/winmob/oRTP.sln
Normal file
46
linphone/oRTP/build/winmob/oRTP.sln
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "oRTP", "oRTP.vcproj", "{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
Debug|Windows Mobile 6 Professional SDK (ARMV4I) = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
Debug|Windows Mobile 6 Standard SDK (ARMV4I) = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
Release|Windows Mobile 6 Professional SDK (ARMV4I) = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
Release|Windows Mobile 6 Standard SDK (ARMV4I) = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I)
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
915
linphone/oRTP/build/winmob/oRTP.vcproj
Normal file
915
linphone/oRTP/build/winmob/oRTP.vcproj
Normal file
|
|
@ -0,0 +1,915 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Name="oRTP"
|
||||
ProjectGUID="{9FEA0683-C391-4C74-BCF6-2F9E4DE1B541}"
|
||||
RootNamespace="oRTP"
|
||||
Keyword="MFCDLLProj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
|
||||
/>
|
||||
<Platform
|
||||
Name="Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
|
||||
/>
|
||||
<Platform
|
||||
Name="Windows Mobile 6 Standard SDK (ARMV4I)"
|
||||
/>
|
||||
<Platform
|
||||
Name="Windows Mobile 6 Professional SDK (ARMV4I)"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
|
||||
OutputDirectory="$(PlatformName)\Debug"
|
||||
IntermediateDirectory="$(PlatformName)\Debug"
|
||||
ConfigurationType="2"
|
||||
UseOfMFC="0"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ExecutionBucket="7"
|
||||
Optimization="2"
|
||||
FavorSizeOrSpeed="1"
|
||||
AdditionalIncludeDirectories="..\..\include;..\..\..\osip\include"
|
||||
PreprocessorDefinitions="ORTP_INET6;ORTP_EXPORT;AMD_HACK;_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;$(PLATFORMDEFINES);_DEBUG;_USRDLL;$(ARCHFAM);$(_ARCHFAM_);POCKETPC2003_UI_MODEL;POCKETPC2003_UI_MODEL"
|
||||
RuntimeLibrary="3"
|
||||
TreatWChar_tAsBuiltInType="true"
|
||||
UsePrecompiledHeader="0"
|
||||
ProgramDataBaseFileName="$(IntDir)/oRTP.pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG;_UNICODE;UNICODE;_WIN32_WCE;UNDER_CE"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions=" /SUBSYSTEM:WINDOWSCE,5.01 /MACHINE:THUMB"
|
||||
AdditionalDependencies="ws2.lib iphlpapi.lib mmtimer.lib libcmtd.lib"
|
||||
IgnoreAllDefaultLibraries="true"
|
||||
ModuleDefinitionFile="oRTP.def"
|
||||
GenerateDebugInformation="true"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
ForceDirty="-1"
|
||||
RemoteDirectory="%CSIDL_PROGRAM_FILES%\vbamsipua"
|
||||
RegisterOutput="0"
|
||||
AdditionalFiles=""
|
||||
/>
|
||||
<DebuggerTool
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
|
||||
OutputDirectory="$(PlatformName)\Debug"
|
||||
IntermediateDirectory="$(PlatformName)\Debug"
|
||||
ConfigurationType="2"
|
||||
UseOfMFC="0"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ExecutionBucket="7"
|
||||
AdditionalIncludeDirectories="..\..\include;..\..\..\osip\include"
|
||||
PreprocessorDefinitions="ORTP_INET6;ORTP_EXPORT;AMD_HACK;_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;$(PLATFORMDEFINES);_DEBUG;_USRDLL;$(ARCHFAM);$(_ARCHFAM_);SMARTPHONE2003_UI_MODEL;SMARTPHONE2003_UI_MODEL"
|
||||
RuntimeLibrary="3"
|
||||
TreatWChar_tAsBuiltInType="true"
|
||||
UsePrecompiledHeader="0"
|
||||
ProgramDataBaseFileName="$(IntDir)/oRTP.pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG;_UNICODE;UNICODE;_WIN32_WCE;UNDER_CE"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions=" /SUBSYSTEM:WINDOWSCE,5.01 /MACHINE:THUMB"
|
||||
AdditionalDependencies="ws2.lib iphlpapi.lib mmtimer.lib libcmtd.lib"
|
||||
IgnoreAllDefaultLibraries="true"
|
||||
ModuleDefinitionFile="oRTP.def"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
ForceDirty="-1"
|
||||
RemoteDirectory="%CSIDL_PROGRAM_FILES%\vbamsipua"
|
||||
RegisterOutput="0"
|
||||
AdditionalFiles=""
|
||||
/>
|
||||
<DebuggerTool
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
|
||||
OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
|
||||
IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
UseOfMFC="0"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="false"
|
||||
TargetEnvironment="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ExecutionBucket="7"
|
||||
Optimization="2"
|
||||
FavorSizeOrSpeed="1"
|
||||
AdditionalIncludeDirectories="..\..\include;..\..\..\osip\include"
|
||||
PreprocessorDefinitions="ORTP_INET6;ORTP_EXPORT;AMD_HACK;_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;$(PLATFORMDEFINES);_DEBUG;_USRDLL;$(ARCHFAM);$(_ARCHFAM_)"
|
||||
RuntimeLibrary="3"
|
||||
TreatWChar_tAsBuiltInType="true"
|
||||
UsePrecompiledHeader="0"
|
||||
ProgramDataBaseFileName="$(IntDir)/oRTP.pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG;_UNICODE;UNICODE;_WIN32_WCE;UNDER_CE"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions=" /SUBSYSTEM:WINDOWSCE,5.01 /MACHINE:THUMB"
|
||||
AdditionalDependencies="ws2.lib iphlpapi.lib mmtimer.lib libcmtd.lib"
|
||||
IgnoreAllDefaultLibraries="true"
|
||||
ModuleDefinitionFile="oRTP.def"
|
||||
GenerateDebugInformation="true"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
TargetMachine="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
ForceDirty="-1"
|
||||
RemoteDirectory="%CSIDL_PROGRAM_FILES%\amsipua"
|
||||
RegisterOutput="0"
|
||||
AdditionalFiles=""
|
||||
/>
|
||||
<DebuggerTool
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
|
||||
OutputDirectory="$(PlatformName)\Release"
|
||||
IntermediateDirectory="$(PlatformName)\Release"
|
||||
ConfigurationType="2"
|
||||
UseOfMFC="0"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ExecutionBucket="7"
|
||||
AdditionalIncludeDirectories="..\..\include;..\..\..\osip\include"
|
||||
PreprocessorDefinitions="ORTP_INET6;ORTP_EXPORT;AMD_HACK;_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;$(PLATFORMDEFINES);NDEBUG;_USRDLL;$(ARCHFAM);$(_ARCHFAM_);POCKETPC2003_UI_MODEL;POCKETPC2003_UI_MODEL"
|
||||
RuntimeLibrary="2"
|
||||
TreatWChar_tAsBuiltInType="true"
|
||||
UsePrecompiledHeader="0"
|
||||
ProgramDataBaseFileName="$(IntDir)/oRTP.pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG;_UNICODE;UNICODE;_WIN32_WCE;UNDER_CE"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions=" /SUBSYSTEM:WINDOWSCE,5.01 /MACHINE:THUMB"
|
||||
AdditionalDependencies="ws2.lib iphlpapi.lib mmtimer.lib libcmt.lib"
|
||||
IgnoreAllDefaultLibraries="true"
|
||||
ModuleDefinitionFile="oRTP.def"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
ForceDirty="-1"
|
||||
RemoteDirectory="\amsip"
|
||||
RegisterOutput="0"
|
||||
AdditionalFiles=""
|
||||
/>
|
||||
<DebuggerTool
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
|
||||
OutputDirectory="$(PlatformName)\Release"
|
||||
IntermediateDirectory="$(PlatformName)\Release"
|
||||
ConfigurationType="2"
|
||||
UseOfMFC="0"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ExecutionBucket="7"
|
||||
AdditionalIncludeDirectories="..\..\include;..\..\..\osip\include"
|
||||
PreprocessorDefinitions="ORTP_INET6;ORTP_EXPORT;AMD_HACK;_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;$(PLATFORMDEFINES);NDEBUG;_USRDLL;$(ARCHFAM);$(_ARCHFAM_);SMARTPHONE2003_UI_MODEL;SMARTPHONE2003_UI_MODEL"
|
||||
RuntimeLibrary="2"
|
||||
TreatWChar_tAsBuiltInType="true"
|
||||
UsePrecompiledHeader="0"
|
||||
ProgramDataBaseFileName="$(IntDir)/oRTP.pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG;_UNICODE;UNICODE;_WIN32_WCE;UNDER_CE"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions=" /SUBSYSTEM:WINDOWSCE,5.01 /MACHINE:THUMB"
|
||||
AdditionalDependencies="ws2.lib iphlpapi.lib mmtimer.lib libcmt.lib"
|
||||
IgnoreAllDefaultLibraries="true"
|
||||
ModuleDefinitionFile="oRTP.def"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
ForceDirty="-1"
|
||||
RemoteDirectory="%CSIDL_PROGRAM_FILES%\vbamsipua"
|
||||
RegisterOutput="0"
|
||||
AdditionalFiles=""
|
||||
/>
|
||||
<DebuggerTool
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
|
||||
OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
|
||||
IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
UseOfMFC="0"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="false"
|
||||
TargetEnvironment="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ExecutionBucket="7"
|
||||
AdditionalIncludeDirectories="..\..\include;..\..\..\osip\include"
|
||||
PreprocessorDefinitions="ORTP_INET6;ORTP_EXPORT;AMD_HACK;_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;$(PLATFORMDEFINES);NDEBUG;_USRDLL;$(ARCHFAM);$(_ARCHFAM_)"
|
||||
RuntimeLibrary="2"
|
||||
TreatWChar_tAsBuiltInType="true"
|
||||
UsePrecompiledHeader="0"
|
||||
ProgramDataBaseFileName="$(IntDir)/oRTP.pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG;_UNICODE;UNICODE;_WIN32_WCE;UNDER_CE"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions=" /SUBSYSTEM:WINDOWSCE,5.01 /MACHINE:THUMB"
|
||||
AdditionalDependencies="ws2.lib iphlpapi.lib mmtimer.lib libcmt.lib"
|
||||
IgnoreAllDefaultLibraries="true"
|
||||
ModuleDefinitionFile="oRTP.def"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
TargetMachine="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
ForceDirty="-1"
|
||||
RemoteDirectory="%CSIDL_PROGRAM_FILES%\amsipua"
|
||||
RegisterOutput="0"
|
||||
AdditionalFiles=""
|
||||
/>
|
||||
<DebuggerTool
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
|
||||
OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
|
||||
IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
UseOfMFC="0"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="false"
|
||||
TargetEnvironment="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
FavorSizeOrSpeed="1"
|
||||
AdditionalIncludeDirectories="..\..\include;..\..\..\osip\include"
|
||||
PreprocessorDefinitions="ORTP_INET6;ORTP_EXPORT;AMD_HACK;_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;$(PLATFORMDEFINES);_DEBUG;_USRDLL;$(ARCHFAM);$(_ARCHFAM_);POCKETPC2003_UI_MODEL"
|
||||
RuntimeLibrary="3"
|
||||
TreatWChar_tAsBuiltInType="true"
|
||||
UsePrecompiledHeader="0"
|
||||
ProgramDataBaseFileName="$(IntDir)/oRTP.pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG;_UNICODE;UNICODE;_WIN32_WCE;UNDER_CE"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions=" /SUBSYSTEM:WINDOWSCE,5.01 /MACHINE:THUMB"
|
||||
AdditionalDependencies="ws2.lib iphlpapi.lib mmtimer.lib libcmtd.lib"
|
||||
IgnoreAllDefaultLibraries="true"
|
||||
ModuleDefinitionFile="oRTP.def"
|
||||
GenerateDebugInformation="true"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
TargetMachine="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
ForceDirty="-1"
|
||||
RemoteDirectory=""
|
||||
RegisterOutput="0"
|
||||
AdditionalFiles=""
|
||||
/>
|
||||
<DebuggerTool
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
|
||||
OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
|
||||
IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
UseOfMFC="0"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="false"
|
||||
TargetEnvironment="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ExecutionBucket="7"
|
||||
AdditionalIncludeDirectories="..\..\include;..\..\..\osip\include"
|
||||
PreprocessorDefinitions="ORTP_INET6;ORTP_EXPORT;AMD_HACK;_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;$(PLATFORMDEFINES);NDEBUG;_USRDLL;$(ARCHFAM);$(_ARCHFAM_);POCKETPC2003_UI_MODEL;POCKETPC2003_UI_MODEL"
|
||||
RuntimeLibrary="2"
|
||||
TreatWChar_tAsBuiltInType="true"
|
||||
UsePrecompiledHeader="0"
|
||||
ProgramDataBaseFileName="$(IntDir)/oRTP.pdb"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG;_UNICODE;UNICODE;_WIN32_WCE;UNDER_CE"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions=" /SUBSYSTEM:WINDOWSCE,5.01 /MACHINE:THUMB"
|
||||
AdditionalDependencies="ws2.lib iphlpapi.lib mmtimer.lib libcmt.lib"
|
||||
IgnoreAllDefaultLibraries="true"
|
||||
ModuleDefinitionFile="oRTP.def"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
TargetMachine="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
ForceDirty="-1"
|
||||
RemoteDirectory=""
|
||||
RegisterOutput="0"
|
||||
AdditionalFiles=""
|
||||
/>
|
||||
<DebuggerTool
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\src\avprofile.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\b64.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\event.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\jitterctl.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\ortp.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\payloadtype.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\port.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\posixtimer.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\rtcp.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\rtcpparse.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\rtpparse.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\rtpsession.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\rtpsession_inet.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\rtpsignaltable.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\rtptimer.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\scheduler.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\sessionset.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\str_utils.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\stun.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\stun_udp.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\telephonyevents.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\utils.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\include\ortp\b64.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\ortp\event.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\jitterctl.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\ortp-config-win32.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\ortp\ortp.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\ortp\payloadtype.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\ortp\port.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\ortp\rtcp.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\ortp\rtp.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\ortp\rtpsession.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\rtpsession_priv.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\ortp\rtpsignaltable.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\rtptimer.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\scheduler.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\ortp\sessionset.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\ortp\str_utils.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\ortp\stun.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\ortp\stun_udp.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\ortp\telephonyevents.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\utils.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\ortp.def"
|
||||
>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
207
linphone/oRTP/build/winmob/ortp.def
Normal file
207
linphone/oRTP/build/winmob/ortp.def
Normal file
|
|
@ -0,0 +1,207 @@
|
|||
LIBRARY ortp
|
||||
|
||||
EXPORTS
|
||||
|
||||
ortp_init
|
||||
ortp_scheduler_init
|
||||
ortp_exit
|
||||
|
||||
ortp_get_scheduler
|
||||
ortp_set_log_file
|
||||
ortp_set_log_level_mask
|
||||
ortp_logv_out
|
||||
ortp_set_log_handler
|
||||
ortp_strdup_printf
|
||||
ortp_logv
|
||||
|
||||
ortp_get_global_stats
|
||||
ortp_global_stats_display
|
||||
|
||||
session_set_new
|
||||
session_set_select
|
||||
session_set_destroy
|
||||
|
||||
rtp_stats_display
|
||||
rtp_session_get_stats
|
||||
|
||||
rtp_session_init
|
||||
rtp_session_new
|
||||
|
||||
rtp_session_set_scheduling_mode
|
||||
rtp_session_set_blocking_mode
|
||||
rtp_session_set_profile
|
||||
rtp_session_get_profile
|
||||
rtp_session_set_data
|
||||
|
||||
rtp_session_signal_connect
|
||||
rtp_session_signal_disconnect_by_callback
|
||||
rtp_session_set_ssrc
|
||||
rtp_session_set_seq_number
|
||||
rtp_session_get_seq_number
|
||||
rtp_session_set_jitter_compensation
|
||||
rtp_session_set_local_addr
|
||||
rtp_session_set_remote_addr
|
||||
rtp_session_enable_adaptive_jitter_compensation
|
||||
rtp_session_set_recv_buf_size
|
||||
|
||||
rtp_session_send_with_ts
|
||||
rtp_session_sendm_with_ts
|
||||
|
||||
rtp_session_set_sockets
|
||||
rtp_session_get_rtp_socket
|
||||
rtp_session_get_rtcp_socket
|
||||
|
||||
rtp_session_set_payload_type
|
||||
rtp_session_set_send_payload_type
|
||||
rtp_session_get_send_payload_type
|
||||
rtp_session_set_recv_payload_type
|
||||
rtp_session_get_recv_payload_type
|
||||
|
||||
rtp_session_recv_with_ts
|
||||
rtp_session_recvm_with_ts
|
||||
rtp_session_create_packet
|
||||
|
||||
rtp_session_get_current_send_ts
|
||||
rtp_session_get_current_recv_ts
|
||||
rtp_session_reset
|
||||
rtp_session_uninit
|
||||
rtp_session_destroy
|
||||
|
||||
rtp_add_csrc
|
||||
|
||||
rtp_session_send_dtmf
|
||||
|
||||
rtp_session_set_source_description
|
||||
rtp_session_set_symmetric_rtp
|
||||
|
||||
rtp_profile_new
|
||||
rtp_profile_set_payload
|
||||
rtp_profile_clone_full
|
||||
rtp_profile_destroy
|
||||
rtp_profile_get_payload_from_rtpmap
|
||||
rtp_profile_get_payload_number_from_rtpmap
|
||||
rtp_profile_get_payload_number_from_mime
|
||||
|
||||
payload_type_new
|
||||
payload_type_set_send_fmtp
|
||||
payload_type_append_send_fmtp
|
||||
payload_type_clone
|
||||
payload_type_destroy
|
||||
fmtp_get_value
|
||||
|
||||
ortp_free
|
||||
ortp_malloc
|
||||
ortp_strdup
|
||||
ortp_realloc
|
||||
ortp_malloc0
|
||||
|
||||
freemsg
|
||||
dupmsg
|
||||
allocb
|
||||
getq
|
||||
putq
|
||||
msgpullup
|
||||
qinit
|
||||
flushq
|
||||
msgdsize
|
||||
peekq
|
||||
freeb
|
||||
dupb
|
||||
concatb
|
||||
esballoc
|
||||
|
||||
WIN_thread_create
|
||||
WIN_thread_join
|
||||
WIN_cond_init
|
||||
WIN_mutex_init
|
||||
WIN_mutex_unlock
|
||||
WIN_cond_wait
|
||||
WIN_mutex_lock
|
||||
WIN_cond_destroy
|
||||
WIN_mutex_destroy
|
||||
WIN_cond_signal
|
||||
|
||||
__ortp_log_mask
|
||||
ortp_strdup_printf
|
||||
ortp_strdup_vprintf
|
||||
|
||||
rtp_session_register_event_queue
|
||||
rtp_session_unregister_event_queue
|
||||
ortp_ev_queue_new
|
||||
ortp_ev_queue_flush
|
||||
ortp_ev_queue_get
|
||||
ortp_ev_queue_destroy
|
||||
ortp_event_get_type
|
||||
ortp_event_get_data
|
||||
ortp_event_destroy
|
||||
|
||||
stunParseHostName
|
||||
stunParseServerName
|
||||
sendMessage
|
||||
stunEncodeMessage
|
||||
stunBuildReqSimple
|
||||
stunParseMessage
|
||||
stunServerProcessMsg
|
||||
stunNatType
|
||||
stunTest
|
||||
stunOpenSocket
|
||||
stunOpenSocketPair
|
||||
stunCalculateIntegrity_shortterm
|
||||
stunCalculateIntegrity_longterm
|
||||
stunCalculateFingerprint
|
||||
|
||||
getWinSocketError
|
||||
close_socket
|
||||
set_non_blocking_socket
|
||||
ortp_strerror
|
||||
gettimeofday
|
||||
ortp_file_exist
|
||||
|
||||
|
||||
|
||||
rtp_session_set_dscp
|
||||
rtp_session_compute_recv_bandwidth
|
||||
rtp_session_compute_send_bandwidth
|
||||
rtcp_next_packet
|
||||
rtcp_is_SDES
|
||||
rtcp_sdes_parse
|
||||
rtcp_is_SR
|
||||
rtcp_SR_get_ssrc
|
||||
rtcp_SR_get_report_block
|
||||
rtcp_SR_get_sender_info
|
||||
rtcp_is_RR
|
||||
rtcp_RR_get_ssrc
|
||||
rtcp_RR_get_report_block
|
||||
rtcp_is_BYE
|
||||
rtcp_BYE_get_ssrc
|
||||
rtcp_BYE_get_reason
|
||||
rtcp_is_APP
|
||||
rtcp_APP_get_subtype
|
||||
rtcp_APP_get_ssrc
|
||||
rtcp_APP_get_name
|
||||
rtcp_APP_get_data
|
||||
rtp_session_flush_sockets
|
||||
rtp_session_resync
|
||||
rtp_session_set_remote_addr_and_port
|
||||
rtp_session_set_time_jump_limit
|
||||
|
||||
copymsg
|
||||
rtp_session_enable_jitter_buffer
|
||||
|
||||
rtp_session_set_rtp_socket_recv_buffer_size
|
||||
rtp_session_set_rtp_socket_send_buffer_size
|
||||
rtp_session_set_jitter_buffer_params
|
||||
|
||||
rtp_get_payload
|
||||
|
||||
rtp_session_set_remote_addr_full
|
||||
rtp_session_send_rtcp_APP
|
||||
b64_decode
|
||||
b64_encode
|
||||
|
||||
payload_type_set_recv_fmtp
|
||||
rtp_session_get_local_port
|
||||
rtp_session_get_jitter_buffer_params
|
||||
|
||||
copyb
|
||||
turnAllocateSocketPair
|
||||
|
|
@ -99,6 +99,12 @@ case "$target_os" in
|
|||
AC_DEFINE(NOCONNECT,1,[Defined if we should not use connect() on udp sockets])
|
||||
PTHREAD_LDFLAGS="-pthread"
|
||||
;;
|
||||
*mingw32ce)
|
||||
CFLAGS="$CFLAGS -D_WIN32_WCE -D_WIN32_WINNT=0x0501 -DORTP_STATIC"
|
||||
LIBS="$LIBS -lws2 -liphlpapi"
|
||||
build_tests=no
|
||||
mingw_found=yes
|
||||
;;
|
||||
*mingw*)
|
||||
CFLAGS="$CFLAGS -D_WIN32_WINNT=0x0501 -DORTP_STATIC"
|
||||
LIBS="$LIBS -lws2_32 -liphlpapi -lwinmm"
|
||||
|
|
@ -106,6 +112,15 @@ case "$target_os" in
|
|||
;;
|
||||
esac
|
||||
|
||||
AC_CONFIG_COMMANDS([libtool-hacking],[
|
||||
if test "$mingw_found" = "yes" ; then
|
||||
echo "Hacking libtool to work with mingw..."
|
||||
sed -e 's/\*\" \$a_deplib \"\*/\*/' < ./libtool > libtool.tmp
|
||||
cp -f ./libtool.tmp ./libtool
|
||||
rm -f ./libtool.tmp
|
||||
fi
|
||||
],[mingw_found=$mingw_found])
|
||||
|
||||
dnl Checks for programs.
|
||||
AC_PROG_CC
|
||||
AC_LIBTOOL_WIN32_DLL
|
||||
|
|
|
|||
|
|
@ -106,6 +106,9 @@ int __ortp_thread_create(pthread_t *thread, pthread_attr_t *attr, void * (*routi
|
|||
#define getSocketError() strerror(errno)
|
||||
#define getSocketErrorCode() (errno)
|
||||
|
||||
#define ortp_log10f(x) log10f(x)
|
||||
|
||||
|
||||
#else
|
||||
/*********************************/
|
||||
/* definitions for WIN32 flavour */
|
||||
|
|
@ -147,7 +150,7 @@ typedef HANDLE ortp_thread_t;
|
|||
|
||||
#define ortp_thread_create WIN_thread_create
|
||||
#define ortp_thread_join WIN_thread_join
|
||||
#define ortp_thread_exit(arg)
|
||||
#define ortp_thread_exit(arg)
|
||||
#define ortp_mutex_init WIN_mutex_init
|
||||
#define ortp_mutex_lock WIN_mutex_lock
|
||||
#define ortp_mutex_unlock WIN_mutex_unlock
|
||||
|
|
@ -163,12 +166,12 @@ typedef HANDLE ortp_thread_t;
|
|||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
|
||||
int WIN_mutex_init(ortp_mutex_t *m, void *attr_unused);
|
||||
int WIN_mutex_lock(ortp_mutex_t *mutex);
|
||||
int WIN_mutex_unlock(ortp_mutex_t *mutex);
|
||||
int WIN_mutex_destroy(ortp_mutex_t *mutex);
|
||||
int WIN_thread_create(ortp_thread_t *t, void *attr_unused, void *(*func)(void*), void *arg);
|
||||
int WIN_thread_create(ortp_thread_t *t, void *attr_unused, void *(*func)(void*), void *arg);
|
||||
int WIN_thread_join(ortp_thread_t thread, void **unused);
|
||||
int WIN_cond_init(ortp_cond_t *cond, void *attr_unused);
|
||||
int WIN_cond_wait(ortp_cond_t * cond, ortp_mutex_t * mutex);
|
||||
|
|
@ -183,6 +186,32 @@ int WIN_cond_destroy(ortp_cond_t * cond);
|
|||
#define SOCKET_OPTION_VALUE char *
|
||||
#define inline __inline
|
||||
|
||||
#if defined(_WIN32_WCE)
|
||||
|
||||
#define ortp_log10f(x) (float)log10 ((double)x)
|
||||
|
||||
#ifdef assert
|
||||
#undef assert
|
||||
#endif /*assert*/
|
||||
#define assert(exp) ((void)0)
|
||||
|
||||
#ifdef errno
|
||||
#undef errno
|
||||
#endif /*errno*/
|
||||
#define errno GetLastError()
|
||||
#ifdef strerror
|
||||
#undef strerror
|
||||
#endif /*strerror*/
|
||||
const char * ortp_strerror(DWORD value);
|
||||
#define strerror ortp_strerror
|
||||
|
||||
|
||||
#else /*_WIN32_WCE*/
|
||||
|
||||
#define ortp_log10f(x) log10f(x)
|
||||
|
||||
#endif
|
||||
|
||||
const char *getWinSocketError(int error);
|
||||
#define getSocketErrorCode() WSAGetLastError()
|
||||
#define getSocketError() getWinSocketError(WSAGetLastError())
|
||||
|
|
@ -240,6 +269,8 @@ char *ortp_strndup(const char *str,int n);
|
|||
char *ortp_strdup_printf(const char *fmt,...);
|
||||
char *ortp_strdup_vprintf(const char *fmt, va_list ap);
|
||||
|
||||
int ortp_file_exist(const char *pathname);
|
||||
|
||||
/* portable named pipes */
|
||||
#if !defined(_WIN32_WCE)
|
||||
#ifdef WIN32
|
||||
|
|
@ -269,6 +300,7 @@ int ortp_pipe_write(ortp_pipe_t p, const uint8_t *buf, int len);
|
|||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@
|
|||
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "ortp/port.h"
|
||||
/* /////////////////////////////////////////////////////////////////////////////
|
||||
* Constants and definitions
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ char * ortp_strdup(const char *tmp){
|
|||
*/
|
||||
int set_non_blocking_socket (ortp_socket_t sock)
|
||||
{
|
||||
|
||||
|
||||
|
||||
#if !defined(_WIN32) && !defined(_WIN32_WCE)
|
||||
return fcntl (sock, F_SETFL, O_NONBLOCK);
|
||||
|
|
@ -124,7 +124,23 @@ int close_socket(ortp_socket_t sock){
|
|||
#endif
|
||||
}
|
||||
|
||||
|
||||
#if defined (_WIN32_WCE)
|
||||
int ortp_file_exist(const char *pathname) {
|
||||
FILE* fd;
|
||||
if (pathname==NULL) return -1;
|
||||
fd=fopen(pathname,"r");
|
||||
if (fd==NULL) {
|
||||
return -1;
|
||||
} else {
|
||||
fclose(fd);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
#else
|
||||
int ortp_file_exist(const char *pathname) {
|
||||
return access(pathname,F_OK);
|
||||
}
|
||||
#endif /*_WIN32_WCE*/
|
||||
|
||||
#if !defined(_WIN32) && !defined(_WIN32_WCE)
|
||||
/* Use UNIX inet_aton method */
|
||||
|
|
@ -132,10 +148,10 @@ int close_socket(ortp_socket_t sock){
|
|||
int inet_aton (const char * cp, struct in_addr * addr)
|
||||
{
|
||||
unsigned long retval;
|
||||
|
||||
|
||||
retval = inet_addr (cp);
|
||||
|
||||
if (retval == INADDR_NONE)
|
||||
if (retval == INADDR_NONE)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
|
@ -180,7 +196,7 @@ int __ortp_thread_create(pthread_t *thread, pthread_attr_t *attr, void * (*routi
|
|||
#if defined(_WIN32) || defined(_WIN32_WCE)
|
||||
|
||||
int WIN_mutex_init(ortp_mutex_t *mutex, void *attr)
|
||||
{
|
||||
{
|
||||
*mutex=CreateMutex(NULL, FALSE, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -225,7 +241,7 @@ int WIN_thread_create(ortp_thread_t *th, void *attr, void * (*func)(void *), voi
|
|||
thread_param_t *params=ortp_new(thread_param_t,1);
|
||||
params->func=func;
|
||||
params->arg=data;
|
||||
*th=(HANDLE)_beginthreadex( NULL, 0, thread_starter, params, 0, NULL);
|
||||
*th=(HANDLE)_beginthreadex( NULL, 0, (LPTHREAD_START_ROUTINE)thread_starter, params, 0, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -248,7 +264,7 @@ int WIN_cond_init(ortp_cond_t *cond, void *attr)
|
|||
int WIN_cond_wait(ortp_cond_t* hCond, ortp_mutex_t * hMutex)
|
||||
{
|
||||
//gulp: this is not very atomic ! bug here ?
|
||||
WIN_mutex_unlock(hMutex);
|
||||
WIN_mutex_unlock(hMutex);
|
||||
WaitForSingleObject(*hCond, INFINITE);
|
||||
WIN_mutex_lock(hMutex);
|
||||
return 0;
|
||||
|
|
@ -276,6 +292,21 @@ int WIN_cond_destroy(ortp_cond_t * hCond)
|
|||
#if defined(_WIN32_WCE)
|
||||
#include <time.h>
|
||||
|
||||
const char * ortp_strerror(DWORD value) {
|
||||
static TCHAR msgBuf[256];
|
||||
FormatMessage(
|
||||
FORMAT_MESSAGE_FROM_SYSTEM |
|
||||
FORMAT_MESSAGE_IGNORE_INSERTS,
|
||||
NULL,
|
||||
value,
|
||||
0, // Default language
|
||||
(LPTSTR) &msgBuf,
|
||||
0,
|
||||
NULL
|
||||
);
|
||||
return (const char *)msgBuf;
|
||||
}
|
||||
|
||||
int
|
||||
gettimeofday (struct timeval *tv, void *tz)
|
||||
{
|
||||
|
|
@ -287,19 +318,19 @@ gettimeofday (struct timeval *tv, void *tz)
|
|||
|
||||
#else
|
||||
|
||||
int gettimeofday (struct timeval *tv, void* tz)
|
||||
{
|
||||
union
|
||||
{
|
||||
__int64 ns100; /*time since 1 Jan 1601 in 100ns units */
|
||||
FILETIME fileTime;
|
||||
} now;
|
||||
int gettimeofday (struct timeval *tv, void* tz)
|
||||
{
|
||||
union
|
||||
{
|
||||
__int64 ns100; /*time since 1 Jan 1601 in 100ns units */
|
||||
FILETIME fileTime;
|
||||
} now;
|
||||
|
||||
GetSystemTimeAsFileTime (&now.fileTime);
|
||||
tv->tv_usec = (long) ((now.ns100 / 10LL) % 1000000LL);
|
||||
tv->tv_sec = (long) ((now.ns100 - 116444736000000000LL) / 10000000LL);
|
||||
return (0);
|
||||
}
|
||||
GetSystemTimeAsFileTime (&now.fileTime);
|
||||
tv->tv_usec = (long) ((now.ns100 / 10LL) % 1000000LL);
|
||||
tv->tv_sec = (long) ((now.ns100 - 116444736000000000LL) / 10000000LL);
|
||||
return (0);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
|
@ -405,6 +436,7 @@ int ortp_client_pipe_close(ortp_socket_t sock){
|
|||
return close(sock);
|
||||
}
|
||||
|
||||
|
||||
#elif defined(WIN32) && !defined(_WIN32_WCE)
|
||||
|
||||
static char *make_pipe_name(const char *name){
|
||||
|
|
@ -462,15 +494,15 @@ int ortp_server_pipe_close(ortp_pipe_t spipe){
|
|||
|
||||
ortp_pipe_t ortp_client_pipe_connect(const char *name){
|
||||
char *pipename=make_pipe_name(name);
|
||||
ortp_pipe_t hpipe = CreateFile(
|
||||
pipename, // pipe name
|
||||
GENERIC_READ | // read and write access
|
||||
GENERIC_WRITE,
|
||||
0, // no sharing
|
||||
ortp_pipe_t hpipe = CreateFile(
|
||||
pipename, // pipe name
|
||||
GENERIC_READ | // read and write access
|
||||
GENERIC_WRITE,
|
||||
0, // no sharing
|
||||
NULL, // default security attributes
|
||||
OPEN_EXISTING, // opens existing pipe
|
||||
0, // default attributes
|
||||
NULL); // no template file
|
||||
OPEN_EXISTING, // opens existing pipe
|
||||
0, // default attributes
|
||||
NULL); // no template file
|
||||
ortp_free(pipename);
|
||||
return hpipe;
|
||||
}
|
||||
|
|
@ -496,4 +528,5 @@ int ortp_client_pipe_close(ortp_pipe_t sock){
|
|||
return CloseHandle(sock);
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -219,7 +219,6 @@ rtp_session_init (RtpSession * session, int mode)
|
|||
ortp_debug("rtp_session_init: Invalid paramter (session=NULL)");
|
||||
return;
|
||||
}
|
||||
|
||||
memset (session, 0, sizeof (RtpSession));
|
||||
session->mode = (RtpSessionMode) mode;
|
||||
if ((mode == RTP_SESSION_RECVONLY) || (mode == RTP_SESSION_SENDRECV))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue