From 93ebc330ec53d766b460e981cf83cbdc3c6f60aa Mon Sep 17 00:00:00 2001 From: Sudhaushu <38083343+Sudhaushu@users.noreply.github.com> Date: Fri, 2 Aug 2019 09:50:31 -0700 Subject: Fix Avstream sample build for older Windows versions (#393) * fix build break for older windows versions * modified to remove future changes --- avstream/avscamera/common/MetadataInternal.h | 3 ++- avstream/avscamera/mft0/MFT0Impl.cpp | 11 ++++++++--- avstream/avscamera/mft0/MFT0Impl.h | 4 ++-- avstream/avscamera/mft0/stdafx.h | 4 +++- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/avstream/avscamera/common/MetadataInternal.h b/avstream/avscamera/common/MetadataInternal.h index 2f789a02..0433fda6 100644 --- a/avstream/avscamera/common/MetadataInternal.h +++ b/avstream/avscamera/common/MetadataInternal.h @@ -19,7 +19,7 @@ **************************************************************************/ #pragma once - +#if (NTDDI_VERSION >= NTDDI_WINBLUE) enum MetadataId_Custom { @@ -373,3 +373,4 @@ struct _KSCAMERA_ATTRIBUTES_HEADER ULONG PinId; // The Pin this payload affects. } KSCAMERA_ATTRIBUTES_HEADER, *PKSCAMERA_ATTRIBUTES_HEADER; #endif +#endif // (NTDDI_VERSION >= NTDDI_WINBLUE) diff --git a/avstream/avscamera/mft0/MFT0Impl.cpp b/avstream/avscamera/mft0/MFT0Impl.cpp index 892160d4..992be0e9 100644 --- a/avstream/avscamera/mft0/MFT0Impl.cpp +++ b/avstream/avscamera/mft0/MFT0Impl.cpp @@ -1046,13 +1046,14 @@ STDMETHODIMP CSocMft0::ProcessOutput( { return MF_E_TRANSFORM_NEED_MORE_INPUT; } - +#if (NTDDI_VERSION >= NTDDI_WINBLUE) hr = ProcessMetadata(); if (FAILED(hr)) { //Log the failure hr = S_OK; } +#endif // (NTDDI_VERSION >= NTDDI_WINBLUE) hr = CreateOutputSample(&pOutputSamples[0].pSample); if (FAILED(hr)) { @@ -1404,6 +1405,7 @@ HRESULT CSocMft0::GetPreviewMediaType( return MF_E_NOT_FOUND; } +#if (NTDDI_VERSION >= NTDDI_WINBLUE) ///////////////////////////////////////////////////////////////////// // // Handle the Metadata with the buffer @@ -1820,7 +1822,7 @@ HRESULT CSocMft0::ParseMetadata_ImageAggregation( } return S_OK; } - +#endif // (NTDDI_VERSION >= NTDDI_WINBLUE) struct HistogramData { HistogramDataHeader Header; @@ -1863,6 +1865,7 @@ struct Histogram } }; +#if (NTDDI_VERSION >= NTDDI_WINBLUE) #define MF_HISTOGRAM_RGB (MF_HISTOGRAM_CHANNEL_R | MF_HISTOGRAM_CHANNEL_G | MF_HISTOGRAM_CHANNEL_B ) #define MF_HISTOGRAM_YCrCb (MF_HISTOGRAM_CHANNEL_Y | MF_HISTOGRAM_CHANNEL_Cr | MF_HISTOGRAM_CHANNEL_Cb) @@ -1999,11 +2002,13 @@ HRESULT CSocMft0::ParseMetadata_FaceDetection( goto done; } +#if (NTDDI_VERSION >= NTDDI_WINTHRESHOLD) // Include characterization data if any of the associated bits were set. if (pFaceHeader->Flags & KSCAMERA_EXTENDEDPROP_FACEDETECTION_ADVANCED_MASK) { hr = pMetaDataAttributes->SetBlob(MF_CAPTURE_METADATA_FACEROICHARACTERIZATIONS, pCharBuf, cbCharSize); } +#endif // (NTDDI_VERSION >= NTDDI_WINTHRESHOLD) done: delete[] pRectBuf; @@ -2011,7 +2016,7 @@ done: return hr; } - +#endif // (NTDDI_VERSION >= NTDDI_WINBLUE) HRESULT CSocMft0::FillBufferLengthFromMediaType( _In_ IMFMediaType *pPreviewType, _Inout_ IMFMediaBuffer *pBuffer diff --git a/avstream/avscamera/mft0/MFT0Impl.h b/avstream/avscamera/mft0/MFT0Impl.h index a73e8c0d..9427dd7d 100644 --- a/avstream/avscamera/mft0/MFT0Impl.h +++ b/avstream/avscamera/mft0/MFT0Impl.h @@ -246,7 +246,7 @@ protected: HRESULT GetPreviewMediaType( _Outptr_result_maybenull_ IMFMediaType **ppType ); - +#if (NTDDI_VERSION >= NTDDI_WINBLUE) HRESULT ProcessMetadata(); HRESULT ParseMetadata_PreviewAggregation( @@ -268,7 +268,7 @@ protected: _In_ PKSCAMERA_METADATA_ITEMHEADER pItem, _In_ IMFAttributes *pMetaDataAttributes ); - +#endif // (NTDDI_VERSION >= NTDDI_WINBLUE) HRESULT FillBufferLengthFromMediaType( _In_ IMFMediaType *pPreviewType, _Inout_ IMFMediaBuffer *pBuffer diff --git a/avstream/avscamera/mft0/stdafx.h b/avstream/avscamera/mft0/stdafx.h index ef768c0b..037376ec 100644 --- a/avstream/avscamera/mft0/stdafx.h +++ b/avstream/avscamera/mft0/stdafx.h @@ -16,9 +16,11 @@ #endif #include "targetver.h" +#if (NTDDI_VERSION <= NTDDI_WIN7) +#pragma message("MFT0 is in not supported in this target Windows version - Change project settings to target a newer version of Windows") +#endif #include - #include #include #include -- cgit v1.3.1