Commit 7ccb03b3 authored by Ghislain MARY's avatar Ghislain MARY

Add Visual Studio project for Windows 10.

parent 0c28ede7
......@@ -35,33 +35,33 @@ file(GLOB SOURCE_FILES "*.h" "*.cpp")
set(SOURCE_FILES
"IVideoDispatcher.h"
"IVideoRenderer.h"
"mswp8cap.cpp"
"mswp8cap.h"
"mswp8dis.cpp"
"mswp8dis.h"
"mswp8vid.cpp"
"mswinrtcap.cpp"
"mswinrtcap.h"
"mswinrtdis.cpp"
"mswinrtdis.h"
"mswinrtvid.cpp"
"VideoBuffer.h"
)
set(LIBS ${MEDIASTREAMER2_LIBRARIES} ws2_32)
add_library(mswp8vid MODULE ${SOURCE_FILES})
set_target_properties(mswp8vid PROPERTIES VERSION 0)
add_library(mswinrtvid MODULE ${SOURCE_FILES})
set_target_properties(mswinrtvid PROPERTIES VERSION 0)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Debug/libmswp8vid.pdb
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Debug/libmswinrtvid.pdb
DESTINATION bin
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
)
endif()
set_target_properties(mswp8vid PROPERTIES PREFIX "lib")
target_compile_definitions(mswp8vid PRIVATE
set_target_properties(mswinrtvid PROPERTIES PREFIX "lib")
target_compile_definitions(mswinrtvid PRIVATE
"-DWIN32_LEAN_AND_MEAN"
"-D_CRT_SECURE_NO_WARNINGS"
)
set_target_properties(mswp8vid PROPERTIES LINK_FLAGS "/WINMDFILE:Mediastreamer2.WP8Video.winmd /OUT:${CMAKE_BUILD_TYPE}\\\$(TargetName)\$(TargetExt)")
set_target_properties(mswp8vid PROPERTIES VS_WINRT_COMPONENT TRUE)
target_link_libraries(mswp8vid ${LIBS})
set_target_properties(mswinrtvid PROPERTIES LINK_FLAGS "/WINMDFILE:Mediastreamer2.WP8Video.winmd /OUT:${CMAKE_BUILD_TYPE}\\\$(TargetName)\$(TargetExt)")
set_target_properties(mswinrtvid PROPERTIES VS_WINRT_COMPONENT TRUE)
target_link_libraries(mswinrtvid ${LIBS})
install(TARGETS mswp8vid
install(TARGETS mswinrtvid
RUNTIME DESTINATION lib/mediastreamer/plugins
LIBRARY DESTINATION lib/mediastreamer/plugins
ARCHIVE DESTINATION lib/mediastreamer/plugins
......@@ -70,4 +70,4 @@ install(TARGETS mswp8vid
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Mediastreamer2.WP8Video.winmd" DESTINATION lib/mediastreamer/plugins)
install(FILES "VideoRenderer.cs" "VideoStreamSource.cs" DESTINATION src/mswp8vid)
install(FILES "VideoRenderer.cs" "VideoStreamSource.cs" DESTINATION src/mswinrtvid)
mswp8vid - Windows Phone 8 Video plugin for mediastreamer2.
mswinrtvid - WinRT Video plugin for mediastreamer2.
Compile on Windows using Visual Studio 2012.
Compile on Windows using Visual Studio 2012 when targetting Windows Phone 8.
If targetting Windows Universal App, compile using Visual Studio 2015.
This diff is collapsed.
/*
mswp8cap.h
mswinrtcap.h
mediastreamer2 library - modular sound and video processing and streaming
Windows Audio Session API sound card plugin for mediastreamer2
......@@ -24,24 +24,32 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#pragma once
#include "windows.h"
#include <mediastreamer2/mscommon.h>
#include <mediastreamer2/msfilter.h>
#include <mediastreamer2/msticker.h>
#include <mediastreamer2/msvideo.h>
#include <mediastreamer2/mswebcam.h>
#include <mediastreamer2/rfc3984.h>
#include <mediastreamer2/videostarter.h>
#ifdef MS2_WINDOWS_UNIVERSAL
#include <wrl\implements.h>
#endif
#ifdef MS2_WINDOWS_PHONE
#include "implements.h"
#include <Windows.Phone.Media.Capture.h>
#include <Windows.Phone.Media.Capture.Native.h>
#include "mediastreamer2/msfilter.h"
#include "mediastreamer2/mswebcam.h"
#include "mediastreamer2/rfc3984.h"
#include "mediastreamer2/videostarter.h"
#endif
namespace mswp8vid
namespace mswinrtvid
{
class SampleSink;
class MSWP8Cap {
class MSWinRTCap {
public:
MSWP8Cap();
virtual ~MSWP8Cap();
MSWinRTCap();
virtual ~MSWinRTCap();
int activate();
int deactivate();
......@@ -85,6 +93,7 @@ namespace mswp8vid
MSQueue mSampleToFreeQueue;
ms_mutex_t mMutex;
Rfc3984Context *mRfc3984Packer;
MSYuvBufAllocator *mAllocator;
int mPackerMode;
uint64_t mStartTime;
int mSamplesCount;
......@@ -97,17 +106,22 @@ namespace mswp8vid
HANDLE mActivationCompleted;
HANDLE mStartCompleted;
HANDLE mStopCompleted;
#ifdef MS2_WINDOWS_PHONE
Windows::Phone::Media::Capture::CameraSensorLocation mCameraLocation;
Windows::Phone::Media::Capture::AudioVideoCaptureDevice^ mVideoDevice;
#endif
SampleSink *mVideoSink;
#ifdef MS2_WINDOWS_PHONE
IAudioVideoCaptureDeviceNative* mNativeVideoDevice;
#endif
};
#ifdef MS2_WINDOWS_PHONE
class SampleSink
: public Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::RuntimeClassType::ClassicCom>, ICameraCaptureSampleSink>
{
public:
STDMETHODIMP RuntimeClassInitialize(MSWP8Cap *reader) {
STDMETHODIMP RuntimeClassInitialize(MSWinRTCap *reader) {
m_dwSampleCount = 0;
m_reader = reader;
return S_OK;
......@@ -126,6 +140,7 @@ namespace mswp8vid
private:
DWORD m_dwSampleCount;
MSWP8Cap *m_reader;
MSWinRTCap *m_reader;
};
#endif
}
/*
mswp8dis.cpp
mswinrtdis.cpp
mediastreamer2 library - modular sound and video processing and streaming
Windows Audio Session API sound card plugin for mediastreamer2
......@@ -21,15 +21,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "mediastreamer2/mscommon.h"
#include "mediastreamer2/msticker.h"
#include "mediastreamer2/msvideo.h"
#include "mswp8dis.h"
#include "mswinrtdis.h"
#include "VideoBuffer.h"
using namespace Microsoft::WRL;
using namespace mswp8vid;
using namespace Mediastreamer2::WP8Video;
using namespace mswinrtvid;
//using namespace Mediastreamer2::WinRTVideo;
......@@ -65,15 +62,19 @@ static uint8_t get_ue_at_bit_offset(uint8_t *data, uint32_t *bit_offset) {
bool MSWP8Dis::smInstantiated = false;
bool MSWinRTDis::smInstantiated = false;
MSWP8Dis::MSWP8Dis()
MSWinRTDis::MSWinRTDis()
: mIsInitialized(false), mIsActivated(false), mIsStarted(false), mWidth(MS_VIDEO_SIZE_CIF_W), mHeight(MS_VIDEO_SIZE_CIF_H),
mRfc3984Unpacker(nullptr), mBitstreamSize(65536), mBitstream(nullptr), mSPS(nullptr), mPPS(nullptr), mRenderer(nullptr), mFirstFrameReceived(false)
mRfc3984Unpacker(nullptr), mBitstreamSize(65536), mBitstream(nullptr), mSPS(nullptr), mPPS(nullptr),
#ifdef MS2_WINDOWS_PHONE
mRenderer(nullptr),
#endif
mFirstFrameReceived(false)
{
if (smInstantiated) {
ms_error("[MSWP8Dis] A video display filter is already instantiated. A second one can not be created.");
ms_error("[MSWinRTDis] A video display filter is already instantiated. A second one can not be created.");
return;
}
......@@ -81,13 +82,13 @@ MSWP8Dis::MSWP8Dis()
smInstantiated = true;
}
MSWP8Dis::~MSWP8Dis()
MSWinRTDis::~MSWinRTDis()
{
stop();
smInstantiated = false;
}
int MSWP8Dis::activate()
int MSWinRTDis::activate()
{
if (!mIsInitialized) return -1;
......@@ -96,7 +97,7 @@ int MSWP8Dis::activate()
return 0;
}
int MSWP8Dis::deactivate()
int MSWinRTDis::deactivate()
{
if (mRfc3984Unpacker != nullptr) {
rfc3984_destroy(mRfc3984Unpacker);
......@@ -118,7 +119,7 @@ int MSWP8Dis::deactivate()
return 0;
}
void MSWP8Dis::start()
void MSWinRTDis::start()
{
if (!mIsStarted && mIsActivated) {
mIsStarted = true;
......@@ -127,26 +128,30 @@ void MSWP8Dis::start()
format = ref new Platform::String(L"H264");
else
format = ref new Platform::String(L"YV12");
#ifdef MS2_WINDOWS_PHONE
if (mRenderer != nullptr) {
ms_message("[MSWP8Dis] Start renderer %s - %dx%d", ms_pix_fmt_to_string(mPixFmt), mWidth, mHeight);
ms_message("[MSWinRTDis] Start renderer %s - %dx%d", ms_pix_fmt_to_string(mPixFmt), mWidth, mHeight);
mRenderer->Start(format, mWidth, mHeight);
}
#endif
}
}
void MSWP8Dis::stop()
void MSWinRTDis::stop()
{
if (mIsStarted) {
mIsStarted = false;
mFirstFrameReceived = false;
#ifdef MS2_WINDOWS_PHONE
if (mRenderer != nullptr) {
ms_message("[MSWP8Dis] Stop renderer");
ms_message("[MSWinRTDis] Stop renderer");
mRenderer->Stop();
}
#endif
}
}
int MSWP8Dis::feed(MSFilter *f)
int MSWinRTDis::feed(MSFilter *f)
{
mblk_t *im;
......@@ -161,11 +166,13 @@ int MSWP8Dis::feed(MSFilter *f)
bool need_reinit = false;
size = nalusToFrame(&nalus, &need_reinit);
if (need_reinit) {
#ifdef MS2_WINDOWS_PHONE
if (mRenderer != nullptr) {
Platform::String^ format = ref new Platform::String(L"H264");
ms_message("[MSWP8Dis] Change renderer format: %s - %dx%d", "H264", mWidth, mHeight);
ms_message("[MSWinRTDis] Change renderer format: %s - %dx%d", "H264", mWidth, mHeight);
mRenderer->ChangeFormat(format, mWidth, mHeight);
}
#endif
}
}
}
......@@ -180,6 +187,7 @@ int MSWP8Dis::feed(MSFilter *f)
memcpy(mBitstream + ysize, buf.planes[2], usize);
memcpy(mBitstream + ysize + usize, buf.planes[1], usize);
freemsg(im);
#ifdef MS2_WINDOWS_PHONE
if ((mRenderer != nullptr) && ((buf.w != mWidth) || (buf.h != mHeight))) {
mWidth = buf.w;
mHeight = buf.h;
......@@ -192,7 +200,9 @@ int MSWP8Dis::feed(MSFilter *f)
mRenderer->ChangeFormat(format, mWidth, mHeight);
}
}
#endif
}
#ifdef MS2_WINDOWS_PHONE
if ((size > 0) && (mRenderer != nullptr)) {
if (!mFirstFrameReceived) {
mFirstFrameReceived = true;
......@@ -204,6 +214,7 @@ int MSWP8Dis::feed(MSFilter *f)
mRenderer->Dispatcher->OnSampleReceived(VideoBuffer::GetIBuffer(spVideoBuffer), f->ticker->time * 10000LL);
}
}
#endif
}
} else {
if (f->inputs[0] != NULL) {
......@@ -218,7 +229,7 @@ int MSWP8Dis::feed(MSFilter *f)
return 0;
}
MSVideoSize MSWP8Dis::getVideoSize()
MSVideoSize MSWinRTDis::getVideoSize()
{
MSVideoSize vs;
vs.width = mWidth;
......@@ -226,23 +237,25 @@ MSVideoSize MSWP8Dis::getVideoSize()
return vs;
}
void MSWP8Dis::setVideoSize(MSVideoSize vs)
void MSWinRTDis::setVideoSize(MSVideoSize vs)
{
mWidth = vs.width;
mHeight = vs.height;
}
Mediastreamer2::WP8Video::IVideoRenderer^ MSWP8Dis::getVideoRenderer()
#ifdef MS2_WINDOWS_PHONE
Mediastreamer2::WinRTVideo::IVideoRenderer^ MSWinRTDis::getVideoRenderer()
{
return mRenderer;
}
void MSWP8Dis::setVideoRenderer(IVideoRenderer^ renderer)
void MSWinRTDis::setVideoRenderer(IVideoRenderer^ renderer)
{
mRenderer = renderer;
}
#endif
int MSWP8Dis::nalusToFrame(MSQueue *nalus, bool *new_sps_pps)
int MSWinRTDis::nalusToFrame(MSQueue *nalus, bool *new_sps_pps)
{
mblk_t *im;
uint8_t *dst, *src, *end;
......@@ -303,62 +316,62 @@ int MSWP8Dis::nalusToFrame(MSQueue *nalus, bool *new_sps_pps)
return dst - mBitstream;
}
void MSWP8Dis::enlargeBitstream(int newSize)
void MSWinRTDis::enlargeBitstream(int newSize)
{
mBitstreamSize = newSize;
mBitstream = (uint8_t *)ms_realloc(mBitstream, mBitstreamSize);
}
bool MSWP8Dis::checkSPSChange(mblk_t *sps)
bool MSWinRTDis::checkSPSChange(mblk_t *sps)
{
bool ret = false;
if (mSPS) {
ret = (msgdsize(sps) != msgdsize(mSPS)) || (memcmp(mSPS->b_rptr, mSPS->b_rptr, msgdsize(sps)) != 0);
if (ret) {
ms_message("[MSWP8Dis] SPS changed ! %i,%i", msgdsize(sps), msgdsize(mSPS));
ms_message("[MSWinRTDis] SPS changed ! %i,%i", msgdsize(sps), msgdsize(mSPS));
updateSPS(sps);
updatePPS(nullptr);
}
} else {
ms_message("[MSWP8Dis] Receiving first SPS");
ms_message("[MSWinRTDis] Receiving first SPS");
updateSPS(sps);
ret = true;
}
return ret;
}
bool MSWP8Dis::checkPPSChange(mblk_t *pps)
bool MSWinRTDis::checkPPSChange(mblk_t *pps)
{
bool ret = false;
if (mPPS) {
ret = (msgdsize(pps) != msgdsize(mPPS)) || (memcmp(mPPS->b_rptr, pps->b_rptr, msgdsize(pps)) != 0);
if (ret) {
ms_message("[MSWP8Dis] PPS changed ! %i,%i", msgdsize(pps), msgdsize(mPPS));
ms_message("[MSWinRTDis] PPS changed ! %i,%i", msgdsize(pps), msgdsize(mPPS));
updatePPS(pps);
}
} else {
ms_message("[MSWP8Dis] Receiving first PPS");
ms_message("[MSWinRTDis] Receiving first PPS");
updatePPS(pps);
ret = true;
}
return ret;
}
void MSWP8Dis::updateSPS(mblk_t *sps)
void MSWinRTDis::updateSPS(mblk_t *sps)
{
if (mSPS) freemsg(mSPS);
mSPS = dupb(sps);
updateVideoSizeFromSPS();
}
void MSWP8Dis::updatePPS(mblk_t *pps)
void MSWinRTDis::updatePPS(mblk_t *pps)
{
if (mPPS) freemsg(mPPS);
if (pps) mPPS = dupb(pps);
else mPPS = nullptr;
}
void MSWP8Dis::updateVideoSizeFromSPS()
void MSWinRTDis::updateVideoSizeFromSPS()
{
uint8_t *data = (uint8_t *)mSPS->b_rptr;
uint32_t bit_offset = 8; // Skip nal header, we know if it is only 1 byte long since it is an SPS
......@@ -411,6 +424,6 @@ void MSWP8Dis::updateVideoSizeFromSPS()
pic_height_in_map_units_minus1 = get_ue_at_bit_offset(data, &bit_offset);
mWidth = (pic_width_in_mbs_minus1 + 1) * 16;
mHeight = (pic_height_in_map_units_minus1 + 1) * 16;
ms_message("[MSWP8Dis] Change video size from SPS: %ux%u", mWidth, mHeight);
ms_message("[MSWinRTDis] Change video size from SPS: %ux%u", mWidth, mHeight);
MS_UNUSED(dummy);
}
/*
mswp8dis.h
mswinrtdis.h
mediastreamer2 library - modular sound and video processing and streaming
Windows Audio Session API sound card plugin for mediastreamer2
......@@ -24,22 +24,29 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#pragma once
#include "windows.h"
#include "implements.h"
#include <mediastreamer2/mscommon.h>
#include <mediastreamer2/msfilter.h>
#include <mediastreamer2/msticker.h>
#include <mediastreamer2/msvideo.h>
#include <mediastreamer2/rfc3984.h>
#ifdef MS2_WINDOWS_PHONE
#include <implements.h>
#endif
#include <robuffer.h>
#include <windows.storage.streams.h>
#include "mediastreamer2/msfilter.h"
#include "mediastreamer2/rfc3984.h"
#ifdef MS2_WINDOWS_PHONE
#include "IVideoRenderer.h"
#endif
namespace mswp8vid
namespace mswinrtvid
{
class MSWP8Dis {
class MSWinRTDis {
public:
MSWP8Dis();
virtual ~MSWP8Dis();
MSWinRTDis();
virtual ~MSWinRTDis();
int activate();
int deactivate();
......@@ -50,8 +57,10 @@ namespace mswp8vid
MSVideoSize getVideoSize();
void setVideoSize(MSVideoSize vs);
void setPixFmt(MSPixFmt pix_fmt) { mPixFmt = pix_fmt; }
Mediastreamer2::WP8Video::IVideoRenderer^ getVideoRenderer();
void setVideoRenderer(Mediastreamer2::WP8Video::IVideoRenderer^ renderer);
#ifdef MS2_WINDOWS_PHONE
Mediastreamer2::WinRTVideo::IVideoRenderer^ getVideoRenderer();
void setVideoRenderer(Mediastreamer2::WinRTVideo::IVideoRenderer^ renderer);
#endif
private:
int nalusToFrame(MSQueue *nalus, bool *new_sps_pps);
......@@ -74,7 +83,9 @@ namespace mswp8vid
uint8_t *mBitstream;
mblk_t *mSPS;
mblk_t *mPPS;
Mediastreamer2::WP8Video::IVideoRenderer^ mRenderer;
#ifdef MS2_WINDOWS_PHONE
Mediastreamer2::WinRTVideo::IVideoRenderer^ mRenderer;
#endif
bool mFirstFrameReceived;
};
}
This diff is collapsed.

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Express 2012 for Windows Phone
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmswp8vid", "mswp8vid.vcxproj", "{0565952A-EA62-46A2-8261-F5B4B490DA42}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmswinrtvid", "mswinrtvid.vcxproj", "{0565952A-EA62-46A2-8261-F5B4B490DA42}"
ProjectSection(ProjectDependencies) = postProject
{027BAD0E-9179-48C1-9733-7AA7E2C2EC70} = {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}
EndProjectSection
......
......@@ -20,10 +20,10 @@
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{0565952a-ea62-46a2-8261-f5b4b490da42}</ProjectGuid>
<RootNamespace>mswp8vid</RootNamespace>
<RootNamespace>mswinrtvid</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
<ProjectName>libmswp8vid</ProjectName>
<ProjectName>libmswinrtvid</ProjectName>
<WinMDAssembly>true</WinMDAssembly>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
......@@ -103,15 +103,15 @@
</Reference>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\mswp8dis.cpp" />
<ClCompile Include="..\mswp8vid.cpp" />
<ClCompile Include="..\mswp8cap.cpp" />
<ClCompile Include="..\mswinrtdis.cpp" />
<ClCompile Include="..\mswinrtvid.cpp" />
<ClCompile Include="..\mswinrtcap.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\IVideoDispatcher.h" />
<ClInclude Include="..\IVideoRenderer.h" />
<ClInclude Include="..\mswp8cap.h" />
<ClInclude Include="..\mswp8dis.h" />
<ClInclude Include="..\mswinrtcap.h" />
<ClInclude Include="..\mswinrtdis.h" />
<ClInclude Include="..\VideoBuffer.h" />
</ItemGroup>
<ItemGroup>
......@@ -121,4 +121,4 @@
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsPhone\v$(TargetPlatformVersion)\Microsoft.Cpp.WindowsPhone.$(TargetPlatformVersion).targets" />
</Project>
\ No newline at end of file
</Project>
This diff is collapsed.
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\linphone\mediastreamer2\build\windows10\mediastreamer2\mediastreamer2.vcxproj">
<Project>{88e3c241-eb6f-4c84-80dc-89b8961daf80}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\linphone\oRTP\build\windows10\ortp\ortp.vcxproj">
<Project>{2e56b851-9d8d-40e5-84bb-e4ee63b71d25}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\mswinrtcap.cpp" />
<ClCompile Include="..\..\mswinrtdis.cpp" />
<ClCompile Include="..\..\mswinrtvid.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\mswinrtcap.h" />
<ClInclude Include="..\..\mswinrtdis.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{2d0e44c4-e51d-4911-b876-345d1e5e5209}</ProjectGuid>
<Keyword>WindowsRuntimeComponent</Keyword>
<ProjectName>libmswinrtvid</ProjectName>
<RootNamespace>libmswinrtvid</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
<AppContainerApplication>true</AppContainerApplication>
<ApplicationType>Windows Store</ApplicationType>
<ApplicationTypeRevision>8.2</ApplicationTypeRevision>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PreprocessorDefinitions>_WINRT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\linphone\mediastreamer2\include;$(ProjectDir)..\..\..\linphone\oRTP\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PreprocessorDefinitions>_WINRT_DLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\linphone\mediastreamer2\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment