From 8bff961d55530e315d590df2c6f5ab7ee6ae3598 Mon Sep 17 00:00:00 2001
From: Biswapriyo Nath <[email protected]>
Date: Mon, 7 Feb 2022 19:50:42 +0530
Subject: [PATCH 4/4] headers: Add more interfaces in mfidl.idl

Required for gst-plugins-bad project

Signed-off-by: Biswapriyo Nath <[email protected]>
---
 mingw-w64-headers/include/mfidl.idl | 143 +++++++++++++++++++++++++++-
 1 file changed, 141 insertions(+), 2 deletions(-)

diff --git a/mingw-w64-headers/include/mfidl.idl 
b/mingw-w64-headers/include/mfidl.idl
index 1c441bd..9d6a6b2 100644
--- a/mingw-w64-headers/include/mfidl.idl
+++ b/mingw-w64-headers/include/mfidl.idl
@@ -17,11 +17,12 @@ typedef enum MFSESSION_SETTOPOLOGY_FLAGS {
 } MFSESSION_SETTOPOLOGY_FLAGS;
 
 typedef enum MFSESSION_GETFULLTOPOLOGY_FLAGS {
-    MFSESSION_GETFULLTOPOLOGY_CURRENT
+    MFSESSION_GETFULLTOPOLOGY_CURRENT = 0x1
 } MFSESSION_GETFULLTOPOLOGY_FLAGS;
 
 typedef enum MFPMPSESSION_CREATION_FLAGS {
-    MFPMPSESSION_UNPROTECTED_PROCESS = 0x1
+    MFPMPSESSION_UNPROTECTED_PROCESS = 0x1,
+    MFPMPSESSION_IN_PROCESS = 0x2
 } MFPMPSESSION_CREATION_FLAGS;
 
 typedef unsigned __int64 TOPOID;
@@ -835,6 +836,122 @@ interface IMFTopoLoader : IUnknown
   HRESULT Load([in] IMFTopology *pInputTopo, [out] IMFTopology **ppOutputTopo, 
[in] IMFTopology *pCurrentTopo);
 }
 
+[object, uuid(86cbc910-e533-4751-8e3b-f19b5b806a03), local]
+interface IMFVideoSampleAllocator : IUnknown
+{
+  HRESULT SetDirectXManager([in, unique] IUnknown *pManager);
+  HRESULT UninitializeSampleAllocator();
+  HRESULT InitializeSampleAllocator([in] DWORD cRequestedFrames, [in] 
IMFMediaType *pMediaType);
+  HRESULT AllocateSample([out] IMFSample **ppSample);
+}
+
+cpp_quote("#if WINVER >= _WIN32_WINNT_WIN7")
+
+[object, uuid(a792cdbe-c374-4e89-8335-278e7b9956a4), local]
+interface IMFVideoSampleAllocatorNotify : IUnknown
+{
+  HRESULT NotifyRelease();
+}
+
+[object, uuid(3978aa1a-6d5b-4b7f-a340-90899189ae34), local]
+interface IMFVideoSampleAllocatorNotifyEx : IMFVideoSampleAllocatorNotify
+{
+  HRESULT NotifyPrune(IMFSample *ppSample);
+}
+
+[object, uuid(992388b4-3372-4f67-8b6f-c84c071f4751), local]
+interface IMFVideoSampleAllocatorCallback : IUnknown
+{
+  HRESULT SetCallback([in, unique] IMFVideoSampleAllocatorNotify *pNotify);
+  HRESULT GetFreeSampleCount([out] LONG *plSamples);
+}
+
+[object, local, uuid(545b3a48-3283-4f62-866f-a62d8f598f9f), 
pointer_default(unique)]
+interface IMFVideoSampleAllocatorEx : IMFVideoSampleAllocator
+{
+  HRESULT InitializeSampleAllocatorEx([in] DWORD cInitialSamples, [in] DWORD 
cMaximumSamples, [in, optional] IMFAttributes *pAttributes, [in] IMFMediaType 
*pMediaType);
+}
+
+cpp_quote("#endif /* WINVER >= _WIN32_WINNT_WIN7 */")
+
+cpp_quote("#if WINVER >= _WIN32_WINNT_WIN8")
+
+typedef enum _MF_VIDEO_PROCESSOR_ROTATION {
+  ROTATION_NONE = 0,
+  ROTATION_NORMAL = 1
+} MF_VIDEO_PROCESSOR_ROTATION;
+
+typedef enum _MF_VIDEO_PROCESSOR_MIRROR {
+  MIRROR_NONE = 0,
+  MIRROR_HORIZONTAL = 1,
+  MIRROR_VERTICAL = 2
+} MF_VIDEO_PROCESSOR_MIRROR;
+
+[object, local, uuid(a3f675d5-6119-4f7f-a100-1d8b280f0efb), 
pointer_default(unique)]
+interface IMFVideoProcessorControl : IUnknown
+{
+  HRESULT SetBorderColor([in, optional] MFARGB *pBorderColor);
+  HRESULT SetSourceRectangle([in, optional] RECT *pSrcRect);
+  HRESULT SetDestinationRectangle([in, optional] RECT *pDstRect);
+  HRESULT SetMirror([in] MF_VIDEO_PROCESSOR_MIRROR eMirror);
+  HRESULT SetRotation([in] MF_VIDEO_PROCESSOR_ROTATION eRotation);
+  HRESULT SetConstrictionSize([in, optional] SIZE *pConstrictionSize);
+}
+
+cpp_quote("#if WINVER >= _WIN32_WINNT_WINBLUE")
+[object, local, uuid(bde633d3-e1dc-4a7f-a693-bbae399c4a20), 
pointer_default(unique)]
+interface IMFVideoProcessorControl2 : IMFVideoProcessorControl
+{
+  HRESULT SetRotationOverride([in] UINT uiRotation);
+  HRESULT EnableHardwareEffects([in] WINBOOL fEnabled);
+  HRESULT GetSupportedHardwareEffects([out, retval] UINT *puiSupport);
+}
+
+cpp_quote("#if WINVER >= _WIN32_WINNT_WIN10")
+
+typedef enum _MFVideoSphericalFormat {
+  MFVideoSphericalFormat_Unsupported = 0,
+  MFVideoSphericalFormat_Equirectangular = 1,
+  MFVideoSphericalFormat_CubeMap = 2,
+  MFVideoSphericalFormat_3DMesh = 3
+} MFVideoSphericalFormat;
+
+cpp_quote("#endif /* WINVER >= _WIN32_WINNT_WIN10 */")
+
+cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN10_RS3")
+
+cpp_quote("EXTERN_GUID(MF_XVP_SAMPLE_LOCK_TIMEOUT, 0xaa4ddb29, 0x5134, 0x4363, 
0xac, 0x72, 0x83, 0xec, 0x4b, 0xc1, 0x4, 0x26);")
+
+typedef enum MFVideoSphericalProjectionMode {
+  MFVideoSphericalProjectionMode_Spherical = 0,
+  MFVideoSphericalProjectionMode_Flat
+} MFVideoSphericalProjectionMode;
+
+[object, local, uuid(2424b3f2-eb23-40f1-91aa-74bddeea0883)]
+interface IMFVideoProcessorControl3 : IMFVideoProcessorControl2
+{
+  HRESULT GetNaturalOutputType([out] IMFMediaType **ppType);
+  HRESULT EnableSphericalVideoProcessing([in] WINBOOL fEnable, [in] 
MFVideoSphericalFormat eFormat, [in] MFVideoSphericalProjectionMode 
eProjectionMode);
+  HRESULT SetSphericalVideoProperties([in] float X, [in] float Y, [in] float 
Z, [in] float W, [in] float fieldOfView);
+  HRESULT SetOutputDevice([in] IUnknown *pOutputDevice);
+}
+
+cpp_quote("#endif /* NTDDI_VERSION >= NTDDI_WIN10_RS3 */")
+
+cpp_quote("#endif /* WINVER >= _WIN32_WINNT_WINBLUE */")
+
+cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN10_VB")
+
+[object, local, uuid(604d33d7-cf23-41d5-8224-5bbbb1a87475)]
+interface IMFVideoRendererEffectControl : IUnknown
+{
+  HRESULT OnAppServiceConnectionEstablished([in] IUnknown 
*pAppServiceConnection);
+}
+
+cpp_quote("#endif /* WINVER >= NTDDI_WIN10_VB */")
+
+cpp_quote("#endif /* WINVER >= _WIN32_WINNT_WIN8 */")
+
 cpp_quote("HRESULT WINAPI MFCreate3GPMediaSink(IMFByteStream 
*pIByteStream,IMFMediaType *pVideoMediaType,IMFMediaType 
*pAudioMediaType,IMFMediaSink **ppIMediaSink);")
 cpp_quote("HRESULT WINAPI MFCreateAggregateSource(IMFCollection 
*pSourceCollection,IMFMediaSource **ppAggSource);")
 cpp_quote("")
@@ -911,6 +1028,7 @@ 
cpp_quote("EXTERN_GUID(MF_AUDIO_RENDERER_ATTRIBUTE_STREAM_CATEGORY, 0xa9770471,
 
 cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME, 
0x60d0e559,0x52f8,0x4fa2,0xbb,0xce,0xac,0xdb,0x34,0xa8,0xec,0x1);")
 cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_MEDIA_TYPE, 
0x56a819ca,0xc78,0x4de4,0xa0,0xa7,0x3d,0xda,0xba,0xf,0x24,0xd4);")
+cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_GUID, 
0x14dd9a1c, 0x7cff, 0x41be, 0xb1, 0xb9, 0xba, 0x1a, 0xc6, 0xec, 0xb5, 0x71);")
 cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID, 
0x30da9258,0xfeb9,0x47a7,0xa4,0x53,0x76,0x3a,0x7a,0x8e,0x1c,0x5f);")
 cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ROLE, 
0xbc9d118e,0x8c67,0x4a18,0x85,0xd4,0x12,0xd3,0x0,0x40,0x5,0x52);")
 cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_CATEGORY, 
0x77f0ae69,0xc3bd,0x4509,0x94,0x1d,0x46,0x7e,0x4d,0x24,0x89,0x9e);")
@@ -919,12 +1037,23 @@ 
cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_MAX_BUFFERS, 0x
 
cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK, 
0x58f0aad8,0x22bf,0x4f8a,0xbb,0x3d,0xd2,0xc4,0x97,0x8c,0x6e,0x2f);")
 cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 
0xc60ac5fe,0x252a,0x478f,0xa0,0xef,0xbc,0x8f,0xa5,0xf7,0xca,0xd3);")
 cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID, 
0x8ac3587a,0x4ae7,0x42d8,0x99,0xe0,0x0a,0x60,0x13,0xee,0xf9,0x0f);")
+cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_SYMBOLIC_LINK,
 0x98d24b5e, 0x5930, 0x4614, 0xb5, 0xa1, 0xf6, 0x0, 0xf9, 0x35, 0x5a, 0x78);")
+cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_PROVIDER_DEVICE_ID,
 0x36689d42, 0xa06c, 0x40ae, 0x84, 0xcf, 0xf5, 0xa0, 0x34, 0x6, 0x7c, 0xc4);")
+cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_XADDRESS, 0xbca0be52, 
0xc327, 0x44c7, 0x9b, 0x7d, 0x7f, 0xa8, 0xd9, 0xb5, 0xbc, 0xda);")
+cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_STREAM_URL, 0x9d7b40d2, 
0x3617, 0x4043, 0x93, 0xe3, 0x8d, 0x6d, 0xa9, 0xbb, 0x34, 0x92);")
+cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_USERNAME,0x5d01add, 
0x949f, 0x46eb, 0xbc, 0x8e, 0x8b, 0xd, 0x2b, 0x32, 0xd7, 0x9d);")
+cpp_quote("EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_PASSWORD, 0xa0fd7e16, 
0x42d9, 0x49df, 0x84, 0xc0, 0xe8, 0x2c, 0x5e, 0xab, 0x88, 0x74);")
 
 cpp_quote("EXTERN_GUID(MF_METADATA_PROVIDER_SERVICE, 0xdb214084, 0x58a4, 
0x4d2e, 0xb8, 0x4f, 0x6f, 0x75, 0x5b, 0x2f, 0x7a, 0xd);")
 cpp_quote("EXTERN_GUID(MF_PROPERTY_HANDLER_SERVICE, 0xa3face02, 0x32b8, 
0x41dd, 0x90, 0xe7, 0x5f, 0xef, 0x7c, 0x89, 0x91, 0xb5);")
 cpp_quote("EXTERN_GUID(MF_RATE_CONTROL_SERVICE, 0x866fa297, 0xb802, 0x4bf8, 
0x9d, 0xc9, 0x5e, 0x3b, 0x6a, 0x9f, 0x53, 0xc9);")
 cpp_quote("EXTERN_GUID(MF_SAMPLEGRABBERSINK_IGNORE_CLOCK, 0x0efda2c0, 0x2b69, 
0x4e2e, 0xab, 0x8d, 0x46, 0xdc, 0xbf, 0xf7, 0xd2, 0x5d);")
 
+cpp_quote("EXTERN_GUID(MF_SD_LANGUAGE, 0xaf2180, 0xbdc2, 0x423c, 0xab, 0xca, 
0xf5, 0x3, 0x59, 0x3b, 0xc1, 0x21);")
+cpp_quote("EXTERN_GUID(MF_SD_PROTECTED, 0xaf2181, 0xbdc2, 0x423c, 0xab, 0xca, 
0xf5, 0x3, 0x59, 0x3b, 0xc1, 0x21);")
+cpp_quote("EXTERN_GUID(MF_SD_STREAM_NAME, 0x4f1b099d, 0xd314, 0x41e5, 0xa7, 
0x81, 0x7f, 0xef, 0xaa, 0x4c, 0x50, 0x1f);")
+cpp_quote("EXTERN_GUID(MF_SD_MUTUALLY_EXCLUSIVE, 0x23ef79c, 0x388d, 0x487f, 
0xac, 0x17, 0x69, 0x6c, 0xd6, 0xe3, 0xc6, 0xf5);")
+
 cpp_quote("EXTERN_GUID(MF_TOPONODE_DRAIN, 0x494bbce9, 0xb031, 0x4e38, 0x97, 
0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);")
 cpp_quote("EXTERN_GUID(MF_TOPONODE_D3DAWARE, 0x494bbced, 0xb031, 0x4e38, 0x97, 
0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);")
 cpp_quote("EXTERN_GUID(MF_TOPOLOGY_RESOLUTION_STATUS, 0x494bbcde, 0xb031, 
0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);")
@@ -956,4 +1085,14 @@ cpp_quote("EXTERN_GUID(MF_TOPONODE_RATELESS, 0x14932f9d, 
0x9087, 0x4bb4, 0x84, 0
 cpp_quote("EXTERN_GUID(MF_TOPONODE_DISABLE_PREROLL, 0x14932f9e, 0x9087, 
0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04);")
 cpp_quote("EXTERN_GUID(MF_TOPONODE_PRIMARYOUTPUT, 0x6304ef99, 0x16b2, 0x4ebe, 
0x9d, 0x67, 0xe4, 0xc5, 0x39, 0xb3, 0xa2, 0x59);")
 
+cpp_quote("EXTERN_GUID(MF_TRANSCODE_SKIP_METADATA_TRANSFER, 0x4e4469ef, 
0xb571, 0x4959, 0x8f, 0x83, 0x3d, 0xcf, 0xba, 0x33, 0xa3, 0x93);")
+cpp_quote("EXTERN_GUID(MF_TRANSCODE_TOPOLOGYMODE, 0x3e3df610, 0x394a, 0x40b2, 
0x9d, 0xea, 0x3b, 0xab, 0x65, 0xb, 0xeb, 0xf2);")
+cpp_quote("EXTERN_GUID(MF_TRANSCODE_ADJUST_PROFILE, 0x9c37c21b, 0x60f, 0x487c, 
0xa6, 0x90, 0x80, 0xd7, 0xf5, 0xd, 0x1c, 0x72);")
+cpp_quote("EXTERN_GUID(MF_TRANSCODE_ENCODINGPROFILE, 0x6947787c, 0xf508, 
0x4ea9, 0xb1, 0xe9, 0xa1, 0xfe, 0x3a, 0x49, 0xfb, 0xc9);")
+cpp_quote("EXTERN_GUID(MF_TRANSCODE_QUALITYVSSPEED, 0x98332df8, 0x03cd, 
0x476b, 0x89, 0xfa, 0x3f, 0x9e, 0x44, 0x2d, 0xec, 0x9f);")
+cpp_quote("EXTERN_GUID(MF_TRANSCODE_DONOT_INSERT_ENCODER, 0xf45aa7ce, 0xab24, 
0x4012, 0xa1, 0x1b, 0xdc, 0x82, 0x20, 0x20, 0x14, 0x10);")
+
+cpp_quote("EXTERN_GUID(MR_AUDIO_POLICY_SERVICE, 0x911fd737, 0x6775, 0x4ab0, 
0xa6, 0x14, 0x29, 0x78, 0x62, 0xfd, 0xac, 0x88);")
+cpp_quote("EXTERN_GUID(MR_CAPTURE_POLICY_VOLUME_SERVICE, 0x24030acd, 0x107a, 
0x4265, 0x97, 0x5c, 0x41, 0x4e, 0x33, 0xe6, 0x5f, 0x2a);")
+cpp_quote("EXTERN_GUID(MR_POLICY_VOLUME_SERVICE, 0x1abaa2ac, 0x9d3b, 0x47c6, 
0xab, 0x48, 0xc5, 0x95, 0x6, 0xde, 0x78, 0x4d);")
 cpp_quote("EXTERN_GUID(MR_STREAM_VOLUME_SERVICE, 0xf8b5fa2f, 0x32ef, 0x46f5, 
0xb1, 0x72, 0x13, 0x21, 0x21, 0x2f, 0xb2, 0xc4);")
-- 
2.35.1

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to