Changeset 5597
- Timestamp:
- Jun 3, 2017 9:22:34 AM (7 years ago)
- Location:
- pjproject/trunk
- Files:
-
- 2 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjlib/src/pj/ssl_sock_ossl.c
r5591 r5597 126 126 # pragma comment(lib, "libcrypto") 127 127 # pragma comment(lib, "libssl") 128 # pragma comment(lib, "crypt32") 128 129 # else 129 130 # pragma comment(lib, "libeay32") -
pjproject/trunk/pjmedia/build/pjmedia.vcproj
r5433 r5597 12 12 /> 13 13 <Platform 14 Name="x64" 15 /> 16 <Platform 14 17 Name="Pocket PC 2003 (ARMV4)" 15 18 /> 16 19 <Platform 17 20 Name="Smartphone 2003 (ARMV4)" 18 />19 <Platform20 Name="x64"21 21 /> 22 22 <Platform … … 94 94 </Configuration> 95 95 <Configuration 96 Name="Release| Pocket PC 2003 (ARMV4)"96 Name="Release|x64" 97 97 ConfigurationType="4" 98 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" 98 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" 99 UseOfMFC="0" 99 100 ATLMinimizesCRunTimeLibraryUsage="false" 100 CharacterSet=" 1"101 CharacterSet="2" 101 102 > 102 103 <Tool … … 114 115 <Tool 115 116 Name="VCMIDLTool" 117 TargetEnvironment="3" 116 118 /> 117 119 <Tool 118 120 Name="VCCLCompilerTool" 119 ExecutionBucket="7" 120 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.." 121 AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../../third_party/yuv/include,../../third_party/webrtc/src;../..;"$(DXSDK_DIR)include"" 121 122 PreprocessorDefinitions="_LIB;" 122 123 PrecompiledHeaderFile="" … … 133 134 <Tool 134 135 Name="VCLibrarianTool" 135 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib"136 136 /> 137 137 <Tool … … 145 145 /> 146 146 <Tool 147 Name="VC CodeSignTool"147 Name="VCFxCopTool" 148 148 /> 149 149 <Tool 150 150 Name="VCPostBuildEventTool" 151 />152 <DeploymentTool153 ForceDirty="-1"154 RemoteDirectory=""155 RegisterOutput="0"156 AdditionalFiles=""157 />158 <DebuggerTool159 />160 </Configuration>161 <Configuration162 Name="Release|Smartphone 2003 (ARMV4)"163 ConfigurationType="4"164 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"165 ATLMinimizesCRunTimeLibraryUsage="false"166 CharacterSet="1"167 >168 <Tool169 Name="VCPreBuildEventTool"170 />171 <Tool172 Name="VCCustomBuildTool"173 />174 <Tool175 Name="VCXMLDataGeneratorTool"176 />177 <Tool178 Name="VCWebServiceProxyGeneratorTool"179 />180 <Tool181 Name="VCMIDLTool"182 />183 <Tool184 Name="VCCLCompilerTool"185 ExecutionBucket="7"186 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.."187 PreprocessorDefinitions="_LIB;"188 PrecompiledHeaderFile=""189 />190 <Tool191 Name="VCManagedResourceCompilerTool"192 />193 <Tool194 Name="VCResourceCompilerTool"195 />196 <Tool197 Name="VCPreLinkEventTool"198 />199 <Tool200 Name="VCLibrarianTool"201 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib"202 />203 <Tool204 Name="VCALinkTool"205 />206 <Tool207 Name="VCXDCMakeTool"208 />209 <Tool210 Name="VCBscMakeTool"211 />212 <Tool213 Name="VCCodeSignTool"214 />215 <Tool216 Name="VCPostBuildEventTool"217 />218 <DeploymentTool219 ForceDirty="-1"220 RemoteDirectory=""221 RegisterOutput="0"222 AdditionalFiles=""223 />224 <DebuggerTool225 151 /> 226 152 </Configuration> … … 284 210 </Configuration> 285 211 <Configuration 286 Name="Debug| Pocket PC 2003 (ARMV4)"212 Name="Debug|x64" 287 213 ConfigurationType="4" 288 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" 214 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" 215 UseOfMFC="0" 289 216 ATLMinimizesCRunTimeLibraryUsage="false" 290 CharacterSet=" 1"217 CharacterSet="2" 291 218 > 292 219 <Tool … … 304 231 <Tool 305 232 Name="VCMIDLTool" 233 TargetEnvironment="3" 306 234 /> 307 235 <Tool 308 236 Name="VCCLCompilerTool" 309 ExecutionBucket="7" 310 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.." 237 AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../../third_party/yuv/include,../../third_party/webrtc/src;../..;"$(DXSDK_DIR)include"" 311 238 PreprocessorDefinitions="_LIB;" 312 239 PrecompiledHeaderFile="" 240 DebugInformationFormat="3" 313 241 /> 314 242 <Tool … … 323 251 <Tool 324 252 Name="VCLibrarianTool" 325 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib"253 IgnoreDefaultLibraryNames="" 326 254 /> 327 255 <Tool … … 335 263 /> 336 264 <Tool 337 Name="VC CodeSignTool"265 Name="VCFxCopTool" 338 266 /> 339 267 <Tool 340 268 Name="VCPostBuildEventTool" 341 />342 <DeploymentTool343 ForceDirty="-1"344 RemoteDirectory=""345 RegisterOutput="0"346 AdditionalFiles=""347 />348 <DebuggerTool349 />350 </Configuration>351 <Configuration352 Name="Debug|Smartphone 2003 (ARMV4)"353 ConfigurationType="4"354 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"355 ATLMinimizesCRunTimeLibraryUsage="false"356 CharacterSet="1"357 >358 <Tool359 Name="VCPreBuildEventTool"360 />361 <Tool362 Name="VCCustomBuildTool"363 />364 <Tool365 Name="VCXMLDataGeneratorTool"366 />367 <Tool368 Name="VCWebServiceProxyGeneratorTool"369 />370 <Tool371 Name="VCMIDLTool"372 />373 <Tool374 Name="VCCLCompilerTool"375 ExecutionBucket="7"376 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.."377 PreprocessorDefinitions="_LIB;"378 PrecompiledHeaderFile=""379 />380 <Tool381 Name="VCManagedResourceCompilerTool"382 />383 <Tool384 Name="VCResourceCompilerTool"385 />386 <Tool387 Name="VCPreLinkEventTool"388 />389 <Tool390 Name="VCLibrarianTool"391 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib"392 />393 <Tool394 Name="VCALinkTool"395 />396 <Tool397 Name="VCXDCMakeTool"398 />399 <Tool400 Name="VCBscMakeTool"401 />402 <Tool403 Name="VCCodeSignTool"404 />405 <Tool406 Name="VCPostBuildEventTool"407 />408 <DeploymentTool409 ForceDirty="-1"410 RemoteDirectory=""411 RegisterOutput="0"412 AdditionalFiles=""413 />414 <DebuggerTool415 269 /> 416 270 </Configuration> … … 473 327 </Configuration> 474 328 <Configuration 475 Name="Debug-Static| Pocket PC 2003 (ARMV4)"329 Name="Debug-Static|x64" 476 330 ConfigurationType="4" 477 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" 331 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" 332 UseOfMFC="0" 478 333 ATLMinimizesCRunTimeLibraryUsage="false" 479 CharacterSet=" 1"334 CharacterSet="2" 480 335 > 481 336 <Tool … … 493 348 <Tool 494 349 Name="VCMIDLTool" 350 TargetEnvironment="3" 495 351 /> 496 352 <Tool 497 353 Name="VCCLCompilerTool" 498 ExecutionBucket="7" 499 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.." 354 AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../../third_party/yuv/include,../../third_party/webrtc/src;../..;"$(DXSDK_DIR)include"" 500 355 PreprocessorDefinitions="_LIB;" 501 356 PrecompiledHeaderFile="" 357 DebugInformationFormat="3" 502 358 /> 503 359 <Tool … … 512 368 <Tool 513 369 Name="VCLibrarianTool" 514 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib"515 370 /> 516 371 <Tool … … 524 379 /> 525 380 <Tool 526 Name="VC CodeSignTool"381 Name="VCFxCopTool" 527 382 /> 528 383 <Tool 529 384 Name="VCPostBuildEventTool" 530 />531 <DeploymentTool532 ForceDirty="-1"533 RemoteDirectory=""534 RegisterOutput="0"535 AdditionalFiles=""536 />537 <DebuggerTool538 />539 </Configuration>540 <Configuration541 Name="Debug-Static|Smartphone 2003 (ARMV4)"542 ConfigurationType="4"543 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"544 ATLMinimizesCRunTimeLibraryUsage="false"545 CharacterSet="1"546 >547 <Tool548 Name="VCPreBuildEventTool"549 />550 <Tool551 Name="VCCustomBuildTool"552 />553 <Tool554 Name="VCXMLDataGeneratorTool"555 />556 <Tool557 Name="VCWebServiceProxyGeneratorTool"558 />559 <Tool560 Name="VCMIDLTool"561 />562 <Tool563 Name="VCCLCompilerTool"564 ExecutionBucket="7"565 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.."566 PreprocessorDefinitions="_LIB;"567 PrecompiledHeaderFile=""568 />569 <Tool570 Name="VCManagedResourceCompilerTool"571 />572 <Tool573 Name="VCResourceCompilerTool"574 />575 <Tool576 Name="VCPreLinkEventTool"577 />578 <Tool579 Name="VCLibrarianTool"580 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib"581 />582 <Tool583 Name="VCALinkTool"584 />585 <Tool586 Name="VCXDCMakeTool"587 />588 <Tool589 Name="VCBscMakeTool"590 />591 <Tool592 Name="VCCodeSignTool"593 />594 <Tool595 Name="VCPostBuildEventTool"596 />597 <DeploymentTool598 ForceDirty="-1"599 RemoteDirectory=""600 RegisterOutput="0"601 AdditionalFiles=""602 />603 <DebuggerTool604 385 /> 605 386 </Configuration> … … 662 443 </Configuration> 663 444 <Configuration 664 Name="Release-Dynamic| Pocket PC 2003 (ARMV4)"445 Name="Release-Dynamic|x64" 665 446 ConfigurationType="4" 666 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" 447 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" 448 UseOfMFC="0" 667 449 ATLMinimizesCRunTimeLibraryUsage="false" 668 CharacterSet=" 1"450 CharacterSet="2" 669 451 > 670 452 <Tool … … 682 464 <Tool 683 465 Name="VCMIDLTool" 466 TargetEnvironment="3" 684 467 /> 685 468 <Tool 686 469 Name="VCCLCompilerTool" 687 ExecutionBucket="7" 688 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.." 470 AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../../third_party/yuv/include,../../third_party/webrtc/src;../..;"$(DXSDK_DIR)include"" 689 471 PreprocessorDefinitions="_LIB;" 690 472 PrecompiledHeaderFile="" … … 701 483 <Tool 702 484 Name="VCLibrarianTool" 703 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib"704 485 /> 705 486 <Tool … … 713 494 /> 714 495 <Tool 715 Name="VC CodeSignTool"496 Name="VCFxCopTool" 716 497 /> 717 498 <Tool 718 499 Name="VCPostBuildEventTool" 719 />720 <DeploymentTool721 ForceDirty="-1"722 RemoteDirectory=""723 RegisterOutput="0"724 AdditionalFiles=""725 />726 <DebuggerTool727 />728 </Configuration>729 <Configuration730 Name="Release-Dynamic|Smartphone 2003 (ARMV4)"731 ConfigurationType="4"732 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops"733 ATLMinimizesCRunTimeLibraryUsage="false"734 CharacterSet="1"735 >736 <Tool737 Name="VCPreBuildEventTool"738 />739 <Tool740 Name="VCCustomBuildTool"741 />742 <Tool743 Name="VCXMLDataGeneratorTool"744 />745 <Tool746 Name="VCWebServiceProxyGeneratorTool"747 />748 <Tool749 Name="VCMIDLTool"750 />751 <Tool752 Name="VCCLCompilerTool"753 ExecutionBucket="7"754 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.."755 PreprocessorDefinitions="_LIB;"756 PrecompiledHeaderFile=""757 />758 <Tool759 Name="VCManagedResourceCompilerTool"760 />761 <Tool762 Name="VCResourceCompilerTool"763 />764 <Tool765 Name="VCPreLinkEventTool"766 />767 <Tool768 Name="VCLibrarianTool"769 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib"770 />771 <Tool772 Name="VCALinkTool"773 />774 <Tool775 Name="VCXDCMakeTool"776 />777 <Tool778 Name="VCBscMakeTool"779 />780 <Tool781 Name="VCCodeSignTool"782 />783 <Tool784 Name="VCPostBuildEventTool"785 />786 <DeploymentTool787 ForceDirty="-1"788 RemoteDirectory=""789 RegisterOutput="0"790 AdditionalFiles=""791 />792 <DebuggerTool793 500 /> 794 501 </Configuration> … … 851 558 </Configuration> 852 559 <Configuration 853 Name="Debug-Dynamic| Pocket PC 2003 (ARMV4)"560 Name="Debug-Dynamic|x64" 854 561 ConfigurationType="4" 855 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" 562 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" 563 UseOfMFC="0" 856 564 ATLMinimizesCRunTimeLibraryUsage="false" 857 CharacterSet=" 1"565 CharacterSet="2" 858 566 > 859 567 <Tool … … 871 579 <Tool 872 580 Name="VCMIDLTool" 581 TargetEnvironment="3" 873 582 /> 874 583 <Tool 875 584 Name="VCCLCompilerTool" 876 ExecutionBucket="7" 877 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.." 585 AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../../third_party/yuv/include,../../third_party/webrtc/src;../..;"$(DXSDK_DIR)include"" 878 586 PreprocessorDefinitions="_LIB;" 879 587 PrecompiledHeaderFile="" 588 DebugInformationFormat="3" 880 589 /> 881 590 <Tool … … 890 599 <Tool 891 600 Name="VCLibrarianTool" 892 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib"893 601 /> 894 602 <Tool … … 902 610 /> 903 611 <Tool 904 Name="VC CodeSignTool"612 Name="VCFxCopTool" 905 613 /> 906 614 <Tool 907 615 Name="VCPostBuildEventTool" 908 />909 <DeploymentTool910 ForceDirty="-1"911 RemoteDirectory=""912 RegisterOutput="0"913 AdditionalFiles=""914 />915 <DebuggerTool916 />917 </Configuration>918 <Configuration919 Name="Debug-Dynamic|Smartphone 2003 (ARMV4)"920 ConfigurationType="4"921 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops"922 ATLMinimizesCRunTimeLibraryUsage="false"923 CharacterSet="1"924 >925 <Tool926 Name="VCPreBuildEventTool"927 />928 <Tool929 Name="VCCustomBuildTool"930 />931 <Tool932 Name="VCXMLDataGeneratorTool"933 />934 <Tool935 Name="VCWebServiceProxyGeneratorTool"936 />937 <Tool938 Name="VCMIDLTool"939 />940 <Tool941 Name="VCCLCompilerTool"942 ExecutionBucket="7"943 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.."944 PreprocessorDefinitions="_LIB;"945 PrecompiledHeaderFile=""946 />947 <Tool948 Name="VCManagedResourceCompilerTool"949 />950 <Tool951 Name="VCResourceCompilerTool"952 />953 <Tool954 Name="VCPreLinkEventTool"955 />956 <Tool957 Name="VCLibrarianTool"958 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib"959 />960 <Tool961 Name="VCALinkTool"962 />963 <Tool964 Name="VCXDCMakeTool"965 />966 <Tool967 Name="VCBscMakeTool"968 />969 <Tool970 Name="VCCodeSignTool"971 />972 <Tool973 Name="VCPostBuildEventTool"974 />975 <DeploymentTool976 ForceDirty="-1"977 RemoteDirectory=""978 RegisterOutput="0"979 AdditionalFiles=""980 />981 <DebuggerTool982 616 /> 983 617 </Configuration> … … 1040 674 </Configuration> 1041 675 <Configuration 676 Name="Release-Static|x64" 677 ConfigurationType="4" 678 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" 679 UseOfMFC="0" 680 ATLMinimizesCRunTimeLibraryUsage="false" 681 CharacterSet="2" 682 > 683 <Tool 684 Name="VCPreBuildEventTool" 685 /> 686 <Tool 687 Name="VCCustomBuildTool" 688 /> 689 <Tool 690 Name="VCXMLDataGeneratorTool" 691 /> 692 <Tool 693 Name="VCWebServiceProxyGeneratorTool" 694 /> 695 <Tool 696 Name="VCMIDLTool" 697 TargetEnvironment="3" 698 /> 699 <Tool 700 Name="VCCLCompilerTool" 701 AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../../third_party/yuv/include,../../third_party/webrtc/src;../..;"$(DXSDK_DIR)include"" 702 PreprocessorDefinitions="_LIB;" 703 PrecompiledHeaderFile="" 704 /> 705 <Tool 706 Name="VCManagedResourceCompilerTool" 707 /> 708 <Tool 709 Name="VCResourceCompilerTool" 710 /> 711 <Tool 712 Name="VCPreLinkEventTool" 713 /> 714 <Tool 715 Name="VCLibrarianTool" 716 /> 717 <Tool 718 Name="VCALinkTool" 719 /> 720 <Tool 721 Name="VCXDCMakeTool" 722 /> 723 <Tool 724 Name="VCBscMakeTool" 725 /> 726 <Tool 727 Name="VCFxCopTool" 728 /> 729 <Tool 730 Name="VCPostBuildEventTool" 731 /> 732 </Configuration> 733 <Configuration 734 Name="Release|Pocket PC 2003 (ARMV4)" 735 ConfigurationType="4" 736 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" 737 ATLMinimizesCRunTimeLibraryUsage="false" 738 CharacterSet="1" 739 > 740 <Tool 741 Name="VCPreBuildEventTool" 742 /> 743 <Tool 744 Name="VCCustomBuildTool" 745 /> 746 <Tool 747 Name="VCXMLDataGeneratorTool" 748 /> 749 <Tool 750 Name="VCWebServiceProxyGeneratorTool" 751 /> 752 <Tool 753 Name="VCMIDLTool" 754 /> 755 <Tool 756 Name="VCCLCompilerTool" 757 ExecutionBucket="7" 758 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.." 759 PreprocessorDefinitions="_LIB;" 760 PrecompiledHeaderFile="" 761 /> 762 <Tool 763 Name="VCManagedResourceCompilerTool" 764 /> 765 <Tool 766 Name="VCResourceCompilerTool" 767 /> 768 <Tool 769 Name="VCPreLinkEventTool" 770 /> 771 <Tool 772 Name="VCLibrarianTool" 773 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" 774 /> 775 <Tool 776 Name="VCALinkTool" 777 /> 778 <Tool 779 Name="VCXDCMakeTool" 780 /> 781 <Tool 782 Name="VCBscMakeTool" 783 /> 784 <Tool 785 Name="VCCodeSignTool" 786 /> 787 <Tool 788 Name="VCPostBuildEventTool" 789 /> 790 <DeploymentTool 791 ForceDirty="-1" 792 RemoteDirectory="" 793 RegisterOutput="0" 794 AdditionalFiles="" 795 /> 796 <DebuggerTool 797 /> 798 </Configuration> 799 <Configuration 800 Name="Release|Smartphone 2003 (ARMV4)" 801 ConfigurationType="4" 802 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" 803 ATLMinimizesCRunTimeLibraryUsage="false" 804 CharacterSet="1" 805 > 806 <Tool 807 Name="VCPreBuildEventTool" 808 /> 809 <Tool 810 Name="VCCustomBuildTool" 811 /> 812 <Tool 813 Name="VCXMLDataGeneratorTool" 814 /> 815 <Tool 816 Name="VCWebServiceProxyGeneratorTool" 817 /> 818 <Tool 819 Name="VCMIDLTool" 820 /> 821 <Tool 822 Name="VCCLCompilerTool" 823 ExecutionBucket="7" 824 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.." 825 PreprocessorDefinitions="_LIB;" 826 PrecompiledHeaderFile="" 827 /> 828 <Tool 829 Name="VCManagedResourceCompilerTool" 830 /> 831 <Tool 832 Name="VCResourceCompilerTool" 833 /> 834 <Tool 835 Name="VCPreLinkEventTool" 836 /> 837 <Tool 838 Name="VCLibrarianTool" 839 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" 840 /> 841 <Tool 842 Name="VCALinkTool" 843 /> 844 <Tool 845 Name="VCXDCMakeTool" 846 /> 847 <Tool 848 Name="VCBscMakeTool" 849 /> 850 <Tool 851 Name="VCCodeSignTool" 852 /> 853 <Tool 854 Name="VCPostBuildEventTool" 855 /> 856 <DeploymentTool 857 ForceDirty="-1" 858 RemoteDirectory="" 859 RegisterOutput="0" 860 AdditionalFiles="" 861 /> 862 <DebuggerTool 863 /> 864 </Configuration> 865 <Configuration 866 Name="Debug|Pocket PC 2003 (ARMV4)" 867 ConfigurationType="4" 868 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" 869 ATLMinimizesCRunTimeLibraryUsage="false" 870 CharacterSet="1" 871 > 872 <Tool 873 Name="VCPreBuildEventTool" 874 /> 875 <Tool 876 Name="VCCustomBuildTool" 877 /> 878 <Tool 879 Name="VCXMLDataGeneratorTool" 880 /> 881 <Tool 882 Name="VCWebServiceProxyGeneratorTool" 883 /> 884 <Tool 885 Name="VCMIDLTool" 886 /> 887 <Tool 888 Name="VCCLCompilerTool" 889 ExecutionBucket="7" 890 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.." 891 PreprocessorDefinitions="_LIB;" 892 PrecompiledHeaderFile="" 893 /> 894 <Tool 895 Name="VCManagedResourceCompilerTool" 896 /> 897 <Tool 898 Name="VCResourceCompilerTool" 899 /> 900 <Tool 901 Name="VCPreLinkEventTool" 902 /> 903 <Tool 904 Name="VCLibrarianTool" 905 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" 906 /> 907 <Tool 908 Name="VCALinkTool" 909 /> 910 <Tool 911 Name="VCXDCMakeTool" 912 /> 913 <Tool 914 Name="VCBscMakeTool" 915 /> 916 <Tool 917 Name="VCCodeSignTool" 918 /> 919 <Tool 920 Name="VCPostBuildEventTool" 921 /> 922 <DeploymentTool 923 ForceDirty="-1" 924 RemoteDirectory="" 925 RegisterOutput="0" 926 AdditionalFiles="" 927 /> 928 <DebuggerTool 929 /> 930 </Configuration> 931 <Configuration 932 Name="Debug|Smartphone 2003 (ARMV4)" 933 ConfigurationType="4" 934 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" 935 ATLMinimizesCRunTimeLibraryUsage="false" 936 CharacterSet="1" 937 > 938 <Tool 939 Name="VCPreBuildEventTool" 940 /> 941 <Tool 942 Name="VCCustomBuildTool" 943 /> 944 <Tool 945 Name="VCXMLDataGeneratorTool" 946 /> 947 <Tool 948 Name="VCWebServiceProxyGeneratorTool" 949 /> 950 <Tool 951 Name="VCMIDLTool" 952 /> 953 <Tool 954 Name="VCCLCompilerTool" 955 ExecutionBucket="7" 956 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.." 957 PreprocessorDefinitions="_LIB;" 958 PrecompiledHeaderFile="" 959 /> 960 <Tool 961 Name="VCManagedResourceCompilerTool" 962 /> 963 <Tool 964 Name="VCResourceCompilerTool" 965 /> 966 <Tool 967 Name="VCPreLinkEventTool" 968 /> 969 <Tool 970 Name="VCLibrarianTool" 971 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" 972 /> 973 <Tool 974 Name="VCALinkTool" 975 /> 976 <Tool 977 Name="VCXDCMakeTool" 978 /> 979 <Tool 980 Name="VCBscMakeTool" 981 /> 982 <Tool 983 Name="VCCodeSignTool" 984 /> 985 <Tool 986 Name="VCPostBuildEventTool" 987 /> 988 <DeploymentTool 989 ForceDirty="-1" 990 RemoteDirectory="" 991 RegisterOutput="0" 992 AdditionalFiles="" 993 /> 994 <DebuggerTool 995 /> 996 </Configuration> 997 <Configuration 998 Name="Debug-Static|Pocket PC 2003 (ARMV4)" 999 ConfigurationType="4" 1000 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" 1001 ATLMinimizesCRunTimeLibraryUsage="false" 1002 CharacterSet="1" 1003 > 1004 <Tool 1005 Name="VCPreBuildEventTool" 1006 /> 1007 <Tool 1008 Name="VCCustomBuildTool" 1009 /> 1010 <Tool 1011 Name="VCXMLDataGeneratorTool" 1012 /> 1013 <Tool 1014 Name="VCWebServiceProxyGeneratorTool" 1015 /> 1016 <Tool 1017 Name="VCMIDLTool" 1018 /> 1019 <Tool 1020 Name="VCCLCompilerTool" 1021 ExecutionBucket="7" 1022 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.." 1023 PreprocessorDefinitions="_LIB;" 1024 PrecompiledHeaderFile="" 1025 /> 1026 <Tool 1027 Name="VCManagedResourceCompilerTool" 1028 /> 1029 <Tool 1030 Name="VCResourceCompilerTool" 1031 /> 1032 <Tool 1033 Name="VCPreLinkEventTool" 1034 /> 1035 <Tool 1036 Name="VCLibrarianTool" 1037 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" 1038 /> 1039 <Tool 1040 Name="VCALinkTool" 1041 /> 1042 <Tool 1043 Name="VCXDCMakeTool" 1044 /> 1045 <Tool 1046 Name="VCBscMakeTool" 1047 /> 1048 <Tool 1049 Name="VCCodeSignTool" 1050 /> 1051 <Tool 1052 Name="VCPostBuildEventTool" 1053 /> 1054 <DeploymentTool 1055 ForceDirty="-1" 1056 RemoteDirectory="" 1057 RegisterOutput="0" 1058 AdditionalFiles="" 1059 /> 1060 <DebuggerTool 1061 /> 1062 </Configuration> 1063 <Configuration 1064 Name="Debug-Static|Smartphone 2003 (ARMV4)" 1065 ConfigurationType="4" 1066 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" 1067 ATLMinimizesCRunTimeLibraryUsage="false" 1068 CharacterSet="1" 1069 > 1070 <Tool 1071 Name="VCPreBuildEventTool" 1072 /> 1073 <Tool 1074 Name="VCCustomBuildTool" 1075 /> 1076 <Tool 1077 Name="VCXMLDataGeneratorTool" 1078 /> 1079 <Tool 1080 Name="VCWebServiceProxyGeneratorTool" 1081 /> 1082 <Tool 1083 Name="VCMIDLTool" 1084 /> 1085 <Tool 1086 Name="VCCLCompilerTool" 1087 ExecutionBucket="7" 1088 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.." 1089 PreprocessorDefinitions="_LIB;" 1090 PrecompiledHeaderFile="" 1091 /> 1092 <Tool 1093 Name="VCManagedResourceCompilerTool" 1094 /> 1095 <Tool 1096 Name="VCResourceCompilerTool" 1097 /> 1098 <Tool 1099 Name="VCPreLinkEventTool" 1100 /> 1101 <Tool 1102 Name="VCLibrarianTool" 1103 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" 1104 /> 1105 <Tool 1106 Name="VCALinkTool" 1107 /> 1108 <Tool 1109 Name="VCXDCMakeTool" 1110 /> 1111 <Tool 1112 Name="VCBscMakeTool" 1113 /> 1114 <Tool 1115 Name="VCCodeSignTool" 1116 /> 1117 <Tool 1118 Name="VCPostBuildEventTool" 1119 /> 1120 <DeploymentTool 1121 ForceDirty="-1" 1122 RemoteDirectory="" 1123 RegisterOutput="0" 1124 AdditionalFiles="" 1125 /> 1126 <DebuggerTool 1127 /> 1128 </Configuration> 1129 <Configuration 1130 Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" 1131 ConfigurationType="4" 1132 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" 1133 ATLMinimizesCRunTimeLibraryUsage="false" 1134 CharacterSet="1" 1135 > 1136 <Tool 1137 Name="VCPreBuildEventTool" 1138 /> 1139 <Tool 1140 Name="VCCustomBuildTool" 1141 /> 1142 <Tool 1143 Name="VCXMLDataGeneratorTool" 1144 /> 1145 <Tool 1146 Name="VCWebServiceProxyGeneratorTool" 1147 /> 1148 <Tool 1149 Name="VCMIDLTool" 1150 /> 1151 <Tool 1152 Name="VCCLCompilerTool" 1153 ExecutionBucket="7" 1154 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.." 1155 PreprocessorDefinitions="_LIB;" 1156 PrecompiledHeaderFile="" 1157 /> 1158 <Tool 1159 Name="VCManagedResourceCompilerTool" 1160 /> 1161 <Tool 1162 Name="VCResourceCompilerTool" 1163 /> 1164 <Tool 1165 Name="VCPreLinkEventTool" 1166 /> 1167 <Tool 1168 Name="VCLibrarianTool" 1169 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" 1170 /> 1171 <Tool 1172 Name="VCALinkTool" 1173 /> 1174 <Tool 1175 Name="VCXDCMakeTool" 1176 /> 1177 <Tool 1178 Name="VCBscMakeTool" 1179 /> 1180 <Tool 1181 Name="VCCodeSignTool" 1182 /> 1183 <Tool 1184 Name="VCPostBuildEventTool" 1185 /> 1186 <DeploymentTool 1187 ForceDirty="-1" 1188 RemoteDirectory="" 1189 RegisterOutput="0" 1190 AdditionalFiles="" 1191 /> 1192 <DebuggerTool 1193 /> 1194 </Configuration> 1195 <Configuration 1196 Name="Release-Dynamic|Smartphone 2003 (ARMV4)" 1197 ConfigurationType="4" 1198 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" 1199 ATLMinimizesCRunTimeLibraryUsage="false" 1200 CharacterSet="1" 1201 > 1202 <Tool 1203 Name="VCPreBuildEventTool" 1204 /> 1205 <Tool 1206 Name="VCCustomBuildTool" 1207 /> 1208 <Tool 1209 Name="VCXMLDataGeneratorTool" 1210 /> 1211 <Tool 1212 Name="VCWebServiceProxyGeneratorTool" 1213 /> 1214 <Tool 1215 Name="VCMIDLTool" 1216 /> 1217 <Tool 1218 Name="VCCLCompilerTool" 1219 ExecutionBucket="7" 1220 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.." 1221 PreprocessorDefinitions="_LIB;" 1222 PrecompiledHeaderFile="" 1223 /> 1224 <Tool 1225 Name="VCManagedResourceCompilerTool" 1226 /> 1227 <Tool 1228 Name="VCResourceCompilerTool" 1229 /> 1230 <Tool 1231 Name="VCPreLinkEventTool" 1232 /> 1233 <Tool 1234 Name="VCLibrarianTool" 1235 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" 1236 /> 1237 <Tool 1238 Name="VCALinkTool" 1239 /> 1240 <Tool 1241 Name="VCXDCMakeTool" 1242 /> 1243 <Tool 1244 Name="VCBscMakeTool" 1245 /> 1246 <Tool 1247 Name="VCCodeSignTool" 1248 /> 1249 <Tool 1250 Name="VCPostBuildEventTool" 1251 /> 1252 <DeploymentTool 1253 ForceDirty="-1" 1254 RemoteDirectory="" 1255 RegisterOutput="0" 1256 AdditionalFiles="" 1257 /> 1258 <DebuggerTool 1259 /> 1260 </Configuration> 1261 <Configuration 1262 Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" 1263 ConfigurationType="4" 1264 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" 1265 ATLMinimizesCRunTimeLibraryUsage="false" 1266 CharacterSet="1" 1267 > 1268 <Tool 1269 Name="VCPreBuildEventTool" 1270 /> 1271 <Tool 1272 Name="VCCustomBuildTool" 1273 /> 1274 <Tool 1275 Name="VCXMLDataGeneratorTool" 1276 /> 1277 <Tool 1278 Name="VCWebServiceProxyGeneratorTool" 1279 /> 1280 <Tool 1281 Name="VCMIDLTool" 1282 /> 1283 <Tool 1284 Name="VCCLCompilerTool" 1285 ExecutionBucket="7" 1286 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.." 1287 PreprocessorDefinitions="_LIB;" 1288 PrecompiledHeaderFile="" 1289 /> 1290 <Tool 1291 Name="VCManagedResourceCompilerTool" 1292 /> 1293 <Tool 1294 Name="VCResourceCompilerTool" 1295 /> 1296 <Tool 1297 Name="VCPreLinkEventTool" 1298 /> 1299 <Tool 1300 Name="VCLibrarianTool" 1301 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" 1302 /> 1303 <Tool 1304 Name="VCALinkTool" 1305 /> 1306 <Tool 1307 Name="VCXDCMakeTool" 1308 /> 1309 <Tool 1310 Name="VCBscMakeTool" 1311 /> 1312 <Tool 1313 Name="VCCodeSignTool" 1314 /> 1315 <Tool 1316 Name="VCPostBuildEventTool" 1317 /> 1318 <DeploymentTool 1319 ForceDirty="-1" 1320 RemoteDirectory="" 1321 RegisterOutput="0" 1322 AdditionalFiles="" 1323 /> 1324 <DebuggerTool 1325 /> 1326 </Configuration> 1327 <Configuration 1328 Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" 1329 ConfigurationType="4" 1330 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" 1331 ATLMinimizesCRunTimeLibraryUsage="false" 1332 CharacterSet="1" 1333 > 1334 <Tool 1335 Name="VCPreBuildEventTool" 1336 /> 1337 <Tool 1338 Name="VCCustomBuildTool" 1339 /> 1340 <Tool 1341 Name="VCXMLDataGeneratorTool" 1342 /> 1343 <Tool 1344 Name="VCWebServiceProxyGeneratorTool" 1345 /> 1346 <Tool 1347 Name="VCMIDLTool" 1348 /> 1349 <Tool 1350 Name="VCCLCompilerTool" 1351 ExecutionBucket="7" 1352 AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include,../../third_party/yuv/include,../../third_party/webrtc/src;../.." 1353 PreprocessorDefinitions="_LIB;" 1354 PrecompiledHeaderFile="" 1355 /> 1356 <Tool 1357 Name="VCManagedResourceCompilerTool" 1358 /> 1359 <Tool 1360 Name="VCResourceCompilerTool" 1361 /> 1362 <Tool 1363 Name="VCPreLinkEventTool" 1364 /> 1365 <Tool 1366 Name="VCLibrarianTool" 1367 OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" 1368 /> 1369 <Tool 1370 Name="VCALinkTool" 1371 /> 1372 <Tool 1373 Name="VCXDCMakeTool" 1374 /> 1375 <Tool 1376 Name="VCBscMakeTool" 1377 /> 1378 <Tool 1379 Name="VCCodeSignTool" 1380 /> 1381 <Tool 1382 Name="VCPostBuildEventTool" 1383 /> 1384 <DeploymentTool 1385 ForceDirty="-1" 1386 RemoteDirectory="" 1387 RegisterOutput="0" 1388 AdditionalFiles="" 1389 /> 1390 <DebuggerTool 1391 /> 1392 </Configuration> 1393 <Configuration 1042 1394 Name="Release-Static|Pocket PC 2003 (ARMV4)" 1043 1395 ConfigurationType="4" … … 1169 1521 /> 1170 1522 <DebuggerTool 1171 />1172 </Configuration>1173 <Configuration1174 Name="Release|x64"1175 ConfigurationType="4"1176 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops"1177 UseOfMFC="0"1178 ATLMinimizesCRunTimeLibraryUsage="false"1179 CharacterSet="2"1180 >1181 <Tool1182 Name="VCPreBuildEventTool"1183 />1184 <Tool1185 Name="VCCustomBuildTool"1186 />1187 <Tool1188 Name="VCXMLDataGeneratorTool"1189 />1190 <Tool1191 Name="VCWebServiceProxyGeneratorTool"1192 />1193 <Tool1194 Name="VCMIDLTool"1195 TargetEnvironment="3"1196 />1197 <Tool1198 Name="VCCLCompilerTool"1199 AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../../third_party/yuv/include,../../third_party/webrtc/src;../..;"$(DXSDK_DIR)include""1200 PreprocessorDefinitions="_LIB;"1201 PrecompiledHeaderFile=""1202 />1203 <Tool1204 Name="VCManagedResourceCompilerTool"1205 />1206 <Tool1207 Name="VCResourceCompilerTool"1208 />1209 <Tool1210 Name="VCPreLinkEventTool"1211 />1212 <Tool1213 Name="VCLibrarianTool"1214 />1215 <Tool1216 Name="VCALinkTool"1217 />1218 <Tool1219 Name="VCXDCMakeTool"1220 />1221 <Tool1222 Name="VCBscMakeTool"1223 />1224 <Tool1225 Name="VCFxCopTool"1226 />1227 <Tool1228 Name="VCPostBuildEventTool"1229 />1230 </Configuration>1231 <Configuration1232 Name="Debug|x64"1233 ConfigurationType="4"1234 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops"1235 UseOfMFC="0"1236 ATLMinimizesCRunTimeLibraryUsage="false"1237 CharacterSet="2"1238 >1239 <Tool1240 Name="VCPreBuildEventTool"1241 />1242 <Tool1243 Name="VCCustomBuildTool"1244 />1245 <Tool1246 Name="VCXMLDataGeneratorTool"1247 />1248 <Tool1249 Name="VCWebServiceProxyGeneratorTool"1250 />1251 <Tool1252 Name="VCMIDLTool"1253 TargetEnvironment="3"1254 />1255 <Tool1256 Name="VCCLCompilerTool"1257 AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../../third_party/yuv/include,../../third_party/webrtc/src;../..;"$(DXSDK_DIR)include""1258 PreprocessorDefinitions="_LIB;"1259 PrecompiledHeaderFile=""1260 DebugInformationFormat="3"1261 />1262 <Tool1263 Name="VCManagedResourceCompilerTool"1264 />1265 <Tool1266 Name="VCResourceCompilerTool"1267 />1268 <Tool1269 Name="VCPreLinkEventTool"1270 />1271 <Tool1272 Name="VCLibrarianTool"1273 IgnoreDefaultLibraryNames=""1274 />1275 <Tool1276 Name="VCALinkTool"1277 />1278 <Tool1279 Name="VCXDCMakeTool"1280 />1281 <Tool1282 Name="VCBscMakeTool"1283 />1284 <Tool1285 Name="VCFxCopTool"1286 />1287 <Tool1288 Name="VCPostBuildEventTool"1289 />1290 </Configuration>1291 <Configuration1292 Name="Debug-Static|x64"1293 ConfigurationType="4"1294 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops"1295 UseOfMFC="0"1296 ATLMinimizesCRunTimeLibraryUsage="false"1297 CharacterSet="2"1298 >1299 <Tool1300 Name="VCPreBuildEventTool"1301 />1302 <Tool1303 Name="VCCustomBuildTool"1304 />1305 <Tool1306 Name="VCXMLDataGeneratorTool"1307 />1308 <Tool1309 Name="VCWebServiceProxyGeneratorTool"1310 />1311 <Tool1312 Name="VCMIDLTool"1313 TargetEnvironment="3"1314 />1315 <Tool1316 Name="VCCLCompilerTool"1317 AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../../third_party/yuv/include,../../third_party/webrtc/src;../..;"$(DXSDK_DIR)include""1318 PreprocessorDefinitions="_LIB;"1319 PrecompiledHeaderFile=""1320 DebugInformationFormat="3"1321 />1322 <Tool1323 Name="VCManagedResourceCompilerTool"1324 />1325 <Tool1326 Name="VCResourceCompilerTool"1327 />1328 <Tool1329 Name="VCPreLinkEventTool"1330 />1331 <Tool1332 Name="VCLibrarianTool"1333 />1334 <Tool1335 Name="VCALinkTool"1336 />1337 <Tool1338 Name="VCXDCMakeTool"1339 />1340 <Tool1341 Name="VCBscMakeTool"1342 />1343 <Tool1344 Name="VCFxCopTool"1345 />1346 <Tool1347 Name="VCPostBuildEventTool"1348 />1349 </Configuration>1350 <Configuration1351 Name="Release-Dynamic|x64"1352 ConfigurationType="4"1353 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops"1354 UseOfMFC="0"1355 ATLMinimizesCRunTimeLibraryUsage="false"1356 CharacterSet="2"1357 >1358 <Tool1359 Name="VCPreBuildEventTool"1360 />1361 <Tool1362 Name="VCCustomBuildTool"1363 />1364 <Tool1365 Name="VCXMLDataGeneratorTool"1366 />1367 <Tool1368 Name="VCWebServiceProxyGeneratorTool"1369 />1370 <Tool1371 Name="VCMIDLTool"1372 TargetEnvironment="3"1373 />1374 <Tool1375 Name="VCCLCompilerTool"1376 AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../../third_party/yuv/include,../../third_party/webrtc/src;../..;"$(DXSDK_DIR)include""1377 PreprocessorDefinitions="_LIB;"1378 PrecompiledHeaderFile=""1379 />1380 <Tool1381 Name="VCManagedResourceCompilerTool"1382 />1383 <Tool1384 Name="VCResourceCompilerTool"1385 />1386 <Tool1387 Name="VCPreLinkEventTool"1388 />1389 <Tool1390 Name="VCLibrarianTool"1391 />1392 <Tool1393 Name="VCALinkTool"1394 />1395 <Tool1396 Name="VCXDCMakeTool"1397 />1398 <Tool1399 Name="VCBscMakeTool"1400 />1401 <Tool1402 Name="VCFxCopTool"1403 />1404 <Tool1405 Name="VCPostBuildEventTool"1406 />1407 </Configuration>1408 <Configuration1409 Name="Debug-Dynamic|x64"1410 ConfigurationType="4"1411 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops"1412 UseOfMFC="0"1413 ATLMinimizesCRunTimeLibraryUsage="false"1414 CharacterSet="2"1415 >1416 <Tool1417 Name="VCPreBuildEventTool"1418 />1419 <Tool1420 Name="VCCustomBuildTool"1421 />1422 <Tool1423 Name="VCXMLDataGeneratorTool"1424 />1425 <Tool1426 Name="VCWebServiceProxyGeneratorTool"1427 />1428 <Tool1429 Name="VCMIDLTool"1430 TargetEnvironment="3"1431 />1432 <Tool1433 Name="VCCLCompilerTool"1434 AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../../third_party/yuv/include,../../third_party/webrtc/src;../..;"$(DXSDK_DIR)include""1435 PreprocessorDefinitions="_LIB;"1436 PrecompiledHeaderFile=""1437 DebugInformationFormat="3"1438 />1439 <Tool1440 Name="VCManagedResourceCompilerTool"1441 />1442 <Tool1443 Name="VCResourceCompilerTool"1444 />1445 <Tool1446 Name="VCPreLinkEventTool"1447 />1448 <Tool1449 Name="VCLibrarianTool"1450 />1451 <Tool1452 Name="VCALinkTool"1453 />1454 <Tool1455 Name="VCXDCMakeTool"1456 />1457 <Tool1458 Name="VCBscMakeTool"1459 />1460 <Tool1461 Name="VCFxCopTool"1462 />1463 <Tool1464 Name="VCPostBuildEventTool"1465 />1466 </Configuration>1467 <Configuration1468 Name="Release-Static|x64"1469 ConfigurationType="4"1470 InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops"1471 UseOfMFC="0"1472 ATLMinimizesCRunTimeLibraryUsage="false"1473 CharacterSet="2"1474 >1475 <Tool1476 Name="VCPreBuildEventTool"1477 />1478 <Tool1479 Name="VCCustomBuildTool"1480 />1481 <Tool1482 Name="VCXMLDataGeneratorTool"1483 />1484 <Tool1485 Name="VCWebServiceProxyGeneratorTool"1486 />1487 <Tool1488 Name="VCMIDLTool"1489 TargetEnvironment="3"1490 />1491 <Tool1492 Name="VCCLCompilerTool"1493 AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../../third_party/yuv/include,../../third_party/webrtc/src;../..;"$(DXSDK_DIR)include""1494 PreprocessorDefinitions="_LIB;"1495 PrecompiledHeaderFile=""1496 />1497 <Tool1498 Name="VCManagedResourceCompilerTool"1499 />1500 <Tool1501 Name="VCResourceCompilerTool"1502 />1503 <Tool1504 Name="VCPreLinkEventTool"1505 />1506 <Tool1507 Name="VCLibrarianTool"1508 />1509 <Tool1510 Name="VCALinkTool"1511 />1512 <Tool1513 Name="VCXDCMakeTool"1514 />1515 <Tool1516 Name="VCBscMakeTool"1517 />1518 <Tool1519 Name="VCFxCopTool"1520 />1521 <Tool1522 Name="VCPostBuildEventTool"1523 1523 /> 1524 1524 </Configuration> … … 3128 3128 </FileConfiguration> 3129 3129 <FileConfiguration 3130 Name="Release|x64" 3131 > 3132 <Tool 3133 Name="VCCLCompilerTool" 3134 AdditionalIncludeDirectories="" 3135 PreprocessorDefinitions="" 3136 /> 3137 </FileConfiguration> 3138 <FileConfiguration 3130 3139 Name="Debug|Win32" 3131 3140 > … … 3137 3146 </FileConfiguration> 3138 3147 <FileConfiguration 3148 Name="Debug|x64" 3149 > 3150 <Tool 3151 Name="VCCLCompilerTool" 3152 AdditionalIncludeDirectories="" 3153 PreprocessorDefinitions="" 3154 /> 3155 </FileConfiguration> 3156 <FileConfiguration 3139 3157 Name="Debug-Static|Win32" 3140 3158 > … … 3146 3164 </FileConfiguration> 3147 3165 <FileConfiguration 3166 Name="Debug-Static|x64" 3167 > 3168 <Tool 3169 Name="VCCLCompilerTool" 3170 AdditionalIncludeDirectories="" 3171 PreprocessorDefinitions="" 3172 /> 3173 </FileConfiguration> 3174 <FileConfiguration 3148 3175 Name="Release-Dynamic|Win32" 3149 3176 > … … 3155 3182 </FileConfiguration> 3156 3183 <FileConfiguration 3184 Name="Release-Dynamic|x64" 3185 > 3186 <Tool 3187 Name="VCCLCompilerTool" 3188 AdditionalIncludeDirectories="" 3189 PreprocessorDefinitions="" 3190 /> 3191 </FileConfiguration> 3192 <FileConfiguration 3157 3193 Name="Debug-Dynamic|Win32" 3158 3194 > … … 3164 3200 </FileConfiguration> 3165 3201 <FileConfiguration 3202 Name="Debug-Dynamic|x64" 3203 > 3204 <Tool 3205 Name="VCCLCompilerTool" 3206 AdditionalIncludeDirectories="" 3207 PreprocessorDefinitions="" 3208 /> 3209 </FileConfiguration> 3210 <FileConfiguration 3166 3211 Name="Release-Static|Win32" 3167 3212 > … … 3173 3218 </FileConfiguration> 3174 3219 <FileConfiguration 3220 Name="Release-Static|x64" 3221 > 3222 <Tool 3223 Name="VCCLCompilerTool" 3224 AdditionalIncludeDirectories="" 3225 PreprocessorDefinitions="" 3226 /> 3227 </FileConfiguration> 3228 </File> 3229 <File 3230 RelativePath="..\src\pjmedia\alaw_ulaw_table.c" 3231 > 3232 <FileConfiguration 3233 Name="Release|Win32" 3234 > 3235 <Tool 3236 Name="VCCLCompilerTool" 3237 AdditionalIncludeDirectories="" 3238 PreprocessorDefinitions="" 3239 /> 3240 </FileConfiguration> 3241 <FileConfiguration 3175 3242 Name="Release|x64" 3176 3243 > … … 3182 3249 </FileConfiguration> 3183 3250 <FileConfiguration 3251 Name="Debug|Win32" 3252 > 3253 <Tool 3254 Name="VCCLCompilerTool" 3255 AdditionalIncludeDirectories="" 3256 PreprocessorDefinitions="" 3257 /> 3258 </FileConfiguration> 3259 <FileConfiguration 3184 3260 Name="Debug|x64" 3185 3261 > … … 3191 3267 </FileConfiguration> 3192 3268 <FileConfiguration 3269 Name="Debug-Static|Win32" 3270 > 3271 <Tool 3272 Name="VCCLCompilerTool" 3273 AdditionalIncludeDirectories="" 3274 PreprocessorDefinitions="" 3275 /> 3276 </FileConfiguration> 3277 <FileConfiguration 3193 3278 Name="Debug-Static|x64" 3194 3279 > … … 3200 3285 </FileConfiguration> 3201 3286 <FileConfiguration 3287 Name="Release-Dynamic|Win32" 3288 > 3289 <Tool 3290 Name="VCCLCompilerTool" 3291 AdditionalIncludeDirectories="" 3292 PreprocessorDefinitions="" 3293 /> 3294 </FileConfiguration> 3295 <FileConfiguration 3202 3296 Name="Release-Dynamic|x64" 3203 3297 > … … 3209 3303 </FileConfiguration> 3210 3304 <FileConfiguration 3305 Name="Debug-Dynamic|Win32" 3306 > 3307 <Tool 3308 Name="VCCLCompilerTool" 3309 AdditionalIncludeDirectories="" 3310 PreprocessorDefinitions="" 3311 /> 3312 </FileConfiguration> 3313 <FileConfiguration 3211 3314 Name="Debug-Dynamic|x64" 3212 3315 > … … 3218 3321 </FileConfiguration> 3219 3322 <FileConfiguration 3323 Name="Release-Static|Win32" 3324 > 3325 <Tool 3326 Name="VCCLCompilerTool" 3327 AdditionalIncludeDirectories="" 3328 PreprocessorDefinitions="" 3329 /> 3330 </FileConfiguration> 3331 <FileConfiguration 3220 3332 Name="Release-Static|x64" 3221 3333 > … … 3228 3340 </File> 3229 3341 <File 3230 RelativePath="..\src\pjmedia\alaw_ulaw_table.c" 3342 RelativePath="..\src\pjmedia\audiodev.c" 3343 > 3344 </File> 3345 <File 3346 RelativePath="..\src\pjmedia\avi_player.c" 3347 > 3348 </File> 3349 <File 3350 RelativePath="..\src\pjmedia\bidirectional.c" 3231 3351 > 3232 3352 <FileConfiguration … … 3240 3360 </FileConfiguration> 3241 3361 <FileConfiguration 3362 Name="Release|x64" 3363 > 3364 <Tool 3365 Name="VCCLCompilerTool" 3366 AdditionalIncludeDirectories="" 3367 PreprocessorDefinitions="" 3368 /> 3369 </FileConfiguration> 3370 <FileConfiguration 3242 3371 Name="Debug|Win32" 3243 3372 > … … 3249 3378 </FileConfiguration> 3250 3379 <FileConfiguration 3380 Name="Debug|x64" 3381 > 3382 <Tool 3383 Name="VCCLCompilerTool" 3384 AdditionalIncludeDirectories="" 3385 PreprocessorDefinitions="" 3386 /> 3387 </FileConfiguration> 3388 <FileConfiguration 3251 3389 Name="Debug-Static|Win32" 3252 3390 > … … 3258 3396 </FileConfiguration> 3259 3397 <FileConfiguration 3398 Name="Debug-Static|x64" 3399 > 3400 <Tool 3401 Name="VCCLCompilerTool" 3402 AdditionalIncludeDirectories="" 3403 PreprocessorDefinitions="" 3404 /> 3405 </FileConfiguration> 3406 <FileConfiguration 3260 3407 Name="Release-Dynamic|Win32" 3261 3408 > … … 3267 3414 </FileConfiguration> 3268 3415 <FileConfiguration 3416 Name="Release-Dynamic|x64" 3417 > 3418 <Tool 3419 Name="VCCLCompilerTool" 3420 AdditionalIncludeDirectories="" 3421 PreprocessorDefinitions="" 3422 /> 3423 </FileConfiguration> 3424 <FileConfiguration 3269 3425 Name="Debug-Dynamic|Win32" 3270 3426 > … … 3276 3432 </FileConfiguration> 3277 3433 <FileConfiguration 3434 Name="Debug-Dynamic|x64" 3435 > 3436 <Tool 3437 Name="VCCLCompilerTool" 3438 AdditionalIncludeDirectories="" 3439 PreprocessorDefinitions="" 3440 /> 3441 </FileConfiguration> 3442 <FileConfiguration 3278 3443 Name="Release-Static|Win32" 3279 3444 > … … 3285 3450 </FileConfiguration> 3286 3451 <FileConfiguration 3452 Name="Release-Static|x64" 3453 > 3454 <Tool 3455 Name="VCCLCompilerTool" 3456 AdditionalIncludeDirectories="" 3457 PreprocessorDefinitions="" 3458 /> 3459 </FileConfiguration> 3460 </File> 3461 <File 3462 RelativePath="..\src\pjmedia\clock_thread.c" 3463 > 3464 <FileConfiguration 3465 Name="Release|Win32" 3466 > 3467 <Tool 3468 Name="VCCLCompilerTool" 3469 AdditionalIncludeDirectories="" 3470 PreprocessorDefinitions="" 3471 /> 3472 </FileConfiguration> 3473 <FileConfiguration 3287 3474 Name="Release|x64" 3288 3475 > … … 3294 3481 </FileConfiguration> 3295 3482 <FileConfiguration 3483 Name="Debug|Win32" 3484 > 3485 <Tool 3486 Name="VCCLCompilerTool" 3487 AdditionalIncludeDirectories="" 3488 PreprocessorDefinitions="" 3489 /> 3490 </FileConfiguration> 3491 <FileConfiguration 3296 3492 Name="Debug|x64" 3297 3493 > … … 3303 3499 </FileConfiguration> 3304 3500 <FileConfiguration 3501 Name="Debug-Static|Win32" 3502 > 3503 <Tool 3504 Name="VCCLCompilerTool" 3505 AdditionalIncludeDirectories="" 3506 PreprocessorDefinitions="" 3507 /> 3508 </FileConfiguration> 3509 <FileConfiguration 3305 3510 Name="Debug-Static|x64" 3306 3511 > … … 3312 3517 </FileConfiguration> 3313 3518 <FileConfiguration 3519 Name="Release-Dynamic|Win32" 3520 > 3521 <Tool 3522 Name="VCCLCompilerTool" 3523 AdditionalIncludeDirectories="" 3524 PreprocessorDefinitions="" 3525 /> 3526 </FileConfiguration> 3527 <FileConfiguration 3314 3528 Name="Release-Dynamic|x64" 3315 3529 > … … 3321 3535 </FileConfiguration> 3322 3536 <FileConfiguration 3537 Name="Debug-Dynamic|Win32" 3538 > 3539 <Tool 3540 Name="VCCLCompilerTool" 3541 AdditionalIncludeDirectories="" 3542 PreprocessorDefinitions="" 3543 /> 3544 </FileConfiguration> 3545 <FileConfiguration 3323 3546 Name="Debug-Dynamic|x64" 3324 3547 > … … 3330 3553 </FileConfiguration> 3331 3554 <FileConfiguration 3555 Name="Release-Static|Win32" 3556 > 3557 <Tool 3558 Name="VCCLCompilerTool" 3559 AdditionalIncludeDirectories="" 3560 PreprocessorDefinitions="" 3561 /> 3562 </FileConfiguration> 3563 <FileConfiguration 3332 3564 Name="Release-Static|x64" 3333 3565 > … … 3340 3572 </File> 3341 3573 <File 3342 RelativePath="..\src\pjmedia\audiodev.c" 3343 > 3344 </File> 3345 <File 3346 RelativePath="..\src\pjmedia\avi_player.c" 3347 > 3348 </File> 3349 <File 3350 RelativePath="..\src\pjmedia\bidirectional.c" 3574 RelativePath="..\src\pjmedia\codec.c" 3351 3575 > 3352 3576 <FileConfiguration … … 3360 3584 </FileConfiguration> 3361 3585 <FileConfiguration 3586 Name="Release|x64" 3587 > 3588 <Tool 3589 Name="VCCLCompilerTool" 3590 AdditionalIncludeDirectories="" 3591 PreprocessorDefinitions="" 3592 /> 3593 </FileConfiguration> 3594 <FileConfiguration 3362 3595 Name="Debug|Win32" 3363 3596 > … … 3369 3602 </FileConfiguration> 3370 3603 <FileConfiguration 3604 Name="Debug|x64" 3605 > 3606 <Tool 3607 Name="VCCLCompilerTool" 3608 AdditionalIncludeDirectories="" 3609 PreprocessorDefinitions="" 3610 /> 3611 </FileConfiguration> 3612 <FileConfiguration 3371 3613 Name="Debug-Static|Win32" 3372 3614 > … … 3378 3620 </FileConfiguration> 3379 3621 <FileConfiguration 3622 Name="Debug-Static|x64" 3623 > 3624 <Tool 3625 Name="VCCLCompilerTool" 3626 AdditionalIncludeDirectories="" 3627 PreprocessorDefinitions="" 3628 /> 3629 </FileConfiguration> 3630 <FileConfiguration 3380 3631 Name="Release-Dynamic|Win32" 3381 3632 > … … 3387 3638 </FileConfiguration> 3388 3639 <FileConfiguration 3640 Name="Release-Dynamic|x64" 3641 > 3642 <Tool 3643 Name="VCCLCompilerTool" 3644 AdditionalIncludeDirectories="" 3645 PreprocessorDefinitions="" 3646 /> 3647 </FileConfiguration> 3648 <FileConfiguration 3389 3649 Name="Debug-Dynamic|Win32" 3390 3650 > … … 3396 3656 </FileConfiguration> 3397 3657 <FileConfiguration 3658 Name="Debug-Dynamic|x64" 3659 > 3660 <Tool 3661 Name="VCCLCompilerTool" 3662 AdditionalIncludeDirectories="" 3663 PreprocessorDefinitions="" 3664 /> 3665 </FileConfiguration> 3666 <FileConfiguration 3398 3667 Name="Release-Static|Win32" 3399 3668 > … … 3405 3674 </FileConfiguration> 3406 3675 <FileConfiguration 3676 Name="Release-Static|x64" 3677 > 3678 <Tool 3679 Name="VCCLCompilerTool" 3680 AdditionalIncludeDirectories="" 3681 PreprocessorDefinitions="" 3682 /> 3683 </FileConfiguration> 3684 </File> 3685 <File 3686 RelativePath="..\src\pjmedia\conf_switch.c" 3687 > 3688 </File> 3689 <File 3690 RelativePath="..\src\pjmedia\conference.c" 3691 > 3692 <FileConfiguration 3693 Name="Release|Win32" 3694 > 3695 <Tool 3696 Name="VCCLCompilerTool" 3697 AdditionalIncludeDirectories="" 3698 PreprocessorDefinitions="" 3699 /> 3700 </FileConfiguration> 3701 <FileConfiguration 3407 3702 Name="Release|x64" 3408 3703 > … … 3414 3709 </FileConfiguration> 3415 3710 <FileConfiguration 3711 Name="Debug|Win32" 3712 > 3713 <Tool 3714 Name="VCCLCompilerTool" 3715 AdditionalIncludeDirectories="" 3716 PreprocessorDefinitions="" 3717 /> 3718 </FileConfiguration> 3719 <FileConfiguration 3416 3720 Name="Debug|x64" 3417 3721 > … … 3423 3727 </FileConfiguration> 3424 3728 <FileConfiguration 3729 Name="Debug-Static|Win32" 3730 > 3731 <Tool 3732 Name="VCCLCompilerTool" 3733 AdditionalIncludeDirectories="" 3734 PreprocessorDefinitions="" 3735 /> 3736 </FileConfiguration> 3737 <FileConfiguration 3425 3738 Name="Debug-Static|x64" 3426 3739 > … … 3432 3745 </FileConfiguration> 3433 3746 <FileConfiguration 3747 Name="Release-Dynamic|Win32" 3748 > 3749 <Tool 3750 Name="VCCLCompilerTool" 3751 AdditionalIncludeDirectories="" 3752 PreprocessorDefinitions="" 3753 /> 3754 </FileConfiguration> 3755 <FileConfiguration 3434 3756 Name="Release-Dynamic|x64" 3435 3757 > … … 3441 3763 </FileConfiguration> 3442 3764 <FileConfiguration 3765 Name="Debug-Dynamic|Win32" 3766 > 3767 <Tool 3768 Name="VCCLCompilerTool" 3769 AdditionalIncludeDirectories="" 3770 PreprocessorDefinitions="" 3771 /> 3772 </FileConfiguration> 3773 <FileConfiguration 3443 3774 Name="Debug-Dynamic|x64" 3444 3775 > … … 3450 3781 </FileConfiguration> 3451 3782 <FileConfiguration 3783 Name="Release-Static|Win32" 3784 > 3785 <Tool 3786 Name="VCCLCompilerTool" 3787 AdditionalIncludeDirectories="" 3788 PreprocessorDefinitions="" 3789 /> 3790 </FileConfiguration> 3791 <FileConfiguration 3452 3792 Name="Release-Static|x64" 3453 3793 > … … 3460 3800 </File> 3461 3801 <File 3462 RelativePath="..\src\pjmedia\clock_thread.c" 3802 RelativePath="..\src\pjmedia\converter.c" 3803 > 3804 </File> 3805 <File 3806 RelativePath="..\src\pjmedia\converter_libswscale.c" 3807 > 3808 </File> 3809 <File 3810 RelativePath="..\src\pjmedia\converter_libyuv.c" 3811 > 3812 </File> 3813 <File 3814 RelativePath="..\src\pjmedia\delaybuf.c" 3815 > 3816 </File> 3817 <File 3818 RelativePath="..\src\pjmedia\echo_common.c" 3463 3819 > 3464 3820 <FileConfiguration … … 3472 3828 </FileConfiguration> 3473 3829 <FileConfiguration 3830 Name="Release|x64" 3831 > 3832 <Tool 3833 Name="VCCLCompilerTool" 3834 AdditionalIncludeDirectories="" 3835 PreprocessorDefinitions="" 3836 /> 3837 </FileConfiguration> 3838 <FileConfiguration 3474 3839 Name="Debug|Win32" 3475 3840 > … … 3481 3846 </FileConfiguration> 3482 3847 <FileConfiguration 3848 Name="Debug|x64" 3849 > 3850 <Tool 3851 Name="VCCLCompilerTool" 3852 AdditionalIncludeDirectories="" 3853 PreprocessorDefinitions="" 3854 /> 3855 </FileConfiguration> 3856 <FileConfiguration 3483 3857 Name="Debug-Static|Win32" 3484 3858 > … … 3490 3864 </FileConfiguration> 3491 3865 <FileConfiguration 3866 Name="Debug-Static|x64" 3867 > 3868 <Tool 3869 Name="VCCLCompilerTool" 3870 AdditionalIncludeDirectories="" 3871 PreprocessorDefinitions="" 3872 /> 3873 </FileConfiguration> 3874 <FileConfiguration 3492 3875 Name="Release-Dynamic|Win32" 3493 3876 > … … 3499 3882 </FileConfiguration> 3500 3883 <FileConfiguration 3884 Name="Release-Dynamic|x64" 3885 > 3886 <Tool 3887 Name="VCCLCompilerTool" 3888 AdditionalIncludeDirectories="" 3889 PreprocessorDefinitions="" 3890 /> 3891 </FileConfiguration> 3892 <FileConfiguration 3501 3893 Name="Debug-Dynamic|Win32" 3502 3894 > … … 3508 3900 </FileConfiguration> 3509 3901 <FileConfiguration 3902 Name="Debug-Dynamic|x64" 3903 > 3904 <Tool 3905 Name="VCCLCompilerTool" 3906 AdditionalIncludeDirectories="" 3907 PreprocessorDefinitions="" 3908 /> 3909 </FileConfiguration> 3910 <FileConfiguration 3510 3911 Name="Release-Static|Win32" 3511 3912 > … … 3517 3918 </FileConfiguration> 3518 3919 <FileConfiguration 3920 Name="Release-Static|x64" 3921 > 3922 <Tool 3923 Name="VCCLCompilerTool" 3924 AdditionalIncludeDirectories="" 3925 PreprocessorDefinitions="" 3926 /> 3927 </FileConfiguration> 3928 </File> 3929 <File 3930 RelativePath="..\src\pjmedia\echo_port.c" 3931 > 3932 <FileConfiguration 3933 Name="Release|Win32" 3934 > 3935 <Tool 3936 Name="VCCLCompilerTool" 3937 AdditionalIncludeDirectories="" 3938 PreprocessorDefinitions="" 3939 /> 3940 </FileConfiguration> 3941 <FileConfiguration 3519 3942 Name="Release|x64" 3520 3943 > … … 3526 3949 </FileConfiguration> 3527 3950 <FileConfiguration 3951 Name="Debug|Win32" 3952 > 3953 <Tool 3954 Name="VCCLCompilerTool" 3955 AdditionalIncludeDirectories="" 3956 PreprocessorDefinitions="" 3957 /> 3958 </FileConfiguration> 3959 <FileConfiguration 3528 3960 Name="Debug|x64" 3529 3961 > … … 3535 3967 </FileConfiguration> 3536 3968 <FileConfiguration 3969 Name="Debug-Static|Win32" 3970 > 3971 <Tool 3972 Name="VCCLCompilerTool" 3973 AdditionalIncludeDirectories="" 3974 PreprocessorDefinitions="" 3975 /> 3976 </FileConfiguration> 3977 <FileConfiguration 3537 3978 Name="Debug-Static|x64" 3538 3979 > … … 3544 3985 </FileConfiguration> 3545 3986 <FileConfiguration 3987 Name="Release-Dynamic|Win32" 3988 > 3989 <Tool 3990 Name="VCCLCompilerTool" 3991 AdditionalIncludeDirectories="" 3992 PreprocessorDefinitions="" 3993 /> 3994 </FileConfiguration> 3995 <FileConfiguration 3546 3996 Name="Release-Dynamic|x64" 3547 3997 > … … 3553 4003 </FileConfiguration> 3554 4004 <FileConfiguration 4005 Name="Debug-Dynamic|Win32" 4006 > 4007 <Tool 4008 Name="VCCLCompilerTool" 4009 AdditionalIncludeDirectories="" 4010 PreprocessorDefinitions="" 4011 /> 4012 </FileConfiguration> 4013 <FileConfiguration 3555 4014 Name="Debug-Dynamic|x64" 3556 4015 > … … 3562 4021 </FileConfiguration> 3563 4022 <FileConfiguration 4023 Name="Release-Static|Win32" 4024 > 4025 <Tool 4026 Name="VCCLCompilerTool" 4027 AdditionalIncludeDirectories="" 4028 PreprocessorDefinitions="" 4029 /> 4030 </FileConfiguration> 4031 <FileConfiguration 3564 4032 Name="Release-Static|x64" 3565 4033 > … … 3572 4040 </File> 3573 4041 <File 3574 RelativePath="..\src\pjmedia\ codec.c"4042 RelativePath="..\src\pjmedia\echo_speex.c" 3575 4043 > 3576 4044 <FileConfiguration … … 3584 4052 </FileConfiguration> 3585 4053 <FileConfiguration 4054 Name="Release|x64" 4055 > 4056 <Tool 4057 Name="VCCLCompilerTool" 4058 AdditionalIncludeDirectories="" 4059 PreprocessorDefinitions="" 4060 /> 4061 </FileConfiguration> 4062 <FileConfiguration 3586 4063 Name="Debug|Win32" 3587 4064 > … … 3593 4070 </FileConfiguration> 3594 4071 <FileConfiguration 4072 Name="Debug|x64" 4073 > 4074 <Tool 4075 Name="VCCLCompilerTool" 4076 AdditionalIncludeDirectories="" 4077 PreprocessorDefinitions="" 4078 /> 4079 </FileConfiguration> 4080 <FileConfiguration 3595 4081 Name="Debug-Static|Win32" 3596 4082 > … … 3602 4088 </FileConfiguration> 3603 4089 <FileConfiguration 4090 Name="Debug-Static|x64" 4091 > 4092 <Tool 4093 Name="VCCLCompilerTool" 4094 AdditionalIncludeDirectories="" 4095 PreprocessorDefinitions="" 4096 /> 4097 </FileConfiguration> 4098 <FileConfiguration 3604 4099 Name="Release-Dynamic|Win32" 3605 4100 > … … 3611 4106 </FileConfiguration> 3612 4107 <FileConfiguration 4108 Name="Release-Dynamic|x64" 4109 > 4110 <Tool 4111 Name="VCCLCompilerTool" 4112 AdditionalIncludeDirectories="" 4113 PreprocessorDefinitions="" 4114 /> 4115 </FileConfiguration> 4116 <FileConfiguration 3613 4117 Name="Debug-Dynamic|Win32" 3614 4118 > … … 3620 4124 </FileConfiguration> 3621 4125 <FileConfiguration 4126 Name="Debug-Dynamic|x64" 4127 > 4128 <Tool 4129 Name="VCCLCompilerTool" 4130 AdditionalIncludeDirectories="" 4131 PreprocessorDefinitions="" 4132 /> 4133 </FileConfiguration> 4134 <FileConfiguration 3622 4135 Name="Release-Static|Win32" 3623 4136 > … … 3629 4142 </FileConfiguration> 3630 4143 <FileConfiguration 4144 Name="Release-Static|x64" 4145 > 4146 <Tool 4147 Name="VCCLCompilerTool" 4148 AdditionalIncludeDirectories="" 4149 PreprocessorDefinitions="" 4150 /> 4151 </FileConfiguration> 4152 </File> 4153 <File 4154 RelativePath="..\src\pjmedia\echo_suppress.c" 4155 > 4156 <FileConfiguration 4157 Name="Release|Win32" 4158 > 4159 <Tool 4160 Name="VCCLCompilerTool" 4161 AdditionalIncludeDirectories="" 4162 PreprocessorDefinitions="" 4163 /> 4164 </FileConfiguration> 4165 <FileConfiguration 3631 4166 Name="Release|x64" 3632 4167 > … … 3638 4173 </FileConfiguration> 3639 4174 <FileConfiguration 4175 Name="Debug|Win32" 4176 > 4177 <Tool 4178 Name="VCCLCompilerTool" 4179 AdditionalIncludeDirectories="" 4180 PreprocessorDefinitions="" 4181 /> 4182 </FileConfiguration> 4183 <FileConfiguration 3640 4184 Name="Debug|x64" 3641 4185 > … … 3647 4191 </FileConfiguration> 3648 4192 <FileConfiguration 4193 Name="Debug-Static|Win32" 4194 > 4195 <Tool 4196 Name="VCCLCompilerTool" 4197 AdditionalIncludeDirectories="" 4198 PreprocessorDefinitions="" 4199 /> 4200 </FileConfiguration> 4201 <FileConfiguration 3649 4202 Name="Debug-Static|x64" 3650 4203 > … … 3656 4209 </FileConfiguration> 3657 4210 <FileConfiguration 4211 Name="Release-Dynamic|Win32" 4212 > 4213 <Tool 4214 Name="VCCLCompilerTool" 4215 AdditionalIncludeDirectories="" 4216 PreprocessorDefinitions="" 4217 /> 4218 </FileConfiguration> 4219 <FileConfiguration 3658 4220 Name="Release-Dynamic|x64" 3659 4221 > … … 3665 4227 </FileConfiguration> 3666 4228 <FileConfiguration 4229 Name="Debug-Dynamic|Win32" 4230 > 4231 <Tool 4232 Name="VCCLCompilerTool" 4233 AdditionalIncludeDirectories="" 4234 PreprocessorDefinitions="" 4235 /> 4236 </FileConfiguration> 4237 <FileConfiguration 3667 4238 Name="Debug-Dynamic|x64" 3668 4239 > … … 3674 4245 </FileConfiguration> 3675 4246 <FileConfiguration 4247 Name="Release-Static|Win32" 4248 > 4249 <Tool 4250 Name="VCCLCompilerTool" 4251 AdditionalIncludeDirectories="" 4252 PreprocessorDefinitions="" 4253 /> 4254 </FileConfiguration> 4255 <FileConfiguration 3676 4256 Name="Release-Static|x64" 3677 4257 > … … 3684 4264 </File> 3685 4265 <File 3686 RelativePath="..\src\pjmedia\ conf_switch.c"3687 > 3688 </File> 3689 <File 3690 RelativePath="..\src\pjmedia\ conference.c"4266 RelativePath="..\src\pjmedia\echo_webrtc.c" 4267 > 4268 </File> 4269 <File 4270 RelativePath="..\src\pjmedia\endpoint.c" 3691 4271 > 3692 4272 <FileConfiguration … … 3700 4280 </FileConfiguration> 3701 4281 <FileConfiguration 4282 Name="Release|x64" 4283 > 4284 <Tool 4285 Name="VCCLCompilerTool" 4286 AdditionalIncludeDirectories="" 4287 PreprocessorDefinitions="" 4288 /> 4289 </FileConfiguration> 4290 <FileConfiguration 3702 4291 Name="Debug|Win32" 3703 4292 > … … 3709 4298 </FileConfiguration> 3710 4299 <FileConfiguration 4300 Name="Debug|x64" 4301 > 4302 <Tool 4303 Name="VCCLCompilerTool" 4304 AdditionalIncludeDirectories="" 4305 PreprocessorDefinitions="" 4306 /> 4307 </FileConfiguration> 4308 <FileConfiguration 3711 4309 Name="Debug-Static|Win32" 3712 4310 > … … 3718 4316 </FileConfiguration> 3719 4317 <FileConfiguration 4318 Name="Debug-Static|x64" 4319 > 4320 <Tool 4321 Name="VCCLCompilerTool" 4322 AdditionalIncludeDirectories="" 4323 PreprocessorDefinitions="" 4324 /> 4325 </FileConfiguration> 4326 <FileConfiguration 3720 4327 Name="Release-Dynamic|Win32" 3721 4328 > … … 3727 4334 </FileConfiguration> 3728 4335 <FileConfiguration 4336 Name="Release-Dynamic|x64" 4337 > 4338 <Tool 4339 Name="VCCLCompilerTool" 4340 AdditionalIncludeDirectories="" 4341 PreprocessorDefinitions="" 4342 /> 4343 </FileConfiguration> 4344 <FileConfiguration 3729 4345 Name="Debug-Dynamic|Win32" 3730 4346 > … … 3736 4352 </FileConfiguration> 3737 4353 <FileConfiguration 4354 Name="Debug-Dynamic|x64" 4355 > 4356 <Tool 4357 Name="VCCLCompilerTool" 4358 AdditionalIncludeDirectories="" 4359 PreprocessorDefinitions="" 4360 /> 4361 </FileConfiguration> 4362 <FileConfiguration 3738 4363 Name="Release-Static|Win32" 3739 4364 > … … 3745 4370 </FileConfiguration> 3746 4371 <FileConfiguration 4372 Name="Release-Static|x64" 4373 > 4374 <Tool 4375 Name="VCCLCompilerTool" 4376 AdditionalIncludeDirectories="" 4377 PreprocessorDefinitions="" 4378 /> 4379 </FileConfiguration> 4380 </File> 4381 <File 4382 RelativePath="..\src\pjmedia\errno.c" 4383 > 4384 <FileConfiguration 4385 Name="Release|Win32" 4386 > 4387 <Tool 4388 Name="VCCLCompilerTool" 4389 AdditionalIncludeDirectories="" 4390 PreprocessorDefinitions="" 4391 /> 4392 </FileConfiguration> 4393 <FileConfiguration 3747 4394 Name="Release|x64" 3748 4395 > … … 3754 4401 </FileConfiguration> 3755 4402 <FileConfiguration 4403 Name="Debug|Win32" 4404 > 4405 <Tool 4406 Name="VCCLCompilerTool" 4407 AdditionalIncludeDirectories="" 4408 PreprocessorDefinitions="" 4409 /> 4410 </FileConfiguration> 4411 <FileConfiguration 3756 4412 Name="Debug|x64" 3757 4413 > … … 3763 4419 </FileConfiguration> 3764 4420 <FileConfiguration 4421 Name="Debug-Static|Win32" 4422 > 4423 <Tool 4424 Name="VCCLCompilerTool" 4425 AdditionalIncludeDirectories="" 4426 PreprocessorDefinitions="" 4427 /> 4428 </FileConfiguration> 4429 <FileConfiguration 3765 4430 Name="Debug-Static|x64" 3766 4431 > … … 3772 4437 </FileConfiguration> 3773 4438 <FileConfiguration 4439 Name="Release-Dynamic|Win32" 4440 > 4441 <Tool 4442 Name="VCCLCompilerTool" 4443 AdditionalIncludeDirectories="" 4444 PreprocessorDefinitions="" 4445 /> 4446 </FileConfiguration> 4447 <FileConfiguration 3774 4448 Name="Release-Dynamic|x64" 3775 4449 > … … 3781 4455 </FileConfiguration> 3782 4456 <FileConfiguration 4457 Name="Debug-Dynamic|Win32" 4458 > 4459 <Tool 4460 Name="VCCLCompilerTool" 4461 AdditionalIncludeDirectories="" 4462 PreprocessorDefinitions="" 4463 /> 4464 </FileConfiguration> 4465 <FileConfiguration 3783 4466 Name="Debug-Dynamic|x64" 3784 4467 > … … 3790 4473 </FileConfiguration> 3791 4474 <FileConfiguration 4475 Name="Release-Static|Win32" 4476 > 4477 <Tool 4478 Name="VCCLCompilerTool" 4479 AdditionalIncludeDirectories="" 4480 PreprocessorDefinitions="" 4481 /> 4482 </FileConfiguration> 4483 <FileConfiguration 3792 4484 Name="Release-Static|x64" 3793 4485 > … … 3800 4492 </File> 3801 4493 <File 3802 RelativePath="..\src\pjmedia\converter.c" 3803 > 3804 </File> 3805 <File 3806 RelativePath="..\src\pjmedia\converter_libswscale.c" 3807 > 3808 </File> 3809 <File 3810 RelativePath="..\src\pjmedia\converter_libyuv.c" 3811 > 3812 </File> 3813 <File 3814 RelativePath="..\src\pjmedia\delaybuf.c" 3815 > 3816 </File> 3817 <File 3818 RelativePath="..\src\pjmedia\echo_common.c" 4494 RelativePath="..\src\pjmedia\event.c" 4495 > 4496 </File> 4497 <File 4498 RelativePath="..\src\pjmedia\ffmpeg_util.c" 4499 > 4500 </File> 4501 <File 4502 RelativePath="..\src\pjmedia\format.c" 4503 > 4504 </File> 4505 <File 4506 RelativePath="..\src\pjmedia\g711.c" 3819 4507 > 3820 4508 <FileConfiguration … … 3828 4516 </FileConfiguration> 3829 4517 <FileConfiguration 4518 Name="Release|x64" 4519 > 4520 <Tool 4521 Name="VCCLCompilerTool" 4522 AdditionalIncludeDirectories="" 4523 PreprocessorDefinitions="" 4524 /> 4525 </FileConfiguration> 4526 <FileConfiguration 3830 4527 Name="Debug|Win32" 3831 4528 > … … 3837 4534 </FileConfiguration> 3838 4535 <FileConfiguration 4536 Name="Debug|x64" 4537 > 4538 <Tool 4539 Name="VCCLCompilerTool" 4540 AdditionalIncludeDirectories="" 4541 PreprocessorDefinitions="" 4542 /> 4543 </FileConfiguration> 4544 <FileConfiguration 3839 4545 Name="Debug-Static|Win32" 3840 4546 > … … 3846 4552 </FileConfiguration> 3847 4553 <FileConfiguration 4554 Name="Debug-Static|x64" 4555 > 4556 <Tool 4557 Name="VCCLCompilerTool" 4558 AdditionalIncludeDirectories="" 4559 PreprocessorDefinitions="" 4560 /> 4561 </FileConfiguration> 4562 <FileConfiguration 3848 4563 Name="Release-Dynamic|Win32" 3849 4564 > … … 3855 4570 </FileConfiguration> 3856 4571 <FileConfiguration 4572 Name="Release-Dynamic|x64" 4573 > 4574 <Tool 4575 Name="VCCLCompilerTool" 4576 AdditionalIncludeDirectories="" 4577 PreprocessorDefinitions="" 4578 /> 4579 </FileConfiguration> 4580 <FileConfiguration 3857 4581 Name="Debug-Dynamic|Win32" 3858 4582 > … … 3864 4588 </FileConfiguration> 3865 4589 <FileConfiguration 4590 Name="Debug-Dynamic|x64" 4591 > 4592 <Tool 4593 Name="VCCLCompilerTool" 4594 AdditionalIncludeDirectories="" 4595 PreprocessorDefinitions="" 4596 /> 4597 </FileConfiguration> 4598 <FileConfiguration 3866 4599 Name="Release-Static|Win32" 3867 4600 > … … 3873 4606 </FileConfiguration> 3874 4607 <FileConfiguration 4608 Name="Release-Static|x64" 4609 > 4610 <Tool 4611 Name="VCCLCompilerTool" 4612 AdditionalIncludeDirectories="" 4613 PreprocessorDefinitions="" 4614 /> 4615 </FileConfiguration> 4616 </File> 4617 <File 4618 RelativePath="..\src\pjmedia\jbuf.c" 4619 > 4620 <FileConfiguration 4621 Name="Release|Win32" 4622 > 4623 <Tool 4624 Name="VCCLCompilerTool" 4625 AdditionalIncludeDirectories="" 4626 PreprocessorDefinitions="" 4627 /> 4628 </FileConfiguration> 4629 <FileConfiguration 3875 4630 Name="Release|x64" 3876 4631 > … … 3882 4637 </FileConfiguration> 3883 4638 <FileConfiguration 4639 Name="Debug|Win32" 4640 > 4641 <Tool 4642 Name="VCCLCompilerTool" 4643 AdditionalIncludeDirectories="" 4644 PreprocessorDefinitions="" 4645 /> 4646 </FileConfiguration> 4647 <FileConfiguration 3884 4648 Name="Debug|x64" 3885 4649 > … … 3891 4655 </FileConfiguration> 3892 4656 <FileConfiguration 4657 Name="Debug-Static|Win32" 4658 > 4659 <Tool 4660 Name="VCCLCompilerTool" 4661 AdditionalIncludeDirectories="" 4662 PreprocessorDefinitions="" 4663 /> 4664 </FileConfiguration> 4665 <FileConfiguration 3893 4666 Name="Debug-Static|x64" 3894 4667 > … … 3900 4673 </FileConfiguration> 3901 4674 <FileConfiguration 4675 Name="Release-Dynamic|Win32" 4676 > 4677 <Tool 4678 Name="VCCLCompilerTool" 4679 AdditionalIncludeDirectories="" 4680 PreprocessorDefinitions="" 4681 /> 4682 </FileConfiguration> 4683 <FileConfiguration 3902 4684 Name="Release-Dynamic|x64" 3903 4685 > … … 3909 4691 </FileConfiguration> 3910 4692 <FileConfiguration 4693 Name="Debug-Dynamic|Win32" 4694 > 4695 <Tool 4696 Name="VCCLCompilerTool" 4697 AdditionalIncludeDirectories="" 4698 PreprocessorDefinitions="" 4699 /> 4700 </FileConfiguration> 4701 <FileConfiguration 3911 4702 Name="Debug-Dynamic|x64" 3912 4703 > … … 3918 4709 </FileConfiguration> 3919 4710 <FileConfiguration 4711 Name="Release-Static|Win32" 4712 > 4713 <Tool 4714 Name="VCCLCompilerTool" 4715 AdditionalIncludeDirectories="" 4716 PreprocessorDefinitions="" 4717 /> 4718 </FileConfiguration> 4719 <FileConfiguration 3920 4720 Name="Release-Static|x64" 3921 4721 > … … 3928 4728 </File> 3929 4729 <File 3930 RelativePath="..\src\pjmedia\ echo_port.c"4730 RelativePath="..\src\pjmedia\master_port.c" 3931 4731 > 3932 4732 <FileConfiguration … … 3940 4740 </FileConfiguration> 3941 4741 <FileConfiguration 4742 Name="Release|x64" 4743 > 4744 <Tool 4745 Name="VCCLCompilerTool" 4746 AdditionalIncludeDirectories="" 4747 PreprocessorDefinitions="" 4748 /> 4749 </FileConfiguration> 4750 <FileConfiguration 3942 4751 Name="Debug|Win32" 3943 4752 > … … 3949 4758 </FileConfiguration> 3950 4759 <FileConfiguration 4760 Name="Debug|x64" 4761 > 4762 <Tool 4763 Name="VCCLCompilerTool" 4764 AdditionalIncludeDirectories="" 4765 PreprocessorDefinitions="" 4766 /> 4767 </FileConfiguration> 4768 <FileConfiguration 3951 4769 Name="Debug-Static|Win32" 3952 4770 > … … 3958 4776 </FileConfiguration> 3959 4777 <FileConfiguration 4778 Name="Debug-Static|x64" 4779 > 4780 <Tool 4781 Name="VCCLCompilerTool" 4782 AdditionalIncludeDirectories="" 4783 PreprocessorDefinitions="" 4784 /> 4785 </FileConfiguration> 4786 <FileConfiguration 3960 4787 Name="Release-Dynamic|Win32" 3961 4788 > … … 3967 4794 </FileConfiguration> 3968 4795 <FileConfiguration 4796 Name="Release-Dynamic|x64" 4797 > 4798 <Tool 4799 Name="VCCLCompilerTool" 4800 AdditionalIncludeDirectories="" 4801 PreprocessorDefinitions="" 4802 /> 4803 </FileConfiguration> 4804 <FileConfiguration 3969 4805 Name="Debug-Dynamic|Win32" 3970 4806 > … … 3976 4812 </FileConfiguration> 3977 4813 <FileConfiguration 4814 Name="Debug-Dynamic|x64" 4815 > 4816 <Tool 4817 Name="VCCLCompilerTool" 4818 AdditionalIncludeDirectories="" 4819 PreprocessorDefinitions="" 4820 /> 4821 </FileConfiguration> 4822 <FileConfiguration 3978 4823 Name="Release-Static|Win32" 3979 4824 > … … 3985 4830 </FileConfiguration> 3986 4831 <FileConfiguration 4832 Name="Release-Static|x64" 4833 > 4834 <Tool 4835 Name="VCCLCompilerTool" 4836 AdditionalIncludeDirectories="" 4837 PreprocessorDefinitions="" 4838 /> 4839 </FileConfiguration> 4840 </File> 4841 <File 4842 RelativePath="..\src\pjmedia\mem_capture.c" 4843 > 4844 <FileConfiguration 4845 Name="Release|Win32" 4846 > 4847 <Tool 4848 Name="VCCLCompilerTool" 4849 AdditionalIncludeDirectories="" 4850 PreprocessorDefinitions="" 4851 /> 4852 </FileConfiguration> 4853 <FileConfiguration 3987 4854 Name="Release|x64" 3988 4855 > … … 3994 4861 </FileConfiguration> 3995 4862 <FileConfiguration 4863 Name="Debug|Win32" 4864 > 4865 <Tool 4866 Name="VCCLCompilerTool" 4867 AdditionalIncludeDirectories="" 4868 PreprocessorDefinitions="" 4869 /> 4870 </FileConfiguration> 4871 <FileConfiguration 3996 4872 Name="Debug|x64" 3997 4873 > … … 4003 4879 </FileConfiguration> 4004 4880 <FileConfiguration 4881 Name="Debug-Static|Win32" 4882 > 4883 <Tool 4884 Name="VCCLCompilerTool" 4885 AdditionalIncludeDirectories="" 4886 PreprocessorDefinitions="" 4887 /> 4888 </FileConfiguration> 4889 <FileConfiguration 4005 4890 Name="Debug-Static|x64" 4006 4891 > … … 4012 4897 </FileConfiguration> 4013 4898 <FileConfiguration 4899 Name="Release-Dynamic|Win32" 4900 > 4901 <Tool 4902 Name="VCCLCompilerTool" 4903 AdditionalIncludeDirectories="" 4904 PreprocessorDefinitions="" 4905 /> 4906 </FileConfiguration> 4907 <FileConfiguration 4014 4908 Name="Release-Dynamic|x64" 4015 4909 > … … 4021 4915 </FileConfiguration> 4022 4916 <FileConfiguration 4917 Name="Debug-Dynamic|Win32" 4918 > 4919 <Tool 4920 Name="VCCLCompilerTool" 4921 AdditionalIncludeDirectories="" 4922 PreprocessorDefinitions="" 4923 /> 4924 </FileConfiguration> 4925 <FileConfiguration 4023 4926 Name="Debug-Dynamic|x64" 4024 4927 > … … 4030 4933 </FileConfiguration> 4031 4934 <FileConfiguration 4935 Name="Release-Static|Win32" 4936 > 4937 <Tool 4938 Name="VCCLCompilerTool" 4939 AdditionalIncludeDirectories="" 4940 PreprocessorDefinitions="" 4941 /> 4942 </FileConfiguration> 4943 <FileConfiguration 4032 4944 Name="Release-Static|x64" 4033 4945 > … … 4040 4952 </File> 4041 4953 <File 4042 RelativePath="..\src\pjmedia\ echo_speex.c"4954 RelativePath="..\src\pjmedia\mem_player.c" 4043 4955 > 4044 4956 <FileConfiguration … … 4052 4964 </FileConfiguration> 4053 4965 <FileConfiguration 4966 Name="Release|x64" 4967 > 4968 <Tool 4969 Name="VCCLCompilerTool" 4970 AdditionalIncludeDirectories="" 4971 PreprocessorDefinitions="" 4972 /> 4973 </FileConfiguration> 4974 <FileConfiguration 4054 4975 Name="Debug|Win32" 4055 4976 > … … 4061 4982 </FileConfiguration> 4062 4983 <FileConfiguration 4984 Name="Debug|x64" 4985 > 4986 <Tool 4987 Name="VCCLCompilerTool" 4988 AdditionalIncludeDirectories="" 4989 PreprocessorDefinitions="" 4990 /> 4991 </FileConfiguration> 4992 <FileConfiguration 4063 4993 Name="Debug-Static|Win32" 4064 4994 > … … 4070 5000 </FileConfiguration> 4071 5001 <FileConfiguration 5002 Name="Debug-Static|x64" 5003 > 5004 <Tool 5005 Name="VCCLCompilerTool" 5006 AdditionalIncludeDirectories="" 5007 PreprocessorDefinitions="" 5008 /> 5009 </FileConfiguration> 5010 <FileConfiguration 4072 5011 Name="Release-Dynamic|Win32" 4073 5012 > … … 4079 5018 </FileConfiguration> 4080 5019 <FileConfiguration 5020 Name="Release-Dynamic|x64" 5021 > 5022 <Tool 5023 Name="VCCLCompilerTool" 5024 AdditionalIncludeDirectories="" 5025 PreprocessorDefinitions="" 5026 /> 5027 </FileConfiguration> 5028 <FileConfiguration 4081 5029 Name="Debug-Dynamic|Win32" 4082 5030 > … … 4088 5036 </FileConfiguration> 4089 5037 <FileConfiguration 5038 Name="Debug-Dynamic|x64" 5039 > 5040 <Tool 5041 Name="VCCLCompilerTool" 5042 AdditionalIncludeDirectories="" 5043 PreprocessorDefinitions="" 5044 /> 5045 </FileConfiguration> 5046 <FileConfiguration 4090 5047 Name="Release-Static|Win32" 4091 5048 > … … 4097 5054 </FileConfiguration> 4098 5055 <FileConfiguration 5056 Name="Release-Static|x64" 5057 > 5058 <Tool 5059 Name="VCCLCompilerTool" 5060 AdditionalIncludeDirectories="" 5061 PreprocessorDefinitions="" 5062 /> 5063 </FileConfiguration> 5064 </File> 5065 <File 5066 RelativePath="..\src\pjmedia\null_port.c" 5067 > 5068 <FileConfiguration 5069 Name="Release|Win32" 5070 > 5071 <Tool 5072 Name="VCCLCompilerTool" 5073 AdditionalIncludeDirectories="" 5074 PreprocessorDefinitions="" 5075 /> 5076 </FileConfiguration> 5077 <FileConfiguration 4099 5078 Name="Release|x64" 4100 5079 > … … 4106 5085 </FileConfiguration> 4107 5086 <FileConfiguration 5087 Name="Debug|Win32" 5088 > 5089 <Tool 5090 Name="VCCLCompilerTool" 5091 AdditionalIncludeDirectories="" 5092 PreprocessorDefinitions="" 5093 /> 5094 </FileConfiguration> 5095 <FileConfiguration 4108 5096 Name="Debug|x64" 4109 5097 > … … 4115 5103 </FileConfiguration> 4116 5104 <FileConfiguration 5105 Name="Debug-Static|Win32" 5106 > 5107 <Tool 5108 Name="VCCLCompilerTool" 5109 AdditionalIncludeDirectories="" 5110 PreprocessorDefinitions="" 5111 /> 5112 </FileConfiguration> 5113 <FileConfiguration 4117 5114 Name="Debug-Static|x64" 4118 5115 > … … 4124 5121 </FileConfiguration> 4125 5122 <FileConfiguration 5123 Name="Release-Dynamic|Win32" 5124 > 5125 <Tool 5126 Name="VCCLCompilerTool" 5127 AdditionalIncludeDirectories="" 5128 PreprocessorDefinitions="" 5129 /> 5130 </FileConfiguration> 5131 <FileConfiguration 4126 5132 Name="Release-Dynamic|x64" 4127 5133 > … … 4133 5139 </FileConfiguration> 4134 5140 <FileConfiguration 5141 Name="Debug-Dynamic|Win32" 5142 > 5143 <Tool 5144 Name="VCCLCompilerTool" 5145 AdditionalIncludeDirectories="" 5146 PreprocessorDefinitions="" 5147 /> 5148 </FileConfiguration> 5149 <FileConfiguration 4135 5150 Name="Debug-Dynamic|x64" 4136 5151 > … … 4142 5157 </FileConfiguration> 4143 5158 <FileConfiguration 5159 Name="Release-Static|Win32" 5160 > 5161 <Tool 5162 Name="VCCLCompilerTool" 5163 AdditionalIncludeDirectories="" 5164 PreprocessorDefinitions="" 5165 /> 5166 </FileConfiguration> 5167 <FileConfiguration 4144 5168 Name="Release-Static|x64" 4145 5169 > … … 4152 5176 </File> 4153 5177 <File 4154 RelativePath="..\src\pjmedia\ echo_suppress.c"5178 RelativePath="..\src\pjmedia\plc_common.c" 4155 5179 > 4156 5180 <FileConfiguration … … 4164 5188 </FileConfiguration> 4165 5189 <FileConfiguration 5190 Name="Release|x64" 5191 > 5192 <Tool 5193 Name="VCCLCompilerTool" 5194 AdditionalIncludeDirectories="" 5195 PreprocessorDefinitions="" 5196 /> 5197 </FileConfiguration> 5198 <FileConfiguration 4166 5199 Name="Debug|Win32" 4167 5200 > … … 4173 5206 </FileConfiguration> 4174 5207 <FileConfiguration 5208 Name="Debug|x64" 5209 > 5210 <Tool 5211 Name="VCCLCompilerTool" 5212 AdditionalIncludeDirectories="" 5213 PreprocessorDefinitions="" 5214 /> 5215 </FileConfiguration> 5216 <FileConfiguration 4175 5217 Name="Debug-Static|Win32" 4176 5218 > … … 4182 5224 </FileConfiguration> 4183 5225 <FileConfiguration 5226 Name="Debug-Static|x64" 5227 > 5228 <Tool 5229 Name="VCCLCompilerTool" 5230 AdditionalIncludeDirectories="" 5231 PreprocessorDefinitions="" 5232 /> 5233 </FileConfiguration> 5234 <FileConfiguration 4184 5235 Name="Release-Dynamic|Win32" 4185 5236 > … … 4191 5242 </FileConfiguration> 4192 5243 <FileConfiguration 5244 Name="Release-Dynamic|x64" 5245 > 5246 <Tool 5247 Name="VCCLCompilerTool" 5248 AdditionalIncludeDirectories="" 5249 PreprocessorDefinitions="" 5250 /> 5251 </FileConfiguration> 5252 <FileConfiguration 4193 5253 Name="Debug-Dynamic|Win32" 4194 5254 > … … 4200 5260 </FileConfiguration> 4201 5261 <FileConfiguration 5262 Name="Debug-Dynamic|x64" 5263 > 5264 <Tool 5265 Name="VCCLCompilerTool" 5266 AdditionalIncludeDirectories="" 5267 PreprocessorDefinitions="" 5268 /> 5269 </FileConfiguration> 5270 <FileConfiguration 4202 5271 Name="Release-Static|Win32" 4203 5272 > … … 4209 5278 </FileConfiguration> 4210 5279 <FileConfiguration 5280 Name="Release-Static|x64" 5281 > 5282 <Tool 5283 Name="VCCLCompilerTool" 5284 AdditionalIncludeDirectories="" 5285 PreprocessorDefinitions="" 5286 /> 5287 </FileConfiguration> 5288 </File> 5289 <File 5290 RelativePath="..\src\pjmedia\port.c" 5291 > 5292 <FileConfiguration 5293 Name="Release|Win32" 5294 > 5295 <Tool 5296 Name="VCCLCompilerTool" 5297 AdditionalIncludeDirectories="" 5298 PreprocessorDefinitions="" 5299 /> 5300 </FileConfiguration> 5301 <FileConfiguration 4211 5302 Name="Release|x64" 4212 5303 > … … 4218 5309 </FileConfiguration> 4219 5310 <FileConfiguration 5311 Name="Debug|Win32" 5312 > 5313 <Tool 5314 Name="VCCLCompilerTool" 5315 AdditionalIncludeDirectories="" 5316 PreprocessorDefinitions="" 5317 /> 5318 </FileConfiguration> 5319 <FileConfiguration 4220 5320 Name="Debug|x64" 4221 5321 > … … 4227 5327 </FileConfiguration> 4228 5328 <FileConfiguration 5329 Name="Debug-Static|Win32" 5330 > 5331 <Tool 5332 Name="VCCLCompilerTool" 5333 AdditionalIncludeDirectories="" 5334 PreprocessorDefinitions="" 5335 /> 5336 </FileConfiguration> 5337 <FileConfiguration 4229 5338 Name="Debug-Static|x64" 4230 5339 > … … 4236 5345 </FileConfiguration> 4237 5346 <FileConfiguration 5347 Name="Release-Dynamic|Win32" 5348 > 5349 <Tool 5350 Name="VCCLCompilerTool" 5351 AdditionalIncludeDirectories="" 5352 PreprocessorDefinitions="" 5353 /> 5354 </FileConfiguration> 5355 <FileConfiguration 4238 5356 Name="Release-Dynamic|x64" 4239 5357 > … … 4245 5363 </FileConfiguration> 4246 5364 <FileConfiguration 5365 Name="Debug-Dynamic|Win32" 5366 > 5367 <Tool 5368 Name="VCCLCompilerTool" 5369 AdditionalIncludeDirectories="" 5370 PreprocessorDefinitions="" 5371 /> 5372 </FileConfiguration> 5373 <FileConfiguration 4247 5374 Name="Debug-Dynamic|x64" 4248 5375 > … … 4254 5381 </FileConfiguration> 4255 5382 <FileConfiguration 5383 Name="Release-Static|Win32" 5384 > 5385 <Tool 5386 Name="VCCLCompilerTool" 5387 AdditionalIncludeDirectories="" 5388 PreprocessorDefinitions="" 5389 /> 5390 </FileConfiguration> 5391 <FileConfiguration 4256 5392 Name="Release-Static|x64" 4257 5393 > … … 4264 5400 </File> 4265 5401 <File 4266 RelativePath="..\src\pjmedia\ echo_webrtc.c"4267 > 4268 </File> 4269 <File 4270 RelativePath="..\src\pjmedia\ endpoint.c"5402 RelativePath="..\src\pjmedia\resample_libsamplerate.c" 5403 > 5404 </File> 5405 <File 5406 RelativePath="..\src\pjmedia\resample_port.c" 4271 5407 > 4272 5408 <FileConfiguration … … 4280 5416 </FileConfiguration> 4281 5417 <FileConfiguration 5418 Name="Release|x64" 5419 > 5420 <Tool 5421 Name="VCCLCompilerTool" 5422 AdditionalIncludeDirectories="" 5423 PreprocessorDefinitions="" 5424 /> 5425 </FileConfiguration> 5426 <FileConfiguration 4282 5427 Name="Debug|Win32" 4283 5428 > … … 4289 5434 </FileConfiguration> 4290 5435 <FileConfiguration 5436 Name="Debug|x64" 5437 > 5438 <Tool 5439 Name="VCCLCompilerTool" 5440 AdditionalIncludeDirectories="" 5441 PreprocessorDefinitions="" 5442 /> 5443 </FileConfiguration> 5444 <FileConfiguration 4291 5445 Name="Debug-Static|Win32" 4292 5446 > … … 4298 5452 </FileConfiguration> 4299 5453 <FileConfiguration 5454 Name="Debug-Static|x64" 5455 > 5456 <Tool 5457 Name="VCCLCompilerTool" 5458 AdditionalIncludeDirectories="" 5459 PreprocessorDefinitions="" 5460 /> 5461 </FileConfiguration> 5462 <FileConfiguration 4300 5463 Name="Release-Dynamic|Win32" 4301 5464 > … … 4307 5470 </FileConfiguration> 4308 5471 <FileConfiguration 5472 Name="Release-Dynamic|x64" 5473 > 5474 <Tool 5475 Name="VCCLCompilerTool" 5476 AdditionalIncludeDirectories="" 5477 PreprocessorDefinitions="" 5478 /> 5479 </FileConfiguration> 5480 <FileConfiguration 4309 5481 Name="Debug-Dynamic|Win32" 4310 5482 > … … 4316 5488 </FileConfiguration> 4317 5489 <FileConfiguration 5490 Name="Debug-Dynamic|x64" 5491 > 5492 <Tool 5493 Name="VCCLCompilerTool" 5494 AdditionalIncludeDirectories="" 5495 PreprocessorDefinitions="" 5496 /> 5497 </FileConfiguration> 5498 <FileConfiguration 4318 5499 Name="Release-Static|Win32" 4319 5500 > … … 4325 5506 </FileConfiguration> 4326 5507 <FileConfiguration 5508 Name="Release-Static|x64" 5509 > 5510 <Tool 5511 Name="VCCLCompilerTool" 5512 AdditionalIncludeDirectories="" 5513 PreprocessorDefinitions="" 5514 /> 5515 </FileConfiguration> 5516 </File> 5517 <File 5518 RelativePath="..\src\pjmedia\resample_resample.c" 5519 > 5520 </File> 5521 <File 5522 RelativePath="..\src\pjmedia\resample_speex.c" 5523 > 5524 </File> 5525 <File 5526 RelativePath="..\src\pjmedia\rtcp.c" 5527 > 5528 <FileConfiguration 5529 Name="Release|Win32" 5530 > 5531 <Tool 5532 Name="VCCLCompilerTool" 5533 AdditionalIncludeDirectories="" 5534 PreprocessorDefinitions="" 5535 /> 5536 </FileConfiguration> 5537 <FileConfiguration 4327 5538 Name="Release|x64" 4328 5539 > … … 4334 5545 </FileConfiguration> 4335 5546 <FileConfiguration 5547 Name="Debug|Win32" 5548 > 5549 <Tool 5550 Name="VCCLCompilerTool" 5551 AdditionalIncludeDirectories="" 5552 PreprocessorDefinitions="" 5553 /> 5554 </FileConfiguration> 5555 <FileConfiguration 4336 5556 Name="Debug|x64" 4337 5557 > … … 4343 5563 </FileConfiguration> 4344 5564 <FileConfiguration 5565 Name="Debug-Static|Win32" 5566 > 5567 <Tool 5568 Name="VCCLCompilerTool" 5569 AdditionalIncludeDirectories="" 5570 PreprocessorDefinitions="" 5571 /> 5572 </FileConfiguration> 5573 <FileConfiguration 4345 5574 Name="Debug-Static|x64" 4346 5575 > … … 4352 5581 </FileConfiguration> 4353 5582 <FileConfiguration 5583 Name="Release-Dynamic|Win32" 5584 > 5585 <Tool 5586 Name="VCCLCompilerTool" 5587 AdditionalIncludeDirectories="" 5588 PreprocessorDefinitions="" 5589 /> 5590 </FileConfiguration> 5591 <FileConfiguration 4354 5592 Name="Release-Dynamic|x64" 4355 5593 > … … 4361 5599 </FileConfiguration> 4362 5600 <FileConfiguration 5601 Name="Debug-Dynamic|Win32" 5602 > 5603 <Tool 5604 Name="VCCLCompilerTool" 5605 AdditionalIncludeDirectories="" 5606 PreprocessorDefinitions="" 5607 /> 5608 </FileConfiguration> 5609 <FileConfiguration 4363 5610 Name="Debug-Dynamic|x64" 4364 5611 > … … 4370 5617 </FileConfiguration> 4371 5618 <FileConfiguration 5619 Name="Release-Static|Win32" 5620 > 5621 <Tool 5622 Name="VCCLCompilerTool" 5623 AdditionalIncludeDirectories="" 5624 PreprocessorDefinitions="" 5625 /> 5626 </FileConfiguration> 5627 <FileConfiguration 4372 5628 Name="Release-Static|x64" 4373 5629 > … … 4380 5636 </File> 4381 5637 <File 4382 RelativePath="..\src\pjmedia\errno.c" 5638 RelativePath="..\src\pjmedia\rtcp_xr.c" 5639 > 5640 </File> 5641 <File 5642 RelativePath="..\src\pjmedia\rtp.c" 4383 5643 > 4384 5644 <FileConfiguration … … 4392 5652 </FileConfiguration> 4393 5653 <FileConfiguration 5654 Name="Release|x64" 5655 > 5656 <Tool 5657 Name="VCCLCompilerTool" 5658 AdditionalIncludeDirectories="" 5659 PreprocessorDefinitions="" 5660 /> 5661 </FileConfiguration> 5662 <FileConfiguration 4394 5663 Name="Debug|Win32" 4395 5664 > … … 4401 5670 </FileConfiguration> 4402 5671 <FileConfiguration 5672 Name="Debug|x64" 5673 > 5674 <Tool 5675 Name="VCCLCompilerTool" 5676 AdditionalIncludeDirectories="" 5677 PreprocessorDefinitions="" 5678 /> 5679 </FileConfiguration> 5680 <FileConfiguration 4403 5681 Name="Debug-Static|Win32" 4404 5682 > … … 4410 5688 </FileConfiguration> 4411 5689 <FileConfiguration 5690 Name="Debug-Static|x64" 5691 > 5692 <Tool 5693 Name="VCCLCompilerTool" 5694 AdditionalIncludeDirectories="" 5695 PreprocessorDefinitions="" 5696 /> 5697 </FileConfiguration> 5698 <FileConfiguration 4412 5699 Name="Release-Dynamic|Win32" 4413 5700 > … … 4419 5706 </FileConfiguration> 4420 5707 <FileConfiguration 5708 Name="Release-Dynamic|x64" 5709 > 5710 <Tool 5711 Name="VCCLCompilerTool" 5712 AdditionalIncludeDirectories="" 5713 PreprocessorDefinitions="" 5714 /> 5715 </FileConfiguration> 5716 <FileConfiguration 4421 5717 Name="Debug-Dynamic|Win32" 4422 5718 > … … 4428 5724 </FileConfiguration> 4429 5725 <FileConfiguration 5726 Name="Debug-Dynamic|x64" 5727 > 5728 <Tool 5729 Name="VCCLCompilerTool" 5730 AdditionalIncludeDirectories="" 5731 PreprocessorDefinitions="" 5732 /> 5733 </FileConfiguration> 5734 <FileConfiguration 4430 5735 Name="Release-Static|Win32" 4431 5736 > … … 4437 5742 </FileConfiguration> 4438 5743 <FileConfiguration 5744 Name="Release-Static|x64" 5745 > 5746 <Tool 5747 Name="VCCLCompilerTool" 5748 AdditionalIncludeDirectories="" 5749 PreprocessorDefinitions="" 5750 /> 5751 </FileConfiguration> 5752 </File> 5753 <File 5754 RelativePath="..\src\pjmedia\sdp.c" 5755 > 5756 <FileConfiguration 5757 Name="Release|Win32" 5758 > 5759 <Tool 5760 Name="VCCLCompilerTool" 5761 AdditionalIncludeDirectories="" 5762 PreprocessorDefinitions="" 5763 /> 5764 </FileConfiguration> 5765 <FileConfiguration 4439 5766 Name="Release|x64" 4440 5767 > … … 4446 5773 </FileConfiguration> 4447 5774 <FileConfiguration 5775 Name="Debug|Win32" 5776 > 5777 <Tool 5778 Name="VCCLCompilerTool" 5779 AdditionalIncludeDirectories="" 5780 PreprocessorDefinitions="" 5781 /> 5782 </FileConfiguration> 5783 <FileConfiguration 4448 5784 Name="Debug|x64" 4449 5785 > … … 4455 5791 </FileConfiguration> 4456 5792 <FileConfiguration 5793 Name="Debug-Static|Win32" 5794 > 5795 <Tool 5796 Name="VCCLCompilerTool" 5797 AdditionalIncludeDirectories="" 5798 PreprocessorDefinitions="" 5799 /> 5800 </FileConfiguration> 5801 <FileConfiguration 4457 5802 Name="Debug-Static|x64" 4458 5803 > … … 4464 5809 </FileConfiguration> 4465 5810 <FileConfiguration 5811 Name="Release-Dynamic|Win32" 5812 > 5813 <Tool 5814 Name="VCCLCompilerTool" 5815 AdditionalIncludeDirectories="" 5816 PreprocessorDefinitions="" 5817 /> 5818 </FileConfiguration> 5819 <FileConfiguration 4466 5820 Name="Release-Dynamic|x64" 4467 5821 > … … 4473 5827 </FileConfiguration> 4474 5828 <FileConfiguration 5829 Name="Debug-Dynamic|Win32" 5830 > 5831 <Tool 5832 Name="VCCLCompilerTool" 5833 AdditionalIncludeDirectories="" 5834 PreprocessorDefinitions="" 5835 /> 5836 </FileConfiguration> 5837 <FileConfiguration 4475 5838 Name="Debug-Dynamic|x64" 4476 5839 > … … 4482 5845 </FileConfiguration> 4483 5846 <FileConfiguration 5847 Name="Release-Static|Win32" 5848 > 5849 <Tool 5850 Name="VCCLCompilerTool" 5851 AdditionalIncludeDirectories="" 5852 PreprocessorDefinitions="" 5853 /> 5854 </FileConfiguration> 5855 <FileConfiguration 4484 5856 Name="Release-Static|x64" 4485 5857 > … … 4492 5864 </File> 4493 5865 <File 4494 RelativePath="..\src\pjmedia\event.c" 4495 > 4496 </File> 4497 <File 4498 RelativePath="..\src\pjmedia\ffmpeg_util.c" 4499 > 4500 </File> 4501 <File 4502 RelativePath="..\src\pjmedia\format.c" 4503 > 4504 </File> 4505 <File 4506 RelativePath="..\src\pjmedia\g711.c" 5866 RelativePath="..\src\pjmedia\sdp_cmp.c" 4507 5867 > 4508 5868 <FileConfiguration … … 4516 5876 </FileConfiguration> 4517 5877 <FileConfiguration 5878 Name="Release|x64" 5879 > 5880 <Tool 5881 Name="VCCLCompilerTool" 5882 AdditionalIncludeDirectories="" 5883 PreprocessorDefinitions="" 5884 /> 5885 </FileConfiguration> 5886 <FileConfiguration 4518 5887 Name="Debug|Win32" 4519 5888 > … … 4525 5894 </FileConfiguration> 4526 5895 <FileConfiguration 5896 Name="Debug|x64" 5897 > 5898 <Tool 5899 Name="VCCLCompilerTool" 5900 AdditionalIncludeDirectories="" 5901 PreprocessorDefinitions="" 5902 /> 5903 </FileConfiguration> 5904 <FileConfiguration 4527 5905 Name="Debug-Static|Win32" 4528 5906 > … … 4534 5912 </FileConfiguration> 4535 5913 <FileConfiguration 5914 Name="Debug-Static|x64" 5915 > 5916 <Tool 5917 Name="VCCLCompilerTool" 5918 AdditionalIncludeDirectories="" 5919 PreprocessorDefinitions="" 5920 /> 5921 </FileConfiguration> 5922 <FileConfiguration 4536 5923 Name="Release-Dynamic|Win32" 4537 5924 > … … 4543 5930 </FileConfiguration> 4544 5931 <FileConfiguration 5932 Name="Release-Dynamic|x64" 5933 > 5934 <Tool 5935 Name="VCCLCompilerTool" 5936 AdditionalIncludeDirectories="" 5937 PreprocessorDefinitions="" 5938 /> 5939 </FileConfiguration> 5940 <FileConfiguration 4545 5941 Name="Debug-Dynamic|Win32" 4546 5942 > … … 4552 5948 </FileConfiguration> 4553 5949 <FileConfiguration 5950 Name="Debug-Dynamic|x64" 5951 > 5952 <Tool 5953 Name="VCCLCompilerTool" 5954 AdditionalIncludeDirectories="" 5955 PreprocessorDefinitions="" 5956 /> 5957 </FileConfiguration> 5958 <FileConfiguration 4554 5959 Name="Release-Static|Win32" 4555 5960 > … … 4561 5966 </FileConfiguration> 4562 5967 <FileConfiguration 5968 Name="Release-Static|x64" 5969 > 5970 <Tool 5971 Name="VCCLCompilerTool" 5972 AdditionalIncludeDirectories="" 5973 PreprocessorDefinitions="" 5974 /> 5975 </FileConfiguration> 5976 </File> 5977 <File 5978 RelativePath="..\src\pjmedia\sdp_neg.c" 5979 > 5980 <FileConfiguration 5981 Name="Release|Win32" 5982 > 5983 <Tool 5984 Name="VCCLCompilerTool" 5985 AdditionalIncludeDirectories="" 5986 PreprocessorDefinitions="" 5987 /> 5988 </FileConfiguration> 5989 <FileConfiguration 4563 5990 Name="Release|x64" 4564 5991 > … … 4570 5997 </FileConfiguration> 4571 5998 <FileConfiguration 5999 Name="Debug|Win32" 6000 > 6001 <Tool 6002 Name="VCCLCompilerTool" 6003 AdditionalIncludeDirectories="" 6004 PreprocessorDefinitions="" 6005 /> 6006 </FileConfiguration> 6007 <FileConfiguration 4572 6008 Name="Debug|x64" 4573 6009 > … … 4579 6015 </FileConfiguration> 4580 6016 <FileConfiguration 6017 Name="Debug-Static|Win32" 6018 > 6019 <Tool 6020 Name="VCCLCompilerTool" 6021 AdditionalIncludeDirectories="" 6022 PreprocessorDefinitions="" 6023 /> 6024 </FileConfiguration> 6025 <FileConfiguration 4581 6026 Name="Debug-Static|x64" 4582 6027 > … … 4588 6033 </FileConfiguration> 4589 6034 <FileConfiguration 6035 Name="Release-Dynamic|Win32" 6036 > 6037 <Tool 6038 Name="VCCLCompilerTool" 6039 AdditionalIncludeDirectories="" 6040 PreprocessorDefinitions="" 6041 /> 6042 </FileConfiguration> 6043 <FileConfiguration 4590 6044 Name="Release-Dynamic|x64" 4591 6045 > … … 4597 6051 </FileConfiguration> 4598 6052 <FileConfiguration 6053 Name="Debug-Dynamic|Win32" 6054 > 6055 <Tool 6056 Name="VCCLCompilerTool" 6057 AdditionalIncludeDirectories="" 6058 PreprocessorDefinitions="" 6059 /> 6060 </FileConfiguration> 6061 <FileConfiguration 4599 6062 Name="Debug-Dynamic|x64" 4600 6063 > … … 4606 6069 </FileConfiguration> 4607 6070 <FileConfiguration 6071 Name="Release-Static|Win32" 6072 > 6073 <Tool 6074 Name="VCCLCompilerTool" 6075 AdditionalIncludeDirectories="" 6076 PreprocessorDefinitions="" 6077 /> 6078 </FileConfiguration> 6079 <FileConfiguration 4608 6080 Name="Release-Static|x64" 4609 6081 > … … 4616 6088 </File> 4617 6089 <File 4618 RelativePath="..\src\pjmedia\ jbuf.c"6090 RelativePath="..\src\pjmedia\silencedet.c" 4619 6091 > 4620 6092 <FileConfiguration … … 4628 6100 </FileConfiguration> 4629 6101 <FileConfiguration 6102 Name="Release|x64" 6103 > 6104 <Tool 6105 Name="VCCLCompilerTool" 6106 AdditionalIncludeDirectories="" 6107 PreprocessorDefinitions="" 6108 /> 6109 </FileConfiguration> 6110 <FileConfiguration 4630 6111 Name="Debug|Win32" 4631 6112 > … … 4637 6118 </FileConfiguration> 4638 6119 <FileConfiguration 6120 Name="Debug|x64" 6121 > 6122 <Tool 6123 Name="VCCLCompilerTool" 6124 AdditionalIncludeDirectories="" 6125 PreprocessorDefinitions="" 6126 /> 6127 </FileConfiguration> 6128 <FileConfiguration 4639 6129 Name="Debug-Static|Win32" 4640 6130 > … … 4646 6136 </FileConfiguration> 4647 6137 <FileConfiguration 6138 Name="Debug-Static|x64" 6139 > 6140 <Tool 6141 Name="VCCLCompilerTool" 6142 AdditionalIncludeDirectories="" 6143 PreprocessorDefinitions="" 6144 /> 6145 </FileConfiguration> 6146 <FileConfiguration 4648 6147 Name="Release-Dynamic|Win32" 4649 6148 > … … 4655 6154 </FileConfiguration> 4656 6155 <FileConfiguration 6156 Name="Release-Dynamic|x64" 6157 > 6158 <Tool 6159 Name="VCCLCompilerTool" 6160 AdditionalIncludeDirectories="" 6161 PreprocessorDefinitions="" 6162 /> 6163 </FileConfiguration> 6164 <FileConfiguration 4657 6165 Name="Debug-Dynamic|Win32" 4658 6166 > … … 4664 6172 </FileConfiguration> 4665 6173 <FileConfiguration 6174 Name="Debug-Dynamic|x64" 6175 > 6176 <Tool 6177 Name="VCCLCompilerTool" 6178 AdditionalIncludeDirectories="" 6179 PreprocessorDefinitions="" 6180 /> 6181 </FileConfiguration> 6182 <FileConfiguration 4666 6183 Name="Release-Static|Win32" 4667 6184 > … … 4673 6190 </FileConfiguration> 4674 6191 <FileConfiguration 6192 Name="Release-Static|x64" 6193 > 6194 <Tool 6195 Name="VCCLCompilerTool" 6196 AdditionalIncludeDirectories="" 6197 PreprocessorDefinitions="" 6198 /> 6199 </FileConfiguration> 6200 </File> 6201 <File 6202 RelativePath="..\src\pjmedia\sound_legacy.c" 6203 > 6204 </File> 6205 <File 6206 RelativePath="..\src\pjmedia\sound_port.c" 6207 > 6208 <FileConfiguration 6209 Name="Release|Win32" 6210 > 6211 <Tool 6212 Name="VCCLCompilerTool" 6213 AdditionalIncludeDirectories="" 6214 PreprocessorDefinitions="" 6215 /> 6216 </FileConfiguration> 6217 <FileConfiguration 4675 6218 Name="Release|x64" 4676 6219 > … … 4682 6225 </FileConfiguration> 4683 6226 <FileConfiguration 6227 Name="Debug|Win32" 6228 > 6229 <Tool 6230 Name="VCCLCompilerTool" 6231 AdditionalIncludeDirectories="" 6232 PreprocessorDefinitions="" 6233 /> 6234 </FileConfiguration> 6235 <FileConfiguration 4684 6236 Name="Debug|x64" 4685 6237 > … … 4691 6243 </FileConfiguration> 4692 6244 <FileConfiguration 6245 Name="Debug-Static|Win32" 6246 > 6247 <Tool 6248 Name="VCCLCompilerTool" 6249 AdditionalIncludeDirectories="" 6250 PreprocessorDefinitions="" 6251 /> 6252 </FileConfiguration> 6253 <FileConfiguration 4693 6254 Name="Debug-Static|x64" 4694 6255 > … … 4700 6261 </FileConfiguration> 4701 6262 <FileConfiguration 6263 Name="Release-Dynamic|Win32" 6264 > 6265 <Tool 6266 Name="VCCLCompilerTool" 6267 AdditionalIncludeDirectories="" 6268 PreprocessorDefinitions="" 6269 /> 6270 </FileConfiguration> 6271 <FileConfiguration 4702 6272 Name="Release-Dynamic|x64" 4703 6273 > … … 4709 6279 </FileConfiguration> 4710 6280 <FileConfiguration 6281 Name="Debug-Dynamic|Win32" 6282 > 6283 <Tool 6284 Name="VCCLCompilerTool" 6285 AdditionalIncludeDirectories="" 6286 PreprocessorDefinitions="" 6287 /> 6288 </FileConfiguration> 6289 <FileConfiguration 4711 6290 Name="Debug-Dynamic|x64" 4712 6291 > … … 4718 6297 </FileConfiguration> 4719 6298 <FileConfiguration 6299 Name="Release-Static|Win32" 6300 > 6301 <Tool 6302 Name="VCCLCompilerTool" 6303 AdditionalIncludeDirectories="" 6304 PreprocessorDefinitions="" 6305 /> 6306 </FileConfiguration> 6307 <FileConfiguration 4720 6308 Name="Release-Static|x64" 4721 6309 > … … 4728 6316 </File> 4729 6317 <File 4730 RelativePath="..\src\pjmedia\ master_port.c"6318 RelativePath="..\src\pjmedia\splitcomb.c" 4731 6319 > 4732 6320 <FileConfiguration … … 4740 6328 </FileConfiguration> 4741 6329 <FileConfiguration 6330 Name="Release|x64" 6331 > 6332 <Tool 6333 Name="VCCLCompilerTool" 6334 AdditionalIncludeDirectories="" 6335 PreprocessorDefinitions="" 6336 /> 6337 </FileConfiguration> 6338 <FileConfiguration 4742 6339 Name="Debug|Win32" 4743 6340 > … … 4749 6346 </FileConfiguration> 4750 6347 <FileConfiguration 6348 Name="Debug|x64" 6349 > 6350 <Tool 6351 Name="VCCLCompilerTool" 6352 AdditionalIncludeDirectories="" 6353 PreprocessorDefinitions="" 6354 /> 6355 </FileConfiguration> 6356 <FileConfiguration 4751 6357 Name="Debug-Static|Win32" 4752 6358 > … … 4758 6364 </FileConfiguration> 4759 6365 <FileConfiguration 6366 Name="Debug-Static|x64" 6367 > 6368 <Tool 6369 Name="VCCLCompilerTool" 6370 AdditionalIncludeDirectories="" 6371 PreprocessorDefinitions="" 6372 /> 6373 </FileConfiguration> 6374 <FileConfiguration 4760 6375 Name="Release-Dynamic|Win32" 4761 6376 > … … 4767 6382 </FileConfiguration> 4768 6383 <FileConfiguration 6384 Name="Release-Dynamic|x64" 6385 > 6386 <Tool 6387 Name="VCCLCompilerTool" 6388 AdditionalIncludeDirectories="" 6389 PreprocessorDefinitions="" 6390 /> 6391 </FileConfiguration> 6392 <FileConfiguration 4769 6393 Name="Debug-Dynamic|Win32" 4770 6394 > … … 4776 6400 </FileConfiguration> 4777 6401 <FileConfiguration 6402 Name="Debug-Dynamic|x64" 6403 > 6404 <Tool 6405 Name="VCCLCompilerTool" 6406 AdditionalIncludeDirectories="" 6407 PreprocessorDefinitions="" 6408 /> 6409 </FileConfiguration> 6410 <FileConfiguration 4778 6411 Name="Release-Static|Win32" 4779 6412 > … … 4785 6418 </FileConfiguration> 4786 6419 <FileConfiguration 6420 Name="Release-Static|x64" 6421 > 6422 <Tool 6423 Name="VCCLCompilerTool" 6424 AdditionalIncludeDirectories="" 6425 PreprocessorDefinitions="" 6426 /> 6427 </FileConfiguration> 6428 </File> 6429 <File 6430 RelativePath="..\src\pjmedia\stereo_port.c" 6431 > 6432 </File> 6433 <File 6434 RelativePath="..\src\pjmedia\stream.c" 6435 > 6436 <FileConfiguration 6437 Name="Release|Win32" 6438 > 6439 <Tool 6440 Name="VCCLCompilerTool" 6441 AdditionalIncludeDirectories="" 6442 PreprocessorDefinitions="" 6443 /> 6444 </FileConfiguration> 6445 <FileConfiguration 4787 6446 Name="Release|x64" 4788 6447 > … … 4794 6453 </FileConfiguration> 4795 6454 <FileConfiguration 6455 Name="Debug|Win32" 6456 > 6457 <Tool 6458 Name="VCCLCompilerTool" 6459 AdditionalIncludeDirectories="" 6460 PreprocessorDefinitions="" 6461 /> 6462 </FileConfiguration> 6463 <FileConfiguration 4796 6464 Name="Debug|x64" 4797 6465 > … … 4803 6471 </FileConfiguration> 4804 6472 <FileConfiguration 6473 Name="Debug-Static|Win32" 6474 > 6475 <Tool 6476 Name="VCCLCompilerTool" 6477 AdditionalIncludeDirectories="" 6478 PreprocessorDefinitions="" 6479 /> 6480 </FileConfiguration> 6481 <FileConfiguration 4805 6482 Name="Debug-Static|x64" 4806 6483 > … … 4812 6489 </FileConfiguration> 4813 6490 <FileConfiguration 6491 Name="Release-Dynamic|Win32" 6492 > 6493 <Tool 6494 Name="VCCLCompilerTool" 6495 AdditionalIncludeDirectories="" 6496 PreprocessorDefinitions="" 6497 /> 6498 </FileConfiguration> 6499 <FileConfiguration 4814 6500 Name="Release-Dynamic|x64" 4815 6501 > … … 4821 6507 </FileConfiguration> 4822 6508 <FileConfiguration 6509 Name="Debug-Dynamic|Win32" 6510 > 6511 <Tool 6512 Name="VCCLCompilerTool" 6513 AdditionalIncludeDirectories="" 6514 PreprocessorDefinitions="" 6515 /> 6516 </FileConfiguration> 6517 <FileConfiguration 4823 6518 Name="Debug-Dynamic|x64" 4824 6519 > … … 4830 6525 </FileConfiguration> 4831 6526 <FileConfiguration 6527 Name="Release-Static|Win32" 6528 > 6529 <Tool 6530 Name="VCCLCompilerTool" 6531 AdditionalIncludeDirectories="" 6532 PreprocessorDefinitions="" 6533 /> 6534 </FileConfiguration> 6535 <FileConfiguration 4832 6536 Name="Release-Static|x64" 4833 6537 > … … 4840 6544 </File> 4841 6545 <File 4842 RelativePath="..\src\pjmedia\mem_capture.c" 6546 RelativePath="..\src\pjmedia\stream_common.c" 6547 > 6548 </File> 6549 <File 6550 RelativePath="..\src\pjmedia\stream_info.c" 6551 > 6552 </File> 6553 <File 6554 RelativePath="..\src\pjmedia\tonegen.c" 4843 6555 > 4844 6556 <FileConfiguration … … 4852 6564 </FileConfiguration> 4853 6565 <FileConfiguration 6566 Name="Release|x64" 6567 > 6568 <Tool 6569 Name="VCCLCompilerTool" 6570 AdditionalIncludeDirectories="" 6571 PreprocessorDefinitions="" 6572 /> 6573 </FileConfiguration> 6574 <FileConfiguration 4854 6575 Name="Debug|Win32" 4855 6576 > … … 4861 6582 </FileConfiguration> 4862 6583 <FileConfiguration 6584 Name="Debug|x64" 6585 > 6586 <Tool 6587 Name="VCCLCompilerTool" 6588 AdditionalIncludeDirectories="" 6589 PreprocessorDefinitions="" 6590 /> 6591 </FileConfiguration> 6592 <FileConfiguration 4863 6593 Name="Debug-Static|Win32" 4864 6594 > … … 4870 6600 </FileConfiguration> 4871 6601 <FileConfiguration 6602 Name="Debug-Static|x64" 6603 > 6604 <Tool 6605 Name="VCCLCompilerTool" 6606 AdditionalIncludeDirectories="" 6607 PreprocessorDefinitions="" 6608 /> 6609 </FileConfiguration> 6610 <FileConfiguration 4872 6611 Name="Release-Dynamic|Win32" 4873 6612 > … … 4879 6618 </FileConfiguration> 4880 6619 <FileConfiguration 6620 Name="Release-Dynamic|x64" 6621 > 6622 <Tool 6623 Name="VCCLCompilerTool" 6624 AdditionalIncludeDirectories="" 6625 PreprocessorDefinitions="" 6626 /> 6627 </FileConfiguration> 6628 <FileConfiguration 4881 6629 Name="Debug-Dynamic|Win32" 4882 6630 > … … 4888 6636 </FileConfiguration> 4889 6637 <FileConfiguration 6638 Name="Debug-Dynamic|x64" 6639 > 6640 <Tool 6641 Name="VCCLCompilerTool" 6642 AdditionalIncludeDirectories="" 6643 PreprocessorDefinitions="" 6644 /> 6645 </FileConfiguration> 6646 <FileConfiguration 4890 6647 Name="Release-Static|Win32" 4891 6648 > … … 4897 6654 </FileConfiguration> 4898 6655 <FileConfiguration 6656 Name="Release-Static|x64" 6657 > 6658 <Tool 6659 Name="VCCLCompilerTool" 6660 AdditionalIncludeDirectories="" 6661 PreprocessorDefinitions="" 6662 /> 6663 </FileConfiguration> 6664 </File> 6665 <File 6666 RelativePath="..\src\pjmedia\transport_adapter_sample.c" 6667 > 6668 </File> 6669 <File 6670 RelativePath="..\src\pjmedia\transport_ice.c" 6671 > 6672 </File> 6673 <File 6674 RelativePath="..\src\pjmedia\transport_loop.c" 6675 > 6676 </File> 6677 <File 6678 RelativePath="..\src\pjmedia\transport_srtp.c" 6679 > 6680 </File> 6681 <File 6682 RelativePath="..\src\pjmedia\transport_srtp_dtls.c" 6683 > 6684 <FileConfiguration 6685 Name="Release|Win32" 6686 ExcludedFromBuild="true" 6687 > 6688 <Tool 6689 Name="VCCLCompilerTool" 6690 /> 6691 </FileConfiguration> 6692 <FileConfiguration 4899 6693 Name="Release|x64" 4900 > 4901 <Tool 4902 Name="VCCLCompilerTool" 4903 AdditionalIncludeDirectories="" 4904 PreprocessorDefinitions="" 6694 ExcludedFromBuild="true" 6695 > 6696 <Tool 6697 Name="VCCLCompilerTool" 6698 /> 6699 </FileConfiguration> 6700 <FileConfiguration 6701 Name="Debug|Win32" 6702 ExcludedFromBuild="true" 6703 > 6704 <Tool 6705 Name="VCCLCompilerTool" 4905 6706 /> 4906 6707 </FileConfiguration> 4907 6708 <FileConfiguration 4908 6709 Name="Debug|x64" 4909 > 4910 <Tool 4911 Name="VCCLCompilerTool" 4912 AdditionalIncludeDirectories="" 4913 PreprocessorDefinitions="" 6710 ExcludedFromBuild="true" 6711 > 6712 <Tool 6713 Name="VCCLCompilerTool" 6714 /> 6715 </FileConfiguration> 6716 <FileConfiguration 6717 Name="Debug-Static|Win32" 6718 ExcludedFromBuild="true" 6719 > 6720 <Tool 6721 Name="VCCLCompilerTool" 4914 6722 /> 4915 6723 </FileConfiguration> 4916 6724 <FileConfiguration 4917 6725 Name="Debug-Static|x64" 4918 > 4919 <Tool 4920 Name="VCCLCompilerTool" 4921 AdditionalIncludeDirectories="" 4922 PreprocessorDefinitions="" 6726 ExcludedFromBuild="true" 6727 > 6728 <Tool 6729 Name="VCCLCompilerTool" 6730 /> 6731 </FileConfiguration> 6732 <FileConfiguration 6733 Name="Release-Dynamic|Win32" 6734 ExcludedFromBuild="true" 6735 > 6736 <Tool 6737 Name="VCCLCompilerTool" 4923 6738 /> 4924 6739 </FileConfiguration> 4925 6740 <FileConfiguration 4926 6741 Name="Release-Dynamic|x64" 4927 > 4928 <Tool 4929 Name="VCCLCompilerTool" 4930 AdditionalIncludeDirectories="" 4931 PreprocessorDefinitions="" 6742 ExcludedFromBuild="true" 6743 > 6744 <Tool 6745 Name="VCCLCompilerTool" 6746 /> 6747 </FileConfiguration> 6748 <FileConfiguration 6749 Name="Debug-Dynamic|Win32" 6750 ExcludedFromBuild="true" 6751 > 6752 <Tool 6753 Name="VCCLCompilerTool" 4932 6754 /> 4933 6755 </FileConfiguration> 4934 6756 <FileConfiguration 4935 6757 Name="Debug-Dynamic|x64" 4936 > 4937 <Tool 4938 Name="VCCLCompilerTool" 4939 AdditionalIncludeDirectories="" 4940 PreprocessorDefinitions="" 6758 ExcludedFromBuild="true" 6759 > 6760 <Tool 6761 Name="VCCLCompilerTool" 6762 /> 6763 </FileConfiguration> 6764 <FileConfiguration 6765 Name="Release-Static|Win32" 6766 ExcludedFromBuild="true" 6767 > 6768 <Tool 6769 Name="VCCLCompilerTool" 4941 6770 /> 4942 6771 </FileConfiguration> 4943 6772 <FileConfiguration 4944 6773 Name="Release-Static|x64" 4945 > 4946 <Tool 4947 Name="VCCLCompilerTool" 4948 AdditionalIncludeDirectories="" 4949 PreprocessorDefinitions="" 4950 /> 4951 </FileConfiguration> 4952 </File> 4953 <File 4954 RelativePath="..\src\pjmedia\mem_player.c" 6774 ExcludedFromBuild="true" 6775 > 6776 <Tool 6777 Name="VCCLCompilerTool" 6778 /> 6779 </FileConfiguration> 6780 </File> 6781 <File 6782 RelativePath="..\src\pjmedia\transport_srtp_sdes.c" 4955 6783 > 4956 6784 <FileConfiguration 4957 6785 Name="Release|Win32" 4958 > 4959 <Tool 4960 Name="VCCLCompilerTool" 4961 AdditionalIncludeDirectories="" 4962 PreprocessorDefinitions="" 6786 ExcludedFromBuild="true" 6787 > 6788 <Tool 6789 Name="VCCLCompilerTool" 6790 /> 6791 </FileConfiguration> 6792 <FileConfiguration 6793 Name="Release|x64" 6794 ExcludedFromBuild="true" 6795 > 6796 <Tool 6797 Name="VCCLCompilerTool" 4963 6798 /> 4964 6799 </FileConfiguration> 4965 6800 <FileConfiguration 4966 6801 Name="Debug|Win32" 4967 > 4968 <Tool 4969 Name="VCCLCompilerTool" 4970 AdditionalIncludeDirectories="" 4971 PreprocessorDefinitions="" 6802 ExcludedFromBuild="true" 6803 > 6804 <Tool 6805 Name="VCCLCompilerTool" 6806 /> 6807 </FileConfiguration> 6808 <FileConfiguration 6809 Name="Debug|x64" 6810 ExcludedFromBuild="true" 6811 > 6812 <Tool 6813 Name="VCCLCompilerTool" 4972 6814 /> 4973 6815 </FileConfiguration> 4974 6816 <FileConfiguration 4975 6817 Name="Debug-Static|Win32" 4976 > 4977 <Tool 4978 Name="VCCLCompilerTool" 4979 AdditionalIncludeDirectories="" 4980 PreprocessorDefinitions="" 6818 ExcludedFromBuild="true" 6819 > 6820 <Tool 6821 Name="VCCLCompilerTool" 6822 /> 6823 </FileConfiguration> 6824 <FileConfiguration 6825 Name="Debug-Static|x64" 6826 ExcludedFromBuild="true" 6827 > 6828 <Tool 6829 Name="VCCLCompilerTool" 4981 6830 /> 4982 6831 </FileConfiguration> 4983 6832 <FileConfiguration 4984 6833 Name="Release-Dynamic|Win32" 4985 > 4986 <Tool 4987 Name="VCCLCompilerTool" 4988 AdditionalIncludeDirectories="" 4989 PreprocessorDefinitions="" 6834 ExcludedFromBuild="true" 6835 > 6836 <Tool 6837 Name="VCCLCompilerTool" 6838 /> 6839 </FileConfiguration> 6840 <FileConfiguration 6841 Name="Release-Dynamic|x64" 6842 ExcludedFromBuild="true" 6843 > 6844 <Tool 6845 Name="VCCLCompilerTool" 4990 6846 /> 4991 6847 </FileConfiguration> 4992 6848 <FileConfiguration 4993 6849 Name="Debug-Dynamic|Win32" 4994 > 4995 <Tool 4996 Name="VCCLCompilerTool" 4997 AdditionalIncludeDirectories="" 4998 PreprocessorDefinitions="" 6850 ExcludedFromBuild="true" 6851 > 6852 <Tool 6853 Name="VCCLCompilerTool" 6854 /> 6855 </FileConfiguration> 6856 <FileConfiguration 6857 Name="Debug-Dynamic|x64" 6858 ExcludedFromBuild="true" 6859 > 6860 <Tool 6861 Name="VCCLCompilerTool" 4999 6862 /> 5000 6863 </FileConfiguration> 5001 6864 <FileConfiguration 5002 6865 Name="Release-Static|Win32" 6866 ExcludedFromBuild="true" 6867 > 6868 <Tool 6869 Name="VCCLCompilerTool" 6870 /> 6871 </FileConfiguration> 6872 <FileConfiguration 6873 Name="Release-Static|x64" 6874 ExcludedFromBuild="true" 6875 > 6876 <Tool 6877 Name="VCCLCompilerTool" 6878 /> 6879 </FileConfiguration> 6880 </File> 6881 <File 6882 RelativePath="..\src\pjmedia\transport_udp.c" 6883 > 6884 <FileConfiguration 6885 Name="Release|Win32" 5003 6886 > 5004 6887 <Tool … … 5018 6901 </FileConfiguration> 5019 6902 <FileConfiguration 6903 Name="Debug|Win32" 6904 > 6905 <Tool 6906 Name="VCCLCompilerTool" 6907 AdditionalIncludeDirectories="" 6908 PreprocessorDefinitions="" 6909 /> 6910 </FileConfiguration> 6911 <FileConfiguration 5020 6912 Name="Debug|x64" 5021 6913 > … … 5027 6919 </FileConfiguration> 5028 6920 <FileConfiguration 6921 Name="Debug-Static|Win32" 6922 > 6923 <Tool 6924 Name="VCCLCompilerTool" 6925 AdditionalIncludeDirectories="" 6926 PreprocessorDefinitions="" 6927 /> 6928 </FileConfiguration> 6929 <FileConfiguration 5029 6930 Name="Debug-Static|x64" 5030 6931 > … … 5036 6937 </FileConfiguration> 5037 6938 <FileConfiguration 6939 Name="Release-Dynamic|Win32" 6940 > 6941 <Tool 6942 Name="VCCLCompilerTool" 6943 AdditionalIncludeDirectories="" 6944 PreprocessorDefinitions="" 6945 /> 6946 </FileConfiguration> 6947 <FileConfiguration 5038 6948 Name="Release-Dynamic|x64" 5039 6949 > … … 5045 6955 </FileConfiguration> 5046 6956 <FileConfiguration 6957 Name="Debug-Dynamic|Win32" 6958 > 6959 <Tool 6960 Name="VCCLCompilerTool" 6961 AdditionalIncludeDirectories="" 6962 PreprocessorDefinitions="" 6963 /> 6964 </FileConfiguration> 6965 <FileConfiguration 5047 6966 Name="Debug-Dynamic|x64" 5048 6967 > … … 5054 6973 </FileConfiguration> 5055 6974 <FileConfiguration 6975 Name="Release-Static|Win32" 6976 > 6977 <Tool 6978 Name="VCCLCompilerTool" 6979 AdditionalIncludeDirectories="" 6980 PreprocessorDefinitions="" 6981 /> 6982 </FileConfiguration> 6983 <FileConfiguration 5056 6984 Name="Release-Static|x64" 5057 6985 > … … 5064 6992 </File> 5065 6993 <File 5066 RelativePath="..\src\pjmedia\null_port.c" 6994 RelativePath="..\src\pjmedia\types.c" 6995 > 6996 </File> 6997 <File 6998 RelativePath="..\src\pjmedia\vid_codec.c" 6999 > 7000 </File> 7001 <File 7002 RelativePath="..\src\pjmedia\vid_codec_util.c" 7003 > 7004 </File> 7005 <File 7006 RelativePath="..\src\pjmedia\vid_port.c" 7007 > 7008 </File> 7009 <File 7010 RelativePath="..\src\pjmedia\vid_stream.c" 7011 > 7012 </File> 7013 <File 7014 RelativePath="..\src\pjmedia\vid_stream_info.c" 7015 > 7016 </File> 7017 <File 7018 RelativePath="..\src\pjmedia\vid_tee.c" 7019 > 7020 </File> 7021 <File 7022 RelativePath="..\src\pjmedia\videodev.c" 7023 > 7024 </File> 7025 <File 7026 RelativePath="..\src\pjmedia\wav_player.c" 5067 7027 > 5068 7028 <FileConfiguration … … 5076 7036 </FileConfiguration> 5077 7037 <FileConfiguration 7038 Name="Release|x64" 7039 > 7040 <Tool 7041 Name="VCCLCompilerTool" 7042 AdditionalIncludeDirectories="" 7043 PreprocessorDefinitions="" 7044 /> 7045 </FileConfiguration> 7046 <FileConfiguration 5078 7047 Name="Debug|Win32" 5079 7048 > … … 5085 7054 </FileConfiguration> 5086 7055 <FileConfiguration 7056 Name="Debug|x64" 7057 > 7058 <Tool 7059 Name="VCCLCompilerTool" 7060 AdditionalIncludeDirectories="" 7061 PreprocessorDefinitions="" 7062 /> 7063 </FileConfiguration> 7064 <FileConfiguration 5087 7065 Name="Debug-Static|Win32" 5088 7066 > … … 5094 7072 </FileConfiguration> 5095 7073 <FileConfiguration 7074 Name="Debug-Static|x64" 7075 > 7076 <Tool 7077 Name="VCCLCompilerTool" 7078 AdditionalIncludeDirectories="" 7079 PreprocessorDefinitions="" 7080 /> 7081 </FileConfiguration> 7082 <FileConfiguration 5096 7083 Name="Release-Dynamic|Win32" 5097 7084 > … … 5103 7090 </FileConfiguration> 5104 7091 <FileConfiguration 7092 Name="Release-Dynamic|x64" 7093 > 7094 <Tool 7095 Name="VCCLCompilerTool" 7096 AdditionalIncludeDirectories="" 7097 PreprocessorDefinitions="" 7098 /> 7099 </FileConfiguration> 7100 <FileConfiguration 5105 7101 Name="Debug-Dynamic|Win32" 5106 7102 > … … 5112 7108 </FileConfiguration> 5113 7109 <FileConfiguration 7110 Name="Debug-Dynamic|x64" 7111 > 7112 <Tool 7113 Name="VCCLCompilerTool" 7114 AdditionalIncludeDirectories="" 7115 PreprocessorDefinitions="" 7116 /> 7117 </FileConfiguration> 7118 <FileConfiguration 5114 7119 Name="Release-Static|Win32" 5115 7120 > … … 5121 7126 </FileConfiguration> 5122 7127 <FileConfiguration 7128 Name="Release-Static|x64" 7129 > 7130 <Tool 7131 Name="VCCLCompilerTool" 7132 AdditionalIncludeDirectories="" 7133 PreprocessorDefinitions="" 7134 /> 7135 </FileConfiguration> 7136 </File> 7137 <File 7138 RelativePath="..\src\pjmedia\wav_playlist.c" 7139 > 7140 <FileConfiguration 7141 Name="Release|Win32" 7142 > 7143 <Tool 7144 Name="VCCLCompilerTool" 7145 AdditionalIncludeDirectories="" 7146 PreprocessorDefinitions="" 7147 /> 7148 </FileConfiguration> 7149 <FileConfiguration 5123 7150 Name="Release|x64" 5124 7151 > … … 5130 7157 </FileConfiguration> 5131 7158 <FileConfiguration 7159 Name="Debug|Win32" 7160 > 7161 <Tool 7162 Name="VCCLCompilerTool" 7163 AdditionalIncludeDirectories="" 7164 PreprocessorDefinitions="" 7165 /> 7166 </FileConfiguration> 7167 <FileConfiguration 5132 7168 Name="Debug|x64" 5133 7169 > … … 5139 7175 </FileConfiguration> 5140 7176 <FileConfiguration 7177 Name="Debug-Static|Win32" 7178 > 7179 <Tool 7180 Name="VCCLCompilerTool" 7181 AdditionalIncludeDirectories="" 7182 PreprocessorDefinitions="" 7183 /> 7184 </FileConfiguration> 7185 <FileConfiguration 5141 7186 Name="Debug-Static|x64" 5142 7187 > … … 5148 7193 </FileConfiguration> 5149 7194 <FileConfiguration 7195 Name="Release-Dynamic|Win32" 7196 > 7197 <Tool 7198 Name="VCCLCompilerTool" 7199 AdditionalIncludeDirectories="" 7200 PreprocessorDefinitions="" 7201 /> 7202 </FileConfiguration> 7203 <FileConfiguration 5150 7204 Name="Release-Dynamic|x64" 5151 7205 > … … 5157 7211 </FileConfiguration> 5158 7212 <FileConfiguration 7213 Name="Debug-Dynamic|Win32" 7214 > 7215 <Tool 7216 Name="VCCLCompilerTool" 7217 AdditionalIncludeDirectories="" 7218 PreprocessorDefinitions="" 7219 /> 7220 </FileConfiguration> 7221 <FileConfiguration 5159 7222 Name="Debug-Dynamic|x64" 5160 7223 > … … 5166 7229 </FileConfiguration> 5167 7230 <FileConfiguration 7231 Name="Release-Static|Win32" 7232 > 7233 <Tool 7234 Name="VCCLCompilerTool" 7235 AdditionalIncludeDirectories="" 7236 PreprocessorDefinitions="" 7237 /> 7238 </FileConfiguration> 7239 <FileConfiguration 5168 7240 Name="Release-Static|x64" 5169 7241 > … … 5176 7248 </File> 5177 7249 <File 5178 RelativePath="..\src\pjmedia\ plc_common.c"7250 RelativePath="..\src\pjmedia\wav_writer.c" 5179 7251 > 5180 7252 <FileConfiguration … … 5188 7260 </FileConfiguration> 5189 7261 <FileConfiguration 7262 Name="Release|x64" 7263 > 7264 <Tool 7265 Name="VCCLCompilerTool" 7266 AdditionalIncludeDirectories="" 7267 PreprocessorDefinitions="" 7268 /> 7269 </FileConfiguration> 7270 <FileConfiguration 5190 7271 Name="Debug|Win32" 5191 7272 > … … 5197 7278 </FileConfiguration> 5198 7279 <FileConfiguration 7280 Name="Debug|x64" 7281 > 7282 <Tool 7283 Name="VCCLCompilerTool" 7284 AdditionalIncludeDirectories="" 7285 PreprocessorDefinitions="" 7286 /> 7287 </FileConfiguration> 7288 <FileConfiguration 5199 7289 Name="Debug-Static|Win32" 5200 7290 > … … 5206 7296 </FileConfiguration> 5207 7297 <FileConfiguration 7298 Name="Debug-Static|x64" 7299 > 7300 <Tool 7301 Name="VCCLCompilerTool" 7302 AdditionalIncludeDirectories="" 7303 PreprocessorDefinitions="" 7304 /> 7305 </FileConfiguration> 7306 <FileConfiguration 5208 7307 Name="Release-Dynamic|Win32" 5209 7308 > … … 5215 7314 </FileConfiguration> 5216 7315 <FileConfiguration 7316 Name="Release-Dynamic|x64" 7317 > 7318 <Tool 7319 Name="VCCLCompilerTool" 7320 AdditionalIncludeDirectories="" 7321 PreprocessorDefinitions="" 7322 /> 7323 </FileConfiguration> 7324 <FileConfiguration 5217 7325 Name="Debug-Dynamic|Win32" 5218 7326 > … … 5224 7332 </FileConfiguration> 5225 7333 <FileConfiguration 7334 Name="Debug-Dynamic|x64" 7335 > 7336 <Tool 7337 Name="VCCLCompilerTool" 7338 AdditionalIncludeDirectories="" 7339 PreprocessorDefinitions="" 7340 /> 7341 </FileConfiguration> 7342 <FileConfiguration 5226 7343 Name="Release-Static|Win32" 5227 7344 > … … 5233 7350 </FileConfiguration> 5234 7351 <FileConfiguration 7352 Name="Release-Static|x64" 7353 > 7354 <Tool 7355 Name="VCCLCompilerTool" 7356 AdditionalIncludeDirectories="" 7357 PreprocessorDefinitions="" 7358 /> 7359 </FileConfiguration> 7360 </File> 7361 <File 7362 RelativePath="..\src\pjmedia\wave.c" 7363 > 7364 <FileConfiguration 7365 Name="Release|Win32" 7366 > 7367 <Tool 7368 Name="VCCLCompilerTool" 7369 AdditionalIncludeDirectories="" 7370 PreprocessorDefinitions="" 7371 /> 7372 </FileConfiguration> 7373 <FileConfiguration 5235 7374 Name="Release|x64" 5236 7375 > … … 5242 7381 </FileConfiguration> 5243 7382 <FileConfiguration 7383 Name="Debug|Win32" 7384 > 7385 <Tool 7386 Name="VCCLCompilerTool" 7387 AdditionalIncludeDirectories="" 7388 PreprocessorDefinitions="" 7389 /> 7390 </FileConfiguration> 7391 <FileConfiguration 5244 7392 Name="Debug|x64" 5245 7393 > … … 5251 7399 </FileConfiguration> 5252 7400 <FileConfiguration 7401 Name="Debug-Static|Win32" 7402 > 7403 <Tool 7404 Name="VCCLCompilerTool" 7405 AdditionalIncludeDirectories="" 7406 PreprocessorDefinitions="" 7407 /> 7408 </FileConfiguration> 7409 <FileConfiguration 5253 7410 Name="Debug-Static|x64" 5254 7411 > … … 5260 7417 </FileConfiguration> 5261 7418 <FileConfiguration 7419 Name="Release-Dynamic|Win32" 7420 > 7421 <Tool 7422 Name="VCCLCompilerTool" 7423 AdditionalIncludeDirectories="" 7424 PreprocessorDefinitions="" 7425 /> 7426 </FileConfiguration> 7427 <FileConfiguration 5262 7428 Name="Release-Dynamic|x64" 5263 7429 > … … 5269 7435 </FileConfiguration> 5270 7436 <FileConfiguration 7437 Name="Debug-Dynamic|Win32" 7438 > 7439 <Tool 7440 Name="VCCLCompilerTool" 7441 AdditionalIncludeDirectories="" 7442 PreprocessorDefinitions="" 7443 /> 7444 </FileConfiguration> 7445 <FileConfiguration 5271 7446 Name="Debug-Dynamic|x64" 5272 7447 > … … 5278 7453 </FileConfiguration> 5279 7454 <FileConfiguration 5280 Name="Release-Static|x64"5281 >5282 <Tool5283 Name="VCCLCompilerTool"5284 AdditionalIncludeDirectories=""5285 PreprocessorDefinitions=""5286 />5287 </FileConfiguration>5288 </File>5289 <File5290 RelativePath="..\src\pjmedia\port.c"5291 >5292 <FileConfiguration5293 Name="Release|Win32"5294 >5295 <Tool5296 Name="VCCLCompilerTool"5297 AdditionalIncludeDirectories=""5298 PreprocessorDefinitions=""5299 />5300 </FileConfiguration>5301 <FileConfiguration5302 Name="Debug|Win32"5303 >5304 <Tool5305 Name="VCCLCompilerTool"5306 AdditionalIncludeDirectories=""5307 PreprocessorDefinitions=""5308 />5309 </FileConfiguration>5310 <FileConfiguration5311 Name="Debug-Static|Win32"5312 >5313 <Tool5314 Name="VCCLCompilerTool"5315 AdditionalIncludeDirectories=""5316 PreprocessorDefinitions=""5317 />5318 </FileConfiguration>5319 <FileConfiguration5320 Name="Release-Dynamic|Win32"5321 >5322 <Tool5323 Name="VCCLCompilerTool"5324 AdditionalIncludeDirectories=""5325 PreprocessorDefinitions=""5326 />5327 </FileConfiguration>5328 <FileConfiguration5329 Name="Debug-Dynamic|Win32"5330 >5331 <Tool5332 Name="VCCLCompilerTool"5333 AdditionalIncludeDirectories=""5334 PreprocessorDefinitions=""5335 />5336 </FileConfiguration>5337 <FileConfiguration5338 7455 Name="Release-Static|Win32" 5339 >5340 <Tool5341 Name="VCCLCompilerTool"5342 AdditionalIncludeDirectories=""5343 PreprocessorDefinitions=""5344 />5345 </FileConfiguration>5346 <FileConfiguration5347 Name="Release|x64"5348 >5349 <Tool5350 Name="VCCLCompilerTool"5351 AdditionalIncludeDirectories=""5352 PreprocessorDefinitions=""5353 />5354 </FileConfiguration>5355 <FileConfiguration5356 Name="Debug|x64"5357 >5358 <Tool5359 Name="VCCLCompilerTool"5360 AdditionalIncludeDirectories=""5361 PreprocessorDefinitions=""5362 />5363 </FileConfiguration>5364 <FileConfiguration5365 Name="Debug-Static|x64"5366 >5367 <Tool5368 Name="VCCLCompilerTool"5369 AdditionalIncludeDirectories=""5370 PreprocessorDefinitions=""5371 />5372 </FileConfiguration>5373 <FileConfiguration5374 Name="Release-Dynamic|x64"5375 >5376 <Tool5377 Name="VCCLCompilerTool"5378 AdditionalIncludeDirectories=""5379 PreprocessorDefinitions=""5380 />5381 </FileConfiguration>5382 <FileConfiguration5383 Name="Debug-Dynamic|x64"5384 >5385 <Tool5386 Name="VCCLCompilerTool"5387 AdditionalIncludeDirectories=""5388 PreprocessorDefinitions=""5389 />5390 </FileConfiguration>5391 <FileConfiguration5392 Name="Release-Static|x64"5393 >5394 <Tool5395 Name="VCCLCompilerTool"5396 AdditionalIncludeDirectories=""5397 PreprocessorDefinitions=""5398 />5399 </FileConfiguration>5400 </File>5401 <File5402 RelativePath="..\src\pjmedia\resample_libsamplerate.c"5403 >5404 </File>5405 <File5406 RelativePath="..\src\pjmedia\resample_port.c"5407 >5408 <FileConfiguration5409 Name="Release|Win32"5410 >5411 <Tool5412 Name="VCCLCompilerTool"5413 AdditionalIncludeDirectories=""5414 PreprocessorDefinitions=""5415 />5416 </FileConfiguration>5417 <FileConfiguration5418 Name="Debug|Win32"5419 >5420 <Tool5421 Name="VCCLCompilerTool"5422 AdditionalIncludeDirectories=""5423 PreprocessorDefinitions=""5424 />5425 </FileConfiguration>5426 <FileConfiguration5427 Name="Debug-Static|Win32"5428 >5429 <Tool5430 Name="VCCLCompilerTool"5431 AdditionalIncludeDirectories=""5432 PreprocessorDefinitions=""5433 />5434 </FileConfiguration>5435 <FileConfiguration5436 Name="Release-Dynamic|Win32"5437 >5438 <Tool5439 Name="VCCLCompilerTool"5440 AdditionalIncludeDirectories=""5441 PreprocessorDefinitions=""5442 />5443 </FileConfiguration>5444 <FileConfiguration5445 Name="Debug-Dynamic|Win32"5446 >5447 <Tool5448 Name="VCCLCompilerTool"5449 AdditionalIncludeDirectories=""5450 PreprocessorDefinitions=""5451 />5452 </FileConfiguration>5453 <FileConfiguration5454 Name="Release-Static|Win32"5455 >5456 <Tool5457 Name="VCCLCompilerTool"5458 AdditionalIncludeDirectories=""5459 PreprocessorDefinitions=""5460 />5461 </FileConfiguration>5462 <FileConfiguration5463 Name="Release|x64"5464 >5465 <Tool5466 Name="VCCLCompilerTool"5467 AdditionalIncludeDirectories=""5468 PreprocessorDefinitions=""5469 />5470 </FileConfiguration>5471 <FileConfiguration5472 Name="Debug|x64"5473 >5474 <Tool5475 Name="VCCLCompilerTool"5476 AdditionalIncludeDirectories=""5477 PreprocessorDefinitions=""5478 />5479 </FileConfiguration>5480 <FileConfiguration5481 Name="Debug-Static|x64"5482 >5483 <Tool5484 Name="VCCLCompilerTool"5485 AdditionalIncludeDirectories=""5486 PreprocessorDefinitions=""5487 />5488 </FileConfiguration>5489 <FileConfiguration5490 Name="Release-Dynamic|x64"5491 >5492 <Tool5493 Name="VCCLCompilerTool"5494 AdditionalIncludeDirectories=""5495 PreprocessorDefinitions=""5496 />5497 </FileConfiguration>5498 <FileConfiguration5499 Name="Debug-Dynamic|x64"5500 >5501 <Tool5502 Name="VCCLCompilerTool"5503 AdditionalIncludeDirectories=""5504 PreprocessorDefinitions=""5505 />5506 </FileConfiguration>5507 <FileConfiguration5508 Name="Release-Static|x64"5509 >5510 <Tool5511 Name="VCCLCompilerTool"5512 AdditionalIncludeDirectories=""5513 PreprocessorDefinitions=""5514 />5515 </FileConfiguration>5516 </File>5517 <File5518 RelativePath="..\src\pjmedia\resample_resample.c"5519 >5520 </File>5521 <File5522 RelativePath="..\src\pjmedia\resample_speex.c"5523 >5524 </File>5525 <File5526 RelativePath="..\src\pjmedia\rtcp.c"5527 >5528 <FileConfiguration5529 Name="Release|Win32"5530 >5531 <Tool5532 Name="VCCLCompilerTool"5533 AdditionalIncludeDirectories=""5534 PreprocessorDefinitions=""5535 />5536 </FileConfiguration>5537 <FileConfiguration5538 Name="Debug|Win32"5539 >5540 <Tool5541 Name="VCCLCompilerTool"5542 AdditionalIncludeDirectories=""5543 PreprocessorDefinitions=""5544 />5545 </FileConfiguration>5546 <FileConfiguration5547 Name="Debug-Static|Win32"5548 >5549 <Tool5550 Name="VCCLCompilerTool"5551 AdditionalIncludeDirectories=""5552 PreprocessorDefinitions=""5553 />5554 </FileConfiguration>5555 <FileConfiguration5556 Name="Release-Dynamic|Win32"5557 >5558 <Tool5559 Name="VCCLCompilerTool"5560 AdditionalIncludeDirectories=""5561 PreprocessorDefinitions=""5562 />5563 </FileConfiguration>5564 <FileConfiguration5565 Name="Debug-Dynamic|Win32"5566 >5567 <Tool5568 Name="VCCLCompilerTool"5569 AdditionalIncludeDirectories=""5570 PreprocessorDefinitions=""5571 />5572 </FileConfiguration>5573 <FileConfiguration5574 Name="Release-Static|Win32"5575 >5576 <Tool5577 Name="VCCLCompilerTool"5578 AdditionalIncludeDirectories=""5579 PreprocessorDefinitions=""5580 />5581 </FileConfiguration>5582 <FileConfiguration5583 Name="Release|x64"5584 >5585 <Tool5586 Name="VCCLCompilerTool"5587 AdditionalIncludeDirectories=""5588 PreprocessorDefinitions=""5589 />5590 </FileConfiguration>5591 <FileConfiguration5592 Name="Debug|x64"5593 >5594 <Tool5595 Name="VCCLCompilerTool"5596 AdditionalIncludeDirectories=""5597 PreprocessorDefinitions=""5598 />5599 </FileConfiguration>5600 <FileConfiguration5601 Name="Debug-Static|x64"5602 >5603 <Tool5604 Name="VCCLCompilerTool"5605 AdditionalIncludeDirectories=""5606 PreprocessorDefinitions=""5607 />5608 </FileConfiguration>5609 <FileConfiguration5610 Name="Release-Dynamic|x64"5611 >5612 <Tool5613 Name="VCCLCompilerTool"5614 AdditionalIncludeDirectories=""5615 PreprocessorDefinitions=""5616 />5617 </FileConfiguration>5618 <FileConfiguration5619 Name="Debug-Dynamic|x64"5620 >5621 <Tool5622 Name="VCCLCompilerTool"5623 AdditionalIncludeDirectories=""5624 PreprocessorDefinitions=""5625 />5626 </FileConfiguration>5627 <FileConfiguration5628 Name="Release-Static|x64"5629 >5630 <Tool5631 Name="VCCLCompilerTool"5632 AdditionalIncludeDirectories=""5633 PreprocessorDefinitions=""5634 />5635 </FileConfiguration>5636 </File>5637 <File5638 RelativePath="..\src\pjmedia\rtcp_xr.c"5639 >5640 </File>5641 <File5642 RelativePath="..\src\pjmedia\rtp.c"5643 >5644 <FileConfiguration5645 Name="Release|Win32"5646 >5647 <Tool5648 Name="VCCLCompilerTool"5649 AdditionalIncludeDirectories=""5650 PreprocessorDefinitions=""5651 />5652 </FileConfiguration>5653 <FileConfiguration5654 Name="Debug|Win32"5655 >5656 <Tool5657 Name="VCCLCompilerTool"5658 AdditionalIncludeDirectories=""5659 PreprocessorDefinitions=""5660 />5661 </FileConfiguration>5662 <FileConfiguration5663 Name="Debug-Static|Win32"5664 >5665 <Tool5666 Name="VCCLCompilerTool"5667 AdditionalIncludeDirectories=""5668 PreprocessorDefinitions=""5669 />5670 </FileConfiguration>5671 <FileConfiguration5672 Name="Release-Dynamic|Win32"5673 >5674 <Tool5675 Name="VCCLCompilerTool"5676 AdditionalIncludeDirectories=""5677 PreprocessorDefinitions=""5678 />5679 </FileConfiguration>5680 <FileConfiguration5681 Name="Debug-Dynamic|Win32"5682 >5683 <Tool5684 Name="VCCLCompilerTool"5685 AdditionalIncludeDirectories=""5686 PreprocessorDefinitions=""5687 />5688 </FileConfiguration>5689 <FileConfiguration5690 Name="Release-Static|Win32"5691 >5692 <Tool5693 Name="VCCLCompilerTool"5694 AdditionalIncludeDirectories=""5695 PreprocessorDefinitions=""5696 />5697 </FileConfiguration>5698 <FileConfiguration5699 Name="Release|x64"5700 >5701 <Tool5702 Name="VCCLCompilerTool"5703 AdditionalIncludeDirectories=""5704 PreprocessorDefinitions=""5705 />5706 </FileConfiguration>5707 <FileConfiguration5708 Name="Debug|x64"5709 >5710 <Tool5711 Name="VCCLCompilerTool"5712 AdditionalIncludeDirectories=""5713 PreprocessorDefinitions=""5714 />5715 </FileConfiguration>5716 <FileConfiguration5717 Name="Debug-Static|x64"5718 >5719 <Tool5720 Name="VCCLCompilerTool"5721 AdditionalIncludeDirectories=""5722 PreprocessorDefinitions=""5723 />5724 </FileConfiguration>5725 <FileConfiguration5726 Name="Release-Dynamic|x64"5727 >5728 <Tool5729 Name="VCCLCompilerTool"5730 AdditionalIncludeDirectories=""5731 PreprocessorDefinitions=""5732 />5733 </FileConfiguration>5734 <FileConfiguration5735 Name="Debug-Dynamic|x64"5736 >5737 <Tool5738 Name="VCCLCompilerTool"5739 AdditionalIncludeDirectories=""5740 PreprocessorDefinitions=""5741 />5742 </FileConfiguration>5743 <FileConfiguration5744 Name="Release-Static|x64"5745 >5746 <Tool5747 Name="VCCLCompilerTool"5748 AdditionalIncludeDirectories=""5749 PreprocessorDefinitions=""5750 />5751 </FileConfiguration>5752 </File>5753 <File5754 RelativePath="..\src\pjmedia\sdp.c"5755 >5756 <FileConfiguration5757 Name="Release|Win32"5758 >5759 <Tool5760 Name="VCCLCompilerTool"5761 AdditionalIncludeDirectories=""5762 PreprocessorDefinitions=""5763 />5764 </FileConfiguration>5765 <FileConfiguration5766 Name="Debug|Win32"5767 >5768 <Tool5769 Name="VCCLCompilerTool"5770 AdditionalIncludeDirectories=""5771 PreprocessorDefinitions=""5772 />5773 </FileConfiguration>5774 <FileConfiguration5775 Name="Debug-Static|Win32"5776 >5777 <Tool5778 Name="VCCLCompilerTool"5779 AdditionalIncludeDirectories=""5780 PreprocessorDefinitions=""5781 />5782 </FileConfiguration>5783 <FileConfiguration5784 Name="Release-Dynamic|Win32"5785 >5786 <Tool5787 Name="VCCLCompilerTool"5788 AdditionalIncludeDirectories=""5789 PreprocessorDefinitions=""5790 />5791 </FileConfiguration>5792 <FileConfiguration5793 Name="Debug-Dynamic|Win32"5794 >5795 <Tool5796 Name="VCCLCompilerTool"5797 AdditionalIncludeDirectories=""5798 PreprocessorDefinitions=""5799 />5800 </FileConfiguration>5801 <FileConfiguration5802 Name="Release-Static|Win32"5803 >5804 <Tool5805 Name="VCCLCompilerTool"5806 AdditionalIncludeDirectories=""5807 PreprocessorDefinitions=""5808 />5809 </FileConfiguration>5810 <FileConfiguration5811 Name="Release|x64"5812 >5813 <Tool5814 Name="VCCLCompilerTool"5815 AdditionalIncludeDirectories=""5816 PreprocessorDefinitions=""5817 />5818 </FileConfiguration>5819 <FileConfiguration5820 Name="Debug|x64"5821 >5822 <Tool5823 Name="VCCLCompilerTool"5824 AdditionalIncludeDirectories=""5825 PreprocessorDefinitions=""5826 />5827 </FileConfiguration>5828 <FileConfiguration5829 Name="Debug-Static|x64"5830 >5831 <Tool5832 Name="VCCLCompilerTool"5833 AdditionalIncludeDirectories=""5834 PreprocessorDefinitions=""5835 />5836 </FileConfiguration>5837 <FileConfiguration5838 Name="Release-Dynamic|x64"5839 >5840 <Tool5841 Name="VCCLCompilerTool"5842 AdditionalIncludeDirectories=""5843 PreprocessorDefinitions=""5844 />5845 </FileConfiguration>5846 <FileConfiguration5847 Name="Debug-Dynamic|x64"5848 >5849 <Tool5850 Name="VCCLCompilerTool"5851 AdditionalIncludeDirectories=""5852 PreprocessorDefinitions=""5853 />5854 </FileConfiguration>5855 <FileConfiguration5856 Name="Release-Static|x64"5857 >5858 <Tool5859 Name="VCCLCompilerTool"5860 AdditionalIncludeDirectories=""5861 PreprocessorDefinitions=""5862 />5863 </FileConfiguration>5864 </File>5865 <File5866 RelativePath="..\src\pjmedia\sdp_cmp.c"5867 >5868 <FileConfiguration5869 Name="Release|Win32"5870 >5871 <Tool5872 Name="VCCLCompilerTool"5873 AdditionalIncludeDirectories=""5874 PreprocessorDefinitions=""5875 />5876 </FileConfiguration>5877 <FileConfiguration5878 Name="Debug|Win32"5879 >5880 <Tool5881 Name="VCCLCompilerTool"5882 AdditionalIncludeDirectories=""5883 PreprocessorDefinitions=""5884 />5885 </FileConfiguration>5886 <FileConfiguration5887 Name="Debug-Static|Win32"5888 >5889 <Tool5890 Name="VCCLCompilerTool"5891 AdditionalIncludeDirectories=""5892 PreprocessorDefinitions=""5893 />5894 </FileConfiguration>5895 <FileConfiguration5896 Name="Release-Dynamic|Win32"5897 >5898 <Tool5899 Name="VCCLCompilerTool"5900 AdditionalIncludeDirectories=""5901 PreprocessorDefinitions=""5902 />5903 </FileConfiguration>5904 <FileConfiguration5905 Name="Debug-Dynamic|Win32"5906 >5907 <Tool5908 Name="VCCLCompilerTool"5909 AdditionalIncludeDirectories=""5910 PreprocessorDefinitions=""5911 />5912 </FileConfiguration>5913 <FileConfiguration5914 Name="Release-Static|Win32"5915 >5916 <Tool5917 Name="VCCLCompilerTool"5918 AdditionalIncludeDirectories=""5919 PreprocessorDefinitions=""5920 />5921 </FileConfiguration>5922 <FileConfiguration5923 Name="Release|x64"5924 >5925 <Tool5926 Name="VCCLCompilerTool"5927 AdditionalIncludeDirectories=""5928 PreprocessorDefinitions=""5929 />5930 </FileConfiguration>5931 <FileConfiguration5932 Name="Debug|x64"5933 >5934 <Tool5935 Name="VCCLCompilerTool"5936 AdditionalIncludeDirectories=""5937 PreprocessorDefinitions=""5938 />5939 </FileConfiguration>5940 <FileConfiguration5941 Name="Debug-Static|x64"5942 >5943 <Tool5944 Name="VCCLCompilerTool"5945 AdditionalIncludeDirectories=""5946 PreprocessorDefinitions=""5947 />5948 </FileConfiguration>5949 <FileConfiguration5950 Name="Release-Dynamic|x64"5951 >5952 <Tool5953 Name="VCCLCompilerTool"5954 AdditionalIncludeDirectories=""5955 PreprocessorDefinitions=""5956 />5957 </FileConfiguration>5958 <FileConfiguration5959 Name="Debug-Dynamic|x64"5960 >5961 <Tool5962 Name="VCCLCompilerTool"5963 AdditionalIncludeDirectories=""5964 PreprocessorDefinitions=""5965 />5966 </FileConfiguration>5967 <FileConfiguration5968 Name="Release-Static|x64"5969 >5970 <Tool5971 Name="VCCLCompilerTool"5972 AdditionalIncludeDirectories=""5973 PreprocessorDefinitions=""5974 />5975 </FileConfiguration>5976 </File>5977 <File5978 RelativePath="..\src\pjmedia\sdp_neg.c"5979 >5980 <FileConfiguration5981 Name="Release|Win32"5982 >5983 <Tool5984 Name="VCCLCompilerTool"5985 AdditionalIncludeDirectories=""5986 PreprocessorDefinitions=""5987 />5988 </FileConfiguration>5989 <FileConfiguration5990 Name="Debug|Win32"5991 >5992 <Tool5993 Name="VCCLCompilerTool"5994 AdditionalIncludeDirectories=""5995 PreprocessorDefinitions=""5996 />5997 </FileConfiguration>5998 <FileConfiguration5999 Name="Debug-Static|Win32"6000 >6001 <Tool6002 Name="VCCLCompilerTool"6003 AdditionalIncludeDirectories=""6004 PreprocessorDefinitions=""6005 />6006 </FileConfiguration>6007 <FileConfiguration6008 Name="Release-Dynamic|Win32"6009 >6010 <Tool6011 Name="VCCLCompilerTool"6012 AdditionalIncludeDirectories=""6013 PreprocessorDefinitions=""6014 />6015 </FileConfiguration>6016 <FileConfiguration6017 Name="Debug-Dynamic|Win32"6018 >6019 <Tool6020 Name="VCCLCompilerTool"6021 AdditionalIncludeDirectories=""6022 PreprocessorDefinitions=""6023 />6024 </FileConfiguration>6025 <FileConfiguration6026 Name="Release-Static|Win32"6027 >6028 <Tool6029 Name="VCCLCompilerTool"6030 AdditionalIncludeDirectories=""6031 PreprocessorDefinitions=""6032 />6033 </FileConfiguration>6034 <FileConfiguration6035 Name="Release|x64"6036 >6037 <Tool6038 Name="VCCLCompilerTool"6039 AdditionalIncludeDirectories=""6040 PreprocessorDefinitions=""6041 />6042 </FileConfiguration>6043 <FileConfiguration6044 Name="Debug|x64"6045 >6046 <Tool6047 Name="VCCLCompilerTool"6048 AdditionalIncludeDirectories=""6049 PreprocessorDefinitions=""6050 />6051 </FileConfiguration>6052 <FileConfiguration6053 Name="Debug-Static|x64"6054 >6055 <Tool6056 Name="VCCLCompilerTool"6057 AdditionalIncludeDirectories=""6058 PreprocessorDefinitions=""6059 />6060 </FileConfiguration>6061 <FileConfiguration6062 Name="Release-Dynamic|x64"6063 >6064 <Tool6065 Name="VCCLCompilerTool"6066 AdditionalIncludeDirectories=""6067 PreprocessorDefinitions=""6068 />6069 </FileConfiguration>6070 <FileConfiguration6071 Name="Debug-Dynamic|x64"6072 >6073 <Tool6074 Name="VCCLCompilerTool"6075 AdditionalIncludeDirectories=""6076 PreprocessorDefinitions=""6077 />6078 </FileConfiguration>6079 <FileConfiguration6080 Name="Release-Static|x64"6081 >6082 <Tool6083 Name="VCCLCompilerTool"6084 AdditionalIncludeDirectories=""6085 PreprocessorDefinitions=""6086 />6087 </FileConfiguration>6088 </File>6089 <File6090 RelativePath="..\src\pjmedia\silencedet.c"6091 >6092 <FileConfiguration6093 Name="Release|Win32"6094 >6095 <Tool6096 Name="VCCLCompilerTool"6097 AdditionalIncludeDirectories=""6098 PreprocessorDefinitions=""6099 />6100 </FileConfiguration>6101 <FileConfiguration6102 Name="Debug|Win32"6103 >6104 <Tool6105 Name="VCCLCompilerTool"6106 AdditionalIncludeDirectories=""6107 PreprocessorDefinitions=""6108 />6109 </FileConfiguration>6110 <FileConfiguration6111 Name="Debug-Static|Win32"6112 >6113 <Tool6114 Name="VCCLCompilerTool"6115 AdditionalIncludeDirectories=""6116 PreprocessorDefinitions=""6117 />6118 </FileConfiguration>6119 <FileConfiguration6120 Name="Release-Dynamic|Win32"6121 >6122 <Tool6123 Name="VCCLCompilerTool"6124 AdditionalIncludeDirectories=""6125 PreprocessorDefinitions=""6126 />6127 </FileConfiguration>6128 <FileConfiguration6129 Name="Debug-Dynamic|Win32"6130 >6131 <Tool6132 Name="VCCLCompilerTool"6133 AdditionalIncludeDirectories=""6134 PreprocessorDefinitions=""6135 />6136 </FileConfiguration>6137 <FileConfiguration6138 Name="Release-Static|Win32"6139 >6140 <Tool6141 Name="VCCLCompilerTool"6142 AdditionalIncludeDirectories=""6143 PreprocessorDefinitions=""6144 />6145 </FileConfiguration>6146 <FileConfiguration6147 Name="Release|x64"6148 >6149 <Tool6150 Name="VCCLCompilerTool"6151 AdditionalIncludeDirectories=""6152 PreprocessorDefinitions=""6153 />6154 </FileConfiguration>6155 <FileConfiguration6156 Name="Debug|x64"6157 >6158 <Tool6159 Name="VCCLCompilerTool"6160 AdditionalIncludeDirectories=""6161 PreprocessorDefinitions=""6162 />6163 </FileConfiguration>6164 <FileConfiguration6165 Name="Debug-Static|x64"6166 >6167 <Tool6168 Name="VCCLCompilerTool"6169 AdditionalIncludeDirectories=""6170 PreprocessorDefinitions=""6171 />6172 </FileConfiguration>6173 <FileConfiguration6174 Name="Release-Dynamic|x64"6175 >6176 <Tool6177 Name="VCCLCompilerTool"6178 AdditionalIncludeDirectories=""6179 PreprocessorDefinitions=""6180 />6181 </FileConfiguration>6182 <FileConfiguration6183 Name="Debug-Dynamic|x64"6184 >6185 <Tool6186 Name="VCCLCompilerTool"6187 AdditionalIncludeDirectories=""6188 PreprocessorDefinitions=""6189 />6190 </FileConfiguration>6191 <FileConfiguration6192 Name="Release-Static|x64"6193 >6194 <Tool6195 Name="VCCLCompilerTool"6196 AdditionalIncludeDirectories=""6197 PreprocessorDefinitions=""6198 />6199 </FileConfiguration>6200 </File>6201 <File6202 RelativePath="..\src\pjmedia\sound_legacy.c"6203 >6204 </File>6205 <File6206 RelativePath="..\src\pjmedia\sound_port.c"6207 >6208 <FileConfiguration6209 Name="Release|Win32"6210 >6211 <Tool6212 Name="VCCLCompilerTool"6213 AdditionalIncludeDirectories=""6214 PreprocessorDefinitions=""6215 />6216 </FileConfiguration>6217 <FileConfiguration6218 Name="Debug|Win32"6219 >6220 <Tool6221 Name="VCCLCompilerTool"6222 AdditionalIncludeDirectories=""6223 PreprocessorDefinitions=""6224 />6225 </FileConfiguration>6226 <FileConfiguration6227 Name="Debug-Static|Win32"6228 >6229 <Tool6230 Name="VCCLCompilerTool"6231 AdditionalIncludeDirectories=""6232 PreprocessorDefinitions=""6233 />6234 </FileConfiguration>6235 <FileConfiguration6236 Name="Release-Dynamic|Win32"6237 >6238 <Tool6239 Name="VCCLCompilerTool"6240 AdditionalIncludeDirectories=""6241 PreprocessorDefinitions=""6242 />6243 </FileConfiguration>6244 <FileConfiguration6245 Name="Debug-Dynamic|Win32"6246 >6247 <Tool6248 Name="VCCLCompilerTool"6249 AdditionalIncludeDirectories=""6250 PreprocessorDefinitions=""6251 />6252 </FileConfiguration>6253 <FileConfiguration6254 Name="Release-Static|Win32"6255 >6256 <Tool6257 Name="VCCLCompilerTool"6258 AdditionalIncludeDirectories=""6259 PreprocessorDefinitions=""6260 />6261 </FileConfiguration>6262 <FileConfiguration6263 Name="Release|x64"6264 >6265 <Tool6266 Name="VCCLCompilerTool"6267 AdditionalIncludeDirectories=""6268 PreprocessorDefinitions=""6269 />6270 </FileConfiguration>6271 <FileConfiguration6272 Name="Debug|x64"6273 >6274 <Tool6275 Name="VCCLCompilerTool"6276 AdditionalIncludeDirectories=""6277 PreprocessorDefinitions=""6278 />6279 </FileConfiguration>6280 <FileConfiguration6281 Name="Debug-Static|x64"6282 >6283 <Tool6284 Name="VCCLCompilerTool"6285 AdditionalIncludeDirectories=""6286 PreprocessorDefinitions=""6287 />6288 </FileConfiguration>6289 <FileConfiguration6290 Name="Release-Dynamic|x64"6291 >6292 <Tool6293 Name="VCCLCompilerTool"6294 AdditionalIncludeDirectories=""6295 PreprocessorDefinitions=""6296 />6297 </FileConfiguration>6298 <FileConfiguration6299 Name="Debug-Dynamic|x64"6300 >6301 <Tool6302 Name="VCCLCompilerTool"6303 AdditionalIncludeDirectories=""6304 PreprocessorDefinitions=""6305 />6306 </FileConfiguration>6307 <FileConfiguration6308 Name="Release-Static|x64"6309 >6310 <Tool6311 Name="VCCLCompilerTool"6312 AdditionalIncludeDirectories=""6313 PreprocessorDefinitions=""6314 />6315 </FileConfiguration>6316 </File>6317 <File6318 RelativePath="..\src\pjmedia\splitcomb.c"6319 >6320 <FileConfiguration6321 Name="Release|Win32"6322 >6323 <Tool6324 Name="VCCLCompilerTool"6325 AdditionalIncludeDirectories=""6326 PreprocessorDefinitions=""6327 />6328 </FileConfiguration>6329 <FileConfiguration6330 Name="Debug|Win32"6331 >6332 <Tool6333 Name="VCCLCompilerTool"6334 AdditionalIncludeDirectories=""6335 PreprocessorDefinitions=""6336 />6337 </FileConfiguration>6338 <FileConfiguration6339 Name="Debug-Static|Win32"6340 >6341 <Tool6342 Name="VCCLCompilerTool"6343 AdditionalIncludeDirectories=""6344 PreprocessorDefinitions=""6345 />6346 </FileConfiguration>6347 <FileConfiguration6348 Name="Release-Dynamic|Win32"6349 >6350 <Tool6351 Name="VCCLCompilerTool"6352 AdditionalIncludeDirectories=""6353 PreprocessorDefinitions=""6354 />6355 </FileConfiguration>6356 <FileConfiguration6357 Name="Debug-Dynamic|Win32"6358 >6359 <Tool6360 Name="VCCLCompilerTool"6361 AdditionalIncludeDirectories=""6362 PreprocessorDefinitions=""6363 />6364 </FileConfiguration>6365 <FileConfiguration6366 Name="Release-Static|Win32"6367 >6368 <Tool6369 Name="VCCLCompilerTool"6370 AdditionalIncludeDirectories=""6371 PreprocessorDefinitions=""6372 />6373 </FileConfiguration>6374 <FileConfiguration6375 Name="Release|x64"6376 >6377 <Tool6378 Name="VCCLCompilerTool"6379 AdditionalIncludeDirectories=""6380 PreprocessorDefinitions=""6381 />6382 </FileConfiguration>6383 <FileConfiguration6384 Name="Debug|x64"6385 >6386 <Tool6387 Name="VCCLCompilerTool"6388 AdditionalIncludeDirectories=""6389 PreprocessorDefinitions=""6390 />6391 </FileConfiguration>6392 <FileConfiguration6393 Name="Debug-Static|x64"6394 >6395 <Tool6396 Name="VCCLCompilerTool"6397 AdditionalIncludeDirectories=""6398 PreprocessorDefinitions=""6399 />6400 </FileConfiguration>6401 <FileConfiguration6402 Name="Release-Dynamic|x64"6403 >6404 <Tool6405 Name="VCCLCompilerTool"6406 AdditionalIncludeDirectories=""6407 PreprocessorDefinitions=""6408 />6409 </FileConfiguration>6410 <FileConfiguration6411 Name="Debug-Dynamic|x64"6412 >6413 <Tool6414 Name="VCCLCompilerTool"6415 AdditionalIncludeDirectories=""6416 PreprocessorDefinitions=""6417 />6418 </FileConfiguration>6419 <FileConfiguration6420 Name="Release-Static|x64"6421 >6422 <Tool6423 Name="VCCLCompilerTool"6424 AdditionalIncludeDirectories=""6425 PreprocessorDefinitions=""6426 />6427 </FileConfiguration>6428 </File>6429 <File6430 RelativePath="..\src\pjmedia\stereo_port.c"6431 >6432 </File>6433 <File6434 RelativePath="..\src\pjmedia\stream.c"6435 >6436 <FileConfiguration6437 Name="Release|Win32"6438 >6439 <Tool6440 Name="VCCLCompilerTool"6441 AdditionalIncludeDirectories=""6442 PreprocessorDefinitions=""6443 />6444 </FileConfiguration>6445 <FileConfiguration6446 Name="Debug|Win32"6447 >6448 <Tool6449 Name="VCCLCompilerTool"6450 AdditionalIncludeDirectories=""6451 PreprocessorDefinitions=""6452 />6453 </FileConfiguration>6454 <FileConfiguration6455 Name="Debug-Static|Win32"6456 >6457 <Tool6458 Name="VCCLCompilerTool"6459 AdditionalIncludeDirectories=""6460 PreprocessorDefinitions=""6461 />6462 </FileConfiguration>6463 <FileConfiguration6464 Name="Release-Dynamic|Win32"6465 >6466 <Tool6467 Name="VCCLCompilerTool"6468 AdditionalIncludeDirectories=""6469 PreprocessorDefinitions=""6470 />6471 </FileConfiguration>6472 <FileConfiguration6473 Name="Debug-Dynamic|Win32"6474 >6475 <Tool6476 Name="VCCLCompilerTool"6477 AdditionalIncludeDirectories=""6478 PreprocessorDefinitions=""6479 />6480 </FileConfiguration>6481 <FileConfiguration6482 Name="Release-Static|Win32"6483 >6484 <Tool6485 Name="VCCLCompilerTool"6486 AdditionalIncludeDirectories=""6487 PreprocessorDefinitions=""6488 />6489 </FileConfiguration>6490 <FileConfiguration6491 Name="Release|x64"6492 >6493 <Tool6494 Name="VCCLCompilerTool"6495 AdditionalIncludeDirectories=""6496 PreprocessorDefinitions=""6497 />6498 </FileConfiguration>6499 <FileConfiguration6500 Name="Debug|x64"6501 >6502 <Tool6503 Name="VCCLCompilerTool"6504 AdditionalIncludeDirectories=""6505 PreprocessorDefinitions=""6506 />6507 </FileConfiguration>6508 <FileConfiguration6509 Name="Debug-Static|x64"6510 >6511 <Tool6512 Name="VCCLCompilerTool"6513 AdditionalIncludeDirectories=""6514 PreprocessorDefinitions=""6515 />6516 </FileConfiguration>6517 <FileConfiguration6518 Name="Release-Dynamic|x64"6519 >6520 <Tool6521 Name="VCCLCompilerTool"6522 AdditionalIncludeDirectories=""6523 PreprocessorDefinitions=""6524 />6525 </FileConfiguration>6526 <FileConfiguration6527 Name="Debug-Dynamic|x64"6528 >6529 <Tool6530 Name="VCCLCompilerTool"6531 AdditionalIncludeDirectories=""6532 PreprocessorDefinitions=""6533 />6534 </FileConfiguration>6535 <FileConfiguration6536 Name="Release-Static|x64"6537 >6538 <Tool6539 Name="VCCLCompilerTool"6540 AdditionalIncludeDirectories=""6541 PreprocessorDefinitions=""6542 />6543 </FileConfiguration>6544 </File>6545 <File6546 RelativePath="..\src\pjmedia\stream_common.c"6547 >6548 </File>6549 <File6550 RelativePath="..\src\pjmedia\stream_info.c"6551 >6552 </File>6553 <File6554 RelativePath="..\src\pjmedia\tonegen.c"6555 >6556 <FileConfiguration6557 Name="Release|Win32"6558 >6559 <Tool6560 Name="VCCLCompilerTool"6561 AdditionalIncludeDirectories=""6562 PreprocessorDefinitions=""6563 />6564 </FileConfiguration>6565 <FileConfiguration6566 Name="Debug|Win32"6567 >6568 <Tool6569 Name="VCCLCompilerTool"6570 AdditionalIncludeDirectories=""6571 PreprocessorDefinitions=""6572 />6573 </FileConfiguration>6574 <FileConfiguration6575 Name="Debug-Static|Win32"6576 >6577 <Tool6578 Name="VCCLCompilerTool"6579 AdditionalIncludeDirectories=""6580 PreprocessorDefinitions=""6581 />6582 </FileConfiguration>6583 <FileConfiguration6584 Name="Release-Dynamic|Win32"6585 >6586 <Tool6587 Name="VCCLCompilerTool"6588 AdditionalIncludeDirectories=""6589 PreprocessorDefinitions=""6590 />6591 </FileConfiguration>6592 <FileConfiguration6593 Name="Debug-Dynamic|Win32"6594 >6595 <Tool6596 Name="VCCLCompilerTool"6597 AdditionalIncludeDirectories=""6598 PreprocessorDefinitions=""6599 />6600 </FileConfiguration>6601 <FileConfiguration6602 Name="Release-Static|Win32"6603 >6604 <Tool6605 Name="VCCLCompilerTool"6606 AdditionalIncludeDirectories=""6607 PreprocessorDefinitions=""6608 />6609 </FileConfiguration>6610 <FileConfiguration6611 Name="Release|x64"6612 >6613 <Tool6614 Name="VCCLCompilerTool"6615 AdditionalIncludeDirectories=""6616 PreprocessorDefinitions=""6617 />6618 </FileConfiguration>6619 <FileConfiguration6620 Name="Debug|x64"6621 >6622 <Tool6623 Name="VCCLCompilerTool"6624 AdditionalIncludeDirectories=""6625 PreprocessorDefinitions=""6626 />6627 </FileConfiguration>6628 <FileConfiguration6629 Name="Debug-Static|x64"6630 >6631 <Tool6632 Name="VCCLCompilerTool"6633 AdditionalIncludeDirectories=""6634 PreprocessorDefinitions=""6635 />6636 </FileConfiguration>6637 <FileConfiguration6638 Name="Release-Dynamic|x64"6639 >6640 <Tool6641 Name="VCCLCompilerTool"6642 AdditionalIncludeDirectories=""6643 PreprocessorDefinitions=""6644 />6645 </FileConfiguration>6646 <FileConfiguration6647 Name="Debug-Dynamic|x64"6648 >6649 <Tool6650 Name="VCCLCompilerTool"6651 AdditionalIncludeDirectories=""6652 PreprocessorDefinitions=""6653 />6654 </FileConfiguration>6655 <FileConfiguration6656 Name="Release-Static|x64"6657 >6658 <Tool6659 Name="VCCLCompilerTool"6660 AdditionalIncludeDirectories=""6661 PreprocessorDefinitions=""6662 />6663 </FileConfiguration>6664 </File>6665 <File6666 RelativePath="..\src\pjmedia\transport_adapter_sample.c"6667 >6668 </File>6669 <File6670 RelativePath="..\src\pjmedia\transport_ice.c"6671 >6672 </File>6673 <File6674 RelativePath="..\src\pjmedia\transport_loop.c"6675 >6676 </File>6677 <File6678 RelativePath="..\src\pjmedia\transport_srtp.c"6679 >6680 </File>6681 <File6682 RelativePath="..\src\pjmedia\transport_udp.c"6683 >6684 <FileConfiguration6685 Name="Release|Win32"6686 >6687 <Tool6688 Name="VCCLCompilerTool"6689 AdditionalIncludeDirectories=""6690 PreprocessorDefinitions=""6691 />6692 </FileConfiguration>6693 <FileConfiguration6694 Name="Debug|Win32"6695 >6696 <Tool6697 Name="VCCLCompilerTool"6698 AdditionalIncludeDirectories=""6699 PreprocessorDefinitions=""6700 />6701 </FileConfiguration>6702 <FileConfiguration6703 Name="Debug-Static|Win32"6704 >6705 <Tool6706 Name="VCCLCompilerTool"6707 AdditionalIncludeDirectories=""6708 PreprocessorDefinitions=""6709 />6710 </FileConfiguration>6711 <FileConfiguration6712 Name="Release-Dynamic|Win32"6713 >6714 <Tool6715 Name="VCCLCompilerTool"6716 AdditionalIncludeDirectories=""6717 PreprocessorDefinitions=""6718 />6719 </FileConfiguration>6720 <FileConfiguration6721 Name="Debug-Dynamic|Win32"6722 >6723 <Tool6724 Name="VCCLCompilerTool"6725 AdditionalIncludeDirectories=""6726 PreprocessorDefinitions=""6727 />6728 </FileConfiguration>6729 <FileConfiguration6730 Name="Release-Static|Win32"6731 >6732 <Tool6733 Name="VCCLCompilerTool"6734 AdditionalIncludeDirectories=""6735 PreprocessorDefinitions=""6736 />6737 </FileConfiguration>6738 <FileConfiguration6739 Name="Release|x64"6740 >6741 <Tool6742 Name="VCCLCompilerTool"6743 AdditionalIncludeDirectories=""6744 PreprocessorDefinitions=""6745 />6746 </FileConfiguration>6747 <FileConfiguration6748 Name="Debug|x64"6749 >6750 <Tool6751 Name="VCCLCompilerTool"6752 AdditionalIncludeDirectories=""6753 PreprocessorDefinitions=""6754 />6755 </FileConfiguration>6756 <FileConfiguration6757 Name="Debug-Static|x64"6758 >6759 <Tool6760 Name="VCCLCompilerTool"6761 AdditionalIncludeDirectories=""6762 PreprocessorDefinitions=""6763 />6764 </FileConfiguration>6765 <FileConfiguration6766 Name="Release-Dynamic|x64"6767 >6768 <Tool6769 Name="VCCLCompilerTool"6770 AdditionalIncludeDirectories=""6771 PreprocessorDefinitions=""6772 />6773 </FileConfiguration>6774 <FileConfiguration6775 Name="Debug-Dynamic|x64"6776 >6777 <Tool6778 Name="VCCLCompilerTool"6779 AdditionalIncludeDirectories=""6780 PreprocessorDefinitions=""6781 />6782 </FileConfiguration>6783 <FileConfiguration6784 Name="Release-Static|x64"6785 >6786 <Tool6787 Name="VCCLCompilerTool"6788 AdditionalIncludeDirectories=""6789 PreprocessorDefinitions=""6790 />6791 </FileConfiguration>6792 </File>6793 <File6794 RelativePath="..\src\pjmedia\types.c"6795 >6796 </File>6797 <File6798 RelativePath="..\src\pjmedia\vid_codec.c"6799 >6800 </File>6801 <File6802 RelativePath="..\src\pjmedia\vid_codec_util.c"6803 >6804 </File>6805 <File6806 RelativePath="..\src\pjmedia\vid_port.c"6807 >6808 </File>6809 <File6810 RelativePath="..\src\pjmedia\vid_stream.c"6811 >6812 </File>6813 <File6814 RelativePath="..\src\pjmedia\vid_stream_info.c"6815 >6816 </File>6817 <File6818 RelativePath="..\src\pjmedia\vid_tee.c"6819 >6820 </File>6821 <File6822 RelativePath="..\src\pjmedia\videodev.c"6823 >6824 </File>6825 <File6826 RelativePath="..\src\pjmedia\wav_player.c"6827 >6828 <FileConfiguration6829 Name="Release|Win32"6830 >6831 <Tool6832 Name="VCCLCompilerTool"6833 AdditionalIncludeDirectories=""6834 PreprocessorDefinitions=""6835 />6836 </FileConfiguration>6837 <FileConfiguration6838 Name="Debug|Win32"6839 >6840 <Tool6841 Name="VCCLCompilerTool"6842 AdditionalIncludeDirectories=""6843 PreprocessorDefinitions=""6844 />6845 </FileConfiguration>6846 <FileConfiguration6847 Name="Debug-Static|Win32"6848 >6849 <Tool6850 Name="VCCLCompilerTool"6851 AdditionalIncludeDirectories=""6852 PreprocessorDefinitions=""6853 />6854 </FileConfiguration>6855 <FileConfiguration6856 Name="Release-Dynamic|Win32"6857 >6858 <Tool6859 Name="VCCLCompilerTool"6860 AdditionalIncludeDirectories=""6861 PreprocessorDefinitions=""6862 />6863 </FileConfiguration>6864 <FileConfiguration6865 Name="Debug-Dynamic|Win32"6866 >6867 <Tool6868 Name="VCCLCompilerTool"6869 AdditionalIncludeDirectories=""6870 PreprocessorDefinitions=""6871 />6872 </FileConfiguration>6873 <FileConfiguration6874 Name="Release-Static|Win32"6875 >6876 <Tool6877 Name="VCCLCompilerTool"6878 AdditionalIncludeDirectories=""6879 PreprocessorDefinitions=""6880 />6881 </FileConfiguration>6882 <FileConfiguration6883 Name="Release|x64"6884 >6885 <Tool6886 Name="VCCLCompilerTool"6887 AdditionalIncludeDirectories=""6888 PreprocessorDefinitions=""6889 />6890 </FileConfiguration>6891 <FileConfiguration6892 Name="Debug|x64"6893 >6894 <Tool6895 Name="VCCLCompilerTool"6896 AdditionalIncludeDirectories=""6897 PreprocessorDefinitions=""6898 />6899 </FileConfiguration>6900 <FileConfiguration6901 Name="Debug-Static|x64"6902 >6903 <Tool6904 Name="VCCLCompilerTool"6905 AdditionalIncludeDirectories=""6906 PreprocessorDefinitions=""6907 />6908 </FileConfiguration>6909 <FileConfiguration6910 Name="Release-Dynamic|x64"6911 >6912 <Tool6913 Name="VCCLCompilerTool"6914 AdditionalIncludeDirectories=""6915 PreprocessorDefinitions=""6916 />6917 </FileConfiguration>6918 <FileConfiguration6919 Name="Debug-Dynamic|x64"6920 >6921 <Tool6922 Name="VCCLCompilerTool"6923 AdditionalIncludeDirectories=""6924 PreprocessorDefinitions=""6925 />6926 </FileConfiguration>6927 <FileConfiguration6928 Name="Release-Static|x64"6929 >6930 <Tool6931 Name="VCCLCompilerTool"6932 AdditionalIncludeDirectories=""6933 PreprocessorDefinitions=""6934 />6935 </FileConfiguration>6936 </File>6937 <File6938 RelativePath="..\src\pjmedia\wav_playlist.c"6939 >6940 <FileConfiguration6941 Name="Release|Win32"6942 >6943 <Tool6944 Name="VCCLCompilerTool"6945 AdditionalIncludeDirectories=""6946 PreprocessorDefinitions=""6947 />6948 </FileConfiguration>6949 <FileConfiguration6950 Name="Debug|Win32"6951 >6952 <Tool6953 Name="VCCLCompilerTool"6954 AdditionalIncludeDirectories=""6955 PreprocessorDefinitions=""6956 />6957 </FileConfiguration>6958 <FileConfiguration6959 Name="Debug-Static|Win32"6960 >6961 <Tool6962 Name="VCCLCompilerTool"6963 AdditionalIncludeDirectories=""6964 PreprocessorDefinitions=""6965 />6966 </FileConfiguration>6967 <FileConfiguration6968 Name="Release-Dynamic|Win32"6969 >6970 <Tool6971 Name="VCCLCompilerTool"6972 AdditionalIncludeDirectories=""6973 PreprocessorDefinitions=""6974 />6975 </FileConfiguration>6976 <FileConfiguration6977 Name="Debug-Dynamic|Win32"6978 >6979 <Tool6980 Name="VCCLCompilerTool"6981 AdditionalIncludeDirectories=""6982 PreprocessorDefinitions=""6983 />6984 </FileConfiguration>6985 <FileConfiguration6986 Name="Release-Static|Win32"6987 >6988 <Tool6989 Name="VCCLCompilerTool"6990 AdditionalIncludeDirectories=""6991 PreprocessorDefinitions=""6992 />6993 </FileConfiguration>6994 <FileConfiguration6995 Name="Release|x64"6996 >6997 <Tool6998 Name="VCCLCompilerTool"6999 AdditionalIncludeDirectories=""7000 PreprocessorDefinitions=""7001 />7002 </FileConfiguration>7003 <FileConfiguration7004 Name="Debug|x64"7005 >7006 <Tool7007 Name="VCCLCompilerTool"7008 AdditionalIncludeDirectories=""7009 PreprocessorDefinitions=""7010 />7011 </FileConfiguration>7012 <FileConfiguration7013 Name="Debug-Static|x64"7014 >7015 <Tool7016 Name="VCCLCompilerTool"7017 AdditionalIncludeDirectories=""7018 PreprocessorDefinitions=""7019 />7020 </FileConfiguration>7021 <FileConfiguration7022 Name="Release-Dynamic|x64"7023 >7024 <Tool7025 Name="VCCLCompilerTool"7026 AdditionalIncludeDirectories=""7027 PreprocessorDefinitions=""7028 />7029 </FileConfiguration>7030 <FileConfiguration7031 Name="Debug-Dynamic|x64"7032 >7033 <Tool7034 Name="VCCLCompilerTool"7035 AdditionalIncludeDirectories=""7036 PreprocessorDefinitions=""7037 />7038 </FileConfiguration>7039 <FileConfiguration7040 Name="Release-Static|x64"7041 >7042 <Tool7043 Name="VCCLCompilerTool"7044 AdditionalIncludeDirectories=""7045 PreprocessorDefinitions=""7046 />7047 </FileConfiguration>7048 </File>7049 <File7050 RelativePath="..\src\pjmedia\wav_writer.c"7051 >7052 <FileConfiguration7053 Name="Release|Win32"7054 >7055 <Tool7056 Name="VCCLCompilerTool"7057 AdditionalIncludeDirectories=""7058 PreprocessorDefinitions=""7059 />7060 </FileConfiguration>7061 <FileConfiguration7062 Name="Debug|Win32"7063 >7064 <Tool7065 Name="VCCLCompilerTool"7066 AdditionalIncludeDirectories=""7067 PreprocessorDefinitions=""7068 />7069 </FileConfiguration>7070 <FileConfiguration7071 Name="Debug-Static|Win32"7072 >7073 <Tool7074 Name="VCCLCompilerTool"7075 AdditionalIncludeDirectories=""7076 PreprocessorDefinitions=""7077 />7078 </FileConfiguration>7079 <FileConfiguration7080 Name="Release-Dynamic|Win32"7081 >7082 <Tool7083 Name="VCCLCompilerTool"7084 AdditionalIncludeDirectories=""7085 PreprocessorDefinitions=""7086 />7087 </FileConfiguration>7088 <FileConfiguration7089 Name="Debug-Dynamic|Win32"7090 >7091 <Tool7092 Name="VCCLCompilerTool"7093 AdditionalIncludeDirectories=""7094 PreprocessorDefinitions=""7095 />7096 </FileConfiguration>7097 <FileConfiguration7098 Name="Release-Static|Win32"7099 >7100 <Tool7101 Name="VCCLCompilerTool"7102 AdditionalIncludeDirectories=""7103 PreprocessorDefinitions=""7104 />7105 </FileConfiguration>7106 <FileConfiguration7107 Name="Release|x64"7108 >7109 <Tool7110 Name="VCCLCompilerTool"7111 AdditionalIncludeDirectories=""7112 PreprocessorDefinitions=""7113 />7114 </FileConfiguration>7115 <FileConfiguration7116 Name="Debug|x64"7117 >7118 <Tool7119 Name="VCCLCompilerTool"7120 AdditionalIncludeDirectories=""7121 PreprocessorDefinitions=""7122 />7123 </FileConfiguration>7124 <FileConfiguration7125 Name="Debug-Static|x64"7126 >7127 <Tool7128 Name="VCCLCompilerTool"7129 AdditionalIncludeDirectories=""7130 PreprocessorDefinitions=""7131 />7132 </FileConfiguration>7133 <FileConfiguration7134 Name="Release-Dynamic|x64"7135 >7136 <Tool7137 Name="VCCLCompilerTool"7138 AdditionalIncludeDirectories=""7139 PreprocessorDefinitions=""7140 />7141 </FileConfiguration>7142 <FileConfiguration7143 Name="Debug-Dynamic|x64"7144 >7145 <Tool7146 Name="VCCLCompilerTool"7147 AdditionalIncludeDirectories=""7148 PreprocessorDefinitions=""7149 />7150 </FileConfiguration>7151 <FileConfiguration7152 Name="Release-Static|x64"7153 >7154 <Tool7155 Name="VCCLCompilerTool"7156 AdditionalIncludeDirectories=""7157 PreprocessorDefinitions=""7158 />7159 </FileConfiguration>7160 </File>7161 <File7162 RelativePath="..\src\pjmedia\wave.c"7163 >7164 <FileConfiguration7165 Name="Release|Win32"7166 >7167 <Tool7168 Name="VCCLCompilerTool"7169 AdditionalIncludeDirectories=""7170 PreprocessorDefinitions=""7171 />7172 </FileConfiguration>7173 <FileConfiguration7174 Name="Debug|Win32"7175 >7176 <Tool7177 Name="VCCLCompilerTool"7178 AdditionalIncludeDirectories=""7179 PreprocessorDefinitions=""7180 />7181 </FileConfiguration>7182 <FileConfiguration7183 Name="Debug-Static|Win32"7184 >7185 <Tool7186 Name="VCCLCompilerTool"7187 AdditionalIncludeDirectories=""7188 PreprocessorDefinitions=""7189 />7190 </FileConfiguration>7191 <FileConfiguration7192 Name="Release-Dynamic|Win32"7193 >7194 <Tool7195 Name="VCCLCompilerTool"7196 AdditionalIncludeDirectories=""7197 PreprocessorDefinitions=""7198 />7199 </FileConfiguration>7200 <FileConfiguration7201 Name="Debug-Dynamic|Win32"7202 >7203 <Tool7204 Name="VCCLCompilerTool"7205 AdditionalIncludeDirectories=""7206 PreprocessorDefinitions=""7207 />7208 </FileConfiguration>7209 <FileConfiguration7210 Name="Release-Static|Win32"7211 >7212 <Tool7213 Name="VCCLCompilerTool"7214 AdditionalIncludeDirectories=""7215 PreprocessorDefinitions=""7216 />7217 </FileConfiguration>7218 <FileConfiguration7219 Name="Release|x64"7220 >7221 <Tool7222 Name="VCCLCompilerTool"7223 AdditionalIncludeDirectories=""7224 PreprocessorDefinitions=""7225 />7226 </FileConfiguration>7227 <FileConfiguration7228 Name="Debug|x64"7229 >7230 <Tool7231 Name="VCCLCompilerTool"7232 AdditionalIncludeDirectories=""7233 PreprocessorDefinitions=""7234 />7235 </FileConfiguration>7236 <FileConfiguration7237 Name="Debug-Static|x64"7238 >7239 <Tool7240 Name="VCCLCompilerTool"7241 AdditionalIncludeDirectories=""7242 PreprocessorDefinitions=""7243 />7244 </FileConfiguration>7245 <FileConfiguration7246 Name="Release-Dynamic|x64"7247 >7248 <Tool7249 Name="VCCLCompilerTool"7250 AdditionalIncludeDirectories=""7251 PreprocessorDefinitions=""7252 />7253 </FileConfiguration>7254 <FileConfiguration7255 Name="Debug-Dynamic|x64"7256 7456 > 7257 7457 <Tool -
pjproject/trunk/pjmedia/include/pjmedia/config.h
r5418 r5597 954 954 955 955 /** 956 * Enable session description for SRTP keying. 957 * 958 * By default it is enabled. 959 */ 960 #ifndef PJMEDIA_SRTP_HAS_SDES 961 # define PJMEDIA_SRTP_HAS_SDES 1 962 #endif 963 964 965 /** 966 * Enable DTLS for SRTP keying. 967 * 968 * Default value: 0 (disabled) 969 */ 970 #ifndef PJMEDIA_SRTP_HAS_DTLS 971 # define PJMEDIA_SRTP_HAS_DTLS 0 972 #endif 973 974 975 /** 976 * Set OpenSSL ciphers for DTLS-SRTP. 977 * 978 * Default value: "DEFAULT" 979 */ 980 #ifndef PJMEDIA_SRTP_DTLS_OSSL_CIPHERS 981 # define PJMEDIA_SRTP_DTLS_OSSL_CIPHERS "DEFAULT" 982 #endif 983 984 985 /** 956 986 * Maximum number of SRTP cryptos. 957 987 * -
pjproject/trunk/pjmedia/include/pjmedia/errno.h
r5489 r5597 623 623 #define PJMEDIA_SRTP_ESDPREQSECTP (PJMEDIA_ERRNO_START+229) /* 220229 */ 624 624 625 /** 626 * @hideinitializer 627 * No matching SRTP crypto-suite after DTLS nego. 628 */ 629 #define PJMEDIA_SRTP_DTLS_ENOCRYPTO (PJMEDIA_ERRNO_START+240) /* 220240 */ 630 631 /** 632 * @hideinitializer 633 * No certificate supplied by peer in DTLS nego. 634 */ 635 #define PJMEDIA_SRTP_DTLS_EPEERNOCERT (PJMEDIA_ERRNO_START+241) /* 220241 */ 636 637 /** 638 * @hideinitializer 639 * Fingerprint from signalling not match to actual fingerprint. 640 */ 641 #define PJMEDIA_SRTP_DTLS_EFPNOTMATCH (PJMEDIA_ERRNO_START+242) /* 220242 */ 642 625 643 #endif /* PJMEDIA_HAS_SRTP */ 626 644 -
pjproject/trunk/pjmedia/include/pjmedia/transport_ice.h
r4606 r5597 59 59 pj_ice_strans_op op, 60 60 pj_status_t status); 61 62 /** 63 * This callback will be called when ICE negotiation completes, with 64 * application user data. Note that if both callbacks are implemented, 65 * only this callback will be invoked. 66 * 67 * @param tp PJMEDIA ICE transport. 68 * @param op The operation 69 * @param status Operation status. 70 * @param user_data User data for this callback. 71 */ 72 void (*on_ice_complete2)(pjmedia_transport *tp, 73 pj_ice_strans_op op, 74 pj_status_t status, 75 void *user_data); 61 76 62 77 } pjmedia_ice_cb; … … 231 246 PJ_DECL(pj_grp_lock_t *) pjmedia_ice_get_grp_lock(pjmedia_transport *tp); 232 247 248 249 /** 250 * Add application to receive ICE notifications from the specified ICE media 251 * transport. 252 * 253 * @param tp The ICE media transport. 254 * @param cb The ICE specific callbacks. 255 * @param user_data Optional application user data. 256 * 257 * @return PJ_SUCCESS on success, or the appropriate error code. 258 */ 259 PJ_DECL(pj_status_t) pjmedia_ice_add_ice_cb(pjmedia_transport *tp, 260 const pjmedia_ice_cb *cb, 261 void *user_data); 262 263 264 /** 265 * Remove application to stop receiving ICE notifications from the specified 266 * ICE media transport. 267 * 268 * @param tp The ICE media transport. 269 * @param cb The ICE specific callbacks. 270 * @param user_data Optional application user data. The same user data 271 * passed to pjmedia_ice_add_ice_cb(), this is for 272 * validation purpose. 273 * 274 * @return PJ_SUCCESS on success, or the appropriate error code. 275 */ 276 PJ_DECL(pj_status_t) pjmedia_ice_remove_ice_cb(pjmedia_transport *tp, 277 const pjmedia_ice_cb *cb, 278 void *user_data); 279 280 233 281 PJ_END_DECL 234 282 -
pjproject/trunk/pjmedia/include/pjmedia/transport_srtp.h
r5412 r5597 131 131 132 132 /** 133 * This enumeration specifies SRTP keying methods. 134 */ 135 typedef enum pjmedia_srtp_keying_method 136 { 137 /** 138 * Session Description (SDES). 139 */ 140 PJMEDIA_SRTP_KEYING_SDES, 141 142 /** 143 * DTLS-SRTP. 144 */ 145 PJMEDIA_SRTP_KEYING_DTLS_SRTP, 146 147 /** 148 * Number of keying method. 149 */ 150 PJMEDIA_SRTP_KEYINGS_COUNT 151 152 } pjmedia_srtp_keying_method; 153 154 155 /** 156 * Structure containing callbacks to receive SRTP notifications. 157 */ 158 typedef struct pjmedia_srtp_cb 159 { 160 /** 161 * This callback will be called when SRTP negotiation completes. This 162 * callback will be invoked when the negotiation is done outside of 163 * the SDP signalling, such as in DTLS-SRTP. 164 * 165 * @param tp PJMEDIA SRTP transport. 166 * @param status Operation status. 167 */ 168 void (*on_srtp_nego_complete)(pjmedia_transport *tp, 169 pj_status_t status); 170 171 } pjmedia_srtp_cb; 172 173 174 /** 133 175 * Settings to be given when creating SRTP transport. Application should call 134 176 * #pjmedia_srtp_setting_default() to initialize this structure with its … … 140 182 * Specify the usage policy. Default is PJMEDIA_SRTP_OPTIONAL. 141 183 */ 142 pjmedia_srtp_use use;184 pjmedia_srtp_use use; 143 185 144 186 /** … … 146 188 * when it is destroyed. Default: PJ_TRUE. 147 189 */ 148 pj_bool_t close_member_tp;190 pj_bool_t close_member_tp; 149 191 150 192 /** 151 193 * Specify the number of crypto suite settings. 152 194 */ 153 unsigned crypto_count;195 unsigned crypto_count; 154 196 155 197 /** 156 198 * Specify individual crypto suite setting. 157 */ 158 pjmedia_srtp_crypto crypto[PJMEDIA_SRTP_MAX_CRYPTOS]; 199 * Notes for DTLS-SRTP keying: 200 * - Currently only supports these cryptos: AES_CM_128_HMAC_SHA1_80, 201 * AES_CM_128_HMAC_SHA1_32, AEAD_AES_256_GCM, and AEAD_AES_128_GCM. 202 * - SRTP key is not configurable. 203 */ 204 pjmedia_srtp_crypto crypto[PJMEDIA_SRTP_MAX_CRYPTOS]; 205 206 /** 207 * Specify the number of enabled keying methods. 208 * Default is PJMEDIA_SRTP_MAX_KEYINGS (all enabled). 209 */ 210 unsigned keying_count; 211 212 /** 213 * Specify enabled keying methods and its priority order. Keying method 214 * with higher priority will be given earlier chance to process the SDP, 215 * for example as currently only one keying is supported in the SDP offer, 216 * keying with first priority will be likely used in the SDP offer. 217 * 218 * Default is that all supported keying methods (i.e: currently SDES and 219 * DTLS-SRTP) will be enabled and with priority order: SDES, DTLS-SRTP. 220 */ 221 pjmedia_srtp_keying_method keying[PJMEDIA_SRTP_KEYINGS_COUNT]; 222 223 /** 224 * Specify SRTP callback. 225 */ 226 pjmedia_srtp_cb cb; 227 228 /** 229 * Specify SRTP transport user data. 230 */ 231 void *user_data; 159 232 160 233 } pjmedia_srtp_setting; -
pjproject/trunk/pjmedia/src/pjmedia/errno.c
r5489 r5597 166 166 PJ_BUILD_ERR( PJMEDIA_SRTP_ESDPINTRANSPORT, "Invalid SDP media transport for SRTP" ), 167 167 PJ_BUILD_ERR( PJMEDIA_SRTP_ESDPREQCRYPTO, "SRTP crypto attribute required" ), 168 PJ_BUILD_ERR( PJMEDIA_SRTP_ESDPREQSECTP, "Secure transport required in SDP media descriptor" ) 168 PJ_BUILD_ERR( PJMEDIA_SRTP_ESDPREQSECTP, "Secure transport required in SDP media descriptor" ), 169 PJ_BUILD_ERR( PJMEDIA_SRTP_DTLS_ENOCRYPTO, "No matching SRTP crypto-suite after DTLS nego" ), 170 PJ_BUILD_ERR( PJMEDIA_SRTP_DTLS_EPEERNOCERT,"No certificate supplied by peer in DTLS nego" ), 171 PJ_BUILD_ERR( PJMEDIA_SRTP_DTLS_EFPNOTMATCH,"Fingerprint from signalling not match to actual fingerprint" ) 169 172 #endif 170 173 -
pjproject/trunk/pjmedia/src/pjmedia/stream_info.c
r5419 r5597 420 420 si->proto = PJMEDIA_TP_PROTO_RTP_AVP; 421 421 422 } else if (pj_stri cmp(&local_m->desc.transport, &ID_RTP_SAVP) == 0) {422 } else if (pj_stristr(&local_m->desc.transport, &ID_RTP_SAVP)) { 423 423 424 424 si->proto = PJMEDIA_TP_PROTO_RTP_SAVP; -
pjproject/trunk/pjmedia/src/pjmedia/transport_ice.c
r5534 r5597 47 47 }; 48 48 49 /* ICE listener */ 50 typedef struct ice_listener 51 { 52 PJ_DECL_LIST_MEMBER(struct ice_listener); 53 pjmedia_ice_cb cb; 54 void *user_data; 55 } ice_listener; 56 49 57 struct transport_ice 50 58 { … … 57 65 58 66 pjmedia_ice_cb cb; 67 ice_listener listener; 68 ice_listener listener_empty; 59 69 unsigned media_option; 60 70 … … 67 77 pj_sockaddr remote_rtcp; 68 78 unsigned addr_len; /**< Length of addresses. */ 79 unsigned rem_rtp_cnt; /**< How many pkt from this addr. */ 69 80 70 81 pj_bool_t use_ice; … … 244 255 tp_ice->oa_role = ROLE_NONE; 245 256 tp_ice->use_ice = PJ_FALSE; 257 pj_list_init(&tp_ice->listener); 258 pj_list_init(&tp_ice->listener_empty); 246 259 247 260 pj_memcpy(&ice_st_cfg, cfg, sizeof(pj_ice_strans_cfg)); … … 286 299 PJ_ASSERT_RETURN(tp, NULL); 287 300 return pj_ice_strans_get_grp_lock(((struct transport_ice *)tp)->ice_st); 301 } 302 303 304 /* 305 * Add application to receive ICE notifications from the specified ICE media 306 * transport. 307 */ 308 PJ_DEF(pj_status_t) pjmedia_ice_add_ice_cb( pjmedia_transport *tp, 309 const pjmedia_ice_cb *cb, 310 void *user_data) 311 { 312 struct transport_ice *tp_ice = (struct transport_ice*)tp; 313 ice_listener *il; 314 pj_grp_lock_t *grp_lock; 315 316 PJ_ASSERT_RETURN(tp && cb, PJ_EINVAL); 317 grp_lock = pjmedia_ice_get_grp_lock(tp); 318 PJ_ASSERT_RETURN(grp_lock, PJ_EINVAL); 319 320 pj_grp_lock_acquire(grp_lock); 321 322 if (!pj_list_empty(&tp_ice->listener_empty)) { 323 il = tp_ice->listener_empty.next; 324 pj_list_erase(il); 325 il->cb = *cb; 326 il->user_data = user_data; 327 pj_list_push_back(&tp_ice->listener, il); 328 } else { 329 il = PJ_POOL_ZALLOC_T(tp_ice->pool, ice_listener); 330 pj_list_init(il); 331 il->cb = *cb; 332 il->user_data = user_data; 333 pj_list_push_back(&tp_ice->listener, il); 334 } 335 336 pj_grp_lock_release(grp_lock); 337 338 return PJ_SUCCESS; 339 } 340 341 342 /* 343 * Remove application to stop receiving ICE notifications the specified 344 * ICE media transport. 345 */ 346 PJ_DEF(pj_status_t) pjmedia_ice_remove_ice_cb( pjmedia_transport *tp, 347 const pjmedia_ice_cb *cb, 348 void *user_data) 349 { 350 struct transport_ice *tp_ice = (struct transport_ice*)tp; 351 ice_listener *il; 352 pj_grp_lock_t *grp_lock; 353 354 PJ_ASSERT_RETURN(tp && cb, PJ_EINVAL); 355 grp_lock = pjmedia_ice_get_grp_lock(tp); 356 PJ_ASSERT_RETURN(grp_lock, PJ_EINVAL); 357 358 pj_grp_lock_acquire(grp_lock); 359 360 for (il=tp_ice->listener.next; il!=&tp_ice->listener; il=il->next) { 361 if (pj_memcmp(&il->cb, cb, sizeof(cb))==0 && il->user_data==user_data) 362 break; 363 } 364 if (il != &tp_ice->listener) { 365 pj_list_erase(il); 366 pj_list_push_back(&tp_ice->listener_empty, il); 367 } 368 369 pj_grp_lock_release(grp_lock); 370 371 return (il != &tp_ice->listener? PJ_SUCCESS : PJ_ENOTFOUND); 288 372 } 289 373 … … 1620 1704 pj_memcpy(&tp_ice->remote_rtcp, rem_rtcp, addr_len); 1621 1705 tp_ice->addr_len = addr_len; 1706 tp_ice->rem_rtp_cnt = 0; 1622 1707 1623 1708 /* Init source RTP & RTCP addresses and counter */ … … 1731 1816 /* Don't switch while we're receiving from remote_rtp */ 1732 1817 tp_ice->rtp_src_cnt = 0; 1818 tp_ice->rem_rtp_cnt++; 1733 1819 } else { 1734 1820 … … 1745 1831 1746 1832 if (tp_ice->rtp_src_cnt < PJMEDIA_RTP_NAT_PROBATION_CNT) { 1747 discard = PJ_TRUE; 1833 /* Only discard if we have ever received packet from 1834 * remote address (remote_rtp). 1835 */ 1836 discard = (tp_ice->rem_rtp_cnt != 0); 1748 1837 } else { 1749 1838 char addr_text[80]; … … 1834 1923 { 1835 1924 struct transport_ice *tp_ice; 1925 ice_listener *il; 1836 1926 1837 1927 tp_ice = (struct transport_ice*) pj_ice_strans_get_user_data(ice_st); … … 1845 1935 if (tp_ice->cb.on_ice_complete) 1846 1936 (*tp_ice->cb.on_ice_complete)(&tp_ice->base, op, result); 1937 1938 for (il=tp_ice->listener.next; il!=&tp_ice->listener; il=il->next) { 1939 if (il->cb.on_ice_complete2) { 1940 (*il->cb.on_ice_complete2)(&tp_ice->base, op, result, 1941 il->user_data); 1942 } else if (il->cb.on_ice_complete) { 1943 (*il->cb.on_ice_complete)(&tp_ice->base, op, result); 1944 } 1945 } 1847 1946 } 1848 1947 -
pjproject/trunk/pjmedia/src/pjmedia/transport_srtp.c
r5588 r5597 22 22 #include <pjmedia/endpoint.h> 23 23 #include <pjlib-util/base64.h> 24 #include <pj/array.h> 24 25 #include <pj/assert.h> 25 26 #include <pj/ctype.h> … … 80 81 char *name; 81 82 cipher_type_id_t cipher_type; 82 unsigned cipher_key_len; 83 unsigned cipher_key_len; /* key + salt length */ 84 unsigned cipher_salt_len; /* salt only length */ 83 85 auth_type_id_t auth_type; 84 86 unsigned auth_key_len; … … 101 103 /* plain RTP/RTCP (no cipher & no auth) */ 102 104 {"NULL", NULL_CIPHER, 0, NULL_AUTH, 0, 0, 0, sec_serv_none}, 103 #if defined(PJMEDIA_SRTP_HAS_AES_GCM_256) && \ 104 (PJMEDIA_SRTP_HAS_AES_GCM_256 != 0) 105 106 #if defined(PJMEDIA_SRTP_HAS_AES_GCM_256)&&(PJMEDIA_SRTP_HAS_AES_GCM_256!=0) 107 105 108 /* cipher AES_GCM, NULL auth, auth tag len = 16 octets */ 106 {"AEAD_AES_256_GCM", AES_256_GCM, AES_256_GCM_KEYSIZE_WSALT,109 {"AEAD_AES_256_GCM", AES_256_GCM, 44, 12, 107 110 NULL_AUTH, 0, 16, 16, sec_serv_conf_and_auth, &aes_gcm_256_openssl}, 111 108 112 /* cipher AES_GCM, NULL auth, auth tag len = 8 octets */ 109 {"AEAD_AES_256_GCM_8", AES_256_GCM, AES_256_GCM_KEYSIZE_WSALT,113 {"AEAD_AES_256_GCM_8", AES_256_GCM, 44, 12, 110 114 NULL_AUTH, 0, 8, 8, sec_serv_conf_and_auth, &aes_gcm_256_openssl}, 111 115 #endif 112 #if defined(PJMEDIA_SRTP_HAS_AES_CM_256) && \113 (PJMEDIA_SRTP_HAS_AES_CM_256 != 0) 116 #if defined(PJMEDIA_SRTP_HAS_AES_CM_256)&&(PJMEDIA_SRTP_HAS_AES_CM_256!=0) 117 114 118 /* cipher AES_CM_256, auth HMAC_SHA1, auth tag len = 10 octets */ 115 {"AES_256_CM_HMAC_SHA1_80", AES_ICM, 46, HMAC_SHA1, 20, 10, 10,119 {"AES_256_CM_HMAC_SHA1_80", AES_ICM, 46, 14, HMAC_SHA1, 20, 10, 10, 116 120 sec_serv_conf_and_auth, NULL, 117 121 &crypto_policy_set_aes_cm_256_hmac_sha1_80}, 122 118 123 /* cipher AES_CM_256, auth HMAC_SHA1, auth tag len = 10 octets */ 119 {"AES_256_CM_HMAC_SHA1_32", AES_ICM, 46, HMAC_SHA1, 20, 4, 10,124 {"AES_256_CM_HMAC_SHA1_32", AES_ICM, 46, 14, HMAC_SHA1, 20, 4, 10, 120 125 sec_serv_conf_and_auth, NULL, 121 126 &crypto_policy_set_aes_cm_256_hmac_sha1_32}, 122 127 #endif 123 #if defined(PJMEDIA_SRTP_HAS_AES_CM_192) && \124 (PJMEDIA_SRTP_HAS_AES_CM_192 != 0) 128 #if defined(PJMEDIA_SRTP_HAS_AES_CM_192)&&(PJMEDIA_SRTP_HAS_AES_CM_192!=0) 129 125 130 /* cipher AES_CM_192, auth HMAC_SHA1, auth tag len = 10 octets */ 126 {"AES_192_CM_HMAC_SHA1_80", AES_ICM, 38, HMAC_SHA1, 20, 10, 10,131 {"AES_192_CM_HMAC_SHA1_80", AES_ICM, 38, 14, HMAC_SHA1, 20, 10, 10, 127 132 sec_serv_conf_and_auth, &aes_icm_192}, 133 128 134 /* cipher AES_CM_192, auth HMAC_SHA1, auth tag len = 4 octets */ 129 {"AES_192_CM_HMAC_SHA1_32", AES_ICM, 38, HMAC_SHA1, 20, 4, 10,135 {"AES_192_CM_HMAC_SHA1_32", AES_ICM, 38, 14, HMAC_SHA1, 20, 4, 10, 130 136 sec_serv_conf_and_auth, &aes_icm_192}, 131 137 #endif 132 #if defined(PJMEDIA_SRTP_HAS_AES_GCM_128) && \133 (PJMEDIA_SRTP_HAS_AES_GCM_128 != 0) 138 #if defined(PJMEDIA_SRTP_HAS_AES_GCM_128)&&(PJMEDIA_SRTP_HAS_AES_GCM_128!=0) 139 134 140 /* cipher AES_GCM, NULL auth, auth tag len = 16 octets */ 135 {"AEAD_AES_128_GCM", AES_128_GCM, AES_128_GCM_KEYSIZE_WSALT,141 {"AEAD_AES_128_GCM", AES_128_GCM, 28, 12, 136 142 NULL_AUTH, 0, 16, 16, sec_serv_conf_and_auth, &aes_gcm_128_openssl}, 137 143 138 144 /* cipher AES_GCM, NULL auth, auth tag len = 8 octets */ 139 {"AEAD_AES_128_GCM_8", AES_128_GCM, AES_128_GCM_KEYSIZE_WSALT,145 {"AEAD_AES_128_GCM_8", AES_128_GCM, 28, 12, 140 146 NULL_AUTH, 0, 8, 8, sec_serv_conf_and_auth, &aes_gcm_128_openssl}, 141 147 #endif 142 #if defined(PJMEDIA_SRTP_HAS_AES_CM_128) && \143 (PJMEDIA_SRTP_HAS_AES_CM_128 != 0) 148 #if defined(PJMEDIA_SRTP_HAS_AES_CM_128)&&(PJMEDIA_SRTP_HAS_AES_CM_128!=0) 149 144 150 /* cipher AES_CM_128, auth HMAC_SHA1, auth tag len = 10 octets */ 145 {"AES_CM_128_HMAC_SHA1_80", AES_ICM, 30, HMAC_SHA1, 20, 10, 10,151 {"AES_CM_128_HMAC_SHA1_80", AES_ICM, 30, 14, HMAC_SHA1, 20, 10, 10, 146 152 sec_serv_conf_and_auth}, 153 147 154 /* cipher AES_CM_128, auth HMAC_SHA1, auth tag len = 4 octets */ 148 {"AES_CM_128_HMAC_SHA1_32", AES_ICM, 30, HMAC_SHA1, 20, 4, 10,155 {"AES_CM_128_HMAC_SHA1_32", AES_ICM, 30, 14, HMAC_SHA1, 20, 4, 10, 149 156 sec_serv_conf_and_auth}, 150 157 #endif 158 151 159 /* 152 160 * F8_128_HMAC_SHA1_8 not supported by libsrtp? 153 * {"F8_128_HMAC_SHA1_8", NULL_CIPHER, 0, NULL_AUTH, 0, 0, 0, sec_serv_none} 161 * {"F8_128_HMAC_SHA1_8", NULL_CIPHER, 0, 0, NULL_AUTH, 0, 0, 0, 162 * sec_serv_none} 154 163 */ 155 164 }; 156 165 166 167 /* SRTP transport */ 157 168 typedef struct transport_srtp 158 169 { … … 193 204 /* Transport information */ 194 205 pjmedia_transport *member_tp; /**< Underlying transport. */ 206 pj_bool_t member_tp_attached; 195 207 196 208 /* SRTP usage policy of peer. This field is updated when media is starting. … … 205 217 */ 206 218 unsigned probation_cnt; 219 220 /* SRTP keying methods. The keying is implemented using media transport 221 * abstraction, so it will also be invoked when the SRTP media transport 222 * operation is invoked. 223 * 224 * As there can be multiple keying methods enabled (currently only SDES & 225 * DTLS-SRTP), each keying method will be given the chance to respond to 226 * remote SDP. If any keying operation returns non-success, it will be 227 * removed from the session. And once SRTP key is obtained via a keying 228 * method, any other keying methods will be stopped and destroyed. 229 */ 230 unsigned keying_cnt; 231 pjmedia_transport *keying[2]; 232 233 /* If not zero, keying nego is ongoing (async-ly, e.g: by DTLS-SRTP). 234 * This field may be updated by keying method. 235 */ 236 unsigned keying_pending_cnt; 237 207 238 } transport_srtp; 208 239 … … 224 255 static pj_status_t transport_get_info (pjmedia_transport *tp, 225 256 pjmedia_transport_info *info); 226 static pj_status_t transport_attach (pjmedia_transport *tp,227 void *user_data,228 const pj_sockaddr_t *rem_addr,229 const pj_sockaddr_t *rem_rtcp,230 unsigned addr_len,231 void (*rtp_cb)(void*,232 void*,233 pj_ssize_t),234 void (*rtcp_cb)(void*,235 void*,236 pj_ssize_t));257 //static pj_status_t transport_attach (pjmedia_transport *tp, 258 // void *user_data, 259 // const pj_sockaddr_t *rem_addr, 260 // const pj_sockaddr_t *rem_rtcp, 261 // unsigned addr_len, 262 // void (*rtp_cb)(void*, 263 // void*, 264 // pj_ssize_t), 265 // void (*rtcp_cb)(void*, 266 // void*, 267 // pj_ssize_t)); 237 268 static void transport_detach (pjmedia_transport *tp, 238 269 void *strm); … … 268 299 unsigned pct_lost); 269 300 static pj_status_t transport_destroy (pjmedia_transport *tp); 301 static pj_status_t transport_attach2 (pjmedia_transport *tp, 302 pjmedia_transport_attach_param *param); 270 303 271 304 … … 274 307 { 275 308 &transport_get_info, 276 &transport_attach,309 NULL, //&transport_attach, 277 310 &transport_detach, 278 311 &transport_send_rtp, … … 284 317 &transport_media_stop, 285 318 &transport_simulate_lost, 286 &transport_destroy 319 &transport_destroy, 320 &transport_attach2 287 321 }; 322 323 /* Get crypto index from crypto name */ 324 static int get_crypto_idx(const pj_str_t* crypto_name); 325 326 /* Is crypto empty (i.e: no name or key)? */ 327 static pj_bool_t srtp_crypto_empty(const pjmedia_srtp_crypto* c); 328 329 /* Compare crypto, return zero if same */ 330 static int srtp_crypto_cmp(const pjmedia_srtp_crypto* c1, 331 const pjmedia_srtp_crypto* c2); 332 333 /* Start SRTP */ 334 static pj_status_t start_srtp(transport_srtp *srtp); 335 336 /* SRTP keying method: Session Description */ 337 #if defined(PJMEDIA_SRTP_HAS_SDES) && (PJMEDIA_SRTP_HAS_SDES != 0) 338 # include "transport_srtp_sdes.c" 339 #endif 340 341 /* SRTP keying method: DTLS */ 342 #if defined(PJMEDIA_SRTP_HAS_DTLS) && (PJMEDIA_SRTP_HAS_DTLS != 0) 343 # include "transport_srtp_dtls.c" 344 #endif 345 288 346 289 347 /* This function may also be used by other module, e.g: pjmedia/errno.c, … … 346 404 PJ_DEF(pj_status_t) pjmedia_srtp_init_lib(pjmedia_endpt *endpt) 347 405 { 406 pj_status_t status = PJ_SUCCESS; 407 408 if (libsrtp_initialized) 409 return PJ_SUCCESS; 410 348 411 #if PJMEDIA_LIBSRTP_AUTO_INIT_DEINIT 349 if (libsrtp_initialized == PJ_FALSE) { 412 /* Init libsrtp */ 413 { 350 414 err_status_t err; 351 415 … … 356 420 return PJMEDIA_ERRNO_FROM_LIBSRTP(err); 357 421 } 358 359 if (pjmedia_endpt_atexit(endpt, pjmedia_srtp_deinit_lib) != PJ_SUCCESS) 360 { 361 /* There will be memory leak when it fails to schedule libsrtp 362 * deinitialization, however the memory leak could be harmless, 363 * since in modern OS's memory used by an application is released 364 * when the application terminates. 365 */ 366 PJ_LOG(4, (THIS_FILE, "Failed to register libsrtp deinit.")); 367 } 368 369 libsrtp_initialized = PJ_TRUE; 370 } 371 #else 372 PJ_UNUSED_ARG(endpt); 373 #endif 374 375 return PJ_SUCCESS; 422 } 423 #endif 424 425 #if defined(PJMEDIA_SRTP_HAS_DTLS) && (PJMEDIA_SRTP_HAS_DTLS != 0) 426 dtls_init(); 427 #endif 428 429 if (pjmedia_endpt_atexit(endpt, pjmedia_srtp_deinit_lib) != PJ_SUCCESS) 430 { 431 /* There will be memory leak when it fails to schedule libsrtp 432 * deinitialization, however the memory leak could be harmless, 433 * since in modern OS's memory used by an application is released 434 * when the application terminates. 435 */ 436 PJ_LOG(4, (THIS_FILE, "Failed to register libsrtp deinit.")); 437 } 438 439 libsrtp_initialized = PJ_TRUE; 440 441 return status; 376 442 } 377 443 … … 392 458 # define PJMEDIA_SRTP_HAS_SHUTDOWN 1 393 459 #endif 460 461 #if PJMEDIA_LIBSRTP_AUTO_INIT_DEINIT 394 462 395 463 # if defined(PJMEDIA_SRTP_HAS_DEINIT) && PJMEDIA_SRTP_HAS_DEINIT!=0 … … 404 472 get_libsrtp_errstr(err))); 405 473 } 474 #endif // PJMEDIA_LIBSRTP_AUTO_INIT_DEINIT 475 476 #if defined(PJMEDIA_SRTP_HAS_DTLS) && (PJMEDIA_SRTP_HAS_DTLS != 0) 477 dtls_deinit(); 478 #endif 406 479 407 480 libsrtp_initialized = PJ_FALSE; … … 464 537 for (i=0; i<opt->crypto_count; ++i) 465 538 opt->crypto[i].name = pj_str(crypto_suites[i+1].name); 539 540 /* Keying method */ 541 opt->keying_count = PJMEDIA_SRTP_KEYINGS_COUNT; 542 opt->keying[0] = PJMEDIA_SRTP_KEYING_SDES; 543 opt->keying[1] = PJMEDIA_SRTP_KEYING_DTLS_SRTP; 544 545 /* Just for reminder to add any new keying to the array above */ 546 pj_assert(PJMEDIA_SRTP_KEYINGS_COUNT == 2); 466 547 } 467 548 … … 551 632 srtp->base.type = PJMEDIA_TRANSPORT_TYPE_UDP; 552 633 srtp->base.op = &transport_srtp_op; 634 srtp->base.user_data = srtp->setting.user_data; 553 635 554 636 /* Set underlying transport */ … … 557 639 /* Initialize peer's SRTP usage mode. */ 558 640 srtp->peer_use = srtp->setting.use; 641 642 /* Initialize SRTP keying method. */ 643 for (i = 0; i < srtp->setting.keying_count; ++i) { 644 switch(srtp->setting.keying[i]) { 645 646 case PJMEDIA_SRTP_KEYING_SDES: 647 #if defined(PJMEDIA_SRTP_HAS_SDES) && (PJMEDIA_SRTP_HAS_SDES != 0) 648 sdes_create(srtp, &srtp->keying[srtp->keying_cnt++]); 649 #endif 650 break; 651 652 case PJMEDIA_SRTP_KEYING_DTLS_SRTP: 653 #if defined(PJMEDIA_SRTP_HAS_DTLS) && (PJMEDIA_SRTP_HAS_DTLS != 0) 654 dtls_create(srtp, &srtp->keying[srtp->keying_cnt++]); 655 #endif 656 break; 657 658 default: 659 break; 660 } 661 } 559 662 560 663 /* Done */ … … 780 883 } 781 884 885 886 static pj_status_t start_srtp(transport_srtp *srtp) 887 { 888 /* Make sure we have the SRTP policies */ 889 if (srtp_crypto_empty(&srtp->tx_policy_neg) || 890 srtp_crypto_empty(&srtp->rx_policy_neg)) 891 { 892 srtp->bypass_srtp = PJ_TRUE; 893 srtp->peer_use = PJMEDIA_SRTP_DISABLED; 894 if (srtp->session_inited) { 895 pjmedia_transport_srtp_stop(&srtp->base); 896 } 897 898 return PJ_SUCCESS; 899 } 900 901 /* Reset probation counts */ 902 srtp->probation_cnt = PROBATION_CNT_INIT; 903 904 /* Got policy_local & policy_remote, let's initalize the SRTP */ 905 906 /* Ticket #1075: media_start() is called whenever media description 907 * gets updated, e.g: call hold, however we should restart SRTP only 908 * when the SRTP policy settings are updated. 909 */ 910 if (srtp_crypto_cmp(&srtp->tx_policy_neg, &srtp->tx_policy) || 911 srtp_crypto_cmp(&srtp->rx_policy_neg, &srtp->rx_policy)) 912 { 913 pj_status_t status; 914 status = pjmedia_transport_srtp_start(&srtp->base, 915 &srtp->tx_policy_neg, 916 &srtp->rx_policy_neg); 917 if (status != PJ_SUCCESS) 918 return status; 919 } 920 921 srtp->bypass_srtp = PJ_FALSE; 922 923 return PJ_SUCCESS; 924 } 925 926 782 927 PJ_DEF(pjmedia_transport *) pjmedia_transport_srtp_get_member( 783 928 pjmedia_transport *tp) … … 797 942 pjmedia_srtp_info srtp_info; 798 943 int spc_info_idx; 944 unsigned i; 799 945 800 946 PJ_ASSERT_RETURN(tp && info, PJ_EINVAL); … … 816 962 sizeof(srtp_info)); 817 963 964 /* Invoke get_info() of all keying methods */ 965 for (i=0; i < srtp->keying_cnt; i++) 966 pjmedia_transport_get_info(srtp->keying[i], info); 967 818 968 return pjmedia_transport_get_info(srtp->member_tp, info); 819 969 } 820 970 821 static pj_status_t transport_attach(pjmedia_transport *tp, 822 void *user_data, 823 const pj_sockaddr_t *rem_addr, 824 const pj_sockaddr_t *rem_rtcp, 825 unsigned addr_len, 826 void (*rtp_cb) (void*, void*, 827 pj_ssize_t), 828 void (*rtcp_cb)(void*, void*, 829 pj_ssize_t)) 971 static pj_status_t transport_attach2(pjmedia_transport *tp, 972 pjmedia_transport_attach_param *param) 830 973 { 831 974 transport_srtp *srtp = (transport_srtp*) tp; 975 pjmedia_transport_attach_param member_param; 832 976 pj_status_t status; 833 977 834 PJ_ASSERT_RETURN(tp && rem_addr && addr_len, PJ_EINVAL);978 PJ_ASSERT_RETURN(tp && param, PJ_EINVAL); 835 979 836 980 /* Save the callbacks */ 837 981 pj_lock_acquire(srtp->mutex); 838 srtp->rtp_cb = rtp_cb;839 srtp->rtcp_cb = rtcp_cb;840 srtp->user_data = user_data;982 srtp->rtp_cb = param->rtp_cb; 983 srtp->rtcp_cb = param->rtcp_cb; 984 srtp->user_data = param->user_data; 841 985 pj_lock_release(srtp->mutex); 842 986 843 /* Attach itself to transport */ 844 status = pjmedia_transport_attach(srtp->member_tp, srtp, rem_addr, 845 rem_rtcp, addr_len, &srtp_rtp_cb, 846 &srtp_rtcp_cb); 987 /* Attach self to member transport */ 988 member_param = *param; 989 member_param.user_data = srtp; 990 member_param.rtp_cb = &srtp_rtp_cb; 991 member_param.rtcp_cb = &srtp_rtcp_cb; 992 status = pjmedia_transport_attach2(srtp->member_tp, &member_param); 847 993 if (status != PJ_SUCCESS) { 848 994 pj_lock_acquire(srtp->mutex); … … 854 1000 } 855 1001 1002 srtp->member_tp_attached = PJ_TRUE; 856 1003 return PJ_SUCCESS; 857 1004 } … … 874 1021 srtp->user_data = NULL; 875 1022 pj_lock_release(srtp->mutex); 1023 srtp->member_tp_attached = PJ_FALSE; 876 1024 } 877 1025 … … 973 1121 transport_srtp *srtp = (transport_srtp *) tp; 974 1122 pj_status_t status; 1123 unsigned i; 975 1124 976 1125 PJ_ASSERT_RETURN(tp, PJ_EINVAL); 977 1126 1127 /* Close keying */ 1128 for (i=0; i < srtp->keying_cnt; i++) 1129 pjmedia_transport_close(srtp->keying[i]); 1130 1131 /* Close member if configured */ 978 1132 if (srtp->setting.close_member_tp && srtp->member_tp) { 979 1133 pjmedia_transport_close(srtp->member_tp); … … 1010 1164 if (size < 0) { 1011 1165 return; 1166 } 1167 1168 /* Give the packet to keying first by invoking its send_rtp() op. 1169 * Yes, the usage of send_rtp() is rather hacky, but it is convenient 1170 * as the signature suits the purpose and it is ready to use 1171 * (no futher registration/setting needed), and it may never be used 1172 * by any keying method in the future. 1173 */ 1174 { 1175 unsigned i; 1176 pj_status_t status; 1177 for (i=0; i < srtp->keying_cnt; i++) { 1178 if (!srtp->keying[i]->op->send_rtp) 1179 continue; 1180 status = pjmedia_transport_send_rtp(srtp->keying[i], pkt, size); 1181 if (status != PJ_EIGNORED) { 1182 /* Packet is already consumed by the keying method */ 1183 return; 1184 } 1185 } 1012 1186 } 1013 1187 … … 1111 1285 } 1112 1286 1113 /* Generate crypto attribute, including crypto key.1114 * If crypto-suite chosen is crypto NULL, just return PJ_SUCCESS,1115 * and set buffer_len = 0.1116 */1117 static pj_status_t generate_crypto_attr_value(pj_pool_t *pool,1118 char *buffer, int *buffer_len,1119 pjmedia_srtp_crypto *crypto,1120 int tag)1121 {1122 pj_status_t status;1123 int cs_idx = get_crypto_idx(&crypto->name);1124 char b64_key[PJ_BASE256_TO_BASE64_LEN(MAX_KEY_LEN)+1];1125 int b64_key_len = sizeof(b64_key);1126 int print_len;1127 1128 if (cs_idx == -1)1129 return PJMEDIA_SRTP_ENOTSUPCRYPTO;1130 1131 /* Crypto-suite NULL. */1132 if (cs_idx == 0) {1133 *buffer_len = 0;1134 return PJ_SUCCESS;1135 }1136 1137 /* Generate key if not specified. */1138 if (crypto->key.slen == 0) {1139 pj_bool_t key_ok;1140 char key[MAX_KEY_LEN];1141 err_status_t err;1142 unsigned i;1143 1144 PJ_ASSERT_RETURN(MAX_KEY_LEN >= crypto_suites[cs_idx].cipher_key_len,1145 PJ_ETOOSMALL);1146 1147 do {1148 key_ok = PJ_TRUE;1149 1150 1151 #if defined(PJ_HAS_SSL_SOCK) && (PJ_HAS_SSL_SOCK != 0)1152 1153 /* Include OpenSSL libraries for MSVC */1154 # ifdef _MSC_VER1155 # if OPENSSL_VERSION_NUMBER >= 0x10100000L1156 # pragma comment(lib, "libcrypto")1157 # else1158 # pragma comment(lib, "libeay32")1159 # pragma comment(lib, "ssleay32")1160 # endif1161 # endif1162 1163 err = RAND_bytes((unsigned char*)key,1164 crypto_suites[cs_idx].cipher_key_len);1165 if (err != 1) {1166 PJ_LOG(5,(THIS_FILE, "Failed generating random key"));1167 return PJMEDIA_ERRNO_FROM_LIBSRTP(1);1168 }1169 #else1170 err = crypto_get_random((unsigned char*)key,1171 crypto_suites[cs_idx].cipher_key_len);1172 if (err != err_status_ok) {1173 PJ_LOG(5,(THIS_FILE, "Failed generating random key: %s",1174 get_libsrtp_errstr(err)));1175 return PJMEDIA_ERRNO_FROM_LIBSRTP(err);1176 }1177 #endif1178 for (i=0; i<crypto_suites[cs_idx].cipher_key_len && key_ok; ++i)1179 if (key[i] == 0) key_ok = PJ_FALSE;1180 1181 } while (!key_ok);1182 crypto->key.ptr = (char*)1183 pj_pool_zalloc(pool,1184 crypto_suites[cs_idx].cipher_key_len);1185 pj_memcpy(crypto->key.ptr, key, crypto_suites[cs_idx].cipher_key_len);1186 crypto->key.slen = crypto_suites[cs_idx].cipher_key_len;1187 }1188 1189 if (crypto->key.slen != (pj_ssize_t)crypto_suites[cs_idx].cipher_key_len)1190 return PJMEDIA_SRTP_EINKEYLEN;1191 1192 /* Key transmitted via SDP should be base64 encoded. */1193 status = pj_base64_encode((pj_uint8_t*)crypto->key.ptr, crypto->key.slen,1194 b64_key, &b64_key_len);1195 if (status != PJ_SUCCESS) {1196 PJ_LOG(5,(THIS_FILE, "Failed encoding plain key to base64"));1197 return status;1198 }1199 1200 b64_key[b64_key_len] = '\0';1201 1202 PJ_ASSERT_RETURN(*buffer_len >= (crypto->name.slen + \1203 b64_key_len + 16), PJ_ETOOSMALL);1204 1205 /* Print the crypto attribute value. */1206 print_len = pj_ansi_snprintf(buffer, *buffer_len, "%d %s inline:%s",1207 tag,1208 crypto_suites[cs_idx].name,1209 b64_key);1210 if (print_len < 1 || print_len >= *buffer_len)1211 return PJ_ETOOSMALL;1212 1213 *buffer_len = print_len;1214 1215 return PJ_SUCCESS;1216 }1217 1218 /* Parse crypto attribute line */1219 static pj_status_t parse_attr_crypto(pj_pool_t *pool,1220 const pjmedia_sdp_attr *attr,1221 pjmedia_srtp_crypto *crypto,1222 int *tag)1223 {1224 pj_str_t token, delim;1225 pj_status_t status;1226 int itmp, found_idx;1227 1228 pj_bzero(crypto, sizeof(*crypto));1229 1230 /* Tag */1231 delim = pj_str(" ");1232 found_idx = pj_strtok(&attr->value, &delim, &token, 0);1233 if (found_idx == attr->value.slen) {1234 PJ_LOG(4,(THIS_FILE, "Attribute crypto expecting tag"));1235 return PJMEDIA_SDP_EINATTR;1236 }1237 1238 /* Tag must not use leading zeroes. */1239 if (token.slen > 1 && *token.ptr == '0')1240 return PJMEDIA_SDP_EINATTR;1241 1242 /* Tag must be decimal, i.e: contains only digit '0'-'9'. */1243 for (itmp = 0; itmp < token.slen; ++itmp)1244 if (!pj_isdigit(token.ptr[itmp]))1245 return PJMEDIA_SDP_EINATTR;1246 1247 /* Get tag value. */1248 *tag = pj_strtoul(&token);1249 1250 /* Crypto-suite */1251 found_idx = pj_strtok(&attr->value, &delim, &token, found_idx+token.slen);1252 if (found_idx == attr->value.slen) {1253 PJ_LOG(4,(THIS_FILE, "Attribute crypto expecting crypto suite"));1254 return PJMEDIA_SDP_EINATTR;1255 }1256 pj_strdup(pool, &crypto->name, &token);1257 1258 /* Key method */1259 delim = pj_str(": ");1260 found_idx = pj_strtok(&attr->value, &delim, &token, found_idx+token.slen);1261 if (found_idx == attr->value.slen) {1262 PJ_LOG(4,(THIS_FILE, "Attribute crypto expecting key method"));1263 return PJMEDIA_SDP_EINATTR;1264 }1265 if (pj_stricmp2(&token, "inline")) {1266 PJ_LOG(4,(THIS_FILE, "Attribute crypto key method '%.*s' "1267 "not supported!", token.slen, token.ptr));1268 return PJMEDIA_SDP_EINATTR;1269 }1270 1271 /* Key */1272 delim = pj_str("| ");1273 found_idx = pj_strtok(&attr->value, &delim, &token, found_idx+token.slen);1274 if (found_idx == attr->value.slen) {1275 PJ_LOG(4,(THIS_FILE, "Attribute crypto expecting key"));1276 return PJMEDIA_SDP_EINATTR;1277 }1278 1279 if (PJ_BASE64_TO_BASE256_LEN(token.slen) > MAX_KEY_LEN) {1280 PJ_LOG(4,(THIS_FILE, "Key too long"));1281 return PJMEDIA_SRTP_EINKEYLEN;1282 }1283 1284 /* Decode key */1285 crypto->key.ptr = (char*) pj_pool_zalloc(pool, MAX_KEY_LEN);1286 itmp = MAX_KEY_LEN;1287 status = pj_base64_decode(&token, (pj_uint8_t*)crypto->key.ptr,1288 &itmp);1289 if (status != PJ_SUCCESS) {1290 PJ_LOG(4,(THIS_FILE, "Failed decoding crypto key from base64"));1291 return status;1292 }1293 crypto->key.slen = itmp;1294 1295 return PJ_SUCCESS;1296 }1297 1287 1298 1288 static pj_status_t transport_media_create(pjmedia_transport *tp, … … 1304 1294 struct transport_srtp *srtp = (struct transport_srtp*) tp; 1305 1295 unsigned member_tp_option; 1296 pj_status_t last_err_st = PJ_EBUG; 1297 pj_status_t status; 1298 unsigned i; 1306 1299 1307 1300 PJ_ASSERT_RETURN(tp, PJ_EINVAL); … … 1310 1303 pj_bzero(&srtp->tx_policy_neg, sizeof(srtp->tx_policy_neg)); 1311 1304 1312 srtp->media_option = options; 1313 member_tp_option = options | PJMEDIA_TPMED_NO_TRANSPORT_CHECKING; 1314 1315 srtp->offerer_side = sdp_remote == NULL; 1316 1317 /* Validations */ 1318 if (srtp->offerer_side) { 1319 1320 if (srtp->setting.use == PJMEDIA_SRTP_DISABLED) 1321 goto BYPASS_SRTP; 1322 1323 } else { 1324 1325 pjmedia_sdp_media *m_rem; 1326 1327 m_rem = sdp_remote->media[media_index]; 1328 1329 /* Nothing to do on inactive media stream */ 1330 if (pjmedia_sdp_media_find_attr(m_rem, &ID_INACTIVE, NULL)) 1331 goto BYPASS_SRTP; 1332 1333 /* Validate remote media transport based on SRTP usage option. 1334 */ 1335 switch (srtp->setting.use) { 1336 case PJMEDIA_SRTP_DISABLED: 1337 if (pj_stricmp(&m_rem->desc.transport, &ID_RTP_SAVP) == 0) 1338 return PJMEDIA_SRTP_ESDPINTRANSPORT; 1339 goto BYPASS_SRTP; 1340 case PJMEDIA_SRTP_OPTIONAL: 1341 break; 1342 case PJMEDIA_SRTP_MANDATORY: 1343 if (pj_stricmp(&m_rem->desc.transport, &ID_RTP_SAVP) != 0) 1344 return PJMEDIA_SRTP_ESDPINTRANSPORT; 1345 break; 1305 srtp->media_option = member_tp_option = options; 1306 srtp->offerer_side = (sdp_remote == NULL); 1307 1308 if (srtp->offerer_side && srtp->setting.use == PJMEDIA_SRTP_DISABLED) 1309 srtp->bypass_srtp = PJ_TRUE; 1310 else 1311 member_tp_option |= PJMEDIA_TPMED_NO_TRANSPORT_CHECKING; 1312 1313 status = pjmedia_transport_media_create(srtp->member_tp, sdp_pool, 1314 member_tp_option, sdp_remote, 1315 media_index); 1316 if (status != PJ_SUCCESS || srtp->bypass_srtp) 1317 return status; 1318 1319 /* Invoke media_create() of all keying methods */ 1320 for (i=0; i < srtp->keying_cnt; ) { 1321 pj_status_t st; 1322 st = pjmedia_transport_media_create(srtp->keying[i], sdp_pool, 1323 options, sdp_remote, 1324 media_index); 1325 if (st != PJ_SUCCESS) { 1326 /* This keying method returns error, remove it */ 1327 pj_array_erase(srtp->keying, sizeof(srtp->keying[0]), 1328 srtp->keying_cnt, i); 1329 srtp->keying_cnt--; 1330 last_err_st = st; 1331 continue; 1332 } else if (srtp->offerer_side) { 1333 /* Currently we can send one keying only in outgoing offer */ 1334 srtp->keying[0] = srtp->keying[i]; 1335 srtp->keying_cnt = 1; 1336 break; 1346 1337 } 1347 1338 1348 } 1349 goto PROPAGATE_MEDIA_CREATE; 1350 1351 BYPASS_SRTP: 1352 srtp->bypass_srtp = PJ_TRUE; 1353 member_tp_option &= ~PJMEDIA_TPMED_NO_TRANSPORT_CHECKING; 1354 1355 PROPAGATE_MEDIA_CREATE: 1356 return pjmedia_transport_media_create(srtp->member_tp, sdp_pool, 1357 member_tp_option, sdp_remote, 1358 media_index); 1339 ++i; 1340 } 1341 1342 /* All keying method failed to process remote SDP? */ 1343 if (srtp->keying_cnt == 0) 1344 return last_err_st; 1345 1346 return PJ_SUCCESS; 1359 1347 } 1360 1348 … … 1366 1354 { 1367 1355 struct transport_srtp *srtp = (struct transport_srtp*) tp; 1368 pjmedia_sdp_media *m_rem, *m_loc; 1369 enum { MAXLEN = 512 }; 1370 char buffer[MAXLEN]; 1371 int buffer_len; 1356 pj_status_t last_err_st = PJ_EBUG; 1372 1357 pj_status_t status; 1373 pjmedia_sdp_attr *attr; 1374 pj_str_t attr_value; 1375 unsigned i, j; 1358 unsigned i; 1376 1359 1377 1360 PJ_ASSERT_RETURN(tp && sdp_pool && sdp_local, PJ_EINVAL); … … 1380 1363 pj_bzero(&srtp->tx_policy_neg, sizeof(srtp->tx_policy_neg)); 1381 1364 1382 srtp->offerer_side = sdp_remote == NULL; 1383 1384 m_rem = sdp_remote ? sdp_remote->media[media_index] : NULL; 1385 m_loc = sdp_local->media[media_index]; 1386 1387 /* Bypass if media transport is not RTP/AVP or RTP/SAVP */ 1388 if (pj_stricmp(&m_loc->desc.transport, &ID_RTP_AVP) != 0 && 1389 pj_stricmp(&m_loc->desc.transport, &ID_RTP_SAVP) != 0) 1390 goto BYPASS_SRTP; 1391 1392 /* If the media is inactive, do nothing. */ 1393 /* No, we still need to process SRTP offer/answer even if the media is 1394 * marked as inactive, because the transport is still alive in this 1395 * case (e.g. for keep-alive). See: 1396 * http://trac.pjsip.org/repos/ticket/1079 1397 */ 1398 /* 1399 if (pjmedia_sdp_media_find_attr(m_loc, &ID_INACTIVE, NULL) || 1400 (m_rem && pjmedia_sdp_media_find_attr(m_rem, &ID_INACTIVE, NULL))) 1401 goto BYPASS_SRTP; 1402 */ 1403 1404 /* Check remote media transport & set local media transport 1405 * based on SRTP usage option. 1406 */ 1407 if (srtp->offerer_side) { 1408 1409 /* Generate transport */ 1410 switch (srtp->setting.use) { 1411 case PJMEDIA_SRTP_DISABLED: 1412 goto BYPASS_SRTP; 1413 case PJMEDIA_SRTP_OPTIONAL: 1414 m_loc->desc.transport = 1415 (srtp->peer_use == PJMEDIA_SRTP_MANDATORY)? 1416 ID_RTP_SAVP : ID_RTP_AVP; 1417 break; 1418 case PJMEDIA_SRTP_MANDATORY: 1419 m_loc->desc.transport = ID_RTP_SAVP; 1420 break; 1365 srtp->offerer_side = (sdp_remote == NULL); 1366 1367 status = pjmedia_transport_encode_sdp(srtp->member_tp, sdp_pool, 1368 sdp_local, sdp_remote, media_index); 1369 if (status != PJ_SUCCESS || srtp->bypass_srtp) 1370 return status; 1371 1372 /* Invoke encode_sdp() of all keying methods */ 1373 for (i=0; i < srtp->keying_cnt; ) { 1374 pj_status_t st; 1375 st = pjmedia_transport_encode_sdp(srtp->keying[i], sdp_pool, 1376 sdp_local, sdp_remote, 1377 media_index); 1378 if (st != PJ_SUCCESS) { 1379 /* This keying method returns error, remove it */ 1380 pj_array_erase(srtp->keying, sizeof(srtp->keying[0]), 1381 srtp->keying_cnt, i); 1382 srtp->keying_cnt--; 1383 last_err_st = st; 1384 continue; 1421 1385 } 1422 1386 1423 /* Generate crypto attribute if not yet */ 1424 if (pjmedia_sdp_media_find_attr(m_loc, &ID_CRYPTO, NULL) == NULL) { 1425 int tag = 1; 1426 1427 /* Offer only current active crypto if any, otherwise offer all 1428 * crypto-suites in the setting. 1429 */ 1430 for (i=0; i<srtp->setting.crypto_count; ++i) { 1431 if (srtp->tx_policy.name.slen && 1432 pj_stricmp(&srtp->tx_policy.name, 1433 &srtp->setting.crypto[i].name) != 0) 1434 { 1435 continue; 1436 } 1437 1438 buffer_len = MAXLEN; 1439 status = generate_crypto_attr_value(srtp->pool, buffer, &buffer_len, 1440 &srtp->setting.crypto[i], 1441 tag); 1442 if (status != PJ_SUCCESS) 1443 return status; 1444 1445 /* If buffer_len==0, just skip the crypto attribute. */ 1446 if (buffer_len) { 1447 pj_strset(&attr_value, buffer, buffer_len); 1448 attr = pjmedia_sdp_attr_create(srtp->pool, ID_CRYPTO.ptr, 1449 &attr_value); 1450 m_loc->attr[m_loc->attr_count++] = attr; 1451 ++tag; 1452 } 1387 if (!srtp_crypto_empty(&srtp->tx_policy_neg) && 1388 !srtp_crypto_empty(&srtp->rx_policy_neg)) 1389 { 1390 /* SRTP nego is done, let's destroy any other keying. */ 1391 unsigned j; 1392 for (j = 0; j < srtp->keying_cnt; ++j) { 1393 if (j != i) 1394 pjmedia_transport_close(srtp->keying[j]); 1453 1395 } 1396 srtp->keying_cnt = 1; 1397 srtp->keying[0] = srtp->keying[i]; 1398 srtp->keying_pending_cnt = 0; 1399 break; 1454 1400 } 1455 1401 1456 } else { 1457 /* Answerer side */ 1458 1459 pj_assert(sdp_remote && m_rem); 1460 1461 /* Generate transport */ 1462 switch (srtp->setting.use) { 1463 case PJMEDIA_SRTP_DISABLED: 1464 if (pj_stricmp(&m_rem->desc.transport, &ID_RTP_SAVP) == 0) 1465 return PJMEDIA_SRTP_ESDPINTRANSPORT; 1466 goto BYPASS_SRTP; 1467 case PJMEDIA_SRTP_OPTIONAL: 1468 m_loc->desc.transport = m_rem->desc.transport; 1469 break; 1470 case PJMEDIA_SRTP_MANDATORY: 1471 if (pj_stricmp(&m_rem->desc.transport, &ID_RTP_SAVP) != 0) 1472 return PJMEDIA_SRTP_ESDPINTRANSPORT; 1473 m_loc->desc.transport = ID_RTP_SAVP; 1474 break; 1475 } 1476 1477 /* Generate crypto attribute if not yet */ 1478 if (pjmedia_sdp_media_find_attr(m_loc, &ID_CRYPTO, NULL) == NULL) { 1479 1480 pjmedia_srtp_crypto tmp_rx_crypto; 1481 pj_bool_t has_crypto_attr = PJ_FALSE; 1482 int matched_idx = -1; 1483 int chosen_tag = 0; 1484 int tags[64]; /* assume no more than 64 crypto attrs in a media */ 1485 unsigned cr_attr_count = 0; 1486 1487 /* Find supported crypto-suite, get the tag, and assign policy_local */ 1488 for (i=0; i<m_rem->attr_count; ++i) { 1489 if (pj_stricmp(&m_rem->attr[i]->name, &ID_CRYPTO) != 0) 1490 continue; 1491 1492 has_crypto_attr = PJ_TRUE; 1493 1494 status = parse_attr_crypto(srtp->pool, m_rem->attr[i], 1495 &tmp_rx_crypto, &tags[cr_attr_count]); 1496 if (status != PJ_SUCCESS) 1497 return status; 1498 1499 /* Check duplicated tag */ 1500 for (j=0; j<cr_attr_count; ++j) { 1501 if (tags[j] == tags[cr_attr_count]) { 1502 DEACTIVATE_MEDIA(sdp_pool, m_loc); 1503 return PJMEDIA_SRTP_ESDPDUPCRYPTOTAG; 1504 } 1505 } 1506 1507 if (matched_idx == -1) { 1508 /* lets see if the crypto-suite offered is supported */ 1509 for (j=0; j<srtp->setting.crypto_count; ++j) 1510 if (pj_stricmp(&tmp_rx_crypto.name, 1511 &srtp->setting.crypto[j].name) == 0) 1512 { 1513 int cs_idx = get_crypto_idx(&tmp_rx_crypto.name); 1514 1515 if (cs_idx == -1) 1516 return PJMEDIA_SRTP_ENOTSUPCRYPTO; 1517 1518 /* Force to use test key */ 1519 /* bad keys for snom: */ 1520 //char *hex_test_key = "58b29c5c8f42308120ce857e439f2d" 1521 // "7810a8b10ad0b1446be5470faea496"; 1522 //char *hex_test_key = "20a26aac7ba062d356ff52b61e3993" 1523 // "ccb78078f12c64db94b9c294927fd0"; 1524 //pj_str_t *test_key = &srtp->setting.crypto[j].key; 1525 //char *raw_test_key = pj_pool_zalloc(srtp->pool, 64); 1526 //hex_string_to_octet_string( 1527 // raw_test_key, 1528 // hex_test_key, 1529 // strlen(hex_test_key)); 1530 //pj_strset(test_key, raw_test_key, 1531 // crypto_suites[cs_idx].cipher_key_len); 1532 /* EO Force to use test key */ 1533 1534 if (tmp_rx_crypto.key.slen != 1535 (int)crypto_suites[cs_idx].cipher_key_len) 1536 return PJMEDIA_SRTP_EINKEYLEN; 1537 1538 srtp->rx_policy_neg = tmp_rx_crypto; 1539 chosen_tag = tags[cr_attr_count]; 1540 matched_idx = j; 1541 break; 1542 } 1543 } 1544 cr_attr_count++; 1545 } 1546 1547 /* Check crypto negotiation result */ 1548 switch (srtp->setting.use) { 1549 case PJMEDIA_SRTP_DISABLED: 1550 pj_assert(!"Should never reach here"); 1551 break; 1552 1553 case PJMEDIA_SRTP_OPTIONAL: 1554 /* bypass SRTP when no crypto-attr and remote uses RTP/AVP */ 1555 if (!has_crypto_attr && 1556 pj_stricmp(&m_rem->desc.transport, &ID_RTP_AVP) == 0) 1557 goto BYPASS_SRTP; 1558 /* bypass SRTP when nothing match and remote uses RTP/AVP */ 1559 else if (matched_idx == -1 && 1560 pj_stricmp(&m_rem->desc.transport, &ID_RTP_AVP) == 0) 1561 goto BYPASS_SRTP; 1562 break; 1563 1564 case PJMEDIA_SRTP_MANDATORY: 1565 /* Do nothing, intentional */ 1566 break; 1567 } 1568 1569 /* No crypto attr */ 1570 if (!has_crypto_attr) { 1571 DEACTIVATE_MEDIA(sdp_pool, m_loc); 1572 return PJMEDIA_SRTP_ESDPREQCRYPTO; 1573 } 1574 1575 /* No crypto match */ 1576 if (matched_idx == -1) { 1577 DEACTIVATE_MEDIA(sdp_pool, m_loc); 1578 return PJMEDIA_SRTP_ENOTSUPCRYPTO; 1579 } 1580 1581 /* we have to generate crypto answer, 1582 * with srtp->tx_policy_neg matched the offer 1583 * and rem_tag contains matched offer tag. 1584 */ 1585 buffer_len = MAXLEN; 1586 status = generate_crypto_attr_value(srtp->pool, buffer, &buffer_len, 1587 &srtp->setting.crypto[matched_idx], 1588 chosen_tag); 1589 if (status != PJ_SUCCESS) 1590 return status; 1591 1592 srtp->tx_policy_neg = srtp->setting.crypto[matched_idx]; 1593 1594 /* If buffer_len==0, just skip the crypto attribute. */ 1595 if (buffer_len) { 1596 pj_strset(&attr_value, buffer, buffer_len); 1597 attr = pjmedia_sdp_attr_create(sdp_pool, ID_CRYPTO.ptr, 1598 &attr_value); 1599 m_loc->attr[m_loc->attr_count++] = attr; 1600 } 1601 1602 /* At this point, we get valid rx_policy_neg & tx_policy_neg. */ 1603 } 1604 1605 } 1606 goto PROPAGATE_MEDIA_CREATE; 1607 1608 BYPASS_SRTP: 1609 /* Do not update this flag here as actually the media session hasn't been 1610 * updated. 1611 */ 1612 //srtp->bypass_srtp = PJ_TRUE; 1613 1614 PROPAGATE_MEDIA_CREATE: 1615 return pjmedia_transport_encode_sdp(srtp->member_tp, sdp_pool, 1616 sdp_local, sdp_remote, media_index); 1617 } 1618 1619 1620 static pj_status_t fill_local_crypto(pj_pool_t *pool, 1621 const pjmedia_sdp_media *m_loc, 1622 pjmedia_srtp_crypto loc_crypto[], 1623 int *count) 1624 { 1625 int i; 1626 int crypto_count = 0; 1627 pj_status_t status = PJ_SUCCESS; 1628 1629 for (i = 0; i < *count; ++i) { 1630 pj_bzero(&loc_crypto[i], sizeof(loc_crypto[i])); 1631 } 1632 1633 for (i = 0; i < (int)m_loc->attr_count; ++i) { 1634 pjmedia_srtp_crypto tmp_crypto; 1635 int loc_tag; 1636 1637 if (pj_stricmp(&m_loc->attr[i]->name, &ID_CRYPTO) != 0) 1638 continue; 1639 1640 status = parse_attr_crypto(pool, m_loc->attr[i], 1641 &tmp_crypto, &loc_tag); 1642 if (status != PJ_SUCCESS) 1643 return status; 1644 1645 if (loc_tag > *count) 1646 return PJMEDIA_SRTP_ESDPINCRYPTOTAG; 1647 1648 loc_crypto[loc_tag-1] = tmp_crypto; 1649 ++crypto_count; 1650 } 1651 *count = crypto_count; 1652 return status; 1402 i++; 1403 } 1404 1405 /* All keying method failed to process remote SDP? */ 1406 if (srtp->keying_cnt == 0) 1407 return last_err_st; 1408 1409 return PJ_SUCCESS; 1653 1410 } 1654 1411 … … 1661 1418 { 1662 1419 struct transport_srtp *srtp = (struct transport_srtp*) tp; 1663 pj media_sdp_media *m_rem, *m_loc;1420 pj_status_t last_err_st = PJ_EBUG; 1664 1421 pj_status_t status; 1665 1422 unsigned i; 1666 pjmedia_srtp_crypto loc_crypto[PJMEDIA_SRTP_MAX_CRYPTOS];1667 int loc_cryto_cnt = PJMEDIA_SRTP_MAX_CRYPTOS;1668 1423 1669 1424 PJ_ASSERT_RETURN(tp && pool && sdp_local && sdp_remote, PJ_EINVAL); 1670 1425 1671 m_rem = sdp_remote->media[media_index]; 1672 m_loc = sdp_local->media[media_index]; 1673 1674 if (pj_stricmp(&m_rem->desc.transport, &ID_RTP_SAVP) == 0) 1675 srtp->peer_use = PJMEDIA_SRTP_MANDATORY; 1676 else 1677 srtp->peer_use = PJMEDIA_SRTP_OPTIONAL; 1678 1679 /* For answerer side, this function will just have to start SRTP */ 1680 1681 /* Check remote media transport & set local media transport 1682 * based on SRTP usage option. 1426 status = pjmedia_transport_media_start(srtp->member_tp, pool, 1427 sdp_local, sdp_remote, 1428 media_index); 1429 if (status != PJ_SUCCESS || srtp->bypass_srtp) 1430 return status; 1431 1432 /* Invoke media_start() of all keying methods */ 1433 for (i=0; i < srtp->keying_cnt; ) { 1434 status = pjmedia_transport_media_start(srtp->keying[i], pool, 1435 sdp_local, sdp_remote, 1436 media_index); 1437 if (status != PJ_SUCCESS) { 1438 /* This keying method returns error, remove it */ 1439 pj_array_erase(srtp->keying, sizeof(srtp->keying[0]), 1440 srtp->keying_cnt, i); 1441 srtp->keying_cnt--; 1442 last_err_st = status; 1443 continue; 1444 } 1445 1446 if (!srtp_crypto_empty(&srtp->tx_policy_neg) && 1447 !srtp_crypto_empty(&srtp->rx_policy_neg)) 1448 { 1449 /* SRTP nego is done, let's destroy any other keying. */ 1450 unsigned j; 1451 for (j = 0; j < srtp->keying_cnt; ++j) { 1452 if (j != i) 1453 pjmedia_transport_close(srtp->keying[j]); 1454 } 1455 srtp->keying_cnt = 1; 1456 srtp->keying[0] = srtp->keying[i]; 1457 srtp->keying_pending_cnt = 0; 1458 break; 1459 } 1460 1461 i++; 1462 } 1463 1464 /* All keying method failed to process remote SDP? */ 1465 if (srtp->keying_cnt == 0) 1466 return last_err_st; 1467 1468 /* If SRTP key is being negotiated, just return now. 1469 * The keying method should start the SRTP once keying nego is done. 1683 1470 */ 1684 if (srtp->offerer_side) { 1685 if (srtp->setting.use == PJMEDIA_SRTP_DISABLED) { 1686 if (pjmedia_sdp_media_find_attr(m_rem, &ID_CRYPTO, NULL)) { 1687 DEACTIVATE_MEDIA(pool, m_loc); 1688 return PJMEDIA_SRTP_ESDPINCRYPTO; 1689 } 1690 goto BYPASS_SRTP; 1691 } else if (srtp->setting.use == PJMEDIA_SRTP_OPTIONAL) { 1692 // Regardless the answer's transport type (RTP/AVP or RTP/SAVP), 1693 // the answer must be processed through in optional mode. 1694 // Please note that at this point transport type is ensured to be 1695 // RTP/AVP or RTP/SAVP, see transport_media_create() 1696 //if (pj_stricmp(&m_rem->desc.transport, &m_loc->desc.transport)) { 1697 //DEACTIVATE_MEDIA(pool, m_loc); 1698 //return PJMEDIA_SDP_EINPROTO; 1699 //} 1700 fill_local_crypto(srtp->pool, m_loc, loc_crypto, &loc_cryto_cnt); 1701 } else if (srtp->setting.use == PJMEDIA_SRTP_MANDATORY) { 1702 if (pj_stricmp(&m_rem->desc.transport, &ID_RTP_SAVP)) { 1703 DEACTIVATE_MEDIA(pool, m_loc); 1704 return PJMEDIA_SDP_EINPROTO; 1705 } 1706 fill_local_crypto(srtp->pool, m_loc, loc_crypto, &loc_cryto_cnt); 1707 } 1708 } 1709 1710 if (srtp->offerer_side) { 1711 /* find supported crypto-suite, get the tag, and assign policy_local */ 1712 pjmedia_srtp_crypto tmp_tx_crypto; 1713 pj_bool_t has_crypto_attr = PJ_FALSE; 1714 int rem_tag; 1715 int j; 1716 1717 for (i=0; i<m_rem->attr_count; ++i) { 1718 if (pj_stricmp(&m_rem->attr[i]->name, &ID_CRYPTO) != 0) 1719 continue; 1720 1721 /* more than one crypto attribute in media answer */ 1722 if (has_crypto_attr) { 1723 DEACTIVATE_MEDIA(pool, m_loc); 1724 return PJMEDIA_SRTP_ESDPAMBIGUEANS; 1725 } 1726 1727 has_crypto_attr = PJ_TRUE; 1728 1729 status = parse_attr_crypto(srtp->pool, m_rem->attr[i], 1730 &tmp_tx_crypto, &rem_tag); 1731 if (status != PJ_SUCCESS) 1732 return status; 1733 1734 1735 /* Tag range check, our tags in the offer must be in the SRTP 1736 * setting range, so does the remote answer's. The remote answer's 1737 * tag must not exceed the tag range of the local offer. 1738 */ 1739 if (rem_tag < 1 || rem_tag > (int)srtp->setting.crypto_count || 1740 rem_tag > loc_cryto_cnt) 1741 1742 { 1743 DEACTIVATE_MEDIA(pool, m_loc); 1744 return PJMEDIA_SRTP_ESDPINCRYPTOTAG; 1745 } 1746 1747 /* match the crypto name */ 1748 if (pj_stricmp(&tmp_tx_crypto.name, 1749 &loc_crypto[rem_tag-1].name) != 0) 1750 { 1751 DEACTIVATE_MEDIA(pool, m_loc); 1752 return PJMEDIA_SRTP_ECRYPTONOTMATCH; 1753 } 1754 1755 /* Find the crypto from the setting. */ 1756 for (j = 0; j < (int)srtp->setting.crypto_count; ++j) { 1757 if (pj_stricmp(&tmp_tx_crypto.name, 1758 &srtp->setting.crypto[j].name) == 0) 1759 1760 { 1761 srtp->tx_policy_neg = srtp->setting.crypto[j]; 1762 break; 1763 } 1764 } 1765 1766 srtp->rx_policy_neg = tmp_tx_crypto; 1767 } 1768 1769 if (srtp->setting.use == PJMEDIA_SRTP_DISABLED) { 1770 /* should never reach here */ 1771 goto BYPASS_SRTP; 1772 } else if (srtp->setting.use == PJMEDIA_SRTP_OPTIONAL) { 1773 if (!has_crypto_attr) 1774 goto BYPASS_SRTP; 1775 } else if (srtp->setting.use == PJMEDIA_SRTP_MANDATORY) { 1776 if (!has_crypto_attr) { 1777 DEACTIVATE_MEDIA(pool, m_loc); 1778 return PJMEDIA_SRTP_ESDPREQCRYPTO; 1779 } 1780 } 1781 1782 /* At this point, we get valid rx_policy_neg & tx_policy_neg. */ 1783 } 1784 1785 /* Make sure we have the SRTP policies */ 1786 if (srtp_crypto_empty(&srtp->tx_policy_neg) || 1787 srtp_crypto_empty(&srtp->rx_policy_neg)) 1788 { 1789 goto BYPASS_SRTP; 1790 } 1791 1792 /* Reset probation counts */ 1793 srtp->probation_cnt = PROBATION_CNT_INIT; 1794 1795 /* Got policy_local & policy_remote, let's initalize the SRTP */ 1796 1797 /* Ticket #1075: media_start() is called whenever media description 1798 * gets updated, e.g: call hold, however we should restart SRTP only 1799 * when the SRTP policy settings are updated. 1800 */ 1801 if (srtp_crypto_cmp(&srtp->tx_policy_neg, &srtp->tx_policy) || 1802 srtp_crypto_cmp(&srtp->rx_policy_neg, &srtp->rx_policy)) 1803 { 1804 status = pjmedia_transport_srtp_start(tp, 1805 &srtp->tx_policy_neg, 1806 &srtp->rx_policy_neg); 1807 if (status != PJ_SUCCESS) 1808 return status; 1809 } 1810 1811 srtp->bypass_srtp = PJ_FALSE; 1812 1813 goto PROPAGATE_MEDIA_START; 1814 1815 BYPASS_SRTP: 1816 srtp->bypass_srtp = PJ_TRUE; 1817 srtp->peer_use = PJMEDIA_SRTP_DISABLED; 1818 if (srtp->session_inited) { 1819 pjmedia_transport_srtp_stop(tp); 1820 } 1821 1822 PROPAGATE_MEDIA_START: 1823 return pjmedia_transport_media_start(srtp->member_tp, pool, 1824 sdp_local, sdp_remote, 1825 media_index); 1826 } 1471 if (srtp->keying_pending_cnt) 1472 return PJ_SUCCESS; 1473 1474 /* Start SRTP */ 1475 status = start_srtp(srtp); 1476 1477 return status; 1478 } 1479 1827 1480 1828 1481 static pj_status_t transport_media_stop(pjmedia_transport *tp) … … 1830 1483 struct transport_srtp *srtp = (struct transport_srtp*) tp; 1831 1484 pj_status_t status; 1485 unsigned i; 1832 1486 1833 1487 PJ_ASSERT_RETURN(tp, PJ_EINVAL); 1834 1488 1489 /* Invoke media_stop() of all keying methods */ 1490 for (i=0; i < srtp->keying_cnt; ++i) { 1491 pjmedia_transport_media_stop(srtp->keying[i]); 1492 } 1493 1494 /* Invoke media_stop() of member tp */ 1835 1495 status = pjmedia_transport_media_stop(srtp->member_tp); 1836 1496 if (status != PJ_SUCCESS) … … 1838 1498 "SRTP failed stop underlying media transport.")); 1839 1499 1500 /* Finally, stop SRTP */ 1840 1501 return pjmedia_transport_srtp_stop(tp); 1841 1502 } 1503 1842 1504 1843 1505 /* Utility */ -
pjproject/trunk/pjmedia/src/pjmedia/transport_udp.c
r5539 r5597 56 56 unsigned media_options; /**< Transport media options. */ 57 57 void *user_data; /**< Only valid when attached */ 58 pj_bool_t attached; /**< Has attachment? */58 //pj_bool_t attached; /**< Has attachment? */ 59 59 pj_sockaddr rem_rtp_addr; /**< Remote RTP address */ 60 unsigned rem_rtp_cnt; /**< How many pkt from this addr. */ 60 61 pj_sockaddr rem_rtcp_addr; /**< Remote RTCP address */ 61 62 int addr_len; /**< Length of addresses. */ … … 480 481 /* We're still receiving from rem_rtp_addr. Don't switch. */ 481 482 udp->rtp_src_cnt = 0; 483 udp->rem_rtp_cnt++; 482 484 } else { 483 485 udp->rtp_src_cnt++; 484 486 485 487 if (udp->rtp_src_cnt < PJMEDIA_RTP_NAT_PROBATION_CNT) { 486 discard = PJ_TRUE; 488 /* Only discard if we have ever received packet from 489 * remote address (rem_rtp_addr). 490 */ 491 //discard = PJ_TRUE; 492 discard = (udp->rem_rtp_cnt != 0); 487 493 } else { 488 494 … … 530 536 } 531 537 532 if (!discard && udp->attached && cb) 538 //if (!discard && udp->attached && cb) 539 if (!discard && cb) 533 540 (*cb)(user_data, udp->rtp_pkt, bytes_read); 534 541 … … 566 573 user_data = udp->user_data; 567 574 568 if (udp->attached && cb) 575 //if (udp->attached && cb) 576 if (cb) 569 577 (*cb)(user_data, udp->rtcp_pkt, bytes_read); 570 578 … … 650 658 651 659 /* Must not be "attached" to existing application */ 652 PJ_ASSERT_RETURN(!udp->attached, PJ_EINVALIDOP);660 //PJ_ASSERT_RETURN(!udp->attached, PJ_EINVALIDOP); 653 661 654 662 /* Lock the ioqueue keys to make sure that callbacks are … … 686 694 687 695 /* Last, mark transport as attached */ 688 udp->attached = PJ_TRUE;696 //udp->attached = PJ_TRUE; 689 697 690 698 /* Reset source RTP & RTCP addresses and counter */ … … 693 701 udp->rtp_src_cnt = 0; 694 702 udp->rtcp_src_cnt = 0; 703 udp->rem_rtp_cnt = 0; 695 704 696 705 /* Set buffer size for RTP socket */ … … 752 761 pj_assert(tp); 753 762 754 if (udp->attached) { 763 //if (udp->attached) { 764 if (1) { 755 765 int i; 756 766 … … 768 778 769 779 /* First, mark transport as unattached */ 770 udp->attached = PJ_FALSE;780 //udp->attached = PJ_FALSE; 771 781 772 782 /* Clear up application infos from transport */ … … 801 811 802 812 /* Must be attached */ 803 PJ_ASSERT_RETURN(udp->attached, PJ_EINVALIDOP);813 //PJ_ASSERT_RETURN(udp->attached, PJ_EINVALIDOP); 804 814 805 815 /* Check that the size is supported */ … … 862 872 pj_status_t status; 863 873 864 PJ_ASSERT_RETURN(udp->attached, PJ_EINVALIDOP);874 //PJ_ASSERT_RETURN(udp->attached, PJ_EINVALIDOP); 865 875 866 876 if (addr == NULL) { -
pjproject/trunk/pjsip/include/pjsua-lib/pjsua.h
r5582 r5597 707 707 * to connect the call's media to sound device. When ICE is used, 708 708 * this callback will also be called to report ICE negotiation 709 * failure. 709 * failure. When DTLS-SRTP is used, this callback will also be called 710 * to report DTLS negotiation failure. 710 711 * 711 712 * @param call_id The call index. -
pjproject/trunk/pjsip/src/pjsua-lib/pjsua_media.c
r5587 r5597 1275 1275 const pjmedia_sdp_media *m = sdp->media[i]; 1276 1276 const pjmedia_sdp_conn *c; 1277 static const pj_str_t ID_RTP_SAVP = { "RTP/SAVP", 8 }; 1277 1278 1278 1279 /* Skip different media */ … … 1285 1286 1286 1287 /* Supported transports */ 1287 if (pj_stri cmp2(&m->desc.transport, "RTP/SAVP")==0) {1288 if (pj_stristr(&m->desc.transport, &ID_RTP_SAVP)) { 1288 1289 switch (use_srtp) { 1289 1290 case PJMEDIA_SRTP_MANDATORY: … … 1494 1495 } 1495 1496 1497 1498 /* This callback is called when SRTP negotiation completes */ 1499 static void on_srtp_nego_complete(pjmedia_transport *tp, 1500 pj_status_t result) 1501 { 1502 pjsua_call_media *call_med = (pjsua_call_media*)tp->user_data; 1503 pjsua_call *call; 1504 1505 if (!call_med) 1506 return; 1507 1508 call = call_med->call; 1509 PJ_PERROR(4,(THIS_FILE, result, 1510 "Call %d: Media %d: SRTP negotiation completes", 1511 call->index, call_med->idx)); 1512 1513 if (result != PJ_SUCCESS) { 1514 call_med->state = PJSUA_CALL_MEDIA_ERROR; 1515 call_med->dir = PJMEDIA_DIR_NONE; 1516 if (call && pjsua_var.ua_cfg.cb.on_call_media_state) { 1517 /* Defer the callback to a timer */ 1518 pjsua_schedule_timer2(&ice_failed_nego_cb, 1519 (void*)(pj_ssize_t)call->index, 1); 1520 } 1521 } 1522 } 1523 1524 1496 1525 /* Callback to resume pjsua_call_media_init() after media transport 1497 1526 * creation is completed. … … 1547 1576 pjmedia_srtp_setting_default(&srtp_opt); 1548 1577 srtp_opt.close_member_tp = PJ_TRUE; 1578 srtp_opt.cb.on_srtp_nego_complete = &on_srtp_nego_complete; 1579 srtp_opt.user_data = call_med; 1549 1580 1550 1581 /* If media session has been ever established, let's use remote's
Note: See TracChangeset
for help on using the changeset viewer.