Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1574 lines
44 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0357 */
  4. /* Compiler settings for mediaobj.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext, robust
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __mediaobj_h__
  27. #define __mediaobj_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IMediaBuffer_FWD_DEFINED__
  33. #define __IMediaBuffer_FWD_DEFINED__
  34. typedef interface IMediaBuffer IMediaBuffer;
  35. #endif /* __IMediaBuffer_FWD_DEFINED__ */
  36. #ifndef __IMediaObject_FWD_DEFINED__
  37. #define __IMediaObject_FWD_DEFINED__
  38. typedef interface IMediaObject IMediaObject;
  39. #endif /* __IMediaObject_FWD_DEFINED__ */
  40. #ifndef __IEnumDMO_FWD_DEFINED__
  41. #define __IEnumDMO_FWD_DEFINED__
  42. typedef interface IEnumDMO IEnumDMO;
  43. #endif /* __IEnumDMO_FWD_DEFINED__ */
  44. #ifndef __IMediaObjectInPlace_FWD_DEFINED__
  45. #define __IMediaObjectInPlace_FWD_DEFINED__
  46. typedef interface IMediaObjectInPlace IMediaObjectInPlace;
  47. #endif /* __IMediaObjectInPlace_FWD_DEFINED__ */
  48. #ifndef __IDMOQualityControl_FWD_DEFINED__
  49. #define __IDMOQualityControl_FWD_DEFINED__
  50. typedef interface IDMOQualityControl IDMOQualityControl;
  51. #endif /* __IDMOQualityControl_FWD_DEFINED__ */
  52. #ifndef __IDMOVideoOutputOptimizations_FWD_DEFINED__
  53. #define __IDMOVideoOutputOptimizations_FWD_DEFINED__
  54. typedef interface IDMOVideoOutputOptimizations IDMOVideoOutputOptimizations;
  55. #endif /* __IDMOVideoOutputOptimizations_FWD_DEFINED__ */
  56. /* header files for imported files */
  57. #include "unknwn.h"
  58. #include "objidl.h"
  59. #ifdef __cplusplus
  60. extern "C"{
  61. #endif
  62. void * __RPC_USER MIDL_user_allocate(size_t);
  63. void __RPC_USER MIDL_user_free( void * );
  64. /* interface __MIDL_itf_mediaobj_0000 */
  65. /* [local] */
  66. #ifdef __strmif_h__
  67. typedef AM_MEDIA_TYPE DMO_MEDIA_TYPE;
  68. #else
  69. typedef struct _DMOMediaType
  70. {
  71. GUID majortype;
  72. GUID subtype;
  73. BOOL bFixedSizeSamples;
  74. BOOL bTemporalCompression;
  75. ULONG lSampleSize;
  76. GUID formattype;
  77. IUnknown *pUnk;
  78. ULONG cbFormat;
  79. /* [size_is] */ BYTE *pbFormat;
  80. } DMO_MEDIA_TYPE;
  81. typedef LONGLONG REFERENCE_TIME;
  82. #endif
  83. enum _DMO_INPUT_DATA_BUFFER_FLAGS
  84. { DMO_INPUT_DATA_BUFFERF_SYNCPOINT = 0x1,
  85. DMO_INPUT_DATA_BUFFERF_TIME = 0x2,
  86. DMO_INPUT_DATA_BUFFERF_TIMELENGTH = 0x4
  87. } ;
  88. enum _DMO_OUTPUT_DATA_BUFFER_FLAGS
  89. { DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT = 0x1,
  90. DMO_OUTPUT_DATA_BUFFERF_TIME = 0x2,
  91. DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH = 0x4,
  92. DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE = 0x1000000
  93. } ;
  94. enum _DMO_INPUT_STATUS_FLAGS
  95. { DMO_INPUT_STATUSF_ACCEPT_DATA = 0x1
  96. } ;
  97. enum _DMO_INPUT_STREAM_INFO_FLAGS
  98. { DMO_INPUT_STREAMF_WHOLE_SAMPLES = 0x1,
  99. DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2,
  100. DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4,
  101. DMO_INPUT_STREAMF_HOLDS_BUFFERS = 0x8
  102. } ;
  103. enum _DMO_OUTPUT_STREAM_INFO_FLAGS
  104. { DMO_OUTPUT_STREAMF_WHOLE_SAMPLES = 0x1,
  105. DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2,
  106. DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4,
  107. DMO_OUTPUT_STREAMF_DISCARDABLE = 0x8,
  108. DMO_OUTPUT_STREAMF_OPTIONAL = 0x10
  109. } ;
  110. enum _DMO_SET_TYPE_FLAGS
  111. { DMO_SET_TYPEF_TEST_ONLY = 0x1,
  112. DMO_SET_TYPEF_CLEAR = 0x2
  113. } ;
  114. enum _DMO_PROCESS_OUTPUT_FLAGS
  115. { DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = 0x1
  116. } ;
  117. extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0000_v0_0_c_ifspec;
  118. extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0000_v0_0_s_ifspec;
  119. #ifndef __IMediaBuffer_INTERFACE_DEFINED__
  120. #define __IMediaBuffer_INTERFACE_DEFINED__
  121. /* interface IMediaBuffer */
  122. /* [uuid][object] */
  123. EXTERN_C const IID IID_IMediaBuffer;
  124. #if defined(__cplusplus) && !defined(CINTERFACE)
  125. MIDL_INTERFACE("59eff8b9-938c-4a26-82f2-95cb84cdc837")
  126. IMediaBuffer : public IUnknown
  127. {
  128. public:
  129. virtual HRESULT STDMETHODCALLTYPE SetLength(
  130. DWORD cbLength) = 0;
  131. virtual HRESULT STDMETHODCALLTYPE GetMaxLength(
  132. /* [out] */ DWORD *pcbMaxLength) = 0;
  133. virtual HRESULT STDMETHODCALLTYPE GetBufferAndLength(
  134. /* [out] */ BYTE **ppBuffer,
  135. /* [out] */ DWORD *pcbLength) = 0;
  136. };
  137. #else /* C style interface */
  138. typedef struct IMediaBufferVtbl
  139. {
  140. BEGIN_INTERFACE
  141. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  142. IMediaBuffer * This,
  143. /* [in] */ REFIID riid,
  144. /* [iid_is][out] */ void **ppvObject);
  145. ULONG ( STDMETHODCALLTYPE *AddRef )(
  146. IMediaBuffer * This);
  147. ULONG ( STDMETHODCALLTYPE *Release )(
  148. IMediaBuffer * This);
  149. HRESULT ( STDMETHODCALLTYPE *SetLength )(
  150. IMediaBuffer * This,
  151. DWORD cbLength);
  152. HRESULT ( STDMETHODCALLTYPE *GetMaxLength )(
  153. IMediaBuffer * This,
  154. /* [out] */ DWORD *pcbMaxLength);
  155. HRESULT ( STDMETHODCALLTYPE *GetBufferAndLength )(
  156. IMediaBuffer * This,
  157. /* [out] */ BYTE **ppBuffer,
  158. /* [out] */ DWORD *pcbLength);
  159. END_INTERFACE
  160. } IMediaBufferVtbl;
  161. interface IMediaBuffer
  162. {
  163. CONST_VTBL struct IMediaBufferVtbl *lpVtbl;
  164. };
  165. #ifdef COBJMACROS
  166. #define IMediaBuffer_QueryInterface(This,riid,ppvObject) \
  167. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  168. #define IMediaBuffer_AddRef(This) \
  169. (This)->lpVtbl -> AddRef(This)
  170. #define IMediaBuffer_Release(This) \
  171. (This)->lpVtbl -> Release(This)
  172. #define IMediaBuffer_SetLength(This,cbLength) \
  173. (This)->lpVtbl -> SetLength(This,cbLength)
  174. #define IMediaBuffer_GetMaxLength(This,pcbMaxLength) \
  175. (This)->lpVtbl -> GetMaxLength(This,pcbMaxLength)
  176. #define IMediaBuffer_GetBufferAndLength(This,ppBuffer,pcbLength) \
  177. (This)->lpVtbl -> GetBufferAndLength(This,ppBuffer,pcbLength)
  178. #endif /* COBJMACROS */
  179. #endif /* C style interface */
  180. HRESULT STDMETHODCALLTYPE IMediaBuffer_SetLength_Proxy(
  181. IMediaBuffer * This,
  182. DWORD cbLength);
  183. void __RPC_STUB IMediaBuffer_SetLength_Stub(
  184. IRpcStubBuffer *This,
  185. IRpcChannelBuffer *_pRpcChannelBuffer,
  186. PRPC_MESSAGE _pRpcMessage,
  187. DWORD *_pdwStubPhase);
  188. HRESULT STDMETHODCALLTYPE IMediaBuffer_GetMaxLength_Proxy(
  189. IMediaBuffer * This,
  190. /* [out] */ DWORD *pcbMaxLength);
  191. void __RPC_STUB IMediaBuffer_GetMaxLength_Stub(
  192. IRpcStubBuffer *This,
  193. IRpcChannelBuffer *_pRpcChannelBuffer,
  194. PRPC_MESSAGE _pRpcMessage,
  195. DWORD *_pdwStubPhase);
  196. HRESULT STDMETHODCALLTYPE IMediaBuffer_GetBufferAndLength_Proxy(
  197. IMediaBuffer * This,
  198. /* [out] */ BYTE **ppBuffer,
  199. /* [out] */ DWORD *pcbLength);
  200. void __RPC_STUB IMediaBuffer_GetBufferAndLength_Stub(
  201. IRpcStubBuffer *This,
  202. IRpcChannelBuffer *_pRpcChannelBuffer,
  203. PRPC_MESSAGE _pRpcMessage,
  204. DWORD *_pdwStubPhase);
  205. #endif /* __IMediaBuffer_INTERFACE_DEFINED__ */
  206. /* interface __MIDL_itf_mediaobj_0090 */
  207. /* [local] */
  208. typedef struct _DMO_OUTPUT_DATA_BUFFER
  209. {
  210. IMediaBuffer *pBuffer;
  211. DWORD dwStatus;
  212. REFERENCE_TIME rtTimestamp;
  213. REFERENCE_TIME rtTimelength;
  214. } DMO_OUTPUT_DATA_BUFFER;
  215. typedef struct _DMO_OUTPUT_DATA_BUFFER *PDMO_OUTPUT_DATA_BUFFER;
  216. extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0090_v0_0_c_ifspec;
  217. extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0090_v0_0_s_ifspec;
  218. #ifndef __IMediaObject_INTERFACE_DEFINED__
  219. #define __IMediaObject_INTERFACE_DEFINED__
  220. /* interface IMediaObject */
  221. /* [uuid][object] */
  222. EXTERN_C const IID IID_IMediaObject;
  223. #if defined(__cplusplus) && !defined(CINTERFACE)
  224. MIDL_INTERFACE("d8ad0f58-5494-4102-97c5-ec798e59bcf4")
  225. IMediaObject : public IUnknown
  226. {
  227. public:
  228. virtual HRESULT STDMETHODCALLTYPE GetStreamCount(
  229. /* [out] */ DWORD *pcInputStreams,
  230. /* [out] */ DWORD *pcOutputStreams) = 0;
  231. virtual HRESULT STDMETHODCALLTYPE GetInputStreamInfo(
  232. DWORD dwInputStreamIndex,
  233. /* [out] */ DWORD *pdwFlags) = 0;
  234. virtual HRESULT STDMETHODCALLTYPE GetOutputStreamInfo(
  235. DWORD dwOutputStreamIndex,
  236. /* [out] */ DWORD *pdwFlags) = 0;
  237. virtual HRESULT STDMETHODCALLTYPE GetInputType(
  238. DWORD dwInputStreamIndex,
  239. DWORD dwTypeIndex,
  240. /* [out] */ DMO_MEDIA_TYPE *pmt) = 0;
  241. virtual HRESULT STDMETHODCALLTYPE GetOutputType(
  242. DWORD dwOutputStreamIndex,
  243. DWORD dwTypeIndex,
  244. /* [out] */ DMO_MEDIA_TYPE *pmt) = 0;
  245. virtual HRESULT STDMETHODCALLTYPE SetInputType(
  246. DWORD dwInputStreamIndex,
  247. /* [in] */ const DMO_MEDIA_TYPE *pmt,
  248. DWORD dwFlags) = 0;
  249. virtual HRESULT STDMETHODCALLTYPE SetOutputType(
  250. DWORD dwOutputStreamIndex,
  251. /* [in] */ const DMO_MEDIA_TYPE *pmt,
  252. DWORD dwFlags) = 0;
  253. virtual HRESULT STDMETHODCALLTYPE GetInputCurrentType(
  254. DWORD dwInputStreamIndex,
  255. /* [out] */ DMO_MEDIA_TYPE *pmt) = 0;
  256. virtual HRESULT STDMETHODCALLTYPE GetOutputCurrentType(
  257. DWORD dwOutputStreamIndex,
  258. /* [out] */ DMO_MEDIA_TYPE *pmt) = 0;
  259. virtual HRESULT STDMETHODCALLTYPE GetInputSizeInfo(
  260. DWORD dwInputStreamIndex,
  261. /* [out] */ DWORD *pcbSize,
  262. /* [out] */ DWORD *pcbMaxLookahead,
  263. /* [out] */ DWORD *pcbAlignment) = 0;
  264. virtual HRESULT STDMETHODCALLTYPE GetOutputSizeInfo(
  265. DWORD dwOutputStreamIndex,
  266. /* [out] */ DWORD *pcbSize,
  267. /* [out] */ DWORD *pcbAlignment) = 0;
  268. virtual HRESULT STDMETHODCALLTYPE GetInputMaxLatency(
  269. DWORD dwInputStreamIndex,
  270. /* [out] */ REFERENCE_TIME *prtMaxLatency) = 0;
  271. virtual HRESULT STDMETHODCALLTYPE SetInputMaxLatency(
  272. DWORD dwInputStreamIndex,
  273. REFERENCE_TIME rtMaxLatency) = 0;
  274. virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
  275. virtual HRESULT STDMETHODCALLTYPE Discontinuity(
  276. DWORD dwInputStreamIndex) = 0;
  277. virtual HRESULT STDMETHODCALLTYPE AllocateStreamingResources( void) = 0;
  278. virtual HRESULT STDMETHODCALLTYPE FreeStreamingResources( void) = 0;
  279. virtual HRESULT STDMETHODCALLTYPE GetInputStatus(
  280. DWORD dwInputStreamIndex,
  281. /* [out] */ DWORD *dwFlags) = 0;
  282. virtual HRESULT STDMETHODCALLTYPE ProcessInput(
  283. DWORD dwInputStreamIndex,
  284. IMediaBuffer *pBuffer,
  285. DWORD dwFlags,
  286. REFERENCE_TIME rtTimestamp,
  287. REFERENCE_TIME rtTimelength) = 0;
  288. virtual HRESULT STDMETHODCALLTYPE ProcessOutput(
  289. DWORD dwFlags,
  290. DWORD cOutputBufferCount,
  291. /* [size_is][out][in] */ DMO_OUTPUT_DATA_BUFFER *pOutputBuffers,
  292. /* [out] */ DWORD *pdwStatus) = 0;
  293. virtual HRESULT STDMETHODCALLTYPE Lock(
  294. LONG bLock) = 0;
  295. };
  296. #else /* C style interface */
  297. typedef struct IMediaObjectVtbl
  298. {
  299. BEGIN_INTERFACE
  300. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  301. IMediaObject * This,
  302. /* [in] */ REFIID riid,
  303. /* [iid_is][out] */ void **ppvObject);
  304. ULONG ( STDMETHODCALLTYPE *AddRef )(
  305. IMediaObject * This);
  306. ULONG ( STDMETHODCALLTYPE *Release )(
  307. IMediaObject * This);
  308. HRESULT ( STDMETHODCALLTYPE *GetStreamCount )(
  309. IMediaObject * This,
  310. /* [out] */ DWORD *pcInputStreams,
  311. /* [out] */ DWORD *pcOutputStreams);
  312. HRESULT ( STDMETHODCALLTYPE *GetInputStreamInfo )(
  313. IMediaObject * This,
  314. DWORD dwInputStreamIndex,
  315. /* [out] */ DWORD *pdwFlags);
  316. HRESULT ( STDMETHODCALLTYPE *GetOutputStreamInfo )(
  317. IMediaObject * This,
  318. DWORD dwOutputStreamIndex,
  319. /* [out] */ DWORD *pdwFlags);
  320. HRESULT ( STDMETHODCALLTYPE *GetInputType )(
  321. IMediaObject * This,
  322. DWORD dwInputStreamIndex,
  323. DWORD dwTypeIndex,
  324. /* [out] */ DMO_MEDIA_TYPE *pmt);
  325. HRESULT ( STDMETHODCALLTYPE *GetOutputType )(
  326. IMediaObject * This,
  327. DWORD dwOutputStreamIndex,
  328. DWORD dwTypeIndex,
  329. /* [out] */ DMO_MEDIA_TYPE *pmt);
  330. HRESULT ( STDMETHODCALLTYPE *SetInputType )(
  331. IMediaObject * This,
  332. DWORD dwInputStreamIndex,
  333. /* [in] */ const DMO_MEDIA_TYPE *pmt,
  334. DWORD dwFlags);
  335. HRESULT ( STDMETHODCALLTYPE *SetOutputType )(
  336. IMediaObject * This,
  337. DWORD dwOutputStreamIndex,
  338. /* [in] */ const DMO_MEDIA_TYPE *pmt,
  339. DWORD dwFlags);
  340. HRESULT ( STDMETHODCALLTYPE *GetInputCurrentType )(
  341. IMediaObject * This,
  342. DWORD dwInputStreamIndex,
  343. /* [out] */ DMO_MEDIA_TYPE *pmt);
  344. HRESULT ( STDMETHODCALLTYPE *GetOutputCurrentType )(
  345. IMediaObject * This,
  346. DWORD dwOutputStreamIndex,
  347. /* [out] */ DMO_MEDIA_TYPE *pmt);
  348. HRESULT ( STDMETHODCALLTYPE *GetInputSizeInfo )(
  349. IMediaObject * This,
  350. DWORD dwInputStreamIndex,
  351. /* [out] */ DWORD *pcbSize,
  352. /* [out] */ DWORD *pcbMaxLookahead,
  353. /* [out] */ DWORD *pcbAlignment);
  354. HRESULT ( STDMETHODCALLTYPE *GetOutputSizeInfo )(
  355. IMediaObject * This,
  356. DWORD dwOutputStreamIndex,
  357. /* [out] */ DWORD *pcbSize,
  358. /* [out] */ DWORD *pcbAlignment);
  359. HRESULT ( STDMETHODCALLTYPE *GetInputMaxLatency )(
  360. IMediaObject * This,
  361. DWORD dwInputStreamIndex,
  362. /* [out] */ REFERENCE_TIME *prtMaxLatency);
  363. HRESULT ( STDMETHODCALLTYPE *SetInputMaxLatency )(
  364. IMediaObject * This,
  365. DWORD dwInputStreamIndex,
  366. REFERENCE_TIME rtMaxLatency);
  367. HRESULT ( STDMETHODCALLTYPE *Flush )(
  368. IMediaObject * This);
  369. HRESULT ( STDMETHODCALLTYPE *Discontinuity )(
  370. IMediaObject * This,
  371. DWORD dwInputStreamIndex);
  372. HRESULT ( STDMETHODCALLTYPE *AllocateStreamingResources )(
  373. IMediaObject * This);
  374. HRESULT ( STDMETHODCALLTYPE *FreeStreamingResources )(
  375. IMediaObject * This);
  376. HRESULT ( STDMETHODCALLTYPE *GetInputStatus )(
  377. IMediaObject * This,
  378. DWORD dwInputStreamIndex,
  379. /* [out] */ DWORD *dwFlags);
  380. HRESULT ( STDMETHODCALLTYPE *ProcessInput )(
  381. IMediaObject * This,
  382. DWORD dwInputStreamIndex,
  383. IMediaBuffer *pBuffer,
  384. DWORD dwFlags,
  385. REFERENCE_TIME rtTimestamp,
  386. REFERENCE_TIME rtTimelength);
  387. HRESULT ( STDMETHODCALLTYPE *ProcessOutput )(
  388. IMediaObject * This,
  389. DWORD dwFlags,
  390. DWORD cOutputBufferCount,
  391. /* [size_is][out][in] */ DMO_OUTPUT_DATA_BUFFER *pOutputBuffers,
  392. /* [out] */ DWORD *pdwStatus);
  393. HRESULT ( STDMETHODCALLTYPE *Lock )(
  394. IMediaObject * This,
  395. LONG bLock);
  396. END_INTERFACE
  397. } IMediaObjectVtbl;
  398. interface IMediaObject
  399. {
  400. CONST_VTBL struct IMediaObjectVtbl *lpVtbl;
  401. };
  402. #ifdef COBJMACROS
  403. #define IMediaObject_QueryInterface(This,riid,ppvObject) \
  404. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  405. #define IMediaObject_AddRef(This) \
  406. (This)->lpVtbl -> AddRef(This)
  407. #define IMediaObject_Release(This) \
  408. (This)->lpVtbl -> Release(This)
  409. #define IMediaObject_GetStreamCount(This,pcInputStreams,pcOutputStreams) \
  410. (This)->lpVtbl -> GetStreamCount(This,pcInputStreams,pcOutputStreams)
  411. #define IMediaObject_GetInputStreamInfo(This,dwInputStreamIndex,pdwFlags) \
  412. (This)->lpVtbl -> GetInputStreamInfo(This,dwInputStreamIndex,pdwFlags)
  413. #define IMediaObject_GetOutputStreamInfo(This,dwOutputStreamIndex,pdwFlags) \
  414. (This)->lpVtbl -> GetOutputStreamInfo(This,dwOutputStreamIndex,pdwFlags)
  415. #define IMediaObject_GetInputType(This,dwInputStreamIndex,dwTypeIndex,pmt) \
  416. (This)->lpVtbl -> GetInputType(This,dwInputStreamIndex,dwTypeIndex,pmt)
  417. #define IMediaObject_GetOutputType(This,dwOutputStreamIndex,dwTypeIndex,pmt) \
  418. (This)->lpVtbl -> GetOutputType(This,dwOutputStreamIndex,dwTypeIndex,pmt)
  419. #define IMediaObject_SetInputType(This,dwInputStreamIndex,pmt,dwFlags) \
  420. (This)->lpVtbl -> SetInputType(This,dwInputStreamIndex,pmt,dwFlags)
  421. #define IMediaObject_SetOutputType(This,dwOutputStreamIndex,pmt,dwFlags) \
  422. (This)->lpVtbl -> SetOutputType(This,dwOutputStreamIndex,pmt,dwFlags)
  423. #define IMediaObject_GetInputCurrentType(This,dwInputStreamIndex,pmt) \
  424. (This)->lpVtbl -> GetInputCurrentType(This,dwInputStreamIndex,pmt)
  425. #define IMediaObject_GetOutputCurrentType(This,dwOutputStreamIndex,pmt) \
  426. (This)->lpVtbl -> GetOutputCurrentType(This,dwOutputStreamIndex,pmt)
  427. #define IMediaObject_GetInputSizeInfo(This,dwInputStreamIndex,pcbSize,pcbMaxLookahead,pcbAlignment) \
  428. (This)->lpVtbl -> GetInputSizeInfo(This,dwInputStreamIndex,pcbSize,pcbMaxLookahead,pcbAlignment)
  429. #define IMediaObject_GetOutputSizeInfo(This,dwOutputStreamIndex,pcbSize,pcbAlignment) \
  430. (This)->lpVtbl -> GetOutputSizeInfo(This,dwOutputStreamIndex,pcbSize,pcbAlignment)
  431. #define IMediaObject_GetInputMaxLatency(This,dwInputStreamIndex,prtMaxLatency) \
  432. (This)->lpVtbl -> GetInputMaxLatency(This,dwInputStreamIndex,prtMaxLatency)
  433. #define IMediaObject_SetInputMaxLatency(This,dwInputStreamIndex,rtMaxLatency) \
  434. (This)->lpVtbl -> SetInputMaxLatency(This,dwInputStreamIndex,rtMaxLatency)
  435. #define IMediaObject_Flush(This) \
  436. (This)->lpVtbl -> Flush(This)
  437. #define IMediaObject_Discontinuity(This,dwInputStreamIndex) \
  438. (This)->lpVtbl -> Discontinuity(This,dwInputStreamIndex)
  439. #define IMediaObject_AllocateStreamingResources(This) \
  440. (This)->lpVtbl -> AllocateStreamingResources(This)
  441. #define IMediaObject_FreeStreamingResources(This) \
  442. (This)->lpVtbl -> FreeStreamingResources(This)
  443. #define IMediaObject_GetInputStatus(This,dwInputStreamIndex,dwFlags) \
  444. (This)->lpVtbl -> GetInputStatus(This,dwInputStreamIndex,dwFlags)
  445. #define IMediaObject_ProcessInput(This,dwInputStreamIndex,pBuffer,dwFlags,rtTimestamp,rtTimelength) \
  446. (This)->lpVtbl -> ProcessInput(This,dwInputStreamIndex,pBuffer,dwFlags,rtTimestamp,rtTimelength)
  447. #define IMediaObject_ProcessOutput(This,dwFlags,cOutputBufferCount,pOutputBuffers,pdwStatus) \
  448. (This)->lpVtbl -> ProcessOutput(This,dwFlags,cOutputBufferCount,pOutputBuffers,pdwStatus)
  449. #define IMediaObject_Lock(This,bLock) \
  450. (This)->lpVtbl -> Lock(This,bLock)
  451. #endif /* COBJMACROS */
  452. #endif /* C style interface */
  453. HRESULT STDMETHODCALLTYPE IMediaObject_GetStreamCount_Proxy(
  454. IMediaObject * This,
  455. /* [out] */ DWORD *pcInputStreams,
  456. /* [out] */ DWORD *pcOutputStreams);
  457. void __RPC_STUB IMediaObject_GetStreamCount_Stub(
  458. IRpcStubBuffer *This,
  459. IRpcChannelBuffer *_pRpcChannelBuffer,
  460. PRPC_MESSAGE _pRpcMessage,
  461. DWORD *_pdwStubPhase);
  462. HRESULT STDMETHODCALLTYPE IMediaObject_GetInputStreamInfo_Proxy(
  463. IMediaObject * This,
  464. DWORD dwInputStreamIndex,
  465. /* [out] */ DWORD *pdwFlags);
  466. void __RPC_STUB IMediaObject_GetInputStreamInfo_Stub(
  467. IRpcStubBuffer *This,
  468. IRpcChannelBuffer *_pRpcChannelBuffer,
  469. PRPC_MESSAGE _pRpcMessage,
  470. DWORD *_pdwStubPhase);
  471. HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputStreamInfo_Proxy(
  472. IMediaObject * This,
  473. DWORD dwOutputStreamIndex,
  474. /* [out] */ DWORD *pdwFlags);
  475. void __RPC_STUB IMediaObject_GetOutputStreamInfo_Stub(
  476. IRpcStubBuffer *This,
  477. IRpcChannelBuffer *_pRpcChannelBuffer,
  478. PRPC_MESSAGE _pRpcMessage,
  479. DWORD *_pdwStubPhase);
  480. HRESULT STDMETHODCALLTYPE IMediaObject_GetInputType_Proxy(
  481. IMediaObject * This,
  482. DWORD dwInputStreamIndex,
  483. DWORD dwTypeIndex,
  484. /* [out] */ DMO_MEDIA_TYPE *pmt);
  485. void __RPC_STUB IMediaObject_GetInputType_Stub(
  486. IRpcStubBuffer *This,
  487. IRpcChannelBuffer *_pRpcChannelBuffer,
  488. PRPC_MESSAGE _pRpcMessage,
  489. DWORD *_pdwStubPhase);
  490. HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputType_Proxy(
  491. IMediaObject * This,
  492. DWORD dwOutputStreamIndex,
  493. DWORD dwTypeIndex,
  494. /* [out] */ DMO_MEDIA_TYPE *pmt);
  495. void __RPC_STUB IMediaObject_GetOutputType_Stub(
  496. IRpcStubBuffer *This,
  497. IRpcChannelBuffer *_pRpcChannelBuffer,
  498. PRPC_MESSAGE _pRpcMessage,
  499. DWORD *_pdwStubPhase);
  500. HRESULT STDMETHODCALLTYPE IMediaObject_SetInputType_Proxy(
  501. IMediaObject * This,
  502. DWORD dwInputStreamIndex,
  503. /* [in] */ const DMO_MEDIA_TYPE *pmt,
  504. DWORD dwFlags);
  505. void __RPC_STUB IMediaObject_SetInputType_Stub(
  506. IRpcStubBuffer *This,
  507. IRpcChannelBuffer *_pRpcChannelBuffer,
  508. PRPC_MESSAGE _pRpcMessage,
  509. DWORD *_pdwStubPhase);
  510. HRESULT STDMETHODCALLTYPE IMediaObject_SetOutputType_Proxy(
  511. IMediaObject * This,
  512. DWORD dwOutputStreamIndex,
  513. /* [in] */ const DMO_MEDIA_TYPE *pmt,
  514. DWORD dwFlags);
  515. void __RPC_STUB IMediaObject_SetOutputType_Stub(
  516. IRpcStubBuffer *This,
  517. IRpcChannelBuffer *_pRpcChannelBuffer,
  518. PRPC_MESSAGE _pRpcMessage,
  519. DWORD *_pdwStubPhase);
  520. HRESULT STDMETHODCALLTYPE IMediaObject_GetInputCurrentType_Proxy(
  521. IMediaObject * This,
  522. DWORD dwInputStreamIndex,
  523. /* [out] */ DMO_MEDIA_TYPE *pmt);
  524. void __RPC_STUB IMediaObject_GetInputCurrentType_Stub(
  525. IRpcStubBuffer *This,
  526. IRpcChannelBuffer *_pRpcChannelBuffer,
  527. PRPC_MESSAGE _pRpcMessage,
  528. DWORD *_pdwStubPhase);
  529. HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputCurrentType_Proxy(
  530. IMediaObject * This,
  531. DWORD dwOutputStreamIndex,
  532. /* [out] */ DMO_MEDIA_TYPE *pmt);
  533. void __RPC_STUB IMediaObject_GetOutputCurrentType_Stub(
  534. IRpcStubBuffer *This,
  535. IRpcChannelBuffer *_pRpcChannelBuffer,
  536. PRPC_MESSAGE _pRpcMessage,
  537. DWORD *_pdwStubPhase);
  538. HRESULT STDMETHODCALLTYPE IMediaObject_GetInputSizeInfo_Proxy(
  539. IMediaObject * This,
  540. DWORD dwInputStreamIndex,
  541. /* [out] */ DWORD *pcbSize,
  542. /* [out] */ DWORD *pcbMaxLookahead,
  543. /* [out] */ DWORD *pcbAlignment);
  544. void __RPC_STUB IMediaObject_GetInputSizeInfo_Stub(
  545. IRpcStubBuffer *This,
  546. IRpcChannelBuffer *_pRpcChannelBuffer,
  547. PRPC_MESSAGE _pRpcMessage,
  548. DWORD *_pdwStubPhase);
  549. HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputSizeInfo_Proxy(
  550. IMediaObject * This,
  551. DWORD dwOutputStreamIndex,
  552. /* [out] */ DWORD *pcbSize,
  553. /* [out] */ DWORD *pcbAlignment);
  554. void __RPC_STUB IMediaObject_GetOutputSizeInfo_Stub(
  555. IRpcStubBuffer *This,
  556. IRpcChannelBuffer *_pRpcChannelBuffer,
  557. PRPC_MESSAGE _pRpcMessage,
  558. DWORD *_pdwStubPhase);
  559. HRESULT STDMETHODCALLTYPE IMediaObject_GetInputMaxLatency_Proxy(
  560. IMediaObject * This,
  561. DWORD dwInputStreamIndex,
  562. /* [out] */ REFERENCE_TIME *prtMaxLatency);
  563. void __RPC_STUB IMediaObject_GetInputMaxLatency_Stub(
  564. IRpcStubBuffer *This,
  565. IRpcChannelBuffer *_pRpcChannelBuffer,
  566. PRPC_MESSAGE _pRpcMessage,
  567. DWORD *_pdwStubPhase);
  568. HRESULT STDMETHODCALLTYPE IMediaObject_SetInputMaxLatency_Proxy(
  569. IMediaObject * This,
  570. DWORD dwInputStreamIndex,
  571. REFERENCE_TIME rtMaxLatency);
  572. void __RPC_STUB IMediaObject_SetInputMaxLatency_Stub(
  573. IRpcStubBuffer *This,
  574. IRpcChannelBuffer *_pRpcChannelBuffer,
  575. PRPC_MESSAGE _pRpcMessage,
  576. DWORD *_pdwStubPhase);
  577. HRESULT STDMETHODCALLTYPE IMediaObject_Flush_Proxy(
  578. IMediaObject * This);
  579. void __RPC_STUB IMediaObject_Flush_Stub(
  580. IRpcStubBuffer *This,
  581. IRpcChannelBuffer *_pRpcChannelBuffer,
  582. PRPC_MESSAGE _pRpcMessage,
  583. DWORD *_pdwStubPhase);
  584. HRESULT STDMETHODCALLTYPE IMediaObject_Discontinuity_Proxy(
  585. IMediaObject * This,
  586. DWORD dwInputStreamIndex);
  587. void __RPC_STUB IMediaObject_Discontinuity_Stub(
  588. IRpcStubBuffer *This,
  589. IRpcChannelBuffer *_pRpcChannelBuffer,
  590. PRPC_MESSAGE _pRpcMessage,
  591. DWORD *_pdwStubPhase);
  592. HRESULT STDMETHODCALLTYPE IMediaObject_AllocateStreamingResources_Proxy(
  593. IMediaObject * This);
  594. void __RPC_STUB IMediaObject_AllocateStreamingResources_Stub(
  595. IRpcStubBuffer *This,
  596. IRpcChannelBuffer *_pRpcChannelBuffer,
  597. PRPC_MESSAGE _pRpcMessage,
  598. DWORD *_pdwStubPhase);
  599. HRESULT STDMETHODCALLTYPE IMediaObject_FreeStreamingResources_Proxy(
  600. IMediaObject * This);
  601. void __RPC_STUB IMediaObject_FreeStreamingResources_Stub(
  602. IRpcStubBuffer *This,
  603. IRpcChannelBuffer *_pRpcChannelBuffer,
  604. PRPC_MESSAGE _pRpcMessage,
  605. DWORD *_pdwStubPhase);
  606. HRESULT STDMETHODCALLTYPE IMediaObject_GetInputStatus_Proxy(
  607. IMediaObject * This,
  608. DWORD dwInputStreamIndex,
  609. /* [out] */ DWORD *dwFlags);
  610. void __RPC_STUB IMediaObject_GetInputStatus_Stub(
  611. IRpcStubBuffer *This,
  612. IRpcChannelBuffer *_pRpcChannelBuffer,
  613. PRPC_MESSAGE _pRpcMessage,
  614. DWORD *_pdwStubPhase);
  615. HRESULT STDMETHODCALLTYPE IMediaObject_ProcessInput_Proxy(
  616. IMediaObject * This,
  617. DWORD dwInputStreamIndex,
  618. IMediaBuffer *pBuffer,
  619. DWORD dwFlags,
  620. REFERENCE_TIME rtTimestamp,
  621. REFERENCE_TIME rtTimelength);
  622. void __RPC_STUB IMediaObject_ProcessInput_Stub(
  623. IRpcStubBuffer *This,
  624. IRpcChannelBuffer *_pRpcChannelBuffer,
  625. PRPC_MESSAGE _pRpcMessage,
  626. DWORD *_pdwStubPhase);
  627. HRESULT STDMETHODCALLTYPE IMediaObject_ProcessOutput_Proxy(
  628. IMediaObject * This,
  629. DWORD dwFlags,
  630. DWORD cOutputBufferCount,
  631. /* [size_is][out][in] */ DMO_OUTPUT_DATA_BUFFER *pOutputBuffers,
  632. /* [out] */ DWORD *pdwStatus);
  633. void __RPC_STUB IMediaObject_ProcessOutput_Stub(
  634. IRpcStubBuffer *This,
  635. IRpcChannelBuffer *_pRpcChannelBuffer,
  636. PRPC_MESSAGE _pRpcMessage,
  637. DWORD *_pdwStubPhase);
  638. HRESULT STDMETHODCALLTYPE IMediaObject_Lock_Proxy(
  639. IMediaObject * This,
  640. LONG bLock);
  641. void __RPC_STUB IMediaObject_Lock_Stub(
  642. IRpcStubBuffer *This,
  643. IRpcChannelBuffer *_pRpcChannelBuffer,
  644. PRPC_MESSAGE _pRpcMessage,
  645. DWORD *_pdwStubPhase);
  646. #endif /* __IMediaObject_INTERFACE_DEFINED__ */
  647. #ifndef __IEnumDMO_INTERFACE_DEFINED__
  648. #define __IEnumDMO_INTERFACE_DEFINED__
  649. /* interface IEnumDMO */
  650. /* [uuid][object] */
  651. EXTERN_C const IID IID_IEnumDMO;
  652. #if defined(__cplusplus) && !defined(CINTERFACE)
  653. MIDL_INTERFACE("2c3cd98a-2bfa-4a53-9c27-5249ba64ba0f")
  654. IEnumDMO : public IUnknown
  655. {
  656. public:
  657. virtual HRESULT STDMETHODCALLTYPE Next(
  658. DWORD cItemsToFetch,
  659. /* [length_is][size_is][out] */ CLSID *pCLSID,
  660. /* [string][length_is][size_is][out] */ WCHAR **Names,
  661. /* [out] */ DWORD *pcItemsFetched) = 0;
  662. virtual HRESULT STDMETHODCALLTYPE Skip(
  663. DWORD cItemsToSkip) = 0;
  664. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  665. virtual HRESULT STDMETHODCALLTYPE Clone(
  666. /* [out] */ IEnumDMO **ppEnum) = 0;
  667. };
  668. #else /* C style interface */
  669. typedef struct IEnumDMOVtbl
  670. {
  671. BEGIN_INTERFACE
  672. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  673. IEnumDMO * This,
  674. /* [in] */ REFIID riid,
  675. /* [iid_is][out] */ void **ppvObject);
  676. ULONG ( STDMETHODCALLTYPE *AddRef )(
  677. IEnumDMO * This);
  678. ULONG ( STDMETHODCALLTYPE *Release )(
  679. IEnumDMO * This);
  680. HRESULT ( STDMETHODCALLTYPE *Next )(
  681. IEnumDMO * This,
  682. DWORD cItemsToFetch,
  683. /* [length_is][size_is][out] */ CLSID *pCLSID,
  684. /* [string][length_is][size_is][out] */ WCHAR **Names,
  685. /* [out] */ DWORD *pcItemsFetched);
  686. HRESULT ( STDMETHODCALLTYPE *Skip )(
  687. IEnumDMO * This,
  688. DWORD cItemsToSkip);
  689. HRESULT ( STDMETHODCALLTYPE *Reset )(
  690. IEnumDMO * This);
  691. HRESULT ( STDMETHODCALLTYPE *Clone )(
  692. IEnumDMO * This,
  693. /* [out] */ IEnumDMO **ppEnum);
  694. END_INTERFACE
  695. } IEnumDMOVtbl;
  696. interface IEnumDMO
  697. {
  698. CONST_VTBL struct IEnumDMOVtbl *lpVtbl;
  699. };
  700. #ifdef COBJMACROS
  701. #define IEnumDMO_QueryInterface(This,riid,ppvObject) \
  702. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  703. #define IEnumDMO_AddRef(This) \
  704. (This)->lpVtbl -> AddRef(This)
  705. #define IEnumDMO_Release(This) \
  706. (This)->lpVtbl -> Release(This)
  707. #define IEnumDMO_Next(This,cItemsToFetch,pCLSID,Names,pcItemsFetched) \
  708. (This)->lpVtbl -> Next(This,cItemsToFetch,pCLSID,Names,pcItemsFetched)
  709. #define IEnumDMO_Skip(This,cItemsToSkip) \
  710. (This)->lpVtbl -> Skip(This,cItemsToSkip)
  711. #define IEnumDMO_Reset(This) \
  712. (This)->lpVtbl -> Reset(This)
  713. #define IEnumDMO_Clone(This,ppEnum) \
  714. (This)->lpVtbl -> Clone(This,ppEnum)
  715. #endif /* COBJMACROS */
  716. #endif /* C style interface */
  717. HRESULT STDMETHODCALLTYPE IEnumDMO_Next_Proxy(
  718. IEnumDMO * This,
  719. DWORD cItemsToFetch,
  720. /* [length_is][size_is][out] */ CLSID *pCLSID,
  721. /* [string][length_is][size_is][out] */ WCHAR **Names,
  722. /* [out] */ DWORD *pcItemsFetched);
  723. void __RPC_STUB IEnumDMO_Next_Stub(
  724. IRpcStubBuffer *This,
  725. IRpcChannelBuffer *_pRpcChannelBuffer,
  726. PRPC_MESSAGE _pRpcMessage,
  727. DWORD *_pdwStubPhase);
  728. HRESULT STDMETHODCALLTYPE IEnumDMO_Skip_Proxy(
  729. IEnumDMO * This,
  730. DWORD cItemsToSkip);
  731. void __RPC_STUB IEnumDMO_Skip_Stub(
  732. IRpcStubBuffer *This,
  733. IRpcChannelBuffer *_pRpcChannelBuffer,
  734. PRPC_MESSAGE _pRpcMessage,
  735. DWORD *_pdwStubPhase);
  736. HRESULT STDMETHODCALLTYPE IEnumDMO_Reset_Proxy(
  737. IEnumDMO * This);
  738. void __RPC_STUB IEnumDMO_Reset_Stub(
  739. IRpcStubBuffer *This,
  740. IRpcChannelBuffer *_pRpcChannelBuffer,
  741. PRPC_MESSAGE _pRpcMessage,
  742. DWORD *_pdwStubPhase);
  743. HRESULT STDMETHODCALLTYPE IEnumDMO_Clone_Proxy(
  744. IEnumDMO * This,
  745. /* [out] */ IEnumDMO **ppEnum);
  746. void __RPC_STUB IEnumDMO_Clone_Stub(
  747. IRpcStubBuffer *This,
  748. IRpcChannelBuffer *_pRpcChannelBuffer,
  749. PRPC_MESSAGE _pRpcMessage,
  750. DWORD *_pdwStubPhase);
  751. #endif /* __IEnumDMO_INTERFACE_DEFINED__ */
  752. /* interface __MIDL_itf_mediaobj_0092 */
  753. /* [local] */
  754. enum _DMO_INPLACE_PROCESS_FLAGS
  755. { DMO_INPLACE_NORMAL = 0,
  756. DMO_INPLACE_ZERO = 0x1
  757. } ;
  758. extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0092_v0_0_c_ifspec;
  759. extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0092_v0_0_s_ifspec;
  760. #ifndef __IMediaObjectInPlace_INTERFACE_DEFINED__
  761. #define __IMediaObjectInPlace_INTERFACE_DEFINED__
  762. /* interface IMediaObjectInPlace */
  763. /* [uuid][object] */
  764. EXTERN_C const IID IID_IMediaObjectInPlace;
  765. #if defined(__cplusplus) && !defined(CINTERFACE)
  766. MIDL_INTERFACE("651b9ad0-0fc7-4aa9-9538-d89931010741")
  767. IMediaObjectInPlace : public IUnknown
  768. {
  769. public:
  770. virtual HRESULT STDMETHODCALLTYPE Process(
  771. /* [in] */ ULONG ulSize,
  772. /* [size_is][out][in] */ BYTE *pData,
  773. /* [in] */ REFERENCE_TIME refTimeStart,
  774. /* [in] */ DWORD dwFlags) = 0;
  775. virtual HRESULT STDMETHODCALLTYPE Clone(
  776. /* [out] */ IMediaObjectInPlace **ppMediaObject) = 0;
  777. virtual HRESULT STDMETHODCALLTYPE GetLatency(
  778. /* [out] */ REFERENCE_TIME *pLatencyTime) = 0;
  779. };
  780. #else /* C style interface */
  781. typedef struct IMediaObjectInPlaceVtbl
  782. {
  783. BEGIN_INTERFACE
  784. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  785. IMediaObjectInPlace * This,
  786. /* [in] */ REFIID riid,
  787. /* [iid_is][out] */ void **ppvObject);
  788. ULONG ( STDMETHODCALLTYPE *AddRef )(
  789. IMediaObjectInPlace * This);
  790. ULONG ( STDMETHODCALLTYPE *Release )(
  791. IMediaObjectInPlace * This);
  792. HRESULT ( STDMETHODCALLTYPE *Process )(
  793. IMediaObjectInPlace * This,
  794. /* [in] */ ULONG ulSize,
  795. /* [size_is][out][in] */ BYTE *pData,
  796. /* [in] */ REFERENCE_TIME refTimeStart,
  797. /* [in] */ DWORD dwFlags);
  798. HRESULT ( STDMETHODCALLTYPE *Clone )(
  799. IMediaObjectInPlace * This,
  800. /* [out] */ IMediaObjectInPlace **ppMediaObject);
  801. HRESULT ( STDMETHODCALLTYPE *GetLatency )(
  802. IMediaObjectInPlace * This,
  803. /* [out] */ REFERENCE_TIME *pLatencyTime);
  804. END_INTERFACE
  805. } IMediaObjectInPlaceVtbl;
  806. interface IMediaObjectInPlace
  807. {
  808. CONST_VTBL struct IMediaObjectInPlaceVtbl *lpVtbl;
  809. };
  810. #ifdef COBJMACROS
  811. #define IMediaObjectInPlace_QueryInterface(This,riid,ppvObject) \
  812. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  813. #define IMediaObjectInPlace_AddRef(This) \
  814. (This)->lpVtbl -> AddRef(This)
  815. #define IMediaObjectInPlace_Release(This) \
  816. (This)->lpVtbl -> Release(This)
  817. #define IMediaObjectInPlace_Process(This,ulSize,pData,refTimeStart,dwFlags) \
  818. (This)->lpVtbl -> Process(This,ulSize,pData,refTimeStart,dwFlags)
  819. #define IMediaObjectInPlace_Clone(This,ppMediaObject) \
  820. (This)->lpVtbl -> Clone(This,ppMediaObject)
  821. #define IMediaObjectInPlace_GetLatency(This,pLatencyTime) \
  822. (This)->lpVtbl -> GetLatency(This,pLatencyTime)
  823. #endif /* COBJMACROS */
  824. #endif /* C style interface */
  825. HRESULT STDMETHODCALLTYPE IMediaObjectInPlace_Process_Proxy(
  826. IMediaObjectInPlace * This,
  827. /* [in] */ ULONG ulSize,
  828. /* [size_is][out][in] */ BYTE *pData,
  829. /* [in] */ REFERENCE_TIME refTimeStart,
  830. /* [in] */ DWORD dwFlags);
  831. void __RPC_STUB IMediaObjectInPlace_Process_Stub(
  832. IRpcStubBuffer *This,
  833. IRpcChannelBuffer *_pRpcChannelBuffer,
  834. PRPC_MESSAGE _pRpcMessage,
  835. DWORD *_pdwStubPhase);
  836. HRESULT STDMETHODCALLTYPE IMediaObjectInPlace_Clone_Proxy(
  837. IMediaObjectInPlace * This,
  838. /* [out] */ IMediaObjectInPlace **ppMediaObject);
  839. void __RPC_STUB IMediaObjectInPlace_Clone_Stub(
  840. IRpcStubBuffer *This,
  841. IRpcChannelBuffer *_pRpcChannelBuffer,
  842. PRPC_MESSAGE _pRpcMessage,
  843. DWORD *_pdwStubPhase);
  844. HRESULT STDMETHODCALLTYPE IMediaObjectInPlace_GetLatency_Proxy(
  845. IMediaObjectInPlace * This,
  846. /* [out] */ REFERENCE_TIME *pLatencyTime);
  847. void __RPC_STUB IMediaObjectInPlace_GetLatency_Stub(
  848. IRpcStubBuffer *This,
  849. IRpcChannelBuffer *_pRpcChannelBuffer,
  850. PRPC_MESSAGE _pRpcMessage,
  851. DWORD *_pdwStubPhase);
  852. #endif /* __IMediaObjectInPlace_INTERFACE_DEFINED__ */
  853. /* interface __MIDL_itf_mediaobj_0093 */
  854. /* [local] */
  855. enum _DMO_QUALITY_STATUS_FLAGS
  856. { DMO_QUALITY_STATUS_ENABLED = 0x1
  857. } ;
  858. extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0093_v0_0_c_ifspec;
  859. extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0093_v0_0_s_ifspec;
  860. #ifndef __IDMOQualityControl_INTERFACE_DEFINED__
  861. #define __IDMOQualityControl_INTERFACE_DEFINED__
  862. /* interface IDMOQualityControl */
  863. /* [uuid][object] */
  864. EXTERN_C const IID IID_IDMOQualityControl;
  865. #if defined(__cplusplus) && !defined(CINTERFACE)
  866. MIDL_INTERFACE("65abea96-cf36-453f-af8a-705e98f16260")
  867. IDMOQualityControl : public IUnknown
  868. {
  869. public:
  870. virtual HRESULT STDMETHODCALLTYPE SetNow(
  871. /* [in] */ REFERENCE_TIME rtNow) = 0;
  872. virtual HRESULT STDMETHODCALLTYPE SetStatus(
  873. /* [in] */ DWORD dwFlags) = 0;
  874. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  875. /* [out] */ DWORD *pdwFlags) = 0;
  876. };
  877. #else /* C style interface */
  878. typedef struct IDMOQualityControlVtbl
  879. {
  880. BEGIN_INTERFACE
  881. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  882. IDMOQualityControl * This,
  883. /* [in] */ REFIID riid,
  884. /* [iid_is][out] */ void **ppvObject);
  885. ULONG ( STDMETHODCALLTYPE *AddRef )(
  886. IDMOQualityControl * This);
  887. ULONG ( STDMETHODCALLTYPE *Release )(
  888. IDMOQualityControl * This);
  889. HRESULT ( STDMETHODCALLTYPE *SetNow )(
  890. IDMOQualityControl * This,
  891. /* [in] */ REFERENCE_TIME rtNow);
  892. HRESULT ( STDMETHODCALLTYPE *SetStatus )(
  893. IDMOQualityControl * This,
  894. /* [in] */ DWORD dwFlags);
  895. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  896. IDMOQualityControl * This,
  897. /* [out] */ DWORD *pdwFlags);
  898. END_INTERFACE
  899. } IDMOQualityControlVtbl;
  900. interface IDMOQualityControl
  901. {
  902. CONST_VTBL struct IDMOQualityControlVtbl *lpVtbl;
  903. };
  904. #ifdef COBJMACROS
  905. #define IDMOQualityControl_QueryInterface(This,riid,ppvObject) \
  906. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  907. #define IDMOQualityControl_AddRef(This) \
  908. (This)->lpVtbl -> AddRef(This)
  909. #define IDMOQualityControl_Release(This) \
  910. (This)->lpVtbl -> Release(This)
  911. #define IDMOQualityControl_SetNow(This,rtNow) \
  912. (This)->lpVtbl -> SetNow(This,rtNow)
  913. #define IDMOQualityControl_SetStatus(This,dwFlags) \
  914. (This)->lpVtbl -> SetStatus(This,dwFlags)
  915. #define IDMOQualityControl_GetStatus(This,pdwFlags) \
  916. (This)->lpVtbl -> GetStatus(This,pdwFlags)
  917. #endif /* COBJMACROS */
  918. #endif /* C style interface */
  919. HRESULT STDMETHODCALLTYPE IDMOQualityControl_SetNow_Proxy(
  920. IDMOQualityControl * This,
  921. /* [in] */ REFERENCE_TIME rtNow);
  922. void __RPC_STUB IDMOQualityControl_SetNow_Stub(
  923. IRpcStubBuffer *This,
  924. IRpcChannelBuffer *_pRpcChannelBuffer,
  925. PRPC_MESSAGE _pRpcMessage,
  926. DWORD *_pdwStubPhase);
  927. HRESULT STDMETHODCALLTYPE IDMOQualityControl_SetStatus_Proxy(
  928. IDMOQualityControl * This,
  929. /* [in] */ DWORD dwFlags);
  930. void __RPC_STUB IDMOQualityControl_SetStatus_Stub(
  931. IRpcStubBuffer *This,
  932. IRpcChannelBuffer *_pRpcChannelBuffer,
  933. PRPC_MESSAGE _pRpcMessage,
  934. DWORD *_pdwStubPhase);
  935. HRESULT STDMETHODCALLTYPE IDMOQualityControl_GetStatus_Proxy(
  936. IDMOQualityControl * This,
  937. /* [out] */ DWORD *pdwFlags);
  938. void __RPC_STUB IDMOQualityControl_GetStatus_Stub(
  939. IRpcStubBuffer *This,
  940. IRpcChannelBuffer *_pRpcChannelBuffer,
  941. PRPC_MESSAGE _pRpcMessage,
  942. DWORD *_pdwStubPhase);
  943. #endif /* __IDMOQualityControl_INTERFACE_DEFINED__ */
  944. /* interface __MIDL_itf_mediaobj_0094 */
  945. /* [local] */
  946. enum _DMO_VIDEO_OUTPUT_STREAM_FLAGS
  947. { DMO_VOSF_NEEDS_PREVIOUS_SAMPLE = 0x1
  948. } ;
  949. extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0094_v0_0_c_ifspec;
  950. extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0094_v0_0_s_ifspec;
  951. #ifndef __IDMOVideoOutputOptimizations_INTERFACE_DEFINED__
  952. #define __IDMOVideoOutputOptimizations_INTERFACE_DEFINED__
  953. /* interface IDMOVideoOutputOptimizations */
  954. /* [uuid][object] */
  955. EXTERN_C const IID IID_IDMOVideoOutputOptimizations;
  956. #if defined(__cplusplus) && !defined(CINTERFACE)
  957. MIDL_INTERFACE("be8f4f4e-5b16-4d29-b350-7f6b5d9298ac")
  958. IDMOVideoOutputOptimizations : public IUnknown
  959. {
  960. public:
  961. virtual HRESULT STDMETHODCALLTYPE QueryOperationModePreferences(
  962. ULONG ulOutputStreamIndex,
  963. DWORD *pdwRequestedCapabilities) = 0;
  964. virtual HRESULT STDMETHODCALLTYPE SetOperationMode(
  965. ULONG ulOutputStreamIndex,
  966. DWORD dwEnabledFeatures) = 0;
  967. virtual HRESULT STDMETHODCALLTYPE GetCurrentOperationMode(
  968. ULONG ulOutputStreamIndex,
  969. DWORD *pdwEnabledFeatures) = 0;
  970. virtual HRESULT STDMETHODCALLTYPE GetCurrentSampleRequirements(
  971. ULONG ulOutputStreamIndex,
  972. DWORD *pdwRequestedFeatures) = 0;
  973. };
  974. #else /* C style interface */
  975. typedef struct IDMOVideoOutputOptimizationsVtbl
  976. {
  977. BEGIN_INTERFACE
  978. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  979. IDMOVideoOutputOptimizations * This,
  980. /* [in] */ REFIID riid,
  981. /* [iid_is][out] */ void **ppvObject);
  982. ULONG ( STDMETHODCALLTYPE *AddRef )(
  983. IDMOVideoOutputOptimizations * This);
  984. ULONG ( STDMETHODCALLTYPE *Release )(
  985. IDMOVideoOutputOptimizations * This);
  986. HRESULT ( STDMETHODCALLTYPE *QueryOperationModePreferences )(
  987. IDMOVideoOutputOptimizations * This,
  988. ULONG ulOutputStreamIndex,
  989. DWORD *pdwRequestedCapabilities);
  990. HRESULT ( STDMETHODCALLTYPE *SetOperationMode )(
  991. IDMOVideoOutputOptimizations * This,
  992. ULONG ulOutputStreamIndex,
  993. DWORD dwEnabledFeatures);
  994. HRESULT ( STDMETHODCALLTYPE *GetCurrentOperationMode )(
  995. IDMOVideoOutputOptimizations * This,
  996. ULONG ulOutputStreamIndex,
  997. DWORD *pdwEnabledFeatures);
  998. HRESULT ( STDMETHODCALLTYPE *GetCurrentSampleRequirements )(
  999. IDMOVideoOutputOptimizations * This,
  1000. ULONG ulOutputStreamIndex,
  1001. DWORD *pdwRequestedFeatures);
  1002. END_INTERFACE
  1003. } IDMOVideoOutputOptimizationsVtbl;
  1004. interface IDMOVideoOutputOptimizations
  1005. {
  1006. CONST_VTBL struct IDMOVideoOutputOptimizationsVtbl *lpVtbl;
  1007. };
  1008. #ifdef COBJMACROS
  1009. #define IDMOVideoOutputOptimizations_QueryInterface(This,riid,ppvObject) \
  1010. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1011. #define IDMOVideoOutputOptimizations_AddRef(This) \
  1012. (This)->lpVtbl -> AddRef(This)
  1013. #define IDMOVideoOutputOptimizations_Release(This) \
  1014. (This)->lpVtbl -> Release(This)
  1015. #define IDMOVideoOutputOptimizations_QueryOperationModePreferences(This,ulOutputStreamIndex,pdwRequestedCapabilities) \
  1016. (This)->lpVtbl -> QueryOperationModePreferences(This,ulOutputStreamIndex,pdwRequestedCapabilities)
  1017. #define IDMOVideoOutputOptimizations_SetOperationMode(This,ulOutputStreamIndex,dwEnabledFeatures) \
  1018. (This)->lpVtbl -> SetOperationMode(This,ulOutputStreamIndex,dwEnabledFeatures)
  1019. #define IDMOVideoOutputOptimizations_GetCurrentOperationMode(This,ulOutputStreamIndex,pdwEnabledFeatures) \
  1020. (This)->lpVtbl -> GetCurrentOperationMode(This,ulOutputStreamIndex,pdwEnabledFeatures)
  1021. #define IDMOVideoOutputOptimizations_GetCurrentSampleRequirements(This,ulOutputStreamIndex,pdwRequestedFeatures) \
  1022. (This)->lpVtbl -> GetCurrentSampleRequirements(This,ulOutputStreamIndex,pdwRequestedFeatures)
  1023. #endif /* COBJMACROS */
  1024. #endif /* C style interface */
  1025. HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_QueryOperationModePreferences_Proxy(
  1026. IDMOVideoOutputOptimizations * This,
  1027. ULONG ulOutputStreamIndex,
  1028. DWORD *pdwRequestedCapabilities);
  1029. void __RPC_STUB IDMOVideoOutputOptimizations_QueryOperationModePreferences_Stub(
  1030. IRpcStubBuffer *This,
  1031. IRpcChannelBuffer *_pRpcChannelBuffer,
  1032. PRPC_MESSAGE _pRpcMessage,
  1033. DWORD *_pdwStubPhase);
  1034. HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_SetOperationMode_Proxy(
  1035. IDMOVideoOutputOptimizations * This,
  1036. ULONG ulOutputStreamIndex,
  1037. DWORD dwEnabledFeatures);
  1038. void __RPC_STUB IDMOVideoOutputOptimizations_SetOperationMode_Stub(
  1039. IRpcStubBuffer *This,
  1040. IRpcChannelBuffer *_pRpcChannelBuffer,
  1041. PRPC_MESSAGE _pRpcMessage,
  1042. DWORD *_pdwStubPhase);
  1043. HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_GetCurrentOperationMode_Proxy(
  1044. IDMOVideoOutputOptimizations * This,
  1045. ULONG ulOutputStreamIndex,
  1046. DWORD *pdwEnabledFeatures);
  1047. void __RPC_STUB IDMOVideoOutputOptimizations_GetCurrentOperationMode_Stub(
  1048. IRpcStubBuffer *This,
  1049. IRpcChannelBuffer *_pRpcChannelBuffer,
  1050. PRPC_MESSAGE _pRpcMessage,
  1051. DWORD *_pdwStubPhase);
  1052. HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_GetCurrentSampleRequirements_Proxy(
  1053. IDMOVideoOutputOptimizations * This,
  1054. ULONG ulOutputStreamIndex,
  1055. DWORD *pdwRequestedFeatures);
  1056. void __RPC_STUB IDMOVideoOutputOptimizations_GetCurrentSampleRequirements_Stub(
  1057. IRpcStubBuffer *This,
  1058. IRpcChannelBuffer *_pRpcChannelBuffer,
  1059. PRPC_MESSAGE _pRpcMessage,
  1060. DWORD *_pdwStubPhase);
  1061. #endif /* __IDMOVideoOutputOptimizations_INTERFACE_DEFINED__ */
  1062. /* Additional Prototypes for ALL interfaces */
  1063. /* end of Additional Prototypes */
  1064. #ifdef __cplusplus
  1065. }
  1066. #endif
  1067. #endif