1 /*** Autogenerated by WIDL 3.19 from direct-x/include/amstream.idl - Do not edit ***/ 2 3 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 4 #define __REQUIRED_RPCNDR_H_VERSION__ 475 5 #endif 6 7 #include <rpc.h> 8 #include <rpcndr.h> 9 10 #ifndef COM_NO_WINDOWS_H 11 #include <windows.h> 12 #include <ole2.h> 13 #endif 14 15 #ifndef __amstream_h__ 16 #define __amstream_h__ 17 18 /* Forward declarations */ 19 20 #ifndef __IDirectShowStream_FWD_DEFINED__ 21 #define __IDirectShowStream_FWD_DEFINED__ 22 typedef interface IDirectShowStream IDirectShowStream; 23 #ifdef __cplusplus 24 interface IDirectShowStream; 25 #endif /* __cplusplus */ 26 #endif 27 28 #ifndef __IAMMultiMediaStream_FWD_DEFINED__ 29 #define __IAMMultiMediaStream_FWD_DEFINED__ 30 typedef interface IAMMultiMediaStream IAMMultiMediaStream; 31 #ifdef __cplusplus 32 interface IAMMultiMediaStream; 33 #endif /* __cplusplus */ 34 #endif 35 36 #ifndef __IAMMediaStream_FWD_DEFINED__ 37 #define __IAMMediaStream_FWD_DEFINED__ 38 typedef interface IAMMediaStream IAMMediaStream; 39 #ifdef __cplusplus 40 interface IAMMediaStream; 41 #endif /* __cplusplus */ 42 #endif 43 44 #ifndef __IMediaStreamFilter_FWD_DEFINED__ 45 #define __IMediaStreamFilter_FWD_DEFINED__ 46 typedef interface IMediaStreamFilter IMediaStreamFilter; 47 #ifdef __cplusplus 48 interface IMediaStreamFilter; 49 #endif /* __cplusplus */ 50 #endif 51 52 #ifndef __IDirectDrawMediaSampleAllocator_FWD_DEFINED__ 53 #define __IDirectDrawMediaSampleAllocator_FWD_DEFINED__ 54 typedef interface IDirectDrawMediaSampleAllocator IDirectDrawMediaSampleAllocator; 55 #ifdef __cplusplus 56 interface IDirectDrawMediaSampleAllocator; 57 #endif /* __cplusplus */ 58 #endif 59 60 #ifndef __IDirectDrawMediaSample_FWD_DEFINED__ 61 #define __IDirectDrawMediaSample_FWD_DEFINED__ 62 typedef interface IDirectDrawMediaSample IDirectDrawMediaSample; 63 #ifdef __cplusplus 64 interface IDirectDrawMediaSample; 65 #endif /* __cplusplus */ 66 #endif 67 68 #ifndef __IAMMediaTypeStream_FWD_DEFINED__ 69 #define __IAMMediaTypeStream_FWD_DEFINED__ 70 typedef interface IAMMediaTypeStream IAMMediaTypeStream; 71 #ifdef __cplusplus 72 interface IAMMediaTypeStream; 73 #endif /* __cplusplus */ 74 #endif 75 76 #ifndef __IAMMediaTypeSample_FWD_DEFINED__ 77 #define __IAMMediaTypeSample_FWD_DEFINED__ 78 typedef interface IAMMediaTypeSample IAMMediaTypeSample; 79 #ifdef __cplusplus 80 interface IAMMediaTypeSample; 81 #endif /* __cplusplus */ 82 #endif 83 84 #ifndef __AMMultiMediaStream_FWD_DEFINED__ 85 #define __AMMultiMediaStream_FWD_DEFINED__ 86 #ifdef __cplusplus 87 typedef class AMMultiMediaStream AMMultiMediaStream; 88 #else 89 typedef struct AMMultiMediaStream AMMultiMediaStream; 90 #endif /* defined __cplusplus */ 91 #endif /* defined __AMMultiMediaStream_FWD_DEFINED__ */ 92 93 /* Headers for imported files */ 94 95 #include <unknwn.h> 96 #include <mmstream.h> 97 #include <strmif.h> 98 99 #ifdef __cplusplus 100 extern "C" { 101 #endif 102 103 #include <ddraw.h> 104 #include <mmsystem.h> 105 #include <mmstream.h> 106 #include <ddstream.h> 107 #include <austream.h> 108 #if 0 109 #ifndef __IDirectDraw_FWD_DEFINED__ 110 #define __IDirectDraw_FWD_DEFINED__ 111 typedef interface IDirectDraw IDirectDraw; 112 #ifdef __cplusplus 113 interface IDirectDraw; 114 #endif /* __cplusplus */ 115 #endif 116 117 #ifndef __IDirectDrawSurface_FWD_DEFINED__ 118 #define __IDirectDrawSurface_FWD_DEFINED__ 119 typedef interface IDirectDrawSurface IDirectDrawSurface; 120 #ifdef __cplusplus 121 interface IDirectDrawSurface; 122 #endif /* __cplusplus */ 123 #endif 124 125 #endif 126 #ifndef __IAMMultiMediaStream_FWD_DEFINED__ 127 #define __IAMMultiMediaStream_FWD_DEFINED__ 128 typedef interface IAMMultiMediaStream IAMMultiMediaStream; 129 #ifdef __cplusplus 130 interface IAMMultiMediaStream; 131 #endif /* __cplusplus */ 132 #endif 133 134 #ifndef __IAMMediaStream_FWD_DEFINED__ 135 #define __IAMMediaStream_FWD_DEFINED__ 136 typedef interface IAMMediaStream IAMMediaStream; 137 #ifdef __cplusplus 138 interface IAMMediaStream; 139 #endif /* __cplusplus */ 140 #endif 141 142 #ifndef __IMediaStreamFilter_FWD_DEFINED__ 143 #define __IMediaStreamFilter_FWD_DEFINED__ 144 typedef interface IMediaStreamFilter IMediaStreamFilter; 145 #ifdef __cplusplus 146 interface IMediaStreamFilter; 147 #endif /* __cplusplus */ 148 #endif 149 150 #ifndef __IAMMediaTypeStream_FWD_DEFINED__ 151 #define __IAMMediaTypeStream_FWD_DEFINED__ 152 typedef interface IAMMediaTypeStream IAMMediaTypeStream; 153 #ifdef __cplusplus 154 interface IAMMediaTypeStream; 155 #endif /* __cplusplus */ 156 #endif 157 158 #ifndef __IAMMediaTypeSample_FWD_DEFINED__ 159 #define __IAMMediaTypeSample_FWD_DEFINED__ 160 typedef interface IAMMediaTypeSample IAMMediaTypeSample; 161 #ifdef __cplusplus 162 interface IAMMediaTypeSample; 163 #endif /* __cplusplus */ 164 #endif 165 166 enum { 167 AMMSF_NOGRAPHTHREAD = 0x1 168 }; 169 enum { 170 AMMSF_ADDDEFAULTRENDERER = 0x1, 171 AMMSF_CREATEPEER = 0x2, 172 AMMSF_STOPIFNOSAMPLES = 0x4, 173 AMMSF_NOSTALL = 0x8 174 }; 175 enum { 176 AMMSF_RENDERTYPEMASK = 0x3, 177 AMMSF_RENDERTOEXISTING = 0x0, 178 AMMSF_RENDERALLSTREAMS = 0x1, 179 AMMSF_NORENDER = 0x2, 180 AMMSF_NOCLOCK = 0x4, 181 AMMSF_RUN = 0x8 182 }; 183 typedef enum __WIDL_amstream_generated_name_0000000C { 184 Disabled = 0, 185 ReadData = 1, 186 RenderData = 2 187 } OUTPUT_STATE; 188 /***************************************************************************** 189 * IDirectShowStream interface 190 */ 191 #ifndef __IDirectShowStream_INTERFACE_DEFINED__ 192 #define __IDirectShowStream_INTERFACE_DEFINED__ 193 194 DEFINE_GUID(IID_IDirectShowStream, 0x7db01c96, 0xc0c3, 0x11d0, 0x8f,0xf1, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 195 #if defined(__cplusplus) && !defined(CINTERFACE) 196 MIDL_INTERFACE("7db01c96-c0c3-11d0-8ff1-00c04fd9189d") 197 IDirectShowStream : public IDispatch 198 { 199 virtual HRESULT STDMETHODCALLTYPE get_FileName( 200 BSTR *pVal) = 0; 201 202 virtual HRESULT STDMETHODCALLTYPE put_FileName( 203 BSTR newVal) = 0; 204 205 virtual HRESULT STDMETHODCALLTYPE get_Video( 206 OUTPUT_STATE *pVal) = 0; 207 208 virtual HRESULT STDMETHODCALLTYPE put_Video( 209 OUTPUT_STATE newVal) = 0; 210 211 virtual HRESULT STDMETHODCALLTYPE get_Audio( 212 OUTPUT_STATE *pVal) = 0; 213 214 virtual HRESULT STDMETHODCALLTYPE put_Audio( 215 OUTPUT_STATE newVal) = 0; 216 217 }; 218 #ifdef __CRT_UUID_DECL 219 __CRT_UUID_DECL(IDirectShowStream, 0x7db01c96, 0xc0c3, 0x11d0, 0x8f,0xf1, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 220 #endif 221 #else 222 typedef struct IDirectShowStreamVtbl { 223 BEGIN_INTERFACE 224 225 /*** IUnknown methods ***/ 226 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 227 IDirectShowStream *This, 228 REFIID riid, 229 void **ppvObject); 230 231 ULONG (STDMETHODCALLTYPE *AddRef)( 232 IDirectShowStream *This); 233 234 ULONG (STDMETHODCALLTYPE *Release)( 235 IDirectShowStream *This); 236 237 /*** IDispatch methods ***/ 238 HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( 239 IDirectShowStream *This, 240 UINT *pctinfo); 241 242 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( 243 IDirectShowStream *This, 244 UINT iTInfo, 245 LCID lcid, 246 ITypeInfo **ppTInfo); 247 248 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( 249 IDirectShowStream *This, 250 REFIID riid, 251 LPOLESTR *rgszNames, 252 UINT cNames, 253 LCID lcid, 254 DISPID *rgDispId); 255 256 HRESULT (STDMETHODCALLTYPE *Invoke)( 257 IDirectShowStream *This, 258 DISPID dispIdMember, 259 REFIID riid, 260 LCID lcid, 261 WORD wFlags, 262 DISPPARAMS *pDispParams, 263 VARIANT *pVarResult, 264 EXCEPINFO *pExcepInfo, 265 UINT *puArgErr); 266 267 /*** IDirectShowStream methods ***/ 268 HRESULT (STDMETHODCALLTYPE *get_FileName)( 269 IDirectShowStream *This, 270 BSTR *pVal); 271 272 HRESULT (STDMETHODCALLTYPE *put_FileName)( 273 IDirectShowStream *This, 274 BSTR newVal); 275 276 HRESULT (STDMETHODCALLTYPE *get_Video)( 277 IDirectShowStream *This, 278 OUTPUT_STATE *pVal); 279 280 HRESULT (STDMETHODCALLTYPE *put_Video)( 281 IDirectShowStream *This, 282 OUTPUT_STATE newVal); 283 284 HRESULT (STDMETHODCALLTYPE *get_Audio)( 285 IDirectShowStream *This, 286 OUTPUT_STATE *pVal); 287 288 HRESULT (STDMETHODCALLTYPE *put_Audio)( 289 IDirectShowStream *This, 290 OUTPUT_STATE newVal); 291 292 END_INTERFACE 293 } IDirectShowStreamVtbl; 294 295 interface IDirectShowStream { 296 CONST_VTBL IDirectShowStreamVtbl* lpVtbl; 297 }; 298 299 #ifdef COBJMACROS 300 #ifndef WIDL_C_INLINE_WRAPPERS 301 /*** IUnknown methods ***/ 302 #define IDirectShowStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 303 #define IDirectShowStream_AddRef(This) (This)->lpVtbl->AddRef(This) 304 #define IDirectShowStream_Release(This) (This)->lpVtbl->Release(This) 305 /*** IDispatch methods ***/ 306 #define IDirectShowStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) 307 #define IDirectShowStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) 308 #define IDirectShowStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) 309 #define IDirectShowStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) 310 /*** IDirectShowStream methods ***/ 311 #define IDirectShowStream_get_FileName(This,pVal) (This)->lpVtbl->get_FileName(This,pVal) 312 #define IDirectShowStream_put_FileName(This,newVal) (This)->lpVtbl->put_FileName(This,newVal) 313 #define IDirectShowStream_get_Video(This,pVal) (This)->lpVtbl->get_Video(This,pVal) 314 #define IDirectShowStream_put_Video(This,newVal) (This)->lpVtbl->put_Video(This,newVal) 315 #define IDirectShowStream_get_Audio(This,pVal) (This)->lpVtbl->get_Audio(This,pVal) 316 #define IDirectShowStream_put_Audio(This,newVal) (This)->lpVtbl->put_Audio(This,newVal) 317 #else 318 /*** IUnknown methods ***/ 319 static FORCEINLINE HRESULT IDirectShowStream_QueryInterface(IDirectShowStream* This,REFIID riid,void **ppvObject) { 320 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 321 } 322 static FORCEINLINE ULONG IDirectShowStream_AddRef(IDirectShowStream* This) { 323 return This->lpVtbl->AddRef(This); 324 } 325 static FORCEINLINE ULONG IDirectShowStream_Release(IDirectShowStream* This) { 326 return This->lpVtbl->Release(This); 327 } 328 /*** IDispatch methods ***/ 329 static FORCEINLINE HRESULT IDirectShowStream_GetTypeInfoCount(IDirectShowStream* This,UINT *pctinfo) { 330 return This->lpVtbl->GetTypeInfoCount(This,pctinfo); 331 } 332 static FORCEINLINE HRESULT IDirectShowStream_GetTypeInfo(IDirectShowStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { 333 return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); 334 } 335 static FORCEINLINE HRESULT IDirectShowStream_GetIDsOfNames(IDirectShowStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { 336 return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); 337 } 338 static FORCEINLINE HRESULT IDirectShowStream_Invoke(IDirectShowStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { 339 return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); 340 } 341 /*** IDirectShowStream methods ***/ 342 static FORCEINLINE HRESULT IDirectShowStream_get_FileName(IDirectShowStream* This,BSTR *pVal) { 343 return This->lpVtbl->get_FileName(This,pVal); 344 } 345 static FORCEINLINE HRESULT IDirectShowStream_put_FileName(IDirectShowStream* This,BSTR newVal) { 346 return This->lpVtbl->put_FileName(This,newVal); 347 } 348 static FORCEINLINE HRESULT IDirectShowStream_get_Video(IDirectShowStream* This,OUTPUT_STATE *pVal) { 349 return This->lpVtbl->get_Video(This,pVal); 350 } 351 static FORCEINLINE HRESULT IDirectShowStream_put_Video(IDirectShowStream* This,OUTPUT_STATE newVal) { 352 return This->lpVtbl->put_Video(This,newVal); 353 } 354 static FORCEINLINE HRESULT IDirectShowStream_get_Audio(IDirectShowStream* This,OUTPUT_STATE *pVal) { 355 return This->lpVtbl->get_Audio(This,pVal); 356 } 357 static FORCEINLINE HRESULT IDirectShowStream_put_Audio(IDirectShowStream* This,OUTPUT_STATE newVal) { 358 return This->lpVtbl->put_Audio(This,newVal); 359 } 360 #endif 361 #endif 362 363 #endif 364 365 366 #endif /* __IDirectShowStream_INTERFACE_DEFINED__ */ 367 368 /***************************************************************************** 369 * IAMMultiMediaStream interface 370 */ 371 #ifndef __IAMMultiMediaStream_INTERFACE_DEFINED__ 372 #define __IAMMultiMediaStream_INTERFACE_DEFINED__ 373 374 DEFINE_GUID(IID_IAMMultiMediaStream, 0xbebe595c, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 375 #if defined(__cplusplus) && !defined(CINTERFACE) 376 MIDL_INTERFACE("bebe595c-9a6f-11d0-8fde-00c04fd9189d") 377 IAMMultiMediaStream : public IMultiMediaStream 378 { 379 virtual HRESULT STDMETHODCALLTYPE Initialize( 380 STREAM_TYPE StreamType, 381 DWORD dwFlags, 382 IGraphBuilder *pFilterGraph) = 0; 383 384 virtual HRESULT STDMETHODCALLTYPE GetFilterGraph( 385 IGraphBuilder **ppGraphBuilder) = 0; 386 387 virtual HRESULT STDMETHODCALLTYPE GetFilter( 388 IMediaStreamFilter **ppFilter) = 0; 389 390 virtual HRESULT STDMETHODCALLTYPE AddMediaStream( 391 IUnknown *pStreamObject, 392 const MSPID *PurposeId, 393 DWORD dwFlags, 394 IMediaStream **ppNewStream) = 0; 395 396 virtual HRESULT STDMETHODCALLTYPE OpenFile( 397 LPCWSTR pszFileName, 398 DWORD dwFlags) = 0; 399 400 virtual HRESULT STDMETHODCALLTYPE OpenMoniker( 401 IBindCtx *pCtx, 402 IMoniker *pMoniker, 403 DWORD dwFlags) = 0; 404 405 virtual HRESULT STDMETHODCALLTYPE Render( 406 DWORD dwFlags) = 0; 407 408 }; 409 #ifdef __CRT_UUID_DECL 410 __CRT_UUID_DECL(IAMMultiMediaStream, 0xbebe595c, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 411 #endif 412 #else 413 typedef struct IAMMultiMediaStreamVtbl { 414 BEGIN_INTERFACE 415 416 /*** IUnknown methods ***/ 417 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 418 IAMMultiMediaStream *This, 419 REFIID riid, 420 void **ppvObject); 421 422 ULONG (STDMETHODCALLTYPE *AddRef)( 423 IAMMultiMediaStream *This); 424 425 ULONG (STDMETHODCALLTYPE *Release)( 426 IAMMultiMediaStream *This); 427 428 /*** IMultiMediaStream methods ***/ 429 HRESULT (STDMETHODCALLTYPE *GetInformation)( 430 IAMMultiMediaStream *This, 431 DWORD *pdwFlags, 432 STREAM_TYPE *pStreamType); 433 434 HRESULT (STDMETHODCALLTYPE *GetMediaStream)( 435 IAMMultiMediaStream *This, 436 REFMSPID idPurpose, 437 IMediaStream **ppMediaStream); 438 439 HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)( 440 IAMMultiMediaStream *This, 441 LONG Index, 442 IMediaStream **ppMediaStream); 443 444 HRESULT (STDMETHODCALLTYPE *GetState)( 445 IAMMultiMediaStream *This, 446 STREAM_STATE *pCurrentState); 447 448 HRESULT (STDMETHODCALLTYPE *SetState)( 449 IAMMultiMediaStream *This, 450 STREAM_STATE NewState); 451 452 HRESULT (STDMETHODCALLTYPE *GetTime)( 453 IAMMultiMediaStream *This, 454 STREAM_TIME *pCurrentTime); 455 456 HRESULT (STDMETHODCALLTYPE *GetDuration)( 457 IAMMultiMediaStream *This, 458 STREAM_TIME *pDuration); 459 460 HRESULT (STDMETHODCALLTYPE *Seek)( 461 IAMMultiMediaStream *This, 462 STREAM_TIME SeekTime); 463 464 HRESULT (STDMETHODCALLTYPE *GetEndOfStreamEventHandle)( 465 IAMMultiMediaStream *This, 466 HANDLE *phEOS); 467 468 /*** IAMMultiMediaStream methods ***/ 469 HRESULT (STDMETHODCALLTYPE *Initialize)( 470 IAMMultiMediaStream *This, 471 STREAM_TYPE StreamType, 472 DWORD dwFlags, 473 IGraphBuilder *pFilterGraph); 474 475 HRESULT (STDMETHODCALLTYPE *GetFilterGraph)( 476 IAMMultiMediaStream *This, 477 IGraphBuilder **ppGraphBuilder); 478 479 HRESULT (STDMETHODCALLTYPE *GetFilter)( 480 IAMMultiMediaStream *This, 481 IMediaStreamFilter **ppFilter); 482 483 HRESULT (STDMETHODCALLTYPE *AddMediaStream)( 484 IAMMultiMediaStream *This, 485 IUnknown *pStreamObject, 486 const MSPID *PurposeId, 487 DWORD dwFlags, 488 IMediaStream **ppNewStream); 489 490 HRESULT (STDMETHODCALLTYPE *OpenFile)( 491 IAMMultiMediaStream *This, 492 LPCWSTR pszFileName, 493 DWORD dwFlags); 494 495 HRESULT (STDMETHODCALLTYPE *OpenMoniker)( 496 IAMMultiMediaStream *This, 497 IBindCtx *pCtx, 498 IMoniker *pMoniker, 499 DWORD dwFlags); 500 501 HRESULT (STDMETHODCALLTYPE *Render)( 502 IAMMultiMediaStream *This, 503 DWORD dwFlags); 504 505 END_INTERFACE 506 } IAMMultiMediaStreamVtbl; 507 508 interface IAMMultiMediaStream { 509 CONST_VTBL IAMMultiMediaStreamVtbl* lpVtbl; 510 }; 511 512 #ifdef COBJMACROS 513 #ifndef WIDL_C_INLINE_WRAPPERS 514 /*** IUnknown methods ***/ 515 #define IAMMultiMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 516 #define IAMMultiMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This) 517 #define IAMMultiMediaStream_Release(This) (This)->lpVtbl->Release(This) 518 /*** IMultiMediaStream methods ***/ 519 #define IAMMultiMediaStream_GetInformation(This,pdwFlags,pStreamType) (This)->lpVtbl->GetInformation(This,pdwFlags,pStreamType) 520 #define IAMMultiMediaStream_GetMediaStream(This,idPurpose,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream) 521 #define IAMMultiMediaStream_EnumMediaStreams(This,Index,ppMediaStream) (This)->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream) 522 #define IAMMultiMediaStream_GetState(This,pCurrentState) (This)->lpVtbl->GetState(This,pCurrentState) 523 #define IAMMultiMediaStream_SetState(This,NewState) (This)->lpVtbl->SetState(This,NewState) 524 #define IAMMultiMediaStream_GetTime(This,pCurrentTime) (This)->lpVtbl->GetTime(This,pCurrentTime) 525 #define IAMMultiMediaStream_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration) 526 #define IAMMultiMediaStream_Seek(This,SeekTime) (This)->lpVtbl->Seek(This,SeekTime) 527 #define IAMMultiMediaStream_GetEndOfStreamEventHandle(This,phEOS) (This)->lpVtbl->GetEndOfStreamEventHandle(This,phEOS) 528 /*** IAMMultiMediaStream methods ***/ 529 #define IAMMultiMediaStream_Initialize(This,StreamType,dwFlags,pFilterGraph) (This)->lpVtbl->Initialize(This,StreamType,dwFlags,pFilterGraph) 530 #define IAMMultiMediaStream_GetFilterGraph(This,ppGraphBuilder) (This)->lpVtbl->GetFilterGraph(This,ppGraphBuilder) 531 #define IAMMultiMediaStream_GetFilter(This,ppFilter) (This)->lpVtbl->GetFilter(This,ppFilter) 532 #define IAMMultiMediaStream_AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream) (This)->lpVtbl->AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream) 533 #define IAMMultiMediaStream_OpenFile(This,pszFileName,dwFlags) (This)->lpVtbl->OpenFile(This,pszFileName,dwFlags) 534 #define IAMMultiMediaStream_OpenMoniker(This,pCtx,pMoniker,dwFlags) (This)->lpVtbl->OpenMoniker(This,pCtx,pMoniker,dwFlags) 535 #define IAMMultiMediaStream_Render(This,dwFlags) (This)->lpVtbl->Render(This,dwFlags) 536 #else 537 /*** IUnknown methods ***/ 538 static FORCEINLINE HRESULT IAMMultiMediaStream_QueryInterface(IAMMultiMediaStream* This,REFIID riid,void **ppvObject) { 539 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 540 } 541 static FORCEINLINE ULONG IAMMultiMediaStream_AddRef(IAMMultiMediaStream* This) { 542 return This->lpVtbl->AddRef(This); 543 } 544 static FORCEINLINE ULONG IAMMultiMediaStream_Release(IAMMultiMediaStream* This) { 545 return This->lpVtbl->Release(This); 546 } 547 /*** IMultiMediaStream methods ***/ 548 static FORCEINLINE HRESULT IAMMultiMediaStream_GetInformation(IAMMultiMediaStream* This,DWORD *pdwFlags,STREAM_TYPE *pStreamType) { 549 return This->lpVtbl->GetInformation(This,pdwFlags,pStreamType); 550 } 551 static FORCEINLINE HRESULT IAMMultiMediaStream_GetMediaStream(IAMMultiMediaStream* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) { 552 return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream); 553 } 554 static FORCEINLINE HRESULT IAMMultiMediaStream_EnumMediaStreams(IAMMultiMediaStream* This,LONG Index,IMediaStream **ppMediaStream) { 555 return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream); 556 } 557 static FORCEINLINE HRESULT IAMMultiMediaStream_GetState(IAMMultiMediaStream* This,STREAM_STATE *pCurrentState) { 558 return This->lpVtbl->GetState(This,pCurrentState); 559 } 560 static FORCEINLINE HRESULT IAMMultiMediaStream_SetState(IAMMultiMediaStream* This,STREAM_STATE NewState) { 561 return This->lpVtbl->SetState(This,NewState); 562 } 563 static FORCEINLINE HRESULT IAMMultiMediaStream_GetTime(IAMMultiMediaStream* This,STREAM_TIME *pCurrentTime) { 564 return This->lpVtbl->GetTime(This,pCurrentTime); 565 } 566 static FORCEINLINE HRESULT IAMMultiMediaStream_GetDuration(IAMMultiMediaStream* This,STREAM_TIME *pDuration) { 567 return This->lpVtbl->GetDuration(This,pDuration); 568 } 569 static FORCEINLINE HRESULT IAMMultiMediaStream_Seek(IAMMultiMediaStream* This,STREAM_TIME SeekTime) { 570 return This->lpVtbl->Seek(This,SeekTime); 571 } 572 static FORCEINLINE HRESULT IAMMultiMediaStream_GetEndOfStreamEventHandle(IAMMultiMediaStream* This,HANDLE *phEOS) { 573 return This->lpVtbl->GetEndOfStreamEventHandle(This,phEOS); 574 } 575 /*** IAMMultiMediaStream methods ***/ 576 static FORCEINLINE HRESULT IAMMultiMediaStream_Initialize(IAMMultiMediaStream* This,STREAM_TYPE StreamType,DWORD dwFlags,IGraphBuilder *pFilterGraph) { 577 return This->lpVtbl->Initialize(This,StreamType,dwFlags,pFilterGraph); 578 } 579 static FORCEINLINE HRESULT IAMMultiMediaStream_GetFilterGraph(IAMMultiMediaStream* This,IGraphBuilder **ppGraphBuilder) { 580 return This->lpVtbl->GetFilterGraph(This,ppGraphBuilder); 581 } 582 static FORCEINLINE HRESULT IAMMultiMediaStream_GetFilter(IAMMultiMediaStream* This,IMediaStreamFilter **ppFilter) { 583 return This->lpVtbl->GetFilter(This,ppFilter); 584 } 585 static FORCEINLINE HRESULT IAMMultiMediaStream_AddMediaStream(IAMMultiMediaStream* This,IUnknown *pStreamObject,const MSPID *PurposeId,DWORD dwFlags,IMediaStream **ppNewStream) { 586 return This->lpVtbl->AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream); 587 } 588 static FORCEINLINE HRESULT IAMMultiMediaStream_OpenFile(IAMMultiMediaStream* This,LPCWSTR pszFileName,DWORD dwFlags) { 589 return This->lpVtbl->OpenFile(This,pszFileName,dwFlags); 590 } 591 static FORCEINLINE HRESULT IAMMultiMediaStream_OpenMoniker(IAMMultiMediaStream* This,IBindCtx *pCtx,IMoniker *pMoniker,DWORD dwFlags) { 592 return This->lpVtbl->OpenMoniker(This,pCtx,pMoniker,dwFlags); 593 } 594 static FORCEINLINE HRESULT IAMMultiMediaStream_Render(IAMMultiMediaStream* This,DWORD dwFlags) { 595 return This->lpVtbl->Render(This,dwFlags); 596 } 597 #endif 598 #endif 599 600 #endif 601 602 603 #endif /* __IAMMultiMediaStream_INTERFACE_DEFINED__ */ 604 605 /***************************************************************************** 606 * IAMMediaStream interface 607 */ 608 #ifndef __IAMMediaStream_INTERFACE_DEFINED__ 609 #define __IAMMediaStream_INTERFACE_DEFINED__ 610 611 DEFINE_GUID(IID_IAMMediaStream, 0xbebe595d, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 612 #if defined(__cplusplus) && !defined(CINTERFACE) 613 MIDL_INTERFACE("bebe595d-9a6f-11d0-8fde-00c04fd9189d") 614 IAMMediaStream : public IMediaStream 615 { 616 virtual HRESULT STDMETHODCALLTYPE Initialize( 617 IUnknown *pSourceObject, 618 DWORD dwFlags, 619 REFMSPID PurposeId, 620 const STREAM_TYPE StreamType) = 0; 621 622 virtual HRESULT STDMETHODCALLTYPE SetState( 623 FILTER_STATE State) = 0; 624 625 virtual HRESULT STDMETHODCALLTYPE JoinAMMultiMediaStream( 626 IAMMultiMediaStream *pAMMultiMediaStream) = 0; 627 628 virtual HRESULT STDMETHODCALLTYPE JoinFilter( 629 IMediaStreamFilter *pMediaStreamFilter) = 0; 630 631 virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( 632 IFilterGraph *pFilterGraph) = 0; 633 634 }; 635 #ifdef __CRT_UUID_DECL 636 __CRT_UUID_DECL(IAMMediaStream, 0xbebe595d, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 637 #endif 638 #else 639 typedef struct IAMMediaStreamVtbl { 640 BEGIN_INTERFACE 641 642 /*** IUnknown methods ***/ 643 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 644 IAMMediaStream *This, 645 REFIID riid, 646 void **ppvObject); 647 648 ULONG (STDMETHODCALLTYPE *AddRef)( 649 IAMMediaStream *This); 650 651 ULONG (STDMETHODCALLTYPE *Release)( 652 IAMMediaStream *This); 653 654 /*** IMediaStream methods ***/ 655 HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)( 656 IAMMediaStream *This, 657 IMultiMediaStream **ppMultiMediaStream); 658 659 HRESULT (STDMETHODCALLTYPE *GetInformation)( 660 IAMMediaStream *This, 661 MSPID *pPurposeId, 662 STREAM_TYPE *pType); 663 664 HRESULT (STDMETHODCALLTYPE *SetSameFormat)( 665 IAMMediaStream *This, 666 IMediaStream *pStreamThatHasDesiredFormat, 667 DWORD dwFlags); 668 669 HRESULT (STDMETHODCALLTYPE *AllocateSample)( 670 IAMMediaStream *This, 671 DWORD dwFlags, 672 IStreamSample **ppSample); 673 674 HRESULT (STDMETHODCALLTYPE *CreateSharedSample)( 675 IAMMediaStream *This, 676 IStreamSample *pExistingSample, 677 DWORD dwFlags, 678 IStreamSample **ppNewSample); 679 680 HRESULT (STDMETHODCALLTYPE *SendEndOfStream)( 681 IAMMediaStream *This, 682 DWORD dwFlags); 683 684 /*** IAMMediaStream methods ***/ 685 HRESULT (STDMETHODCALLTYPE *Initialize)( 686 IAMMediaStream *This, 687 IUnknown *pSourceObject, 688 DWORD dwFlags, 689 REFMSPID PurposeId, 690 const STREAM_TYPE StreamType); 691 692 HRESULT (STDMETHODCALLTYPE *SetState)( 693 IAMMediaStream *This, 694 FILTER_STATE State); 695 696 HRESULT (STDMETHODCALLTYPE *JoinAMMultiMediaStream)( 697 IAMMediaStream *This, 698 IAMMultiMediaStream *pAMMultiMediaStream); 699 700 HRESULT (STDMETHODCALLTYPE *JoinFilter)( 701 IAMMediaStream *This, 702 IMediaStreamFilter *pMediaStreamFilter); 703 704 HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)( 705 IAMMediaStream *This, 706 IFilterGraph *pFilterGraph); 707 708 END_INTERFACE 709 } IAMMediaStreamVtbl; 710 711 interface IAMMediaStream { 712 CONST_VTBL IAMMediaStreamVtbl* lpVtbl; 713 }; 714 715 #ifdef COBJMACROS 716 #ifndef WIDL_C_INLINE_WRAPPERS 717 /*** IUnknown methods ***/ 718 #define IAMMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 719 #define IAMMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This) 720 #define IAMMediaStream_Release(This) (This)->lpVtbl->Release(This) 721 /*** IMediaStream methods ***/ 722 #define IAMMediaStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream) 723 #define IAMMediaStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType) 724 #define IAMMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) 725 #define IAMMediaStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample) 726 #define IAMMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) 727 #define IAMMediaStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags) 728 /*** IAMMediaStream methods ***/ 729 #define IAMMediaStream_Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType) (This)->lpVtbl->Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType) 730 #define IAMMediaStream_SetState(This,State) (This)->lpVtbl->SetState(This,State) 731 #define IAMMediaStream_JoinAMMultiMediaStream(This,pAMMultiMediaStream) (This)->lpVtbl->JoinAMMultiMediaStream(This,pAMMultiMediaStream) 732 #define IAMMediaStream_JoinFilter(This,pMediaStreamFilter) (This)->lpVtbl->JoinFilter(This,pMediaStreamFilter) 733 #define IAMMediaStream_JoinFilterGraph(This,pFilterGraph) (This)->lpVtbl->JoinFilterGraph(This,pFilterGraph) 734 #else 735 /*** IUnknown methods ***/ 736 static FORCEINLINE HRESULT IAMMediaStream_QueryInterface(IAMMediaStream* This,REFIID riid,void **ppvObject) { 737 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 738 } 739 static FORCEINLINE ULONG IAMMediaStream_AddRef(IAMMediaStream* This) { 740 return This->lpVtbl->AddRef(This); 741 } 742 static FORCEINLINE ULONG IAMMediaStream_Release(IAMMediaStream* This) { 743 return This->lpVtbl->Release(This); 744 } 745 /*** IMediaStream methods ***/ 746 static FORCEINLINE HRESULT IAMMediaStream_GetMultiMediaStream(IAMMediaStream* This,IMultiMediaStream **ppMultiMediaStream) { 747 return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream); 748 } 749 static FORCEINLINE HRESULT IAMMediaStream_GetInformation(IAMMediaStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) { 750 return This->lpVtbl->GetInformation(This,pPurposeId,pType); 751 } 752 static FORCEINLINE HRESULT IAMMediaStream_SetSameFormat(IAMMediaStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) { 753 return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags); 754 } 755 static FORCEINLINE HRESULT IAMMediaStream_AllocateSample(IAMMediaStream* This,DWORD dwFlags,IStreamSample **ppSample) { 756 return This->lpVtbl->AllocateSample(This,dwFlags,ppSample); 757 } 758 static FORCEINLINE HRESULT IAMMediaStream_CreateSharedSample(IAMMediaStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) { 759 return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample); 760 } 761 static FORCEINLINE HRESULT IAMMediaStream_SendEndOfStream(IAMMediaStream* This,DWORD dwFlags) { 762 return This->lpVtbl->SendEndOfStream(This,dwFlags); 763 } 764 /*** IAMMediaStream methods ***/ 765 static FORCEINLINE HRESULT IAMMediaStream_Initialize(IAMMediaStream* This,IUnknown *pSourceObject,DWORD dwFlags,REFMSPID PurposeId,const STREAM_TYPE StreamType) { 766 return This->lpVtbl->Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType); 767 } 768 static FORCEINLINE HRESULT IAMMediaStream_SetState(IAMMediaStream* This,FILTER_STATE State) { 769 return This->lpVtbl->SetState(This,State); 770 } 771 static FORCEINLINE HRESULT IAMMediaStream_JoinAMMultiMediaStream(IAMMediaStream* This,IAMMultiMediaStream *pAMMultiMediaStream) { 772 return This->lpVtbl->JoinAMMultiMediaStream(This,pAMMultiMediaStream); 773 } 774 static FORCEINLINE HRESULT IAMMediaStream_JoinFilter(IAMMediaStream* This,IMediaStreamFilter *pMediaStreamFilter) { 775 return This->lpVtbl->JoinFilter(This,pMediaStreamFilter); 776 } 777 static FORCEINLINE HRESULT IAMMediaStream_JoinFilterGraph(IAMMediaStream* This,IFilterGraph *pFilterGraph) { 778 return This->lpVtbl->JoinFilterGraph(This,pFilterGraph); 779 } 780 #endif 781 #endif 782 783 #endif 784 785 786 #endif /* __IAMMediaStream_INTERFACE_DEFINED__ */ 787 788 /***************************************************************************** 789 * IMediaStreamFilter interface 790 */ 791 #ifndef __IMediaStreamFilter_INTERFACE_DEFINED__ 792 #define __IMediaStreamFilter_INTERFACE_DEFINED__ 793 794 DEFINE_GUID(IID_IMediaStreamFilter, 0xbebe595e, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 795 #if defined(__cplusplus) && !defined(CINTERFACE) 796 MIDL_INTERFACE("bebe595e-9a6f-11d0-8fde-00c04fd9189d") 797 IMediaStreamFilter : public IBaseFilter 798 { 799 virtual HRESULT STDMETHODCALLTYPE AddMediaStream( 800 IAMMediaStream *pAMMediaStream) = 0; 801 802 virtual HRESULT STDMETHODCALLTYPE GetMediaStream( 803 REFMSPID idPurpose, 804 IMediaStream **ppMediaStream) = 0; 805 806 virtual HRESULT STDMETHODCALLTYPE EnumMediaStreams( 807 LONG Index, 808 IMediaStream **ppMediaStream) = 0; 809 810 virtual HRESULT STDMETHODCALLTYPE SupportSeeking( 811 WINBOOL bRenderer) = 0; 812 813 virtual HRESULT STDMETHODCALLTYPE ReferenceTimeToStreamTime( 814 REFERENCE_TIME *pTime) = 0; 815 816 virtual HRESULT STDMETHODCALLTYPE GetCurrentStreamTime( 817 REFERENCE_TIME *pCurrentStreamTime) = 0; 818 819 virtual HRESULT STDMETHODCALLTYPE WaitUntil( 820 REFERENCE_TIME WaitStreamTime) = 0; 821 822 virtual HRESULT STDMETHODCALLTYPE Flush( 823 WINBOOL bCancelEOS) = 0; 824 825 virtual HRESULT STDMETHODCALLTYPE EndOfStream( 826 ) = 0; 827 828 }; 829 #ifdef __CRT_UUID_DECL 830 __CRT_UUID_DECL(IMediaStreamFilter, 0xbebe595e, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 831 #endif 832 #else 833 typedef struct IMediaStreamFilterVtbl { 834 BEGIN_INTERFACE 835 836 /*** IUnknown methods ***/ 837 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 838 IMediaStreamFilter *This, 839 REFIID riid, 840 void **ppvObject); 841 842 ULONG (STDMETHODCALLTYPE *AddRef)( 843 IMediaStreamFilter *This); 844 845 ULONG (STDMETHODCALLTYPE *Release)( 846 IMediaStreamFilter *This); 847 848 /*** IPersist methods ***/ 849 HRESULT (STDMETHODCALLTYPE *GetClassID)( 850 IMediaStreamFilter *This, 851 CLSID *pClassID); 852 853 /*** IMediaFilter methods ***/ 854 HRESULT (STDMETHODCALLTYPE *Stop)( 855 IMediaStreamFilter *This); 856 857 HRESULT (STDMETHODCALLTYPE *Pause)( 858 IMediaStreamFilter *This); 859 860 HRESULT (STDMETHODCALLTYPE *Run)( 861 IMediaStreamFilter *This, 862 REFERENCE_TIME tStart); 863 864 HRESULT (STDMETHODCALLTYPE *GetState)( 865 IMediaStreamFilter *This, 866 DWORD dwMilliSecsTimeout, 867 FILTER_STATE *State); 868 869 HRESULT (STDMETHODCALLTYPE *SetSyncSource)( 870 IMediaStreamFilter *This, 871 IReferenceClock *pClock); 872 873 HRESULT (STDMETHODCALLTYPE *GetSyncSource)( 874 IMediaStreamFilter *This, 875 IReferenceClock **pClock); 876 877 /*** IBaseFilter methods ***/ 878 HRESULT (STDMETHODCALLTYPE *EnumPins)( 879 IMediaStreamFilter *This, 880 IEnumPins **ppEnum); 881 882 HRESULT (STDMETHODCALLTYPE *FindPin)( 883 IMediaStreamFilter *This, 884 LPCWSTR Id, 885 IPin **ppPin); 886 887 HRESULT (STDMETHODCALLTYPE *QueryFilterInfo)( 888 IMediaStreamFilter *This, 889 FILTER_INFO *pInfo); 890 891 HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)( 892 IMediaStreamFilter *This, 893 IFilterGraph *pGraph, 894 LPCWSTR pName); 895 896 HRESULT (STDMETHODCALLTYPE *QueryVendorInfo)( 897 IMediaStreamFilter *This, 898 LPWSTR *pVendorInfo); 899 900 /*** IMediaStreamFilter methods ***/ 901 HRESULT (STDMETHODCALLTYPE *AddMediaStream)( 902 IMediaStreamFilter *This, 903 IAMMediaStream *pAMMediaStream); 904 905 HRESULT (STDMETHODCALLTYPE *GetMediaStream)( 906 IMediaStreamFilter *This, 907 REFMSPID idPurpose, 908 IMediaStream **ppMediaStream); 909 910 HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)( 911 IMediaStreamFilter *This, 912 LONG Index, 913 IMediaStream **ppMediaStream); 914 915 HRESULT (STDMETHODCALLTYPE *SupportSeeking)( 916 IMediaStreamFilter *This, 917 WINBOOL bRenderer); 918 919 HRESULT (STDMETHODCALLTYPE *ReferenceTimeToStreamTime)( 920 IMediaStreamFilter *This, 921 REFERENCE_TIME *pTime); 922 923 HRESULT (STDMETHODCALLTYPE *GetCurrentStreamTime)( 924 IMediaStreamFilter *This, 925 REFERENCE_TIME *pCurrentStreamTime); 926 927 HRESULT (STDMETHODCALLTYPE *WaitUntil)( 928 IMediaStreamFilter *This, 929 REFERENCE_TIME WaitStreamTime); 930 931 HRESULT (STDMETHODCALLTYPE *Flush)( 932 IMediaStreamFilter *This, 933 WINBOOL bCancelEOS); 934 935 HRESULT (STDMETHODCALLTYPE *EndOfStream)( 936 IMediaStreamFilter *This); 937 938 END_INTERFACE 939 } IMediaStreamFilterVtbl; 940 941 interface IMediaStreamFilter { 942 CONST_VTBL IMediaStreamFilterVtbl* lpVtbl; 943 }; 944 945 #ifdef COBJMACROS 946 #ifndef WIDL_C_INLINE_WRAPPERS 947 /*** IUnknown methods ***/ 948 #define IMediaStreamFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 949 #define IMediaStreamFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 950 #define IMediaStreamFilter_Release(This) (This)->lpVtbl->Release(This) 951 /*** IPersist methods ***/ 952 #define IMediaStreamFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 953 /*** IMediaFilter methods ***/ 954 #define IMediaStreamFilter_Stop(This) (This)->lpVtbl->Stop(This) 955 #define IMediaStreamFilter_Pause(This) (This)->lpVtbl->Pause(This) 956 #define IMediaStreamFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) 957 #define IMediaStreamFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State) 958 #define IMediaStreamFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) 959 #define IMediaStreamFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock) 960 /*** IBaseFilter methods ***/ 961 #define IMediaStreamFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum) 962 #define IMediaStreamFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin) 963 #define IMediaStreamFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo) 964 #define IMediaStreamFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName) 965 #define IMediaStreamFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo) 966 /*** IMediaStreamFilter methods ***/ 967 #define IMediaStreamFilter_AddMediaStream(This,pAMMediaStream) (This)->lpVtbl->AddMediaStream(This,pAMMediaStream) 968 #define IMediaStreamFilter_GetMediaStream(This,idPurpose,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream) 969 #define IMediaStreamFilter_EnumMediaStreams(This,Index,ppMediaStream) (This)->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream) 970 #define IMediaStreamFilter_SupportSeeking(This,bRenderer) (This)->lpVtbl->SupportSeeking(This,bRenderer) 971 #define IMediaStreamFilter_ReferenceTimeToStreamTime(This,pTime) (This)->lpVtbl->ReferenceTimeToStreamTime(This,pTime) 972 #define IMediaStreamFilter_GetCurrentStreamTime(This,pCurrentStreamTime) (This)->lpVtbl->GetCurrentStreamTime(This,pCurrentStreamTime) 973 #define IMediaStreamFilter_WaitUntil(This,WaitStreamTime) (This)->lpVtbl->WaitUntil(This,WaitStreamTime) 974 #define IMediaStreamFilter_Flush(This,bCancelEOS) (This)->lpVtbl->Flush(This,bCancelEOS) 975 #define IMediaStreamFilter_EndOfStream(This) (This)->lpVtbl->EndOfStream(This) 976 #else 977 /*** IUnknown methods ***/ 978 static FORCEINLINE HRESULT IMediaStreamFilter_QueryInterface(IMediaStreamFilter* This,REFIID riid,void **ppvObject) { 979 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 980 } 981 static FORCEINLINE ULONG IMediaStreamFilter_AddRef(IMediaStreamFilter* This) { 982 return This->lpVtbl->AddRef(This); 983 } 984 static FORCEINLINE ULONG IMediaStreamFilter_Release(IMediaStreamFilter* This) { 985 return This->lpVtbl->Release(This); 986 } 987 /*** IPersist methods ***/ 988 static FORCEINLINE HRESULT IMediaStreamFilter_GetClassID(IMediaStreamFilter* This,CLSID *pClassID) { 989 return This->lpVtbl->GetClassID(This,pClassID); 990 } 991 /*** IMediaFilter methods ***/ 992 static FORCEINLINE HRESULT IMediaStreamFilter_Stop(IMediaStreamFilter* This) { 993 return This->lpVtbl->Stop(This); 994 } 995 static FORCEINLINE HRESULT IMediaStreamFilter_Pause(IMediaStreamFilter* This) { 996 return This->lpVtbl->Pause(This); 997 } 998 static FORCEINLINE HRESULT IMediaStreamFilter_Run(IMediaStreamFilter* This,REFERENCE_TIME tStart) { 999 return This->lpVtbl->Run(This,tStart); 1000 } 1001 static FORCEINLINE HRESULT IMediaStreamFilter_GetState(IMediaStreamFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) { 1002 return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State); 1003 } 1004 static FORCEINLINE HRESULT IMediaStreamFilter_SetSyncSource(IMediaStreamFilter* This,IReferenceClock *pClock) { 1005 return This->lpVtbl->SetSyncSource(This,pClock); 1006 } 1007 static FORCEINLINE HRESULT IMediaStreamFilter_GetSyncSource(IMediaStreamFilter* This,IReferenceClock **pClock) { 1008 return This->lpVtbl->GetSyncSource(This,pClock); 1009 } 1010 /*** IBaseFilter methods ***/ 1011 static FORCEINLINE HRESULT IMediaStreamFilter_EnumPins(IMediaStreamFilter* This,IEnumPins **ppEnum) { 1012 return This->lpVtbl->EnumPins(This,ppEnum); 1013 } 1014 static FORCEINLINE HRESULT IMediaStreamFilter_FindPin(IMediaStreamFilter* This,LPCWSTR Id,IPin **ppPin) { 1015 return This->lpVtbl->FindPin(This,Id,ppPin); 1016 } 1017 static FORCEINLINE HRESULT IMediaStreamFilter_QueryFilterInfo(IMediaStreamFilter* This,FILTER_INFO *pInfo) { 1018 return This->lpVtbl->QueryFilterInfo(This,pInfo); 1019 } 1020 static FORCEINLINE HRESULT IMediaStreamFilter_JoinFilterGraph(IMediaStreamFilter* This,IFilterGraph *pGraph,LPCWSTR pName) { 1021 return This->lpVtbl->JoinFilterGraph(This,pGraph,pName); 1022 } 1023 static FORCEINLINE HRESULT IMediaStreamFilter_QueryVendorInfo(IMediaStreamFilter* This,LPWSTR *pVendorInfo) { 1024 return This->lpVtbl->QueryVendorInfo(This,pVendorInfo); 1025 } 1026 /*** IMediaStreamFilter methods ***/ 1027 static FORCEINLINE HRESULT IMediaStreamFilter_AddMediaStream(IMediaStreamFilter* This,IAMMediaStream *pAMMediaStream) { 1028 return This->lpVtbl->AddMediaStream(This,pAMMediaStream); 1029 } 1030 static FORCEINLINE HRESULT IMediaStreamFilter_GetMediaStream(IMediaStreamFilter* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) { 1031 return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream); 1032 } 1033 static FORCEINLINE HRESULT IMediaStreamFilter_EnumMediaStreams(IMediaStreamFilter* This,LONG Index,IMediaStream **ppMediaStream) { 1034 return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream); 1035 } 1036 static FORCEINLINE HRESULT IMediaStreamFilter_SupportSeeking(IMediaStreamFilter* This,WINBOOL bRenderer) { 1037 return This->lpVtbl->SupportSeeking(This,bRenderer); 1038 } 1039 static FORCEINLINE HRESULT IMediaStreamFilter_ReferenceTimeToStreamTime(IMediaStreamFilter* This,REFERENCE_TIME *pTime) { 1040 return This->lpVtbl->ReferenceTimeToStreamTime(This,pTime); 1041 } 1042 static FORCEINLINE HRESULT IMediaStreamFilter_GetCurrentStreamTime(IMediaStreamFilter* This,REFERENCE_TIME *pCurrentStreamTime) { 1043 return This->lpVtbl->GetCurrentStreamTime(This,pCurrentStreamTime); 1044 } 1045 static FORCEINLINE HRESULT IMediaStreamFilter_WaitUntil(IMediaStreamFilter* This,REFERENCE_TIME WaitStreamTime) { 1046 return This->lpVtbl->WaitUntil(This,WaitStreamTime); 1047 } 1048 static FORCEINLINE HRESULT IMediaStreamFilter_Flush(IMediaStreamFilter* This,WINBOOL bCancelEOS) { 1049 return This->lpVtbl->Flush(This,bCancelEOS); 1050 } 1051 static FORCEINLINE HRESULT IMediaStreamFilter_EndOfStream(IMediaStreamFilter* This) { 1052 return This->lpVtbl->EndOfStream(This); 1053 } 1054 #endif 1055 #endif 1056 1057 #endif 1058 1059 1060 #endif /* __IMediaStreamFilter_INTERFACE_DEFINED__ */ 1061 1062 /***************************************************************************** 1063 * IDirectDrawMediaSampleAllocator interface 1064 */ 1065 #ifndef __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ 1066 #define __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ 1067 1068 DEFINE_GUID(IID_IDirectDrawMediaSampleAllocator, 0xab6b4afc, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 1069 #if defined(__cplusplus) && !defined(CINTERFACE) 1070 MIDL_INTERFACE("ab6b4afc-f6e4-11d0-900d-00c04fd9189d") 1071 IDirectDrawMediaSampleAllocator : public IUnknown 1072 { 1073 virtual HRESULT STDMETHODCALLTYPE GetDirectDraw( 1074 IDirectDraw **ppDirectDraw) = 0; 1075 1076 }; 1077 #ifdef __CRT_UUID_DECL 1078 __CRT_UUID_DECL(IDirectDrawMediaSampleAllocator, 0xab6b4afc, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 1079 #endif 1080 #else 1081 typedef struct IDirectDrawMediaSampleAllocatorVtbl { 1082 BEGIN_INTERFACE 1083 1084 /*** IUnknown methods ***/ 1085 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1086 IDirectDrawMediaSampleAllocator *This, 1087 REFIID riid, 1088 void **ppvObject); 1089 1090 ULONG (STDMETHODCALLTYPE *AddRef)( 1091 IDirectDrawMediaSampleAllocator *This); 1092 1093 ULONG (STDMETHODCALLTYPE *Release)( 1094 IDirectDrawMediaSampleAllocator *This); 1095 1096 /*** IDirectDrawMediaSampleAllocator methods ***/ 1097 HRESULT (STDMETHODCALLTYPE *GetDirectDraw)( 1098 IDirectDrawMediaSampleAllocator *This, 1099 IDirectDraw **ppDirectDraw); 1100 1101 END_INTERFACE 1102 } IDirectDrawMediaSampleAllocatorVtbl; 1103 1104 interface IDirectDrawMediaSampleAllocator { 1105 CONST_VTBL IDirectDrawMediaSampleAllocatorVtbl* lpVtbl; 1106 }; 1107 1108 #ifdef COBJMACROS 1109 #ifndef WIDL_C_INLINE_WRAPPERS 1110 /*** IUnknown methods ***/ 1111 #define IDirectDrawMediaSampleAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1112 #define IDirectDrawMediaSampleAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) 1113 #define IDirectDrawMediaSampleAllocator_Release(This) (This)->lpVtbl->Release(This) 1114 /*** IDirectDrawMediaSampleAllocator methods ***/ 1115 #define IDirectDrawMediaSampleAllocator_GetDirectDraw(This,ppDirectDraw) (This)->lpVtbl->GetDirectDraw(This,ppDirectDraw) 1116 #else 1117 /*** IUnknown methods ***/ 1118 static FORCEINLINE HRESULT IDirectDrawMediaSampleAllocator_QueryInterface(IDirectDrawMediaSampleAllocator* This,REFIID riid,void **ppvObject) { 1119 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1120 } 1121 static FORCEINLINE ULONG IDirectDrawMediaSampleAllocator_AddRef(IDirectDrawMediaSampleAllocator* This) { 1122 return This->lpVtbl->AddRef(This); 1123 } 1124 static FORCEINLINE ULONG IDirectDrawMediaSampleAllocator_Release(IDirectDrawMediaSampleAllocator* This) { 1125 return This->lpVtbl->Release(This); 1126 } 1127 /*** IDirectDrawMediaSampleAllocator methods ***/ 1128 static FORCEINLINE HRESULT IDirectDrawMediaSampleAllocator_GetDirectDraw(IDirectDrawMediaSampleAllocator* This,IDirectDraw **ppDirectDraw) { 1129 return This->lpVtbl->GetDirectDraw(This,ppDirectDraw); 1130 } 1131 #endif 1132 #endif 1133 1134 #endif 1135 1136 1137 #endif /* __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ */ 1138 1139 /***************************************************************************** 1140 * IDirectDrawMediaSample interface 1141 */ 1142 #ifndef __IDirectDrawMediaSample_INTERFACE_DEFINED__ 1143 #define __IDirectDrawMediaSample_INTERFACE_DEFINED__ 1144 1145 DEFINE_GUID(IID_IDirectDrawMediaSample, 0xab6b4afe, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 1146 #if defined(__cplusplus) && !defined(CINTERFACE) 1147 MIDL_INTERFACE("ab6b4afe-f6e4-11d0-900d-00c04fd9189d") 1148 IDirectDrawMediaSample : public IUnknown 1149 { 1150 virtual HRESULT STDMETHODCALLTYPE GetSurfaceAndReleaseLock( 1151 IDirectDrawSurface **ppDirectDrawSurface, 1152 RECT *pRect) = 0; 1153 1154 virtual HRESULT STDMETHODCALLTYPE LockMediaSamplePointer( 1155 ) = 0; 1156 1157 }; 1158 #ifdef __CRT_UUID_DECL 1159 __CRT_UUID_DECL(IDirectDrawMediaSample, 0xab6b4afe, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 1160 #endif 1161 #else 1162 typedef struct IDirectDrawMediaSampleVtbl { 1163 BEGIN_INTERFACE 1164 1165 /*** IUnknown methods ***/ 1166 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1167 IDirectDrawMediaSample *This, 1168 REFIID riid, 1169 void **ppvObject); 1170 1171 ULONG (STDMETHODCALLTYPE *AddRef)( 1172 IDirectDrawMediaSample *This); 1173 1174 ULONG (STDMETHODCALLTYPE *Release)( 1175 IDirectDrawMediaSample *This); 1176 1177 /*** IDirectDrawMediaSample methods ***/ 1178 HRESULT (STDMETHODCALLTYPE *GetSurfaceAndReleaseLock)( 1179 IDirectDrawMediaSample *This, 1180 IDirectDrawSurface **ppDirectDrawSurface, 1181 RECT *pRect); 1182 1183 HRESULT (STDMETHODCALLTYPE *LockMediaSamplePointer)( 1184 IDirectDrawMediaSample *This); 1185 1186 END_INTERFACE 1187 } IDirectDrawMediaSampleVtbl; 1188 1189 interface IDirectDrawMediaSample { 1190 CONST_VTBL IDirectDrawMediaSampleVtbl* lpVtbl; 1191 }; 1192 1193 #ifdef COBJMACROS 1194 #ifndef WIDL_C_INLINE_WRAPPERS 1195 /*** IUnknown methods ***/ 1196 #define IDirectDrawMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1197 #define IDirectDrawMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This) 1198 #define IDirectDrawMediaSample_Release(This) (This)->lpVtbl->Release(This) 1199 /*** IDirectDrawMediaSample methods ***/ 1200 #define IDirectDrawMediaSample_GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect) (This)->lpVtbl->GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect) 1201 #define IDirectDrawMediaSample_LockMediaSamplePointer(This) (This)->lpVtbl->LockMediaSamplePointer(This) 1202 #else 1203 /*** IUnknown methods ***/ 1204 static FORCEINLINE HRESULT IDirectDrawMediaSample_QueryInterface(IDirectDrawMediaSample* This,REFIID riid,void **ppvObject) { 1205 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1206 } 1207 static FORCEINLINE ULONG IDirectDrawMediaSample_AddRef(IDirectDrawMediaSample* This) { 1208 return This->lpVtbl->AddRef(This); 1209 } 1210 static FORCEINLINE ULONG IDirectDrawMediaSample_Release(IDirectDrawMediaSample* This) { 1211 return This->lpVtbl->Release(This); 1212 } 1213 /*** IDirectDrawMediaSample methods ***/ 1214 static FORCEINLINE HRESULT IDirectDrawMediaSample_GetSurfaceAndReleaseLock(IDirectDrawMediaSample* This,IDirectDrawSurface **ppDirectDrawSurface,RECT *pRect) { 1215 return This->lpVtbl->GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect); 1216 } 1217 static FORCEINLINE HRESULT IDirectDrawMediaSample_LockMediaSamplePointer(IDirectDrawMediaSample* This) { 1218 return This->lpVtbl->LockMediaSamplePointer(This); 1219 } 1220 #endif 1221 #endif 1222 1223 #endif 1224 1225 1226 #endif /* __IDirectDrawMediaSample_INTERFACE_DEFINED__ */ 1227 1228 /***************************************************************************** 1229 * IAMMediaTypeStream interface 1230 */ 1231 #ifndef __IAMMediaTypeStream_INTERFACE_DEFINED__ 1232 #define __IAMMediaTypeStream_INTERFACE_DEFINED__ 1233 1234 DEFINE_GUID(IID_IAMMediaTypeStream, 0xab6b4afa, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 1235 #if defined(__cplusplus) && !defined(CINTERFACE) 1236 MIDL_INTERFACE("ab6b4afa-f6e4-11d0-900d-00c04fd9189d") 1237 IAMMediaTypeStream : public IMediaStream 1238 { 1239 virtual HRESULT STDMETHODCALLTYPE GetFormat( 1240 AM_MEDIA_TYPE *pMediaType, 1241 DWORD dwFlags) = 0; 1242 1243 virtual HRESULT STDMETHODCALLTYPE SetFormat( 1244 AM_MEDIA_TYPE *pMediaType, 1245 DWORD dwFlags) = 0; 1246 1247 virtual HRESULT STDMETHODCALLTYPE CreateSample( 1248 LONG lSampleSize, 1249 BYTE *pbBuffer, 1250 DWORD dwFlags, 1251 IUnknown *pUnkOuter, 1252 IAMMediaTypeSample **ppAMMediaTypeSample) = 0; 1253 1254 virtual HRESULT STDMETHODCALLTYPE GetStreamAllocatorRequirements( 1255 ALLOCATOR_PROPERTIES *pProps) = 0; 1256 1257 virtual HRESULT STDMETHODCALLTYPE SetStreamAllocatorRequirements( 1258 ALLOCATOR_PROPERTIES *pProps) = 0; 1259 1260 }; 1261 #ifdef __CRT_UUID_DECL 1262 __CRT_UUID_DECL(IAMMediaTypeStream, 0xab6b4afa, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 1263 #endif 1264 #else 1265 typedef struct IAMMediaTypeStreamVtbl { 1266 BEGIN_INTERFACE 1267 1268 /*** IUnknown methods ***/ 1269 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1270 IAMMediaTypeStream *This, 1271 REFIID riid, 1272 void **ppvObject); 1273 1274 ULONG (STDMETHODCALLTYPE *AddRef)( 1275 IAMMediaTypeStream *This); 1276 1277 ULONG (STDMETHODCALLTYPE *Release)( 1278 IAMMediaTypeStream *This); 1279 1280 /*** IMediaStream methods ***/ 1281 HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)( 1282 IAMMediaTypeStream *This, 1283 IMultiMediaStream **ppMultiMediaStream); 1284 1285 HRESULT (STDMETHODCALLTYPE *GetInformation)( 1286 IAMMediaTypeStream *This, 1287 MSPID *pPurposeId, 1288 STREAM_TYPE *pType); 1289 1290 HRESULT (STDMETHODCALLTYPE *SetSameFormat)( 1291 IAMMediaTypeStream *This, 1292 IMediaStream *pStreamThatHasDesiredFormat, 1293 DWORD dwFlags); 1294 1295 HRESULT (STDMETHODCALLTYPE *AllocateSample)( 1296 IAMMediaTypeStream *This, 1297 DWORD dwFlags, 1298 IStreamSample **ppSample); 1299 1300 HRESULT (STDMETHODCALLTYPE *CreateSharedSample)( 1301 IAMMediaTypeStream *This, 1302 IStreamSample *pExistingSample, 1303 DWORD dwFlags, 1304 IStreamSample **ppNewSample); 1305 1306 HRESULT (STDMETHODCALLTYPE *SendEndOfStream)( 1307 IAMMediaTypeStream *This, 1308 DWORD dwFlags); 1309 1310 /*** IAMMediaTypeStream methods ***/ 1311 HRESULT (STDMETHODCALLTYPE *GetFormat)( 1312 IAMMediaTypeStream *This, 1313 AM_MEDIA_TYPE *pMediaType, 1314 DWORD dwFlags); 1315 1316 HRESULT (STDMETHODCALLTYPE *SetFormat)( 1317 IAMMediaTypeStream *This, 1318 AM_MEDIA_TYPE *pMediaType, 1319 DWORD dwFlags); 1320 1321 HRESULT (STDMETHODCALLTYPE *CreateSample)( 1322 IAMMediaTypeStream *This, 1323 LONG lSampleSize, 1324 BYTE *pbBuffer, 1325 DWORD dwFlags, 1326 IUnknown *pUnkOuter, 1327 IAMMediaTypeSample **ppAMMediaTypeSample); 1328 1329 HRESULT (STDMETHODCALLTYPE *GetStreamAllocatorRequirements)( 1330 IAMMediaTypeStream *This, 1331 ALLOCATOR_PROPERTIES *pProps); 1332 1333 HRESULT (STDMETHODCALLTYPE *SetStreamAllocatorRequirements)( 1334 IAMMediaTypeStream *This, 1335 ALLOCATOR_PROPERTIES *pProps); 1336 1337 END_INTERFACE 1338 } IAMMediaTypeStreamVtbl; 1339 1340 interface IAMMediaTypeStream { 1341 CONST_VTBL IAMMediaTypeStreamVtbl* lpVtbl; 1342 }; 1343 1344 #ifdef COBJMACROS 1345 #ifndef WIDL_C_INLINE_WRAPPERS 1346 /*** IUnknown methods ***/ 1347 #define IAMMediaTypeStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1348 #define IAMMediaTypeStream_AddRef(This) (This)->lpVtbl->AddRef(This) 1349 #define IAMMediaTypeStream_Release(This) (This)->lpVtbl->Release(This) 1350 /*** IMediaStream methods ***/ 1351 #define IAMMediaTypeStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream) 1352 #define IAMMediaTypeStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType) 1353 #define IAMMediaTypeStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) 1354 #define IAMMediaTypeStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample) 1355 #define IAMMediaTypeStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) 1356 #define IAMMediaTypeStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags) 1357 /*** IAMMediaTypeStream methods ***/ 1358 #define IAMMediaTypeStream_GetFormat(This,pMediaType,dwFlags) (This)->lpVtbl->GetFormat(This,pMediaType,dwFlags) 1359 #define IAMMediaTypeStream_SetFormat(This,pMediaType,dwFlags) (This)->lpVtbl->SetFormat(This,pMediaType,dwFlags) 1360 #define IAMMediaTypeStream_CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample) (This)->lpVtbl->CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample) 1361 #define IAMMediaTypeStream_GetStreamAllocatorRequirements(This,pProps) (This)->lpVtbl->GetStreamAllocatorRequirements(This,pProps) 1362 #define IAMMediaTypeStream_SetStreamAllocatorRequirements(This,pProps) (This)->lpVtbl->SetStreamAllocatorRequirements(This,pProps) 1363 #else 1364 /*** IUnknown methods ***/ 1365 static FORCEINLINE HRESULT IAMMediaTypeStream_QueryInterface(IAMMediaTypeStream* This,REFIID riid,void **ppvObject) { 1366 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1367 } 1368 static FORCEINLINE ULONG IAMMediaTypeStream_AddRef(IAMMediaTypeStream* This) { 1369 return This->lpVtbl->AddRef(This); 1370 } 1371 static FORCEINLINE ULONG IAMMediaTypeStream_Release(IAMMediaTypeStream* This) { 1372 return This->lpVtbl->Release(This); 1373 } 1374 /*** IMediaStream methods ***/ 1375 static FORCEINLINE HRESULT IAMMediaTypeStream_GetMultiMediaStream(IAMMediaTypeStream* This,IMultiMediaStream **ppMultiMediaStream) { 1376 return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream); 1377 } 1378 static FORCEINLINE HRESULT IAMMediaTypeStream_GetInformation(IAMMediaTypeStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) { 1379 return This->lpVtbl->GetInformation(This,pPurposeId,pType); 1380 } 1381 static FORCEINLINE HRESULT IAMMediaTypeStream_SetSameFormat(IAMMediaTypeStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) { 1382 return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags); 1383 } 1384 static FORCEINLINE HRESULT IAMMediaTypeStream_AllocateSample(IAMMediaTypeStream* This,DWORD dwFlags,IStreamSample **ppSample) { 1385 return This->lpVtbl->AllocateSample(This,dwFlags,ppSample); 1386 } 1387 static FORCEINLINE HRESULT IAMMediaTypeStream_CreateSharedSample(IAMMediaTypeStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) { 1388 return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample); 1389 } 1390 static FORCEINLINE HRESULT IAMMediaTypeStream_SendEndOfStream(IAMMediaTypeStream* This,DWORD dwFlags) { 1391 return This->lpVtbl->SendEndOfStream(This,dwFlags); 1392 } 1393 /*** IAMMediaTypeStream methods ***/ 1394 static FORCEINLINE HRESULT IAMMediaTypeStream_GetFormat(IAMMediaTypeStream* This,AM_MEDIA_TYPE *pMediaType,DWORD dwFlags) { 1395 return This->lpVtbl->GetFormat(This,pMediaType,dwFlags); 1396 } 1397 static FORCEINLINE HRESULT IAMMediaTypeStream_SetFormat(IAMMediaTypeStream* This,AM_MEDIA_TYPE *pMediaType,DWORD dwFlags) { 1398 return This->lpVtbl->SetFormat(This,pMediaType,dwFlags); 1399 } 1400 static FORCEINLINE HRESULT IAMMediaTypeStream_CreateSample(IAMMediaTypeStream* This,LONG lSampleSize,BYTE *pbBuffer,DWORD dwFlags,IUnknown *pUnkOuter,IAMMediaTypeSample **ppAMMediaTypeSample) { 1401 return This->lpVtbl->CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample); 1402 } 1403 static FORCEINLINE HRESULT IAMMediaTypeStream_GetStreamAllocatorRequirements(IAMMediaTypeStream* This,ALLOCATOR_PROPERTIES *pProps) { 1404 return This->lpVtbl->GetStreamAllocatorRequirements(This,pProps); 1405 } 1406 static FORCEINLINE HRESULT IAMMediaTypeStream_SetStreamAllocatorRequirements(IAMMediaTypeStream* This,ALLOCATOR_PROPERTIES *pProps) { 1407 return This->lpVtbl->SetStreamAllocatorRequirements(This,pProps); 1408 } 1409 #endif 1410 #endif 1411 1412 #endif 1413 1414 1415 #endif /* __IAMMediaTypeStream_INTERFACE_DEFINED__ */ 1416 1417 /***************************************************************************** 1418 * IAMMediaTypeSample interface 1419 */ 1420 #ifndef __IAMMediaTypeSample_INTERFACE_DEFINED__ 1421 #define __IAMMediaTypeSample_INTERFACE_DEFINED__ 1422 1423 DEFINE_GUID(IID_IAMMediaTypeSample, 0xab6b4afb, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 1424 #if defined(__cplusplus) && !defined(CINTERFACE) 1425 MIDL_INTERFACE("ab6b4afb-f6e4-11d0-900d-00c04fd9189d") 1426 IAMMediaTypeSample : public IStreamSample 1427 { 1428 virtual HRESULT STDMETHODCALLTYPE SetPointer( 1429 BYTE *pBuffer, 1430 LONG lSize) = 0; 1431 1432 virtual HRESULT STDMETHODCALLTYPE GetPointer( 1433 BYTE **ppBuffer) = 0; 1434 1435 virtual LONG STDMETHODCALLTYPE GetSize( 1436 ) = 0; 1437 1438 virtual HRESULT STDMETHODCALLTYPE GetTime( 1439 REFERENCE_TIME *pTimeStart, 1440 REFERENCE_TIME *pTimeEnd) = 0; 1441 1442 virtual HRESULT STDMETHODCALLTYPE SetTime( 1443 REFERENCE_TIME *pTimeStart, 1444 REFERENCE_TIME *pTimeEnd) = 0; 1445 1446 virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( 1447 ) = 0; 1448 1449 virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( 1450 WINBOOL bIsSyncPoint) = 0; 1451 1452 virtual HRESULT STDMETHODCALLTYPE IsPreroll( 1453 ) = 0; 1454 1455 virtual HRESULT STDMETHODCALLTYPE SetPreroll( 1456 WINBOOL bIsPreroll) = 0; 1457 1458 virtual LONG STDMETHODCALLTYPE GetActualDataLength( 1459 ) = 0; 1460 1461 virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( 1462 LONG Len) = 0; 1463 1464 virtual HRESULT STDMETHODCALLTYPE GetMediaType( 1465 AM_MEDIA_TYPE **ppMediaType) = 0; 1466 1467 virtual HRESULT STDMETHODCALLTYPE SetMediaType( 1468 AM_MEDIA_TYPE *pMediaType) = 0; 1469 1470 virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( 1471 ) = 0; 1472 1473 virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( 1474 WINBOOL bDiscontinuity) = 0; 1475 1476 virtual HRESULT STDMETHODCALLTYPE GetMediaTime( 1477 LONGLONG *pTimeStart, 1478 LONGLONG *pTimeEnd) = 0; 1479 1480 virtual HRESULT STDMETHODCALLTYPE SetMediaTime( 1481 LONGLONG *pTimeStart, 1482 LONGLONG *pTimeEnd) = 0; 1483 1484 }; 1485 #ifdef __CRT_UUID_DECL 1486 __CRT_UUID_DECL(IAMMediaTypeSample, 0xab6b4afb, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 1487 #endif 1488 #else 1489 typedef struct IAMMediaTypeSampleVtbl { 1490 BEGIN_INTERFACE 1491 1492 /*** IUnknown methods ***/ 1493 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1494 IAMMediaTypeSample *This, 1495 REFIID riid, 1496 void **ppvObject); 1497 1498 ULONG (STDMETHODCALLTYPE *AddRef)( 1499 IAMMediaTypeSample *This); 1500 1501 ULONG (STDMETHODCALLTYPE *Release)( 1502 IAMMediaTypeSample *This); 1503 1504 /*** IStreamSample methods ***/ 1505 HRESULT (STDMETHODCALLTYPE *GetMediaStream)( 1506 IAMMediaTypeSample *This, 1507 IMediaStream **ppMediaStream); 1508 1509 HRESULT (STDMETHODCALLTYPE *GetSampleTimes)( 1510 IAMMediaTypeSample *This, 1511 STREAM_TIME *pStartTime, 1512 STREAM_TIME *pEndTime, 1513 STREAM_TIME *pCurrentTime); 1514 1515 HRESULT (STDMETHODCALLTYPE *SetSampleTimes)( 1516 IAMMediaTypeSample *This, 1517 const STREAM_TIME *pStartTime, 1518 const STREAM_TIME *pEndTime); 1519 1520 HRESULT (STDMETHODCALLTYPE *Update)( 1521 IAMMediaTypeSample *This, 1522 DWORD dwFlags, 1523 HANDLE hEvent, 1524 PAPCFUNC pfnAPC, 1525 DWORD dwAPCData); 1526 1527 HRESULT (STDMETHODCALLTYPE *CompletionStatus)( 1528 IAMMediaTypeSample *This, 1529 DWORD dwFlags, 1530 DWORD dwMilliseconds); 1531 1532 /*** IAMMediaTypeSample methods ***/ 1533 HRESULT (STDMETHODCALLTYPE *SetPointer)( 1534 IAMMediaTypeSample *This, 1535 BYTE *pBuffer, 1536 LONG lSize); 1537 1538 HRESULT (STDMETHODCALLTYPE *GetPointer)( 1539 IAMMediaTypeSample *This, 1540 BYTE **ppBuffer); 1541 1542 LONG (STDMETHODCALLTYPE *GetSize)( 1543 IAMMediaTypeSample *This); 1544 1545 HRESULT (STDMETHODCALLTYPE *GetTime)( 1546 IAMMediaTypeSample *This, 1547 REFERENCE_TIME *pTimeStart, 1548 REFERENCE_TIME *pTimeEnd); 1549 1550 HRESULT (STDMETHODCALLTYPE *SetTime)( 1551 IAMMediaTypeSample *This, 1552 REFERENCE_TIME *pTimeStart, 1553 REFERENCE_TIME *pTimeEnd); 1554 1555 HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( 1556 IAMMediaTypeSample *This); 1557 1558 HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( 1559 IAMMediaTypeSample *This, 1560 WINBOOL bIsSyncPoint); 1561 1562 HRESULT (STDMETHODCALLTYPE *IsPreroll)( 1563 IAMMediaTypeSample *This); 1564 1565 HRESULT (STDMETHODCALLTYPE *SetPreroll)( 1566 IAMMediaTypeSample *This, 1567 WINBOOL bIsPreroll); 1568 1569 LONG (STDMETHODCALLTYPE *GetActualDataLength)( 1570 IAMMediaTypeSample *This); 1571 1572 HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( 1573 IAMMediaTypeSample *This, 1574 LONG Len); 1575 1576 HRESULT (STDMETHODCALLTYPE *GetMediaType)( 1577 IAMMediaTypeSample *This, 1578 AM_MEDIA_TYPE **ppMediaType); 1579 1580 HRESULT (STDMETHODCALLTYPE *SetMediaType)( 1581 IAMMediaTypeSample *This, 1582 AM_MEDIA_TYPE *pMediaType); 1583 1584 HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( 1585 IAMMediaTypeSample *This); 1586 1587 HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( 1588 IAMMediaTypeSample *This, 1589 WINBOOL bDiscontinuity); 1590 1591 HRESULT (STDMETHODCALLTYPE *GetMediaTime)( 1592 IAMMediaTypeSample *This, 1593 LONGLONG *pTimeStart, 1594 LONGLONG *pTimeEnd); 1595 1596 HRESULT (STDMETHODCALLTYPE *SetMediaTime)( 1597 IAMMediaTypeSample *This, 1598 LONGLONG *pTimeStart, 1599 LONGLONG *pTimeEnd); 1600 1601 END_INTERFACE 1602 } IAMMediaTypeSampleVtbl; 1603 1604 interface IAMMediaTypeSample { 1605 CONST_VTBL IAMMediaTypeSampleVtbl* lpVtbl; 1606 }; 1607 1608 #ifdef COBJMACROS 1609 #ifndef WIDL_C_INLINE_WRAPPERS 1610 /*** IUnknown methods ***/ 1611 #define IAMMediaTypeSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1612 #define IAMMediaTypeSample_AddRef(This) (This)->lpVtbl->AddRef(This) 1613 #define IAMMediaTypeSample_Release(This) (This)->lpVtbl->Release(This) 1614 /*** IStreamSample methods ***/ 1615 #define IAMMediaTypeSample_GetMediaStream(This,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,ppMediaStream) 1616 #define IAMMediaTypeSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) (This)->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) 1617 #define IAMMediaTypeSample_SetSampleTimes(This,pStartTime,pEndTime) (This)->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime) 1618 #define IAMMediaTypeSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) (This)->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) 1619 #define IAMMediaTypeSample_CompletionStatus(This,dwFlags,dwMilliseconds) (This)->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds) 1620 /*** IAMMediaTypeSample methods ***/ 1621 #define IAMMediaTypeSample_SetPointer(This,pBuffer,lSize) (This)->lpVtbl->SetPointer(This,pBuffer,lSize) 1622 #define IAMMediaTypeSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer) 1623 #define IAMMediaTypeSample_GetSize(This) (This)->lpVtbl->GetSize(This) 1624 #define IAMMediaTypeSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd) 1625 #define IAMMediaTypeSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd) 1626 #define IAMMediaTypeSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This) 1627 #define IAMMediaTypeSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint) 1628 #define IAMMediaTypeSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This) 1629 #define IAMMediaTypeSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll) 1630 #define IAMMediaTypeSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This) 1631 #define IAMMediaTypeSample_SetActualDataLength(This,Len) (This)->lpVtbl->SetActualDataLength(This,Len) 1632 #define IAMMediaTypeSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType) 1633 #define IAMMediaTypeSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType) 1634 #define IAMMediaTypeSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This) 1635 #define IAMMediaTypeSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity) 1636 #define IAMMediaTypeSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd) 1637 #define IAMMediaTypeSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd) 1638 #else 1639 /*** IUnknown methods ***/ 1640 static FORCEINLINE HRESULT IAMMediaTypeSample_QueryInterface(IAMMediaTypeSample* This,REFIID riid,void **ppvObject) { 1641 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1642 } 1643 static FORCEINLINE ULONG IAMMediaTypeSample_AddRef(IAMMediaTypeSample* This) { 1644 return This->lpVtbl->AddRef(This); 1645 } 1646 static FORCEINLINE ULONG IAMMediaTypeSample_Release(IAMMediaTypeSample* This) { 1647 return This->lpVtbl->Release(This); 1648 } 1649 /*** IStreamSample methods ***/ 1650 static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaStream(IAMMediaTypeSample* This,IMediaStream **ppMediaStream) { 1651 return This->lpVtbl->GetMediaStream(This,ppMediaStream); 1652 } 1653 static FORCEINLINE HRESULT IAMMediaTypeSample_GetSampleTimes(IAMMediaTypeSample* This,STREAM_TIME *pStartTime,STREAM_TIME *pEndTime,STREAM_TIME *pCurrentTime) { 1654 return This->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime); 1655 } 1656 static FORCEINLINE HRESULT IAMMediaTypeSample_SetSampleTimes(IAMMediaTypeSample* This,const STREAM_TIME *pStartTime,const STREAM_TIME *pEndTime) { 1657 return This->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime); 1658 } 1659 static FORCEINLINE HRESULT IAMMediaTypeSample_Update(IAMMediaTypeSample* This,DWORD dwFlags,HANDLE hEvent,PAPCFUNC pfnAPC,DWORD dwAPCData) { 1660 return This->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData); 1661 } 1662 static FORCEINLINE HRESULT IAMMediaTypeSample_CompletionStatus(IAMMediaTypeSample* This,DWORD dwFlags,DWORD dwMilliseconds) { 1663 return This->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds); 1664 } 1665 /*** IAMMediaTypeSample methods ***/ 1666 static FORCEINLINE HRESULT IAMMediaTypeSample_SetPointer(IAMMediaTypeSample* This,BYTE *pBuffer,LONG lSize) { 1667 return This->lpVtbl->SetPointer(This,pBuffer,lSize); 1668 } 1669 static FORCEINLINE HRESULT IAMMediaTypeSample_GetPointer(IAMMediaTypeSample* This,BYTE **ppBuffer) { 1670 return This->lpVtbl->GetPointer(This,ppBuffer); 1671 } 1672 static FORCEINLINE LONG IAMMediaTypeSample_GetSize(IAMMediaTypeSample* This) { 1673 return This->lpVtbl->GetSize(This); 1674 } 1675 static FORCEINLINE HRESULT IAMMediaTypeSample_GetTime(IAMMediaTypeSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 1676 return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd); 1677 } 1678 static FORCEINLINE HRESULT IAMMediaTypeSample_SetTime(IAMMediaTypeSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 1679 return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd); 1680 } 1681 static FORCEINLINE HRESULT IAMMediaTypeSample_IsSyncPoint(IAMMediaTypeSample* This) { 1682 return This->lpVtbl->IsSyncPoint(This); 1683 } 1684 static FORCEINLINE HRESULT IAMMediaTypeSample_SetSyncPoint(IAMMediaTypeSample* This,WINBOOL bIsSyncPoint) { 1685 return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint); 1686 } 1687 static FORCEINLINE HRESULT IAMMediaTypeSample_IsPreroll(IAMMediaTypeSample* This) { 1688 return This->lpVtbl->IsPreroll(This); 1689 } 1690 static FORCEINLINE HRESULT IAMMediaTypeSample_SetPreroll(IAMMediaTypeSample* This,WINBOOL bIsPreroll) { 1691 return This->lpVtbl->SetPreroll(This,bIsPreroll); 1692 } 1693 static FORCEINLINE LONG IAMMediaTypeSample_GetActualDataLength(IAMMediaTypeSample* This) { 1694 return This->lpVtbl->GetActualDataLength(This); 1695 } 1696 static FORCEINLINE HRESULT IAMMediaTypeSample_SetActualDataLength(IAMMediaTypeSample* This,LONG Len) { 1697 return This->lpVtbl->SetActualDataLength(This,Len); 1698 } 1699 static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaType(IAMMediaTypeSample* This,AM_MEDIA_TYPE **ppMediaType) { 1700 return This->lpVtbl->GetMediaType(This,ppMediaType); 1701 } 1702 static FORCEINLINE HRESULT IAMMediaTypeSample_SetMediaType(IAMMediaTypeSample* This,AM_MEDIA_TYPE *pMediaType) { 1703 return This->lpVtbl->SetMediaType(This,pMediaType); 1704 } 1705 static FORCEINLINE HRESULT IAMMediaTypeSample_IsDiscontinuity(IAMMediaTypeSample* This) { 1706 return This->lpVtbl->IsDiscontinuity(This); 1707 } 1708 static FORCEINLINE HRESULT IAMMediaTypeSample_SetDiscontinuity(IAMMediaTypeSample* This,WINBOOL bDiscontinuity) { 1709 return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity); 1710 } 1711 static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaTime(IAMMediaTypeSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 1712 return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd); 1713 } 1714 static FORCEINLINE HRESULT IAMMediaTypeSample_SetMediaTime(IAMMediaTypeSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 1715 return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd); 1716 } 1717 #endif 1718 #endif 1719 1720 #endif 1721 1722 1723 #endif /* __IAMMediaTypeSample_INTERFACE_DEFINED__ */ 1724 1725 /***************************************************************************** 1726 * AMMultiMediaStream coclass 1727 */ 1728 1729 DEFINE_GUID(CLSID_AMMultiMediaStream, 0x49c47ce5, 0x9ba4, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45); 1730 1731 #ifdef __cplusplus 1732 class DECLSPEC_UUID("49c47ce5-9ba4-11d0-8212-00c04fc32c45") AMMultiMediaStream; 1733 #ifdef __CRT_UUID_DECL 1734 __CRT_UUID_DECL(AMMultiMediaStream, 0x49c47ce5, 0x9ba4, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45) 1735 #endif 1736 #endif 1737 1738 DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); 1739 DEFINE_GUID(CLSID_AMAudioStream, 0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); 1740 DEFINE_GUID(CLSID_AMAudioData, 0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); 1741 DEFINE_GUID(CLSID_AMMediaTypeStream, 0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0x0d, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0x9d); 1742 DEFINE_GUID(CLSID_MediaStreamFilter, 0x49c47ce0, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); 1743 /* Begin additional prototypes for all interfaces */ 1744 1745 ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); 1746 unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); 1747 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); 1748 void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); 1749 1750 /* End additional prototypes */ 1751 1752 #ifdef __cplusplus 1753 } 1754 #endif 1755 1756 #endif /* __amstream_h__ */ 1757