Reactos

[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.

authored by

Oleg Dubinskiy and committed by
Hermès Bélusca-Maïto
e9f5438e a5d59950

+138 -32
+138 -32
sdk/include/dxsdk/axextend.idl
··· 16 16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17 17 */ 18 18 19 + #if 0 20 + #pragma makedep install 21 + #endif 22 + 19 23 interface IAMAnalogVideoDecoder; 20 24 interface IAMAnalogVideoEncoder; 21 25 interface IAMAudioInputMixer; ··· 23 27 interface IAMBufferNegotiation; 24 28 interface IAMCameraControl; 25 29 interface IAMCertifiedOutputProtection; 30 + interface IAMClockSlave; 26 31 interface IAMCopyCaptureFileProgress; 27 32 interface IAMCrossbar; 28 33 interface IAMDevMemoryAllocator; ··· 173 178 [in] CLSID clsInMaj, 174 179 [in] CLSID clsInSub, 175 180 [in] BOOL bRender, 176 - [in] BOOL bOututNeeded, 181 + [in] BOOL bOutputNeeded, 177 182 [in] CLSID clsOutMaj, 178 183 [in] CLSID clsOutSub 179 184 ); ··· 801 806 [ 802 807 local, 803 808 object, 809 + uuid(4d5466b0-a49c-11d1-abe8-00a0c905f375), 810 + pointer_default(unique) 811 + 812 + ] 813 + interface IAMClockAdjust : IUnknown 814 + { 815 + HRESULT SetClockDelta([in] REFERENCE_TIME rtDelta); 816 + }; 817 + 818 + [ 819 + local, 820 + object, 804 821 uuid(9fd52741-176d-4b36-8f51-ca8f933223be), 805 822 pointer_default(unique) 806 823 ] ··· 926 943 HRESULT NotifyGraphChange(void); 927 944 } 928 945 929 - typedef enum 930 - { 931 - AM_STREAM_INFO_START_DEFINED = 0x01, 932 - AM_STREAM_INFO_STOP_DEFINED = 0x02, 933 - AM_STREAM_INFO_DISCARDING = 0x04, 934 - AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10 935 - } AM_STREAM_INFO_FLAGS; 936 - 937 - typedef struct 938 - { 939 - REFERENCE_TIME tStart; 940 - REFERENCE_TIME tStop; 941 - DWORD dwStartCookie; 942 - DWORD dwStopCookie; 943 - DWORD dwFlags; 944 - }AM_STREAM_INFO; 945 - 946 946 947 947 /***************************************************************************** 948 948 * IAMStreamConfig interface ··· 954 954 ] 955 955 interface IAMStreamConfig : IUnknown 956 956 { 957 + typedef struct _VIDEO_STREAM_CONFIG_CAPS { 958 + GUID guid; 959 + ULONG VideoStandard; 960 + SIZE InputSize; 961 + SIZE MinCroppingSize; 962 + SIZE MaxCroppingSize; 963 + int CropGranularityX; 964 + int CropGranularityY; 965 + int CropAlignX; 966 + int CropAlignY; 967 + SIZE MinOutputSize; 968 + SIZE MaxOutputSize; 969 + int OutputGranularityX; 970 + int OutputGranularityY; 971 + int StretchTapsX; 972 + int StretchTapsY; 973 + int ShrinkTapsX; 974 + int ShrinkTapsY; 975 + LONGLONG MinFrameInterval; 976 + LONGLONG MaxFrameInterval; 977 + LONG MinBitsPerSecond; 978 + LONG MaxBitsPerSecond; 979 + } VIDEO_STREAM_CONFIG_CAPS; 980 + 981 + typedef struct _AUDIO_STREAM_CONFIG_CAPS { 982 + GUID guid; 983 + ULONG MinimumChannels; 984 + ULONG MaximumChannels; 985 + ULONG ChannelsGranularity; 986 + ULONG MinimumBitsPerSample; 987 + ULONG MaximumBitsPerSample; 988 + ULONG BitsPerSampleGranularity; 989 + ULONG MinimumSampleFrequency; 990 + ULONG MaximumSampleFrequency; 991 + ULONG SampleFrequencyGranularity; 992 + } AUDIO_STREAM_CONFIG_CAPS; 993 + 957 994 HRESULT SetFormat( [in] AM_MEDIA_TYPE *pmt); 958 995 HRESULT GetFormat( [in] AM_MEDIA_TYPE **pmt); 959 996 HRESULT GetNumberOfCapabilities( [out] int *piCount, [out] int *piSize); ··· 1149 1186 cpp_quote("#endif /* _IKsPropertySet_ */") 1150 1187 1151 1188 [ 1189 + local, 1152 1190 object, 1153 - uuid(36b73883-c2c8-11cf-8b46-00805f6cef60), 1191 + uuid(6025a880-c0d5-11d0-bd4e-00a0c911ce86), 1154 1192 pointer_default(unique) 1155 1193 ] 1156 - interface ISeekingPassThru : IUnknown 1194 + interface IMediaPropertyBag : IPropertyBag 1157 1195 { 1158 - HRESULT Init( [in] BOOL bSupportRendering, [in] IPin *pPin); 1196 + typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG; 1197 + 1198 + HRESULT EnumProperty( 1199 + [in] ULONG iProperty, 1200 + [in, out] VARIANT *pvarPropertyName, 1201 + [in, out] VARIANT *pvarPropertyValue); 1159 1202 } 1160 1203 1204 + 1161 1205 [ 1162 1206 local, 1163 1207 object, 1164 - uuid(4d5466b0-a49c-11d1-abe8-00a0c905f375), 1208 + uuid(5738e040-b67f-11d0-bd4d-00a0c911ce86), 1165 1209 pointer_default(unique) 1166 - 1167 1210 ] 1168 - interface IAMClockAdjust : IUnknown 1211 + interface IPersistMediaPropertyBag : IPersist 1169 1212 { 1170 - HRESULT SetClockDelta([in] REFERENCE_TIME rtDelta); 1171 - }; 1213 + HRESULT InitNew(void); 1214 + 1215 + HRESULT Load( 1216 + [in] IMediaPropertyBag *pPropBag, 1217 + [in] IErrorLog *pErrorLog); 1172 1218 1219 + HRESULT Save( 1220 + [in] IMediaPropertyBag *pPropBag, 1221 + [in] BOOL fClearDirty, 1222 + [in] BOOL fSaveAllProperties); 1223 + 1224 + typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG; 1225 + } 1226 + 1227 + [ 1228 + object, 1229 + uuid(36b73883-c2c8-11cf-8b46-00805f6cef60), 1230 + pointer_default(unique) 1231 + ] 1232 + interface ISeekingPassThru : IUnknown 1233 + { 1234 + HRESULT Init( [in] BOOL bSupportRendering, [in] IPin *pPin); 1235 + } 1173 1236 1174 1237 enum _AM_FILTER_MISC_FLAGS 1175 1238 { ··· 1219 1282 1220 1283 } 1221 1284 1285 + [ 1286 + local, 1287 + object, 1288 + uuid(d8d715a0-6e5e-11d0-b3f0-00aa003761c5), 1289 + pointer_default(unique) 1290 + ] 1291 + interface IAMVfwCaptureDialogs : IUnknown 1292 + { 1293 + HRESULT HasDialog( 1294 + [in] int dialog); 1295 + HRESULT ShowDialog( 1296 + [in] int dialog, 1297 + [in] HWND hwnd); 1298 + HRESULT SendDriverMessage( 1299 + [in] int dialog, 1300 + [in] int msg, 1301 + [in] long data1, 1302 + [in] long data2); 1303 + } 1304 + 1222 1305 #include <axextendenums.h> 1223 1306 1307 + typedef enum 1308 + { 1309 + AM_STREAM_INFO_START_DEFINED = 0x01, 1310 + AM_STREAM_INFO_STOP_DEFINED = 0x02, 1311 + AM_STREAM_INFO_DISCARDING = 0x04, 1312 + AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10 1313 + } AM_STREAM_INFO_FLAGS; 1314 + 1315 + typedef struct 1316 + { 1317 + REFERENCE_TIME tStart; 1318 + REFERENCE_TIME tStop; 1319 + DWORD dwStartCookie; 1320 + DWORD dwStopCookie; 1321 + DWORD dwFlags; 1322 + }AM_STREAM_INFO; 1323 + 1224 1324 [ 1325 + local, 1225 1326 object, 1226 1327 uuid(36b73881-c2c8-11cf-8b46-00805f6cef60), 1227 1328 pointer_default(unique) 1228 1329 ] 1229 1330 interface IAMStreamControl : IUnknown 1230 1331 { 1231 - HRESULT StartAt( [in] REFERENCE_TIME * ptStart, 1232 - [in] DWORD dwCookie ); 1233 - HRESULT StopAt( [in] REFERENCE_TIME * ptStop, 1234 - [in] BOOL bSendExtra, 1235 - [in] DWORD dwCookie ); 1236 - HRESULT GetInfo( [out] AM_STREAM_INFO *pInfo); 1332 + HRESULT StartAt( 1333 + [in] const REFERENCE_TIME *ptStart, 1334 + [in] DWORD dwCookie); 1335 + 1336 + HRESULT StopAt( 1337 + [in] const REFERENCE_TIME *ptStop, 1338 + [in] BOOL bSendExtra, 1339 + [in] DWORD dwCookie); 1340 + 1341 + HRESULT GetInfo( 1342 + [out] AM_STREAM_INFO *pInfo); 1237 1343 } 1238 1344 1239 1345 typedef enum tagTVAudioMode