https://git.reactos.org/?p=reactos.git;a=commitdiff;h=edd70d1aa6c54b13ddbc59...
commit edd70d1aa6c54b13ddbc593a49ffa8187da3e28f Author: Amine Khaldi amine.khaldi@reactos.org AuthorDate: Sat Dec 7 13:10:44 2019 +0100 Commit: Amine Khaldi amine.khaldi@reactos.org CommitDate: Sat Dec 7 13:10:44 2019 +0100
[PSDK] Update wmsdkidl.idl. CORE-16441 --- sdk/include/psdk/wmsdkidl.idl | 323 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 300 insertions(+), 23 deletions(-)
diff --git a/sdk/include/psdk/wmsdkidl.idl b/sdk/include/psdk/wmsdkidl.idl index e7daa226bcc..4ee166a9d43 100644 --- a/sdk/include/psdk/wmsdkidl.idl +++ b/sdk/include/psdk/wmsdkidl.idl @@ -20,8 +20,6 @@ import "oaidl.idl"; import "wmsbuffer.idl"; import "drmexternals.idl";
-typedef unsigned __int64 QWORD; - typedef struct _WMMediaType { GUID majortype; @@ -211,6 +209,14 @@ typedef struct _WMStreamPrioritizationRecord WORD wStreamNumber; BOOL fMandatory; } WM_STREAM_PRIORITY_RECORD; + +typedef struct _WMT_TIMECODE_EXTENSION_DATA +{ + WORD wRange; + DWORD dwTimecode; + DWORD dwUserbits; + DWORD dwAmFlags; +} WMT_TIMECODE_EXTENSION_DATA; #include <poppack.h>
typedef struct _WM_PORT_NUMBER_RANGE @@ -235,7 +241,7 @@ interface IWMStatusCallback : IUnknown [in] WMT_ATTR_DATATYPE dwType, [in] BYTE *pValue, [in] void *pvContext); -}; +}
[ object, @@ -252,7 +258,7 @@ interface IWMReaderCallback : IWMStatusCallback [in] DWORD dwFlags, [in] INSSBuffer *pSample, [in] void *pvContext); -}; +}
[ object, @@ -300,7 +306,7 @@ interface IWMBandwidthSharing : IWMStreamList HRESULT SetBandwidth( [in] DWORD bitrate, [in] DWORD buffer); -}; +}
[ object, @@ -462,7 +468,7 @@ interface IWMProfile3 : IWMProfile2 HRESULT GetExpectedPacketCount( [in] QWORD duration, [out] QWORD *packets); -}; +}
[ object, @@ -497,8 +503,112 @@ interface IWMProfileManager : IUnknown [out] IWMProfile **ppProfile); }
+[ + object, + uuid(7a924e51-73c1-494d-8019-23d37ed9b89a), + pointer_default(unique), + local +] +interface IWMProfileManager2 : IWMProfileManager +{ + HRESULT GetSystemProfileVersion(WMT_VERSION *version); + HRESULT SetSystemProfileVersion(WMT_VERSION version); +}; + cpp_quote("HRESULT WINAPI WMCreateProfileManager(IWMProfileManager**);")
+[ + object, + uuid(a970f41e-34de-4a98-b3ba-e4b3ca7528f0), + pointer_default(unique), + local +] +interface IWMCodecInfo : IUnknown +{ + HRESULT GetCodecInfoCount( + [in] REFGUID guid, + [out] DWORD *count); + + HRESULT GetCodecFormatCount( + [in] REFGUID guid, + [in] DWORD codecindex, + [out] DWORD *formatcount); + + HRESULT GetCodecFormat( + [in] REFGUID guid, + [in] DWORD codecindex, + [in] DWORD formatindex, + [out] IWMStreamConfig **streamconfig); +} + +[ + object, + uuid(aa65e273-b686-4056-91ec-dd768d4df710), + pointer_default(unique), + local +] +interface IWMCodecInfo2 : IWMCodecInfo +{ + HRESULT GetCodecName( + [in] REFGUID guid, + [in] DWORD codecindex, + [out, size_is(*namesize)] WCHAR *name, + [in, out] DWORD *namesize); + + HRESULT GetCodecFormatDesc( + [in] REFGUID guid, + [in] DWORD codecindex, + [in] DWORD formatindex, + [out] IWMStreamConfig **streamconfig, + [out, size_is(*descrsize)] WCHAR *description, + [in, out] DWORD *descrsize); +} + +[ + object, + uuid(7e51f487-4d93-4f98-8ab4-27d0565adc51), + pointer_default(unique), + local +] +interface IWMCodecInfo3 : IWMCodecInfo2 +{ + HRESULT GetCodecFormatProp( + [in] REFGUID guid, + [in] DWORD codecindex, + [in] DWORD formatindex, + [in] const WCHAR *name, + [out] WMT_ATTR_DATATYPE *type, + [out, size_is(*size)] BYTE *value, + [in, out] DWORD *size); + + HRESULT GetCodecProp( + [in] REFGUID guid, + [in] DWORD codecindex, + [in] const WCHAR *name, + [out] WMT_ATTR_DATATYPE *type, + [out, size_is(*size)] BYTE *value, + [in, out] DWORD *size); + + HRESULT SetCodecEnumerationSetting( + [in] REFGUID guid, + [in] DWORD codecindex, + [in] const WCHAR *name, + [in] WMT_ATTR_DATATYPE type, + [in, size_is(size)] const BYTE *value, + [in] DWORD size); + + HRESULT GetCodecEnumerationSetting( + [in] REFGUID guid, + [in] DWORD codecindex, + [in] const WCHAR *name, + [out] WMT_ATTR_DATATYPE *type, + [out, size_is(*size)] BYTE *value, + [in, out] DWORD *size); +} + +cpp_quote("static const WCHAR g_wszNumPasses[] = {'_','P','A','S','S','E','S','U','S','E','D',0};") +cpp_quote("static const WCHAR g_wszVBREnabled[] = {'_','V','B','R','E','N','A','B','L','E','D',0};") + [ object, uuid(96406bce-2b2b-11d3-b36b-00c04f6108ff), @@ -516,7 +626,7 @@ interface IWMMediaProps : IUnknown
HRESULT SetMediaType( [in] WM_MEDIA_TYPE *pType); -}; +}
[ object, @@ -533,7 +643,7 @@ interface IWMOutputMediaProps : IWMMediaProps HRESULT GetConnectionName( [out, size_is(*pcchName)] WCHAR *pwszName, [in, out] WORD *pcchName); -}; +}
[ object, @@ -549,7 +659,7 @@ interface IWMMetadataEditor : IUnknown HRESULT Close();
HRESULT Flush(); -}; +}
[ object, @@ -597,7 +707,7 @@ interface IWMReader : IUnknown HRESULT Pause();
HRESULT Resume(); -}; +}
[ object, @@ -952,7 +1062,70 @@ interface IWMSyncReader : IUnknown
HRESULT OpenStream( [in] IStream *pStream); -}; +} + +[ + object, + uuid(9f762fa7-a22e-428d-93c9-ac82f3aafe5a), + pointer_default( unique ), + local +] +interface IWMReaderAllocatorEx : IUnknown +{ + HRESULT AllocateForStreamEx( + [in] WORD wStreamNum, + [in] DWORD cbBuffer, + [out] INSSBuffer **ppBuffer, + [in] DWORD dwFlags, + [in] QWORD cnsSampleTime, + [in] QWORD cnsSampleDuration, + [in] void *pvContext); + + HRESULT AllocateForOutputEx( + [in] WORD wOutputNum, + [in] DWORD cbBuffer, + [out] INSSBuffer **ppBuffer, + [in] DWORD dwFlags, + [in] QWORD cnsSampleTime, + [in] QWORD cnsSampleDuration, + [in] void *pvContext); +} + +[ + object, + uuid(faed3d21-1b6b-4af7-8bc6-3e189bbc187b), + pointer_default( unique ), + local +] +interface IWMSyncReader2 : IWMSyncReader +{ + HRESULT SetRangeByTimecode( + [in] WORD wStreamNum, + [in] WMT_TIMECODE_EXTENSION_DATA *pStart, + [in] WMT_TIMECODE_EXTENSION_DATA *pEnd); + + HRESULT SetRangeByFrameEx( + [in] WORD wStreamNum, + [in] QWORD qwFrameNumber, + [in] LONGLONG cFramesToRead, + [out] QWORD *pcnsStartTime); + + HRESULT SetAllocateForOutput( + [in] DWORD dwOutputNum, + [in] IWMReaderAllocatorEx *pAllocator); + + HRESULT GetAllocateForOutput( + [in] DWORD dwOutputNum, + [out] IWMReaderAllocatorEx **ppAllocator); + + HRESULT SetAllocateForStream( + [in] DWORD dwStreamNum, + [in] IWMReaderAllocatorEx *pAllocator); + + HRESULT GetAllocateForStream( + [in] DWORD dwStreamNum, + [out] IWMReaderAllocatorEx **ppAllocator); +}
[ object, @@ -1205,7 +1378,7 @@ interface IWMHeaderInfo : IUnknown
HRESULT RemoveScript( [in] WORD index ); -}; +}
[ object, @@ -1227,7 +1400,7 @@ interface IWMHeaderInfo2 : IWMHeaderInfo [out] WMT_CODEC_INFO_TYPE *codec_type, [in, out] WORD *codec_info_cnt, [out, size_is( *codec_info_cnt )] BYTE *codec_info ); -}; +}
[ object, @@ -1285,7 +1458,7 @@ interface IWMHeaderInfo3 : IWMHeaderInfo2 [in] WMT_CODEC_INFO_TYPE codec_type, [in] WORD codec_info_cnt, [in, size_is( codec_info_cnt )] BYTE *codec_info ); -}; +}
[ object, @@ -1444,7 +1617,7 @@ interface IWMPacketSize : IUnknown { HRESULT GetMaxPacketSize([out] DWORD *size); HRESULT SetMaxPacketSize([in] DWORD size); -}; +}
[ object, @@ -1456,7 +1629,7 @@ interface IWMPacketSize2 : IWMPacketSize { HRESULT GetMinPacketSize([out] DWORD *size); HRESULT SetMinPacketSize([in] DWORD size); -}; +}
[ object, @@ -1486,7 +1659,7 @@ interface IWMDRMReader : IUnknown [out] WMT_ATTR_DATATYPE *type, [out, size_is( *length )] BYTE *value, [in, out] WORD *length); -}; +}
[ object, @@ -1508,7 +1681,7 @@ interface IWMDRMReader2 : IWMDRMReader [out] DWORD *level);
HRESULT TryNextLicense(); -}; +}
[ object, @@ -1521,7 +1694,7 @@ interface IWMDRMReader3 : IWMDRMReader2 HRESULT GetInclusionList( [out] GUID **guids, [out] DWORD *count); -}; +}
[ object, @@ -1539,7 +1712,7 @@ interface IWMReaderAccelerator : IUnknown HRESULT Notify( [in] DWORD output, [in] WM_MEDIA_TYPE *subtype); -}; +}
[ object, @@ -1558,7 +1731,7 @@ interface IWMReaderTimecode : IUnknown [in] WORD range, [out] DWORD *start_timecode, [out] DWORD *end_timecode); -}; +}
[ object, @@ -1571,7 +1744,7 @@ interface IWMReaderTypeNegotiation : IUnknown HRESULT TryOutputProps( [in] DWORD output, [in] IWMOutputMediaProps *props); -}; +}
[ object, @@ -1592,7 +1765,7 @@ interface IWMLanguageList : IUnknown HRESULT AddLanguageByRFC1766String( [in] LPCWSTR_WMSDK_TYPE_SAFE language, [out] WORD *index); -}; +}
[ object, @@ -1615,11 +1788,115 @@ interface IWMReaderPlaylistBurn : IUnknown HRESULT Cancel();
HRESULT EndPlaylistBurn([in] HRESULT result); +} + +[ + object, + uuid(72995a79-5090-42a4-9c8c-d9d0b6d34be5), + pointer_default(unique), + local +] +interface IWMPropertyVault : IUnknown +{ + HRESULT GetPropertyCount([in] DWORD *count); + + HRESULT GetPropertyByName( + [in] const WCHAR *name, + [out] WMT_ATTR_DATATYPE *type, + [out, size_is( *size )] BYTE *value, + [in, out] DWORD *size); + + HRESULT SetProperty( + [in] const WCHAR *name, + [in] WMT_ATTR_DATATYPE type, + [in] BYTE *value, + [in] DWORD size); + + HRESULT GetPropertyByIndex( + [in] DWORD index, + [out, size_is( *pdwNameLen )] WCHAR *name, + [in, out] DWORD *length, + [out] WMT_ATTR_DATATYPE *type, + [out, size_is( *size )] BYTE *value, + [in, out] DWORD *size); + + HRESULT CopyPropertiesFrom([in] IWMPropertyVault *vault); + + HRESULT Clear(); +}; + +[ + object, + uuid(fc54a285-38c4-45b5-aa23-85b9f7cb424b), + pointer_default(unique), + local +] +interface IWMWriterPreprocess : IUnknown +{ + HRESULT GetMaxPreprocessingPasses( + [in] DWORD input, + [in] DWORD flags, + [out] DWORD *passes); + + HRESULT SetNumPreprocessingPasses( + [in] DWORD input, + [in] DWORD flags, + [in] DWORD passes); + + HRESULT BeginPreprocessingPass( + [in] DWORD input, + [in] DWORD flags); + + HRESULT PreprocessSample( + [in] DWORD input, + [in] QWORD sample_time, + [in] DWORD flags, + [in] INSSBuffer *sample); + + HRESULT EndPreprocessingPass( + [in] DWORD input, + [in] DWORD flags); };
+[ + object, + uuid(05e5ac9f-3fb6-4508-bb43-a4067ba1ebe8), + pointer_default(unique), + local +] +interface IWMLicenseBackup : IUnknown +{ + HRESULT BackupLicenses( + [in] DWORD dwFlags, + [in] IWMStatusCallback *pCallback); + + HRESULT CancelLicenseBackup(); +}
+[ + object, + uuid(c70b6334-a22e-4efb-a245-15e65a004a13), + pointer_default(unique), + local +] +interface IWMLicenseRestore : IUnknown +{ + HRESULT RestoreLicenses( + [in] DWORD dwFlags, + [in] IWMStatusCallback *pCallback); + + HRESULT CancelLicenseRestore(); +} + +cpp_quote("HRESULT WINAPI WMCheckURLExtension(LPCWSTR);") +cpp_quote("HRESULT WINAPI WMCheckURLScheme(LPCWSTR);") cpp_quote("HRESULT WINAPI WMCreateWriter(IUnknown*,IWMWriter**);") cpp_quote("HRESULT WINAPI WMCreateReader(IUnknown*,DWORD,IWMReader**);") +cpp_quote("HRESULT WINAPI WMCreateSyncReader(IUnknown*,DWORD,IWMSyncReader**);") +cpp_quote("HRESULT WINAPI WMCreateEditor(IWMMetadataEditor**);") +cpp_quote("HRESULT WINAPI WMCreateBackupRestorer(IUnknown*,IWMLicenseBackup**);") +cpp_quote("HRESULT WINAPI WMCreateProfileManager(IWMProfileManager**);") +
cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_Base, 0x00000000,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") cpp_quote("EXTERN_GUID(WMMEDIATYPE_Video, 0x73646976,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")