https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e9f5438eea72ff94a67580...
commit e9f5438eea72ff94a6758007d7f3283ee2f8b44d Author: Oleg Dubinskiy oleg.dubinskij2013@yandex.ua AuthorDate: Sat Mar 7 21:35:35 2020 +0200 Commit: Hermès Bélusca-Maïto hermes.belusca-maito@reactos.org CommitDate: Fri Apr 3 23:58:54 2020 +0200
[DXSDK] Sync axextend.idl with Wine Staging 3.3 (#2421) Required by Wine's qcap.dll CORE-16350
[DXSDK] Restore all deleted code in axextend.idl to propely fix compilation Also regularize some parts of added code and replace IAMStreamControl interface with Wine's one, because otherwise compilation fails. --- sdk/include/dxsdk/axextend.idl | 170 +++++++++++++++++++++++++++++++++-------- 1 file changed, 138 insertions(+), 32 deletions(-)
diff --git a/sdk/include/dxsdk/axextend.idl b/sdk/include/dxsdk/axextend.idl index cd4955d38ab..8ed7dc6e4ca 100644 --- a/sdk/include/dxsdk/axextend.idl +++ b/sdk/include/dxsdk/axextend.idl @@ -16,6 +16,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#if 0 +#pragma makedep install +#endif + interface IAMAnalogVideoDecoder; interface IAMAnalogVideoEncoder; interface IAMAudioInputMixer; @@ -23,6 +27,7 @@ interface IAMAudioRendererStats; interface IAMBufferNegotiation; interface IAMCameraControl; interface IAMCertifiedOutputProtection; +interface IAMClockSlave; interface IAMCopyCaptureFileProgress; interface IAMCrossbar; interface IAMDevMemoryAllocator; @@ -173,7 +178,7 @@ interface IFilterMapper : IUnknown [in] CLSID clsInMaj, [in] CLSID clsInSub, [in] BOOL bRender, - [in] BOOL bOututNeeded, + [in] BOOL bOutputNeeded, [in] CLSID clsOutMaj, [in] CLSID clsOutSub ); @@ -798,6 +803,18 @@ interface IConfigInterleaving : IUnknown [out] REFERENCE_TIME *prtPreroll); }
+[ + local, + object, + uuid(4d5466b0-a49c-11d1-abe8-00a0c905f375), + pointer_default(unique) + +] +interface IAMClockAdjust : IUnknown +{ + HRESULT SetClockDelta([in] REFERENCE_TIME rtDelta); +}; + [ local, object, @@ -926,23 +943,6 @@ interface IDistributorNotify : IUnknown HRESULT NotifyGraphChange(void); }
-typedef enum -{ - AM_STREAM_INFO_START_DEFINED = 0x01, - AM_STREAM_INFO_STOP_DEFINED = 0x02, - AM_STREAM_INFO_DISCARDING = 0x04, - AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10 -} AM_STREAM_INFO_FLAGS; - -typedef struct -{ - REFERENCE_TIME tStart; - REFERENCE_TIME tStop; - DWORD dwStartCookie; - DWORD dwStopCookie; - DWORD dwFlags; -}AM_STREAM_INFO; -
/***************************************************************************** * IAMStreamConfig interface @@ -954,6 +954,43 @@ typedef struct ] interface IAMStreamConfig : IUnknown { + typedef struct _VIDEO_STREAM_CONFIG_CAPS { + GUID guid; + ULONG VideoStandard; + SIZE InputSize; + SIZE MinCroppingSize; + SIZE MaxCroppingSize; + int CropGranularityX; + int CropGranularityY; + int CropAlignX; + int CropAlignY; + SIZE MinOutputSize; + SIZE MaxOutputSize; + int OutputGranularityX; + int OutputGranularityY; + int StretchTapsX; + int StretchTapsY; + int ShrinkTapsX; + int ShrinkTapsY; + LONGLONG MinFrameInterval; + LONGLONG MaxFrameInterval; + LONG MinBitsPerSecond; + LONG MaxBitsPerSecond; + } VIDEO_STREAM_CONFIG_CAPS; + + typedef struct _AUDIO_STREAM_CONFIG_CAPS { + GUID guid; + ULONG MinimumChannels; + ULONG MaximumChannels; + ULONG ChannelsGranularity; + ULONG MinimumBitsPerSample; + ULONG MaximumBitsPerSample; + ULONG BitsPerSampleGranularity; + ULONG MinimumSampleFrequency; + ULONG MaximumSampleFrequency; + ULONG SampleFrequencyGranularity; + } AUDIO_STREAM_CONFIG_CAPS; + HRESULT SetFormat( [in] AM_MEDIA_TYPE *pmt); HRESULT GetFormat( [in] AM_MEDIA_TYPE **pmt); HRESULT GetNumberOfCapabilities( [out] int *piCount, [out] int *piSize); @@ -1149,27 +1186,53 @@ interface IKsPropertySet : IUnknown cpp_quote("#endif /* _IKsPropertySet_ */")
[ + local, object, - uuid(36b73883-c2c8-11cf-8b46-00805f6cef60), + uuid(6025a880-c0d5-11d0-bd4e-00a0c911ce86), pointer_default(unique) ] -interface ISeekingPassThru : IUnknown +interface IMediaPropertyBag : IPropertyBag { - HRESULT Init( [in] BOOL bSupportRendering, [in] IPin *pPin); + typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG; + + HRESULT EnumProperty( + [in] ULONG iProperty, + [in, out] VARIANT *pvarPropertyName, + [in, out] VARIANT *pvarPropertyValue); }
+ [ local, object, - uuid(4d5466b0-a49c-11d1-abe8-00a0c905f375), + uuid(5738e040-b67f-11d0-bd4d-00a0c911ce86), pointer_default(unique) - ] -interface IAMClockAdjust : IUnknown +interface IPersistMediaPropertyBag : IPersist { - HRESULT SetClockDelta([in] REFERENCE_TIME rtDelta); -}; + HRESULT InitNew(void);
+ HRESULT Load( + [in] IMediaPropertyBag *pPropBag, + [in] IErrorLog *pErrorLog); + + HRESULT Save( + [in] IMediaPropertyBag *pPropBag, + [in] BOOL fClearDirty, + [in] BOOL fSaveAllProperties); + + typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG; +} + +[ + object, + uuid(36b73883-c2c8-11cf-8b46-00805f6cef60), + pointer_default(unique) +] +interface ISeekingPassThru : IUnknown +{ + HRESULT Init( [in] BOOL bSupportRendering, [in] IPin *pPin); +}
enum _AM_FILTER_MISC_FLAGS { @@ -1219,21 +1282,64 @@ interface IAMBufferNegotiation : IUnknown
}
+[ + local, + object, + uuid(d8d715a0-6e5e-11d0-b3f0-00aa003761c5), + pointer_default(unique) +] +interface IAMVfwCaptureDialogs : IUnknown +{ + HRESULT HasDialog( + [in] int dialog); + HRESULT ShowDialog( + [in] int dialog, + [in] HWND hwnd); + HRESULT SendDriverMessage( + [in] int dialog, + [in] int msg, + [in] long data1, + [in] long data2); +} + #include <axextendenums.h>
+typedef enum +{ + AM_STREAM_INFO_START_DEFINED = 0x01, + AM_STREAM_INFO_STOP_DEFINED = 0x02, + AM_STREAM_INFO_DISCARDING = 0x04, + AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10 +} AM_STREAM_INFO_FLAGS; + +typedef struct +{ + REFERENCE_TIME tStart; + REFERENCE_TIME tStop; + DWORD dwStartCookie; + DWORD dwStopCookie; + DWORD dwFlags; +}AM_STREAM_INFO; + [ + local, object, uuid(36b73881-c2c8-11cf-8b46-00805f6cef60), pointer_default(unique) ] interface IAMStreamControl : IUnknown { - HRESULT StartAt( [in] REFERENCE_TIME * ptStart, - [in] DWORD dwCookie ); - HRESULT StopAt( [in] REFERENCE_TIME * ptStop, - [in] BOOL bSendExtra, - [in] DWORD dwCookie ); - HRESULT GetInfo( [out] AM_STREAM_INFO *pInfo); + HRESULT StartAt( + [in] const REFERENCE_TIME *ptStart, + [in] DWORD dwCookie); + + HRESULT StopAt( + [in] const REFERENCE_TIME *ptStop, + [in] BOOL bSendExtra, + [in] DWORD dwCookie); + + HRESULT GetInfo( + [out] AM_STREAM_INFO *pInfo); }
typedef enum tagTVAudioMode