ReactOS  0.4.10-dev-479-g13a3cf0
strmbase.h
Go to the documentation of this file.
1 /*
2  * Header file for Wine's strmbase implementation
3  *
4  * Copyright 2003 Robert Shearman
5  * Copyright 2010 Aric Stewart, CodeWeavers
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20  */
21 
22 #pragma once
23 
24 #include "wine/list.h"
25 
30 
31 /* Pin functions */
32 
33 typedef struct BasePin
34 {
43  double dRate;
44 
46 } BasePin;
47 
51 typedef HRESULT (WINAPI *BasePin_GetMediaType)(BasePin *This, int iPosition, AM_MEDIA_TYPE *amt);
52 
53 typedef struct BasePinFuncTable {
54  /* Required for Input Pins*/
56  /* Required for Output Pins*/
58  /* Required for BasePinImpl_EnumMediaTypes */
62 
63 typedef struct BaseOutputPin
64 {
65  /* inheritance C style! */
69 
72 
76 
77 typedef struct BaseOutputPinFuncTable {
79 
80  /* Required for BaseOutputPinImpl_DecideAllocator */
82  /* Required for BaseOutputPinImpl_AttemptConnection */
86 
87 typedef struct BaseInputPin
88 {
89  /* inheritance C style! */
91 
96 
98 } BaseInputPin;
99 
101 
102 typedef struct BaseInputPinFuncTable {
104  /* Optional */
107 
108 /* Base Pin */
109 HRESULT WINAPI BasePinImpl_GetMediaType(BasePin *This, int iPosition, AM_MEDIA_TYPE *pmt);
113 HRESULT WINAPI BasePinImpl_ConnectedTo(IPin * iface, IPin ** ppPin);
122 
123 /* Base Output Pin */
132 
141 
142 HRESULT WINAPI BaseOutputPin_Construct(const IPinVtbl *OutputPin_Vtbl, LONG outputpin_size, const PIN_INFO * pPinInfo, const BaseOutputPinFuncTable* pBaseOutputFuncsTable, LPCRITICAL_SECTION pCritSec, IPin ** ppPin);
144 
145 /* Base Input Pin */
148 HRESULT WINAPI BaseInputPinImpl_Connect(IPin * iface, IPin * pConnector, const AM_MEDIA_TYPE * pmt);
155 
156 HRESULT BaseInputPin_Construct(const IPinVtbl *InputPin_Vtbl, LONG inputpin_size, const PIN_INFO * pPinInfo,
157  const BaseInputPinFuncTable* pBaseInputFuncsTable,
158  LPCRITICAL_SECTION pCritSec, IMemAllocator *, IPin ** ppPin);
160 
161 typedef struct BaseFilter
162 {
166 
167  FILTER_STATE state;
170  FILTER_INFO filterInfo;
173 
175 } BaseFilter;
176 
177 typedef IPin* (WINAPI *BaseFilter_GetPin)(BaseFilter* iface, int iPosition);
180 
181 typedef struct BaseFilterFuncTable {
182  /* Required */
186 
191 HRESULT WINAPI BaseFilterImpl_GetState(IBaseFilter * iface, DWORD dwMilliSecsTimeout, FILTER_STATE *pState );
195 HRESULT WINAPI BaseFilterImpl_QueryFilterInfo(IBaseFilter * iface, FILTER_INFO *pInfo);
198 
201 
202 HRESULT WINAPI BaseFilter_Init(BaseFilter * This, const IBaseFilterVtbl *Vtbl, const CLSID *pClsid, DWORD_PTR DebugInfo, const BaseFilterFuncTable* pBaseFuncsTable);
204 
205 /* Enums */
207 
209 
210 /* Transform Filter */
211 typedef struct TransformFilter
212 {
214 
219 
222  /* IMediaSeeking and IMediaPosition are implemented by ISeekingPassThru */
225 
226 typedef HRESULT (WINAPI *TransformFilter_DecideBufferSize) (TransformFilter *iface, IMemAllocator *pAlloc, ALLOCATOR_PROPERTIES *ppropInputRequest);
227 typedef HRESULT (WINAPI *TransformFilter_StartStreaming) (TransformFilter *iface);
228 typedef HRESULT (WINAPI *TransformFilter_StopStreaming) (TransformFilter *iface);
229 typedef HRESULT (WINAPI *TransformFilter_Receive) (TransformFilter* iface, IMediaSample* pIn);
230 typedef HRESULT (WINAPI *TransformFilter_CompleteConnect) (TransformFilter *iface, PIN_DIRECTION dir, IPin *pPin);
231 typedef HRESULT (WINAPI *TransformFilter_BreakConnect) (TransformFilter *iface, PIN_DIRECTION dir);
232 typedef HRESULT (WINAPI *TransformFilter_SetMediaType) (TransformFilter *iface, PIN_DIRECTION dir, const AM_MEDIA_TYPE *pMediaType);
233 typedef HRESULT (WINAPI *TransformFilter_CheckInputType) (TransformFilter *iface, const AM_MEDIA_TYPE *pMediaType);
234 typedef HRESULT (WINAPI *TransformFilter_EndOfStream) (TransformFilter *iface);
235 typedef HRESULT (WINAPI *TransformFilter_BeginFlush) (TransformFilter *iface);
236 typedef HRESULT (WINAPI *TransformFilter_EndFlush) (TransformFilter *iface);
237 typedef HRESULT (WINAPI *TransformFilter_NewSegment) (TransformFilter *iface,
239 typedef HRESULT (WINAPI *TransformFilter_Notify) (TransformFilter *iface, IBaseFilter *sender, Quality qm);
240 
241 typedef struct TransformFilterFuncTable {
242  /* Required */
243  TransformFilter_DecideBufferSize pfnDecideBufferSize;
244  /* Optional */
245  TransformFilter_StartStreaming pfnStartStreaming;
246  TransformFilter_Receive pfnReceive;
247  TransformFilter_StopStreaming pfnStopStreaming;
248  TransformFilter_CheckInputType pfnCheckInputType;
249  TransformFilter_SetMediaType pfnSetMediaType;
250  TransformFilter_CompleteConnect pfnCompleteConnect;
251  TransformFilter_BreakConnect pfnBreakConnect;
252  TransformFilter_EndOfStream pfnEndOfStream;
253  TransformFilter_BeginFlush pfnBeginFlush;
254  TransformFilter_EndFlush pfnEndFlush;
255  TransformFilter_NewSegment pfnNewSegment;
256  TransformFilter_Notify pfnNotify;
258 
266 
267 HRESULT TransformFilter_Construct( const IBaseFilterVtbl *filterVtbl, LONG filter_size, const CLSID* pClsid, const TransformFilterFuncTable* pFuncsTable, IBaseFilter ** ppTransformFilter);
268 
269 /* Source Seeking */
273 
274 typedef struct SourceSeeking
275 {
277 
283  double dRate;
287 } SourceSeeking;
288 
289 HRESULT SourceSeeking_Init(SourceSeeking *pSeeking, const IMediaSeekingVtbl *Vtbl, SourceSeeking_ChangeStop fnChangeStop, SourceSeeking_ChangeStart fnChangeStart, SourceSeeking_ChangeRate fnChangeRate, PCRITICAL_SECTION crit_sect);
290 
301 HRESULT WINAPI SourceSeekingImpl_ConvertTimeFormat(IMediaSeeking * iface, LONGLONG * pTarget, const GUID * pTargetFormat, LONGLONG Source, const GUID * pSourceFormat);
302 HRESULT WINAPI SourceSeekingImpl_SetPositions(IMediaSeeking * iface, LONGLONG * pCurrent, DWORD dwCurrentFlags, LONGLONG * pStop, DWORD dwStopFlags);
308 
309 /* PosPassThru */
313 
314 HRESULT WINAPI CreatePosPassThru(IUnknown* pUnkOuter, BOOL bRenderer, IPin *pPin, IUnknown **ppPassThru);
315 HRESULT WINAPI PosPassThru_Construct(IUnknown* pUnkOuter, LPVOID *ppPassThru);
316 
317 /* Filter Registration */
318 
321 
322 typedef struct AMOVIESETUP_FILTER {
323  const CLSID *clsid;
324  const WCHAR *name;
329 
330 typedef IUnknown *(CALLBACK *LPFNNewCOMObject)(LPUNKNOWN pUnkOuter, HRESULT *phr);
331 typedef void (CALLBACK *LPFNInitRoutine)(BOOL bLoading, const CLSID *rclsid);
332 
333 typedef struct tagFactoryTemplate {
334  const WCHAR *m_Name;
335  const CLSID *m_ClsID;
340 
343 
344 /* Output Queue */
345 typedef struct tagOutputQueue {
347 
349 
352 
357 
358  struct list SampleList;
359 
361 } OutputQueue;
362 
364 
365 typedef struct OutputQueueFuncTable
366 {
369 
371  BOOL bQueue, LONG lBatchSize, BOOL bBatchExact, DWORD dwPriority,
372  const OutputQueueFuncTable* pFuncsTable, OutputQueue **ppOutputQueue );
374 HRESULT WINAPI OutputQueue_ReceiveMultiple(OutputQueue *pOutputQueue, IMediaSample **ppSamples, LONG nSamples, LONG *nSamplesProcessed);
376 VOID WINAPI OutputQueue_EOS(OutputQueue *pOutputQueue);
379 
380 typedef struct tagBaseWindow
381 {
391 
393 } BaseWindow;
394 
395 typedef LPWSTR (WINAPI *BaseWindow_GetClassWindowStyles)(BaseWindow *This, DWORD *pClassStyles, DWORD *pWindowStyles, DWORD *pWindowStylesEx);
399 typedef BOOL (WINAPI *BaseWindow_OnSize)(BaseWindow *This, LONG Height, LONG Width);
400 
401 typedef struct BaseWindowFuncTable
402 {
403  /* Required */
406  /* Optional, WinProc Related */
411 
412 HRESULT WINAPI BaseWindow_Init(BaseWindow *pBaseWindow, const BaseWindowFuncTable* pFuncsTable);
414 
419 BOOL WINAPI BaseWindowImpl_OnSize(BaseWindow *This, LONG Height, LONG Width);
420 
421 typedef struct{
423 } BaseDispatch;
424 
427 HRESULT WINAPI BaseDispatchImpl_GetIDsOfNames(BaseDispatch *This, REFIID riid, OLECHAR **rgszNames, UINT cNames, LCID lcid, DISPID *rgdispid);
430 
431 #ifdef __IVideoWindow_FWD_DEFINED__
432 typedef struct tagBaseControlWindow
433 {
434  BaseWindow baseWindow;
435  IVideoWindow IVideoWindow_iface;
436  BaseDispatch baseDispatch;
437 
438  BOOL AutoShow;
439  HWND hwndDrain;
440  HWND hwndOwner;
441  BaseFilter* pFilter;
442  CRITICAL_SECTION* pInterfaceLock;
443  BasePin* pPin;
444 } BaseControlWindow;
445 
446 HRESULT WINAPI BaseControlWindow_Init(BaseControlWindow *pControlWindow, const IVideoWindowVtbl *lpVtbl, BaseFilter *owner, CRITICAL_SECTION *lock, BasePin* pPin, const BaseWindowFuncTable* pFuncsTable);
447 HRESULT WINAPI BaseControlWindow_Destroy(BaseControlWindow *pControlWindow);
448 
450 HRESULT WINAPI BaseControlWindowImpl_GetTypeInfoCount(IVideoWindow *iface, UINT*pctinfo);
451 HRESULT WINAPI BaseControlWindowImpl_GetTypeInfo(IVideoWindow *iface, UINT iTInfo, LCID lcid, ITypeInfo**ppTInfo);
452 HRESULT WINAPI BaseControlWindowImpl_GetIDsOfNames(IVideoWindow *iface, REFIID riid, LPOLESTR*rgszNames, UINT cNames, LCID lcid, DISPID*rgDispId);
453 HRESULT WINAPI BaseControlWindowImpl_Invoke(IVideoWindow *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS*pDispParams, VARIANT*pVarResult, EXCEPINFO*pExepInfo, UINT*puArgErr);
454 HRESULT WINAPI BaseControlWindowImpl_put_Caption(IVideoWindow *iface, BSTR strCaption);
455 HRESULT WINAPI BaseControlWindowImpl_get_Caption(IVideoWindow *iface, BSTR *strCaption);
456 HRESULT WINAPI BaseControlWindowImpl_put_WindowStyle(IVideoWindow *iface, LONG WindowStyle);
457 HRESULT WINAPI BaseControlWindowImpl_get_WindowStyle(IVideoWindow *iface, LONG *WindowStyle);
458 HRESULT WINAPI BaseControlWindowImpl_put_WindowStyleEx(IVideoWindow *iface, LONG WindowStyleEx);
459 HRESULT WINAPI BaseControlWindowImpl_get_WindowStyleEx(IVideoWindow *iface, LONG *WindowStyleEx);
460 HRESULT WINAPI BaseControlWindowImpl_put_AutoShow(IVideoWindow *iface, LONG AutoShow);
461 HRESULT WINAPI BaseControlWindowImpl_get_AutoShow(IVideoWindow *iface, LONG *AutoShow);
462 HRESULT WINAPI BaseControlWindowImpl_put_WindowState(IVideoWindow *iface, LONG WindowState);
463 HRESULT WINAPI BaseControlWindowImpl_get_WindowState(IVideoWindow *iface, LONG *WindowState);
464 HRESULT WINAPI BaseControlWindowImpl_put_BackgroundPalette(IVideoWindow *iface, LONG BackgroundPalette);
465 HRESULT WINAPI BaseControlWindowImpl_get_BackgroundPalette(IVideoWindow *iface, LONG *pBackgroundPalette);
466 HRESULT WINAPI BaseControlWindowImpl_put_Visible(IVideoWindow *iface, LONG Visible);
467 HRESULT WINAPI BaseControlWindowImpl_get_Visible(IVideoWindow *iface, LONG *pVisible);
468 HRESULT WINAPI BaseControlWindowImpl_put_Left(IVideoWindow *iface, LONG Left);
469 HRESULT WINAPI BaseControlWindowImpl_get_Left(IVideoWindow *iface, LONG *pLeft);
470 HRESULT WINAPI BaseControlWindowImpl_put_Width(IVideoWindow *iface, LONG Width);
471 HRESULT WINAPI BaseControlWindowImpl_get_Width(IVideoWindow *iface, LONG *pWidth);
472 HRESULT WINAPI BaseControlWindowImpl_put_Top(IVideoWindow *iface, LONG Top);
473 HRESULT WINAPI BaseControlWindowImpl_get_Top(IVideoWindow *iface, LONG *pTop);
474 
475 HRESULT WINAPI BaseControlWindowImpl_put_Height(IVideoWindow *iface, LONG Height);
476 HRESULT WINAPI BaseControlWindowImpl_get_Height(IVideoWindow *iface, LONG *pHeight);
479 HRESULT WINAPI BaseControlWindowImpl_put_MessageDrain(IVideoWindow *iface, OAHWND Drain);
480 HRESULT WINAPI BaseControlWindowImpl_get_MessageDrain(IVideoWindow *iface, OAHWND *Drain);
483 HRESULT WINAPI BaseControlWindowImpl_get_FullScreenMode(IVideoWindow *iface, LONG *FullScreenMode);
484 HRESULT WINAPI BaseControlWindowImpl_put_FullScreenMode(IVideoWindow *iface, LONG FullScreenMode);
486 HRESULT WINAPI BaseControlWindowImpl_SetWindowPosition(IVideoWindow *iface, LONG Left, LONG Top, LONG Width, LONG Height);
487 HRESULT WINAPI BaseControlWindowImpl_GetWindowPosition(IVideoWindow *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight);
489 HRESULT WINAPI BaseControlWindowImpl_GetMinIdealImageSize(IVideoWindow *iface, LONG *pWidth, LONG *pHeight);
490 HRESULT WINAPI BaseControlWindowImpl_GetMaxIdealImageSize(IVideoWindow *iface, LONG *pWidth, LONG *pHeight);
491 HRESULT WINAPI BaseControlWindowImpl_GetRestorePosition(IVideoWindow *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight);
493 HRESULT WINAPI BaseControlWindowImpl_IsCursorHidden(IVideoWindow *iface, LONG *CursorHidden);
494 #endif
495 
496 #ifdef __IBasicVideo_FWD_DEFINED__
497 #ifdef __amvideo_h__
498 typedef struct tagBaseControlVideo
499 {
500  IBasicVideo IBasicVideo_iface;
501  BaseDispatch baseDispatch;
502 
503  BaseFilter* pFilter;
504  CRITICAL_SECTION* pInterfaceLock;
505  BasePin* pPin;
506 
507  const struct BaseControlVideoFuncTable* pFuncsTable;
508 } BaseControlVideo;
509 
510 typedef HRESULT (WINAPI *BaseControlVideo_GetSourceRect)(BaseControlVideo* This, RECT *pSourceRect);
511 typedef HRESULT (WINAPI *BaseControlVideo_GetStaticImage)(BaseControlVideo* This, LONG *pBufferSize, LONG *pDIBImage);
512 typedef HRESULT (WINAPI *BaseControlVideo_GetTargetRect)(BaseControlVideo* This, RECT *pTargetRect);
513 typedef VIDEOINFOHEADER* (WINAPI *BaseControlVideo_GetVideoFormat)(BaseControlVideo* This);
514 typedef HRESULT (WINAPI *BaseControlVideo_IsDefaultSourceRect)(BaseControlVideo* This);
515 typedef HRESULT (WINAPI *BaseControlVideo_IsDefaultTargetRect)(BaseControlVideo* This);
516 typedef HRESULT (WINAPI *BaseControlVideo_SetDefaultSourceRect)(BaseControlVideo* This);
517 typedef HRESULT (WINAPI *BaseControlVideo_SetDefaultTargetRect)(BaseControlVideo* This);
518 typedef HRESULT (WINAPI *BaseControlVideo_SetSourceRect)(BaseControlVideo* This, RECT *pSourceRect);
519 typedef HRESULT (WINAPI *BaseControlVideo_SetTargetRect)(BaseControlVideo* This, RECT *pTargetRect);
520 
521 typedef struct BaseControlVideoFuncTable {
522  /* Required */
523  BaseControlVideo_GetSourceRect pfnGetSourceRect;
524  BaseControlVideo_GetStaticImage pfnGetStaticImage;
525  BaseControlVideo_GetTargetRect pfnGetTargetRect;
526  BaseControlVideo_GetVideoFormat pfnGetVideoFormat;
527  BaseControlVideo_IsDefaultSourceRect pfnIsDefaultSourceRect;
528  BaseControlVideo_IsDefaultTargetRect pfnIsDefaultTargetRect;
529  BaseControlVideo_SetDefaultSourceRect pfnSetDefaultSourceRect;
530  BaseControlVideo_SetDefaultTargetRect pfnSetDefaultTargetRect;
531  BaseControlVideo_SetSourceRect pfnSetSourceRect;
532  BaseControlVideo_SetTargetRect pfnSetTargetRect;
533 } BaseControlVideoFuncTable;
534 
535 HRESULT WINAPI BaseControlVideo_Init(BaseControlVideo *pControlVideo, const IBasicVideoVtbl *lpVtbl, BaseFilter *owner, CRITICAL_SECTION *lock, BasePin* pPin, const BaseControlVideoFuncTable* pFuncsTable);
536 HRESULT WINAPI BaseControlVideo_Destroy(BaseControlVideo *pControlVideo);
537 
538 HRESULT WINAPI BaseControlVideoImpl_GetTypeInfoCount(IBasicVideo *iface, UINT*pctinfo);
539 HRESULT WINAPI BaseControlVideoImpl_GetTypeInfo(IBasicVideo *iface, UINT iTInfo, LCID lcid, ITypeInfo**ppTInfo);
540 HRESULT WINAPI BaseControlVideoImpl_GetIDsOfNames(IBasicVideo *iface, REFIID riid, LPOLESTR*rgszNames, UINT cNames, LCID lcid, DISPID*rgDispId);
541 HRESULT WINAPI BaseControlVideoImpl_Invoke(IBasicVideo *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS*pDispParams, VARIANT*pVarResult, EXCEPINFO*pExepInfo, UINT*puArgErr);
542 HRESULT WINAPI BaseControlVideoImpl_get_AvgTimePerFrame(IBasicVideo *iface, REFTIME *pAvgTimePerFrame);
543 HRESULT WINAPI BaseControlVideoImpl_get_BitRate(IBasicVideo *iface, LONG *pBitRate);
544 HRESULT WINAPI BaseControlVideoImpl_get_BitErrorRate(IBasicVideo *iface, LONG *pBitErrorRate);
545 HRESULT WINAPI BaseControlVideoImpl_get_VideoWidth(IBasicVideo *iface, LONG *pVideoWidth);
546 HRESULT WINAPI BaseControlVideoImpl_get_VideoHeight(IBasicVideo *iface, LONG *pVideoHeight);
547 HRESULT WINAPI BaseControlVideoImpl_put_SourceLeft(IBasicVideo *iface, LONG SourceLeft);
548 HRESULT WINAPI BaseControlVideoImpl_get_SourceLeft(IBasicVideo *iface, LONG *pSourceLeft);
549 HRESULT WINAPI BaseControlVideoImpl_put_SourceWidth(IBasicVideo *iface, LONG SourceWidth);
550 HRESULT WINAPI BaseControlVideoImpl_get_SourceWidth(IBasicVideo *iface, LONG *pSourceWidth);
551 HRESULT WINAPI BaseControlVideoImpl_put_SourceTop(IBasicVideo *iface, LONG SourceTop);
552 HRESULT WINAPI BaseControlVideoImpl_get_SourceTop(IBasicVideo *iface, LONG *pSourceTop);
553 HRESULT WINAPI BaseControlVideoImpl_put_SourceHeight(IBasicVideo *iface, LONG SourceHeight);
554 HRESULT WINAPI BaseControlVideoImpl_get_SourceHeight(IBasicVideo *iface, LONG *pSourceHeight);
555 HRESULT WINAPI BaseControlVideoImpl_put_DestinationLeft(IBasicVideo *iface, LONG DestinationLeft);
556 HRESULT WINAPI BaseControlVideoImpl_get_DestinationLeft(IBasicVideo *iface, LONG *pDestinationLeft);
557 HRESULT WINAPI BaseControlVideoImpl_put_DestinationWidth(IBasicVideo *iface, LONG DestinationWidth);
558 HRESULT WINAPI BaseControlVideoImpl_get_DestinationWidth(IBasicVideo *iface, LONG *pDestinationWidth);
559 HRESULT WINAPI BaseControlVideoImpl_put_DestinationTop(IBasicVideo *iface, LONG DestinationTop);
560 HRESULT WINAPI BaseControlVideoImpl_get_DestinationTop(IBasicVideo *iface, LONG *pDestinationTop);
561 HRESULT WINAPI BaseControlVideoImpl_put_DestinationHeight(IBasicVideo *iface, LONG DestinationHeight);
562 HRESULT WINAPI BaseControlVideoImpl_get_DestinationHeight(IBasicVideo *iface, LONG *pDestinationHeight);
563 HRESULT WINAPI BaseControlVideoImpl_SetSourcePosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height);
564 HRESULT WINAPI BaseControlVideoImpl_GetSourcePosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight);
566 HRESULT WINAPI BaseControlVideoImpl_SetDestinationPosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height);
567 HRESULT WINAPI BaseControlVideoImpl_GetDestinationPosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight);
569 HRESULT WINAPI BaseControlVideoImpl_GetVideoSize(IBasicVideo *iface, LONG *pWidth, LONG *pHeight);
570 HRESULT WINAPI BaseControlVideoImpl_GetVideoPaletteEntries(IBasicVideo *iface, LONG StartIndex, LONG Entries, LONG *pRetrieved, LONG *pPalette);
571 HRESULT WINAPI BaseControlVideoImpl_GetCurrentImage(IBasicVideo *iface, LONG *pBufferSize, LONG *pDIBImage);
574 #endif
575 #endif
576 
577 /* BaseRenderer Filter */
578 typedef struct BaseRendererTag
579 {
581 
589 
592 
594 } BaseRenderer;
595 
609 typedef HRESULT (WINAPI *BaseRenderer_BeginFlush) (BaseRenderer *This);
610 typedef HRESULT (WINAPI *BaseRenderer_EndFlush) (BaseRenderer *This);
611 typedef HRESULT (WINAPI *BaseRenderer_BreakConnect) (BaseRenderer *This);
612 typedef HRESULT (WINAPI *BaseRenderer_CompleteConnect) (BaseRenderer *This, IPin *pReceivePin);
613 
614 typedef struct BaseRendererFuncTable {
615  /* Required */
618  /* Optional, Data Handlers */
629  /* Optional, Input Pin */
630  BaseRenderer_CompleteConnect pfnCompleteConnect;
631  BaseRenderer_BreakConnect pfnBreakConnect;
633  BaseRenderer_BeginFlush pfnBeginFlush;
634  BaseRenderer_EndFlush pfnEndFlush;
636 
645 HRESULT WINAPI BaseRendererImpl_GetState(IBaseFilter * iface, DWORD dwMilliSecsTimeout, FILTER_STATE *pState);
650 
651 HRESULT WINAPI BaseRenderer_Init(BaseRenderer *This, const IBaseFilterVtbl *Vtbl, IUnknown *pUnkOuter, const CLSID *pClsid, DWORD_PTR DebugInfo, const BaseRendererFuncTable* pBaseFuncsTable);
652 
653 #ifdef __IBasicAudio_FWD_DEFINED__
654 typedef struct tagBasicAudio
655 {
656  IBasicAudio IBasicAudio_iface;
657  BaseDispatch baseDispatch;
658 } BasicAudio;
659 
660 HRESULT WINAPI BasicAudio_Init(BasicAudio *This, const IBasicAudioVtbl *Vtbl);
661 HRESULT WINAPI BasicAudio_Destroy(BasicAudio *pBasicAudio);
662 
663 HRESULT WINAPI BasicAudioImpl_GetTypeInfoCount(IBasicAudio *iface, UINT*pctinfo);
664 HRESULT WINAPI BasicAudioImpl_GetTypeInfo(IBasicAudio *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
665 HRESULT WINAPI BasicAudioImpl_GetIDsOfNames(IBasicAudio *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
666 HRESULT WINAPI BasicAudioImpl_Invoke(IBasicAudio *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExepInfo, UINT *puArgErr);
667 #endif
668 
669 /* Dll Functions */
670 BOOL WINAPI STRMBASE_DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv);
HRESULT WINAPI BaseOutputPinImpl_GetDeliveryBuffer(BaseOutputPin *This, IMediaSample **ppSample, REFERENCE_TIME *tStart, REFERENCE_TIME *tStop, DWORD dwFlags)
Definition: pin.c:554
HRESULT WINAPI SourceSeekingImpl_GetTimeFormat(IMediaSeeking *iface, GUID *pFormat)
Definition: seeking.c:110
HRESULT WINAPI BasicAudioImpl_GetTypeInfoCount(IBasicAudio *iface, UINT *pctinfo)
Definition: audio.c:49
HRESULT WINAPI BaseControlVideoImpl_get_BitErrorRate(IBasicVideo *iface, LONG *pBitErrorRate)
Definition: video.c:154
HRESULT WINAPI BaseControlVideoImpl_put_SourceHeight(IBasicVideo *iface, LONG SourceHeight)
Definition: video.c:302
HRESULT WINAPI BaseControlWindowImpl_NotifyOwnerMessage(IVideoWindow *iface, OAHWND hwnd, LONG uMsg, LONG_PTR wParam, LONG_PTR lParam)
Definition: window.c:673
HRESULT WINAPI BaseControlVideoImpl_get_DestinationTop(IBasicVideo *iface, LONG *pDestinationTop)
Definition: video.c:423
AM_MEDIA_TYPE pmt
Definition: strmbase.h:217
HRESULT WINAPI BaseRendererImpl_SetSyncSource(IBaseFilter *iface, IReferenceClock *clock)
Definition: renderer.c:537
HRESULT WINAPI BaseControlVideoImpl_GetTypeInfo(IBasicVideo *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: video.c:90
WCHAR OLECHAR
Definition: compat.h:1926
FILTER_INFO filterInfo
Definition: strmbase.h:170
IPin *(WINAPI * BaseFilter_GetPin)(BaseFilter *iface, int iPosition)
Definition: strmbase.h:177
#define HDC
Definition: msvc.h:22
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
const struct BaseInputPinFuncTable * pFuncsTable
Definition: strmbase.h:97
IMemInputPin IMemInputPin_iface
Definition: strmbase.h:92
HRESULT WINAPI BaseControlVideoImpl_get_SourceLeft(IBasicVideo *iface, LONG *pSourceLeft)
Definition: video.c:221
HRESULT WINAPI BaseControlVideo_Init(BaseControlVideo *pControlVideo, const IBasicVideoVtbl *lpVtbl, BaseFilter *owner, CRITICAL_SECTION *lock, BasePin *pPin, const BaseControlVideoFuncTable *pFuncsTable)
Definition: video.c:38
HRESULT WINAPI BaseControlVideoImpl_get_AvgTimePerFrame(IBasicVideo *iface, REFTIME *pAvgTimePerFrame)
Definition: video.c:120
const WCHAR * name
Definition: strmbase.h:324
SourceSeeking_ChangeStart fnChangeStart
Definition: strmbase.h:280
LPWSTR(WINAPI * BaseWindow_GetClassWindowStyles)(BaseWindow *This, DWORD *pClassStyles, DWORD *pWindowStyles, DWORD *pWindowStylesEx)
Definition: strmbase.h:395
HRESULT WINAPI BasePinImpl_GetMediaType(BasePin *This, int iPosition, AM_MEDIA_TYPE *pmt)
Definition: pin.c:175
BaseRenderer_DoRenderSample pfnDoRenderSample
Definition: strmbase.h:617
unsigned short WORD
Definition: ntddk_ex.h:93
HRESULT WINAPI BasicAudio_Init(BasicAudio *pBasicAudio, const IBasicAudioVtbl *lpVtbl)
Definition: audio.c:36
CRITICAL_SECTION csReceive
Definition: strmbase.h:218
HRESULT WINAPI BaseFilterImpl_SetSyncSource(IBaseFilter *iface, IReferenceClock *pClock)
Definition: filter.c:101
#define REFIID
Definition: guiddef.h:113
HRESULT WINAPI SourceSeekingImpl_GetRate(IMediaSeeking *iface, double *dRate)
Definition: seeking.c:305
HRESULT WINAPI BaseControlWindowImpl_Invoke(IVideoWindow *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExepInfo, UINT *puArgErr)
Definition: window.c:250
HRESULT WINAPI SourceSeekingImpl_SetPositions(IMediaSeeking *iface, LONGLONG *pCurrent, DWORD dwCurrentFlags, LONGLONG *pStop, DWORD dwStopFlags)
Definition: seeking.c:218
HRESULT WINAPI BaseControlVideoImpl_get_DestinationHeight(IBasicVideo *iface, LONG *pDestinationHeight)
Definition: video.c:456
void HideCursor(void)
Definition: hardware.c:566
LONG refCount
Definition: strmbase.h:36
DWORD dwCapabilities
Definition: strmbase.h:282
LPCRITICAL_SECTION pCritSec
Definition: strmbase.h:37
HRESULT WINAPI BaseInputPinImpl_QueryInterface(IPin *iface, REFIID riid, LPVOID *ppv)
Definition: pin.c:838
IMediaSample * pMediaSample
Definition: strmbase.h:588
HRESULT WINAPI BaseControlWindowImpl_HideCursor(IVideoWindow *iface, LONG HideCursor)
Definition: window.c:722
#define LRESULT
Definition: msvc.h:49
HRESULT WINAPI AMovieSetupRegisterFilter2(const AMOVIESETUP_FILTER *pFilter, IFilterMapper2 *pIFM2, BOOL bRegister)
Definition: dllfunc.c:134
const AMOVIESETUP_PIN * pPin
Definition: strmbase.h:327
struct QualityControlImpl * qcimpl
Definition: strmbase.h:221
rwlock_t lock
Definition: tcpcore.h:1163
HANDLE evComplete
Definition: strmbase.h:585
HRESULT(WINAPI * BasePin_AttemptConnection)(BasePin *This, IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
Definition: strmbase.h:49
const WCHAR * m_Name
Definition: strmbase.h:334
HANDLE RenderEvent
Definition: strmbase.h:587
HRESULT WINAPI SourceSeekingImpl_SetRate(IMediaSeeking *iface, double dRate)
Definition: seeking.c:282
DWORD ClassStyles
Definition: strmbase.h:387
DWORD WindowStylesEx
Definition: strmbase.h:389
HRESULT WINAPI TransformFilterImpl_Notify(TransformFilter *iface, IBaseFilter *sender, Quality qm)
Definition: transform.c:425
HRESULT WINAPI BaseControlWindowImpl_get_Left(IVideoWindow *iface, LONG *pLeft)
Definition: window.c:440
HRESULT WINAPI BaseControlWindowImpl_get_Caption(IVideoWindow *iface, BSTR *strCaption)
Definition: window.c:278
struct BaseRendererFuncTable BaseRendererFuncTable
BaseRenderer_OnWaitStart pfnOnWaitStart
Definition: strmbase.h:625
BasePinFuncTable base
Definition: strmbase.h:103
BaseOutputPin_BreakConnect pfnBreakConnect
Definition: strmbase.h:84
REFERENCE_TIME rtStreamStart
Definition: strmbase.h:168
BasePin_GetMediaType pfnGetMediaType
Definition: strmbase.h:60
REFERENCE_TIME REFERENCE_TIME double dRate
Definition: strmbase.h:238
__wchar_t WCHAR
Definition: xmlstorage.h:180
REFIID riid
Definition: precomp.h:44
HRESULT WINAPI SourceSeekingImpl_CheckCapabilities(IMediaSeeking *iface, DWORD *pCapabilities)
Definition: seeking.c:74
IMediaSample * pIn
Definition: strmbase.h:229
LONGLONG llStop
Definition: strmbase.h:284
struct AMOVIESETUP_FILTER * LPAMOVIESETUP_FILTER
HRESULT WINAPI BaseRendererImpl_Receive(BaseRenderer *This, IMediaSample *pSample)
Definition: renderer.c:329
HRESULT WINAPI BaseFilterImpl_GetState(IBaseFilter *iface, DWORD dwMilliSecsTimeout, FILTER_STATE *pState)
Definition: filter.c:87
#define REFCLSID
Definition: guiddef.h:112
HRESULT WINAPI BaseRendererImpl_GetState(IBaseFilter *iface, DWORD dwMilliSecsTimeout, FILTER_STATE *pState)
Definition: renderer.c:550
IPin IPin_iface
Definition: strmbase.h:35
HRESULT WINAPI TransformFilterImpl_FindPin(IBaseFilter *iface, LPCWSTR Id, IPin **ppPin)
Definition: transform.c:432
HRESULT WINAPI BaseControlWindowImpl_put_AutoShow(IVideoWindow *iface, LONG AutoShow)
Definition: window.c:342
const struct BaseOutputPinFuncTable * pFuncsTable
Definition: strmbase.h:70
REFERENCE_TIME tStart
Definition: strmbase.h:238
HRESULT WINAPI BaseControlVideoImpl_put_SourceWidth(IBasicVideo *iface, LONG SourceWidth)
Definition: video.c:235
HRESULT WINAPI BaseInputPinImpl_Connect(IPin *iface, IPin *pConnector, const AM_MEDIA_TYPE *pmt)
Definition: pin.c:881
void WINAPI DeleteMediaType(AM_MEDIA_TYPE *pMediaType)
Definition: mediatype.c:77
BOOL WINAPI BaseWindowImpl_OnSize(BaseWindow *This, LONG Height, LONG Width)
Definition: window.c:73
HRESULT WINAPI BaseInputPinImpl_EndFlush(IPin *iface)
Definition: pin.c:988
const struct BaseFilterFuncTable * pFuncsTable
Definition: strmbase.h:174
HRESULT WINAPI BaseControlVideoImpl_get_DestinationLeft(IBasicVideo *iface, LONG *pDestinationLeft)
Definition: video.c:356
HRESULT WINAPI OutputQueue_Destroy(OutputQueue *pOutputQueue)
Definition: outputqueue.c:114
REGPINTYPES AMOVIESETUP_MEDIATYPE
Definition: strmbase.h:319
#define CALLBACK
Definition: compat.h:27
HRESULT WINAPI BaseOutputPinImpl_Active(BaseOutputPin *This)
Definition: pin.c:614
HRESULT WINAPI BaseControlVideoImpl_GetIDsOfNames(IBasicVideo *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: video.c:97
REFIID LPVOID * ppv
Definition: atlbase.h:39
UINT uMsg
Definition: precomp.h:45
VOID WINAPI BaseFilterImpl_IncrementPinVersion(BaseFilter *This)
Definition: filter.c:190
HRESULT WINAPI BaseDispatch_Init(BaseDispatch *This, REFIID riid)
Definition: dispatch.c:30
_Must_inspect_result_ _In_ ULONG _Out_writes_bytes_ pBufferSize PVOID _Inout_ PULONG pBufferSize
Definition: fsrtlfuncs.h:1164
HANDLE HWND
Definition: compat.h:13
HRESULT WINAPI BaseInputPin_Destroy(BaseInputPin *This)
Definition: pin.c:1221
DWORD WindowStyles
Definition: strmbase.h:388
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
HRESULT WINAPI BaseControlWindowImpl_get_BackgroundPalette(IVideoWindow *iface, LONG *pBackgroundPalette)
Definition: window.c:395
HRESULT WINAPI BaseControlVideoImpl_get_DestinationWidth(IBasicVideo *iface, LONG *pDestinationWidth)
Definition: video.c:389
HRESULT WINAPI BaseOutputPinImpl_EndOfStream(IPin *iface)
Definition: pin.c:527
HRESULT WINAPI BaseControlWindowImpl_GetMinIdealImageSize(IVideoWindow *iface, LONG *pWidth, LONG *pHeight)
Definition: window.c:685
LONG(WINAPI * BaseFilter_GetPinCount)(BaseFilter *iface)
Definition: strmbase.h:178
HRESULT WINAPI BaseControlVideoImpl_Invoke(IBasicVideo *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExepInfo, UINT *puArgErr)
Definition: video.c:104
VOID(WINAPI * BaseRenderer_OnReceiveFirstSample)(BaseRenderer *This, IMediaSample *pMediaSample)
Definition: strmbase.h:598
BasePin pin
Definition: strmbase.h:90
struct BaseOutputPin BaseOutputPin
IUnknown * pPosition
Definition: strmbase.h:583
HRESULT WINAPI BaseControlWindowImpl_put_WindowState(IVideoWindow *iface, LONG WindowState)
Definition: window.c:364
struct tagFactoryTemplate FactoryTemplate
HRESULT WINAPI TransformFilterImpl_Run(IBaseFilter *iface, REFERENCE_TIME tStart)
Definition: transform.c:396
DWORD LCID
Definition: nls.h:13
OLECHAR * BSTR
Definition: compat.h:1927
BOOL bBatchExact
Definition: strmbase.h:354
IMediaSeeking IMediaSeeking_iface
Definition: strmbase.h:276
BaseWindow_PossiblyEatMessage pfnPossiblyEatMessage
Definition: strmbase.h:408
HRESULT WINAPI BaseControlWindowImpl_GetTypeInfoCount(IVideoWindow *iface, UINT *pctinfo)
Definition: window.c:229
BaseRenderer_OnStopStreaming pfnOnStopStreaming
Definition: strmbase.h:623
VOID WINAPI OutputQueue_SendAnyway(OutputQueue *pOutputQueue)
Definition: outputqueue.c:179
HRESULT WINAPI BaseControlWindowImpl_GetIDsOfNames(IVideoWindow *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: window.c:243
struct BaseWindowFuncTable BaseWindowFuncTable
HRESULT WINAPI BaseControlVideoImpl_put_DestinationHeight(IBasicVideo *iface, LONG DestinationHeight)
Definition: video.c:437
static LPOLESTR
Definition: stg_prop.c:33
BaseWindow_OnReceiveMessage pfnOnReceiveMessage
Definition: strmbase.h:407
BaseWindow_GetDefaultRect pfnGetDefaultRect
Definition: strmbase.h:405
BasePin_AttemptConnection pfnAttemptConnection
Definition: strmbase.h:57
#define DWORD
Definition: msvc.h:34
int32_t INT
Definition: typedefs.h:56
HRESULT WINAPI SourceSeekingImpl_SetTimeFormat(IMediaSeeking *iface, const GUID *pFormat)
Definition: seeking.c:137
struct TransformFilterFuncTable TransformFilterFuncTable
HRESULT WINAPI BaseControlWindowImpl_put_FullScreenMode(IVideoWindow *iface, LONG FullScreenMode)
Definition: window.c:609
DWORD DWORD
Definition: winlogon.h:83
HRESULT(WINAPI * BaseRenderer_ShouldDrawSampleNow)(BaseRenderer *This, IMediaSample *pMediaSample, REFERENCE_TIME *pStartTime, REFERENCE_TIME *pEndTime)
Definition: strmbase.h:606
BaseInputPin_Receive pfnReceive
Definition: strmbase.h:105
HRESULT WINAPI BaseControlVideoImpl_GetCurrentImage(IBasicVideo *iface, LONG *pBufferSize, LONG *pDIBImage)
Definition: video.c:576
HRESULT WINAPI BaseOutputPinImpl_QueryInterface(IPin *iface, REFIID riid, LPVOID *ppv)
Definition: pin.c:363
HRESULT WINAPI BaseOutputPinImpl_BreakConnect(BaseOutputPin *This)
Definition: pin.c:654
HANDLE hThread
Definition: strmbase.h:350
struct QualityControlImpl * qcimpl
Definition: strmbase.h:591
HRESULT WINAPI BaseWindowImpl_DoneWithWindow(BaseWindow *This)
Definition: window.c:143
DWORD Id
LONG(WINAPI * BaseFilter_GetPinVersion)(BaseFilter *iface)
Definition: strmbase.h:179
UINT_PTR WPARAM
Definition: windef.h:207
REFERENCE_TIME REFERENCE_TIME tStop
Definition: strmbase.h:238
HRESULT WINAPI BaseControlVideoImpl_GetTypeInfoCount(IBasicVideo *iface, UINT *pctinfo)
Definition: video.c:83
struct tagRECT RECT
REGPINTYPES
Definition: axextend.idl:187
HRESULT WINAPI BaseControlVideoImpl_GetSourcePosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
Definition: video.c:483
FILTER_STATE state
Definition: strmbase.h:167
BaseFilter_GetPin pfnGetPin
Definition: strmbase.h:183
struct BasePinFuncTable BasePinFuncTable
void(CALLBACK * LPFNInitRoutine)(BOOL bLoading, const CLSID *rclsid)
Definition: strmbase.h:331
TransformFilter_SetMediaType pfnSetMediaType
Definition: strmbase.h:249
HRESULT WINAPI SourceSeekingImpl_GetPositions(IMediaSeeking *iface, LONGLONG *pCurrent, LONGLONG *pStop)
Definition: seeking.c:254
IUnknown *(CALLBACK * LPFNNewCOMObject)(LPUNKNOWN pUnkOuter, HRESULT *phr)
Definition: strmbase.h:330
BaseRenderer_OnRenderStart pfnOnRenderStart
Definition: strmbase.h:621
ULONG WINAPI BaseRendererImpl_Release(IBaseFilter *iface)
Definition: renderer.c:296
HRESULT WINAPI BaseControlWindowImpl_put_Width(IVideoWindow *iface, LONG Width)
Definition: window.c:453
HRESULT WINAPI BaseOutputPin_Destroy(BaseOutputPin *This)
Definition: pin.c:821
HRESULT(WINAPI * BaseOutputPin_BreakConnect)(BaseOutputPin *This)
Definition: strmbase.h:75
struct tagOutputQueue OutputQueue
HRESULT WINAPI BaseControlWindowImpl_get_WindowStyle(IVideoWindow *iface, LONG *WindowStyle)
Definition: window.c:308
VOID(WINAPI * BaseRenderer_PrepareRender)(BaseRenderer *This)
Definition: strmbase.h:605
ULONG WINAPI BaseFilterImpl_Release(IBaseFilter *iface)
Definition: filter.c:64
TransformFilter_StartStreaming pfnStartStreaming
Definition: strmbase.h:245
HRESULT WINAPI BaseControlVideoImpl_GetDestinationPosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
Definition: video.c:522
BasePin_CheckMediaType pfnCheckMediaType
Definition: strmbase.h:55
HRESULT(WINAPI * BaseRenderer_EndOfStream)(BaseRenderer *This)
Definition: strmbase.h:608
long LONG
Definition: pedump.c:60
HRESULT WINAPI BaseRendererImpl_EndFlush(BaseRenderer *iface)
Definition: renderer.c:599
HRESULT WINAPI BaseControlVideoImpl_SetDestinationPosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height)
Definition: video.c:509
TransformFilter_StopStreaming pfnStopStreaming
Definition: strmbase.h:247
LONG_PTR LPARAM
Definition: windef.h:208
HRESULT WINAPI BaseRendererImpl_FindPin(IBaseFilter *iface, LPCWSTR Id, IPin **ppPin)
Definition: renderer.c:421
HRESULT WINAPI BaseFilterImpl_GetClassID(IBaseFilter *iface, CLSID *pClsid)
Definition: filter.c:77
static LPUNKNOWN
Definition: ndr_ole.c:49
HRESULT WINAPI BaseRendererImpl_QueryInterface(IBaseFilter *iface, REFIID riid, LPVOID *ppv)
Definition: renderer.c:280
HRESULT WINAPI BaseOutputPinImpl_EndFlush(IPin *iface)
Definition: pin.c:545
HRESULT WINAPI BaseRenderer_Init(BaseRenderer *This, const IBaseFilterVtbl *Vtbl, IUnknown *pUnkOuter, const CLSID *pClsid, DWORD_PTR DebugInfo, const BaseRendererFuncTable *pBaseFuncsTable)
Definition: renderer.c:241
struct BaseOutputPinFuncTable BaseOutputPinFuncTable
DWORD WINAPI OutputQueueImpl_ThreadProc(OutputQueue *pOutputQueue)
Definition: outputqueue.c:224
HRESULT WINAPI SourceSeekingImpl_GetCurrentPosition(IMediaSeeking *iface, LONGLONG *pCurrent)
Definition: seeking.c:172
PIN_DIRECTION dir
Definition: strmbase.h:230
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:47
HRESULT WINAPI BaseControlWindowImpl_get_FullScreenMode(IVideoWindow *iface, LONG *FullScreenMode)
Definition: window.c:602
HRESULT WINAPI BaseControlWindow_Destroy(BaseControlWindow *pControlWindow)
Definition: window.c:223
HRESULT WINAPI BasePinImpl_Disconnect(IPin *iface)
Definition: pin.c:197
GUID timeformat
Definition: strmbase.h:285
VOID(WINAPI * BaseRenderer_OnStopStreaming)(BaseRenderer *This)
Definition: strmbase.h:602
VOID(WINAPI * BaseRenderer_OnWaitStart)(BaseRenderer *This)
Definition: strmbase.h:604
HRESULT WINAPI BasePinImpl_QueryAccept(IPin *iface, const AM_MEDIA_TYPE *pmt)
Definition: pin.c:311
LONG_PTR OAHWND
Definition: control.idl:31
HRESULT WINAPI RendererPosPassThru_RegisterMediaTime(IUnknown *iface, REFERENCE_TIME start)
Definition: pospass.c:601
HRESULT WINAPI BaseControlWindowImpl_get_AutoShow(IVideoWindow *iface, LONG *AutoShow)
Definition: window.c:353
HRESULT WINAPI BaseControlWindowImpl_GetRestorePosition(IVideoWindow *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
Definition: window.c:713
REFERENCE_TIME tStop
Definition: strmbase.h:42
HRESULT WINAPI BaseControlVideoImpl_SetSourcePosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height)
Definition: video.c:470
CRITICAL_SECTION csQueue
Definition: strmbase.h:346
HRESULT WINAPI STRMBASE_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
Definition: dllfunc.c:340
struct BaseInputPin BaseInputPin
HRESULT WINAPI BasePinImpl_QueryDirection(IPin *iface, PIN_DIRECTION *pPinDir)
Definition: pin.c:285
HRESULT WINAPI BaseControlWindowImpl_get_Visible(IVideoWindow *iface, LONG *pVisible)
Definition: window.c:415
const struct BasePinFuncTable * pFuncsTable
Definition: strmbase.h:45
HRESULT WINAPI BasePinImpl_ConnectedTo(IPin *iface, IPin **ppPin)
Definition: pin.c:222
BOOL bSendAnyway
Definition: strmbase.h:356
HRESULT WINAPI BasePinImpl_EnumMediaTypes(IPin *iface, IEnumMediaTypes **ppEnum)
Definition: pin.c:318
ULONG WINAPI BaseInputPinImpl_Release(IPin *iface)
Definition: pin.c:868
HRESULT WINAPI BaseFilterImpl_QueryInterface(IBaseFilter *iface, REFIID riid, LPVOID *ppv)
Definition: filter.c:37
HANDLE hProcessQueue
Definition: strmbase.h:351
BaseRenderer_BreakConnect pfnBreakConnect
Definition: strmbase.h:631
HINSTANCE hInstance
Definition: strmbase.h:385
IPin ** ppPins
Definition: strmbase.h:215
IBaseFilter * sender
Definition: strmbase.h:239
HRESULT WINAPI BaseControlVideoImpl_SetDefaultSourcePosition(IBasicVideo *iface)
Definition: video.c:501
HRESULT WINAPI BaseControlVideoImpl_IsUsingDefaultSource(IBasicVideo *iface)
Definition: video.c:585
HRESULT BaseInputPin_Construct(const IPinVtbl *InputPin_Vtbl, LONG inputpin_size, const PIN_INFO *pPinInfo, const BaseInputPinFuncTable *pBaseInputFuncsTable, LPCRITICAL_SECTION pCritSec, IMemAllocator *, IPin **ppPin)
Definition: pin.c:1189
HRESULT WINAPI BaseRendererImpl_Pause(IBaseFilter *iface)
Definition: renderer.c:506
HRESULT WINAPI BaseWindow_Init(BaseWindow *pBaseWindow, const BaseWindowFuncTable *pFuncsTable)
Definition: window.c:80
HRESULT WINAPI BaseDispatchImpl_GetIDsOfNames(BaseDispatch *This, REFIID riid, OLECHAR **rgszNames, UINT cNames, LCID lcid, DISPID *rgdispid)
Definition: dispatch.c:52
HRESULT WINAPI BaseOutputPinImpl_DecideAllocator(BaseOutputPin *This, IMemInputPin *pPin, IMemAllocator **pAlloc)
Definition: pin.c:683
HRESULT WINAPI BaseControlVideo_Destroy(BaseControlVideo *pControlVideo)
Definition: video.c:51
HRESULT WINAPI BaseControlWindowImpl_put_WindowStyleEx(IVideoWindow *iface, LONG WindowStyleEx)
Definition: window.c:319
HRESULT WINAPI PosPassThru_Construct(IUnknown *pUnkOuter, LPVOID *ppPassThru)
Definition: pospass.c:249
TransformFilter_EndOfStream pfnEndOfStream
Definition: strmbase.h:252
SourceSeeking_ChangeStop fnChangeStop
Definition: strmbase.h:279
HRESULT WINAPI BaseControlWindowImpl_put_Caption(IVideoWindow *iface, BSTR strCaption)
Definition: window.c:266
interface IRecycleBin5 CONST_VTBL struct IRecycleBin5Vtbl * lpVtbl
Definition: recyclebin_v5.h:73
BOOL(WINAPI * BaseWindow_OnSize)(BaseWindow *This, LONG Height, LONG Width)
Definition: strmbase.h:399
HRESULT WINAPI OutputQueue_ReceiveMultiple(OutputQueue *pOutputQueue, IMediaSample **ppSamples, LONG nSamples, LONG *nSamplesProcessed)
Definition: outputqueue.c:131
HRESULT(WINAPI * SourceSeeking_ChangeRate)(IMediaSeeking *iface)
Definition: strmbase.h:270
HRESULT WINAPI SourceSeekingImpl_GetCapabilities(IMediaSeeking *iface, DWORD *pCapabilities)
Definition: seeking.c:63
IMemAllocator * pAlloc
Definition: strmbase.h:226
int64_t LONGLONG
Definition: typedefs.h:66
struct OutputQueueFuncTable OutputQueueFuncTable
HRESULT WINAPI BaseFilter_Destroy(BaseFilter *This)
Definition: filter.c:214
BOOL end_of_stream
Definition: strmbase.h:94
HRESULT WINAPI BaseFilterImpl_QueryVendorInfo(IBaseFilter *iface, LPWSTR *pVendorInfo)
Definition: filter.c:178
static LPSTR pName
Definition: security.c:75
LPWSTR pClassName
Definition: strmbase.h:386
const struct TransformFilterFuncTable * pFuncsTable
Definition: strmbase.h:220
unsigned int BOOL
Definition: ntddk_ex.h:94
HRESULT WINAPI BasePinImpl_NewSegment(IPin *iface, REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate)
Definition: pin.c:338
BasePin_GetMediaTypeVersion pfnGetMediaTypeVersion
Definition: strmbase.h:59
BOOL flushing
Definition: strmbase.h:94
HRESULT WINAPI AMovieDllRegisterServer2(BOOL bRegister)
Definition: dllfunc.c:155
struct list SampleList
Definition: strmbase.h:358
PIN_DIRECTION const AM_MEDIA_TYPE * pMediaType
Definition: strmbase.h:232
HRESULT WINAPI BaseInputPinImpl_BeginFlush(IPin *iface)
Definition: pin.c:968
LONGLONG REFERENCE_TIME
Definition: dmusicks.h:9
HRESULT WINAPI SourceSeekingImpl_GetPreroll(IMediaSeeking *iface, LONGLONG *pPreroll)
Definition: seeking.c:319
HRESULT WINAPI BaseOutputPinImpl_BeginFlush(IPin *iface)
Definition: pin.c:536
HRESULT WINAPI SourceSeekingImpl_GetAvailable(IMediaSeeking *iface, LONGLONG *pEarliest, LONGLONG *pLatest)
Definition: seeking.c:268
HRESULT WINAPI BaseControlWindowImpl_put_BackgroundPalette(IVideoWindow *iface, LONG BackgroundPalette)
Definition: window.c:386
HRESULT WINAPI RendererPosPassThru_ResetMediaTime(IUnknown *iface)
Definition: pospass.c:611
BaseRenderer_OnWaitEnd pfnOnWaitEnd
Definition: strmbase.h:624
BaseRenderer_OnRenderEnd pfnOnRenderEnd
Definition: strmbase.h:620
BaseInputPin * pInputPin
Definition: strmbase.h:582
LONG HRESULT
Definition: typedefs.h:77
ULONG WINAPI BaseOutputPinImpl_Release(IPin *iface)
Definition: pin.c:392
UINT WPARAM wParam
Definition: precomp.h:45
TransformFilter_BreakConnect pfnBreakConnect
Definition: strmbase.h:251
HRESULT WINAPI SourceSeekingImpl_IsUsingTimeFormat(IMediaSeeking *iface, const GUID *pFormat)
Definition: seeking.c:122
BasePin pin
Definition: strmbase.h:66
REGFILTERPINS AMOVIESETUP_PIN
Definition: strmbase.h:320
RECT WINAPI BaseWindowImpl_GetDefaultRect(BaseWindow *This)
Definition: window.c:158
HRESULT WINAPI STRMBASE_DllCanUnloadNow(void)
Definition: dllfunc.c:393
REFERENCE_TIME tStart
Definition: strmbase.h:41
HRESULT SourceSeeking_Init(SourceSeeking *pSeeking, const IMediaSeekingVtbl *Vtbl, SourceSeeking_ChangeStop fnChangeStop, SourceSeeking_ChangeStart fnChangeStart, SourceSeeking_ChangeRate fnChangeRate, PCRITICAL_SECTION crit_sect)
Definition: seeking.c:40
BaseRenderer_BeginFlush pfnBeginFlush
Definition: strmbase.h:633
HRESULT WINAPI BaseWindowImpl_PrepareWindow(BaseWindow *This)
Definition: window.c:100
struct SourceSeeking SourceSeeking
IMemAllocator * preferred_allocator
Definition: strmbase.h:95
HRESULT WINAPI BaseDispatchImpl_GetTypeInfo(BaseDispatch *This, REFIID riid, UINT itinfo, LCID lcid, ITypeInfo **pptinfo)
Definition: dispatch.c:59
HRESULT WINAPI BasicAudio_Destroy(BasicAudio *pBasicAudio)
Definition: audio.c:44
RECT(WINAPI * BaseWindow_GetDefaultRect)(BaseWindow *This)
Definition: strmbase.h:396
HRESULT WINAPI BaseControlWindowImpl_GetMaxIdealImageSize(IVideoWindow *iface, LONG *pWidth, LONG *pHeight)
Definition: window.c:699
HRESULT WINAPI BaseControlWindowImpl_get_Width(IVideoWindow *iface, LONG *pWidth)
Definition: window.c:467
LONGLONG llDuration
Definition: strmbase.h:284
BaseRenderer_PrepareRender pfnPrepareRender
Definition: strmbase.h:626
HRESULT WINAPI RendererPosPassThru_EOS(IUnknown *iface)
Definition: pospass.c:620
HRESULT WINAPI BaseControlWindowImpl_GetTypeInfo(IVideoWindow *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: window.c:236
BaseWindow_OnSize pfnOnSize
Definition: strmbase.h:409
LPFNInitRoutine m_lpfnInit
Definition: strmbase.h:337
HRESULT WINAPI BaseControlVideoImpl_SetDefaultDestinationPosition(IBasicVideo *iface)
Definition: video.c:540
HRESULT WINAPI BaseControlWindowImpl_put_Owner(IVideoWindow *iface, OAHWND Owner)
Definition: window.c:530
BaseRenderer_OnStartStreaming pfnOnStartStreaming
Definition: strmbase.h:622
#define LONG
Definition: msvc.h:36
VOID(WINAPI * BaseRenderer_OnRenderStart)(BaseRenderer *This, IMediaSample *pMediaSample)
Definition: strmbase.h:600
BaseOutputPin * pInputPin
Definition: strmbase.h:348
HANDLE HINSTANCE
Definition: typedefs.h:75
HRESULT WINAPI BaseControlWindowImpl_get_BorderColor(IVideoWindow *iface, LONG *Color)
Definition: window.c:584
HRESULT WINAPI BasePinImpl_QueryPinInfo(IPin *iface, PIN_INFO *pInfo)
Definition: pin.c:273
HRESULT WINAPI OutputQueue_Receive(OutputQueue *pOutputQueue, IMediaSample *pSample)
Definition: outputqueue.c:173
HRESULT WINAPI BaseControlWindowImpl_SetWindowForeground(IVideoWindow *iface, LONG Focus)
Definition: window.c:615
IPin * pConnectedTo
Definition: strmbase.h:39
HRESULT WINAPI BaseDispatchImpl_GetTypeInfoCount(BaseDispatch *This, UINT *pctinfo)
Definition: dispatch.c:70
double dRate
Definition: strmbase.h:43
HRESULT WINAPI BaseControlWindowImpl_get_WindowState(IVideoWindow *iface, LONG *WindowState)
Definition: window.c:373
TransformFilter_Notify pfnNotify
Definition: strmbase.h:256
IBaseFilter IBaseFilter_iface
Definition: strmbase.h:163
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
HRESULT(WINAPI * SourceSeeking_ChangeStart)(IMediaSeeking *iface)
Definition: strmbase.h:271
HRESULT WINAPI BaseRendererImpl_EndOfStream(BaseRenderer *iface)
Definition: renderer.c:567
#define VOID
Definition: acefi.h:82
HRESULT WINAPI BasePinImpl_QueryId(IPin *iface, LPWSTR *Id)
Definition: pin.c:296
ULONG WINAPI TransformFilterImpl_Release(IBaseFilter *iface)
Definition: transform.c:313
CLSID clsid
Definition: strmbase.h:171
IMemAllocator * pAllocator
Definition: strmbase.h:93
HRESULT WINAPI BaseControlVideoImpl_GetVideoSize(IBasicVideo *iface, LONG *pWidth, LONG *pHeight)
Definition: video.c:548
HRESULT WINAPI BaseControlWindow_Init(BaseControlWindow *pControlWindow, const IVideoWindowVtbl *lpVtbl, BaseFilter *owner, CRITICAL_SECTION *lock, BasePin *pPin, const BaseWindowFuncTable *pFuncsTable)
Definition: window.c:204
CRITICAL_SECTION csFilter
Definition: strmbase.h:165
struct BaseFilterFuncTable BaseFilterFuncTable
HRESULT WINAPI SourceSeekingImpl_QueryPreferredFormat(IMediaSeeking *iface, GUID *pFormat)
Definition: seeking.c:102
TransformFilter_CheckInputType pfnCheckInputType
Definition: strmbase.h:248
IMemInputPin * pMemInputPin
Definition: strmbase.h:67
Definition: _list.h:228
HRESULT WINAPI BasePinImpl_QueryInternalConnections(IPin *iface, IPin **apPin, ULONG *cPin)
Definition: pin.c:329
HRESULT WINAPI BaseRendererImpl_Run(IBaseFilter *iface, REFERENCE_TIME tStart)
Definition: renderer.c:461
LONGLONG llCurrent
Definition: strmbase.h:284
CRITICAL_SECTION csRenderLock
Definition: strmbase.h:584
struct BaseFilter BaseFilter
HRESULT WINAPI BaseFilterImpl_EnumPins(IBaseFilter *iface, IEnumPins **ppEnum)
Definition: filter.c:135
VOID(WINAPI * BaseRenderer_OnWaitEnd)(BaseRenderer *This)
Definition: strmbase.h:603
BaseFilter filter
Definition: strmbase.h:580
uint32_t DWORD_PTR
Definition: typedefs.h:63
HRESULT WINAPI CopyMediaType(AM_MEDIA_TYPE *pDest, const AM_MEDIA_TYPE *pSrc)
Definition: mediatype.c:31
BaseOutputPin_DecideAllocator pfnDecideAllocator
Definition: strmbase.h:83
#define WINAPI
Definition: msvc.h:20
const struct OutputQueueFuncTable * pFuncsTable
Definition: strmbase.h:360
HRESULT WINAPI BaseOutputPinImpl_Connect(IPin *iface, IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
Definition: pin.c:405
HRESULT WINAPI BaseControlWindowImpl_get_Owner(IVideoWindow *iface, OAHWND *Owner)
Definition: window.c:551
HRESULT WINAPI BaseControlVideoImpl_get_VideoWidth(IBasicVideo *iface, LONG *pVideoWidth)
Definition: video.c:171
TransformFilter_BeginFlush pfnBeginFlush
Definition: strmbase.h:253
HRESULT WINAPI CreatePosPassThru(IUnknown *pUnkOuter, BOOL bRenderer, IPin *pPin, IUnknown **ppPassThru)
Definition: pospass.c:233
HRESULT WINAPI BaseOutputPinImpl_Inactive(BaseOutputPin *This)
Definition: pin.c:634
HRESULT WINAPI BasicAudioImpl_Invoke(IBasicAudio *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExepInfo, UINT *puArgErr)
Definition: audio.c:70
struct TransformFilter TransformFilter
const struct BaseRendererFuncTable * pFuncsTable
Definition: strmbase.h:593
HRESULT WINAPI BaseControlWindowImpl_get_Height(IVideoWindow *iface, LONG *pHeight)
Definition: window.c:519
HRESULT(WINAPI * BaseInputPin_Receive)(BaseInputPin *This, IMediaSample *pSample)
Definition: strmbase.h:100
HRESULT WINAPI EnumMediaTypes_Construct(BasePin *iface, BasePin_GetMediaType enumFunc, BasePin_GetMediaTypeVersion versionFunc, IEnumMediaTypes **ppEnum)
Definition: mediatype.c:108
HRESULT WINAPI BaseControlVideoImpl_get_VideoHeight(IBasicVideo *iface, LONG *pVideoHeight)
Definition: video.c:186
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:519
ITypeInfo * pTypeInfo
Definition: strmbase.h:422
const CLSID * m_ClsID
Definition: strmbase.h:335
IMemAllocator ALLOCATOR_PROPERTIES * ppropInputRequest
Definition: strmbase.h:226
LPFNNewCOMObject m_lpfnNew
Definition: strmbase.h:336
HRESULT WINAPI SourceSeekingImpl_GetDuration(IMediaSeeking *iface, LONGLONG *pDuration)
Definition: seeking.c:145
HRESULT WINAPI BaseRendererImpl_Stop(IBaseFilter *iface)
Definition: renderer.c:440
HRESULT WINAPI BaseOutputPinImpl_ReceiveConnection(IPin *iface, IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
Definition: pin.c:490
struct stdole::EXCEPINFO EXCEPINFO
IBaseFilter Quality qm
Definition: strmbase.h:239
HRESULT WINAPI BaseControlWindowImpl_get_WindowStyleEx(IVideoWindow *iface, LONG *WindowStyleEx)
Definition: window.c:331
static VARIANTARG static DISPID
Definition: ordinal.c:49
HRESULT TransformFilter_Construct(const IBaseFilterVtbl *filterVtbl, LONG filter_size, const CLSID *pClsid, const TransformFilterFuncTable *pFuncsTable, IBaseFilter **ppTransformFilter)
Definition: transform.c:263
DWORD *typedef HANDLE
Definition: winlogon.h:60
BaseRenderer_CompleteConnect pfnCompleteConnect
Definition: strmbase.h:630
HRESULT WINAPI BaseControlWindowImpl_get_MessageDrain(IVideoWindow *iface, OAHWND *Drain)
Definition: window.c:573
HRESULT(WINAPI * BasePin_GetMediaType)(BasePin *This, int iPosition, AM_MEDIA_TYPE *amt)
Definition: strmbase.h:51
HRESULT WINAPI BaseControlVideoImpl_put_SourceLeft(IBasicVideo *iface, LONG SourceLeft)
Definition: video.c:201
BaseRenderer_EndFlush pfnEndFlush
Definition: strmbase.h:634
HRESULT WINAPI EnumPins_Construct(BaseFilter *base, BaseFilter_GetPin receive_pin, BaseFilter_GetPinCount receive_pincount, BaseFilter_GetPinVersion receive_version, IEnumPins **ppEnum)
Definition: enumpins.c:49
LIST_ENTRY Entries[5]
Definition: ExDoubleList.c:8
TransformFilter_NewSegment pfnNewSegment
Definition: strmbase.h:255
HRESULT WINAPI BaseControlWindowImpl_get_Top(IVideoWindow *iface, LONG *pTop)
Definition: window.c:492
HRESULT WINAPI SourceSeekingImpl_GetStopPosition(IMediaSeeking *iface, LONGLONG *pStop)
Definition: seeking.c:158
HRESULT WINAPI BaseOutputPinImpl_AttemptConnection(BasePin *This, IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
Definition: pin.c:712
GLuint start
Definition: gl.h:1545
Definition: axcore.idl:91
HRESULT WINAPI BaseWindow_Destroy(BaseWindow *pBaseWindow)
Definition: window.c:91
HRESULT WINAPI BaseRendererImpl_ClearPendingSample(BaseRenderer *iface)
Definition: renderer.c:609
IMemAllocator * pAllocator
Definition: strmbase.h:68
HRESULT WINAPI TransformFilterImpl_QueryInterface(IBaseFilter *iface, REFIID riid, LPVOID *ppv)
Definition: transform.c:288
struct AMOVIESETUP_FILTER AMOVIESETUP_FILTER
struct BaseInputPinFuncTable BaseInputPinFuncTable
BaseOutputPin_DecideBufferSize pfnDecideBufferSize
Definition: strmbase.h:81
HRESULT(WINAPI * BaseOutputPin_DecideBufferSize)(BaseOutputPin *This, IMemAllocator *pAlloc, ALLOCATOR_PROPERTIES *ppropInputRequest)
Definition: strmbase.h:73
HRESULT WINAPI BaseInputPinImpl_QueryAccept(IPin *iface, const AM_MEDIA_TYPE *pmt)
Definition: pin.c:935
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
BOOL(WINAPI * BaseWindow_PossiblyEatMessage)(BaseWindow *This, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: strmbase.h:397
LONG refCount
Definition: strmbase.h:164
HANDLE ThreadSignal
Definition: strmbase.h:586
HRESULT WINAPI BasicAudioImpl_GetTypeInfo(IBasicAudio *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: audio.c:56
LONG(WINAPI * BasePin_GetMediaTypeVersion)(BasePin *This)
Definition: strmbase.h:50
UINT WPARAM LPARAM lParam
Definition: precomp.h:45
HRESULT WINAPI BaseFilterImpl_QueryFilterInfo(IBaseFilter *iface, FILTER_INFO *pInfo)
Definition: filter.c:145
TransformFilter_CompleteConnect pfnCompleteConnect
Definition: strmbase.h:250
HRESULT WINAPI BaseDispatch_Destroy(BaseDispatch *This)
Definition: dispatch.c:45
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID Owner
Definition: rtlfuncs.h:1557
HRESULT WINAPI BaseRendererImpl_BeginFlush(BaseRenderer *iface)
Definition: renderer.c:590
VOID(WINAPI * BaseRenderer_OnRenderEnd)(BaseRenderer *This, IMediaSample *pMediaSample)
Definition: strmbase.h:599
unsigned int UINT
Definition: ndis.h:50
BaseWindow_GetClassWindowStyles pfnGetClassWindowStyles
Definition: strmbase.h:404
BaseRenderer_EndOfStream pfnEndOfStream
Definition: strmbase.h:632
_Check_return_ _CRTIMP clock_t __cdecl clock(void)
Definition: clock.c:23
PIN_DIRECTION IPin * pPin
Definition: strmbase.h:230
HRESULT(WINAPI * BasePin_CheckMediaType)(BasePin *This, const AM_MEDIA_TYPE *pmt)
Definition: strmbase.h:48
HRESULT WINAPI BasicAudioImpl_GetIDsOfNames(IBasicAudio *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: audio.c:63
ULONG WINAPI BaseFilterImpl_AddRef(IBaseFilter *iface)
Definition: filter.c:54
HRESULT WINAPI BaseControlVideoImpl_get_SourceTop(IBasicVideo *iface, LONG *pSourceTop)
Definition: video.c:288
HRESULT WINAPI BaseControlWindowImpl_put_Visible(IVideoWindow *iface, LONG Visible)
Definition: window.c:404
HRESULT WINAPI BaseFilterImpl_GetSyncSource(IBaseFilter *iface, IReferenceClock **ppClock)
Definition: filter.c:119
HRESULT(WINAPI * BaseRenderer_DoRenderSample)(BaseRenderer *This, IMediaSample *pMediaSample)
Definition: strmbase.h:597
LRESULT(WINAPI * BaseWindow_OnReceiveMessage)(BaseWindow *This, HWND hwnd, INT uMsg, WPARAM wParam, LPARAM lParam)
Definition: strmbase.h:398
HRESULT WINAPI BaseControlVideoImpl_get_SourceWidth(IBasicVideo *iface, LONG *pSourceWidth)
Definition: video.c:254
enum _PinDirection PIN_DIRECTION
HRESULT(WINAPI * BaseOutputPin_DecideAllocator)(BaseOutputPin *This, IMemInputPin *pPin, IMemAllocator **pAlloc)
Definition: strmbase.h:74
PIN_INFO pinInfo
Definition: strmbase.h:38
VOID(WINAPI * BaseRenderer_OnStartStreaming)(BaseRenderer *This)
Definition: strmbase.h:601
HRESULT WINAPI BaseOutputPinImpl_Deliver(BaseOutputPin *This, IMediaSample *pSample)
Definition: pin.c:574
LONG pinVersion
Definition: strmbase.h:172
BOOL WINAPI STRMBASE_DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
Definition: dllfunc.c:217
LONG lBatchSize
Definition: strmbase.h:353
IQualityControl * pQSink
Definition: strmbase.h:590
HRESULT WINAPI BaseInputPinImpl_ReceiveConnection(IPin *iface, IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
Definition: pin.c:889
struct tagBaseWindow BaseWindow
HRESULT WINAPI TransformFilterImpl_Stop(IBaseFilter *iface)
Definition: transform.c:354
HRESULT WINAPI BaseControlWindowImpl_put_Height(IVideoWindow *iface, LONG Height)
Definition: window.c:505
HRESULT WINAPI BaseControlWindowImpl_put_WindowStyle(IVideoWindow *iface, LONG WindowStyle)
Definition: window.c:289
struct BasePin BasePin
struct stdole::DISPPARAMS DISPPARAMS
VOID WINAPI OutputQueue_EOS(OutputQueue *pOutputQueue)
Definition: outputqueue.c:193
TransformFilter_EndFlush pfnEndFlush
Definition: strmbase.h:254
HRESULT WINAPI BaseFilterImpl_JoinFilterGraph(IBaseFilter *iface, IFilterGraph *pGraph, LPCWSTR pName)
Definition: filter.c:159
HRESULT WINAPI BaseOutputPin_Construct(const IPinVtbl *OutputPin_Vtbl, LONG outputpin_size, const PIN_INFO *pPinInfo, const BaseOutputPinFuncTable *pBaseOutputFuncsTable, LPCRITICAL_SECTION pCritSec, IPin **ppPin)
Definition: pin.c:791
unsigned int ULONG
Definition: retypes.h:1
HRESULT(WINAPI * BaseRenderer_CheckMediaType)(BaseRenderer *This, const AM_MEDIA_TYPE *pmt)
Definition: strmbase.h:596
REFTIME_DEFINED typedef DOUBLE REFTIME
Definition: axcore.idl:56
BaseRenderer_ShouldDrawSampleNow pfnShouldDrawSampleNow
Definition: strmbase.h:627
double dRate
Definition: strmbase.h:283
BaseFilter_GetPinCount pfnGetPinCount
Definition: strmbase.h:184
HRESULT WINAPI BaseControlVideoImpl_put_DestinationLeft(IBasicVideo *iface, LONG DestinationLeft)
Definition: video.c:336
IReferenceClock * pClock
Definition: strmbase.h:169
DWORD(WINAPI * OutputQueue_ThreadProc)(OutputQueue *This)
Definition: strmbase.h:363
typedef HRESULT(WINAPI *TransformFilter_DecideBufferSize)(TransformFilter *iface
HRESULT WINAPI BaseFilter_Init(BaseFilter *This, const IBaseFilterVtbl *Vtbl, const CLSID *pClsid, DWORD_PTR DebugInfo, const BaseFilterFuncTable *pBaseFuncsTable)
Definition: filter.c:196
HRESULT WINAPI BaseControlVideoImpl_IsUsingDefaultDestination(IBasicVideo *iface)
Definition: video.c:592
BaseRenderer_OnReceiveFirstSample pfnOnReceiveFirstSample
Definition: strmbase.h:619
const struct BaseWindowFuncTable * pFuncsTable
Definition: strmbase.h:392
ULONG WINAPI BasePinImpl_AddRef(IPin *iface)
Definition: pin.c:187
HRESULT WINAPI BaseControlVideoImpl_put_DestinationWidth(IBasicVideo *iface, LONG DestinationWidth)
Definition: video.c:370
HRESULT WINAPI BaseControlWindowImpl_put_BorderColor(IVideoWindow *iface, LONG Color)
Definition: window.c:593
HRESULT WINAPI SourceSeekingImpl_IsFormatSupported(IMediaSeeking *iface, const GUID *pFormat)
Definition: seeking.c:95
BasePinFuncTable base
Definition: strmbase.h:78
HRESULT WINAPI BaseInputPinImpl_NewSegment(IPin *iface, REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate)
Definition: pin.c:1015
SourceSeeking_ChangeRate fnChangeRate
Definition: strmbase.h:281
IUnknown * seekthru_unk
Definition: strmbase.h:223
HRESULT WINAPI BaseOutputPinImpl_InitAllocator(BaseOutputPin *This, IMemAllocator **pMemAlloc)
Definition: pin.c:678
HRESULT WINAPI BasePinImpl_ConnectionMediaType(IPin *iface, AM_MEDIA_TYPE *pmt)
Definition: pin.c:248
HRESULT WINAPI BaseControlWindowImpl_SetWindowPosition(IVideoWindow *iface, LONG Left, LONG Top, LONG Width, LONG Height)
Definition: window.c:642
BOOL WINAPI BaseControlWindowImpl_PossiblyEatMessage(BaseWindow *This, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: window.c:164
LONG_PTR LRESULT
Definition: windef.h:209
PCRITICAL_SECTION crst
Definition: strmbase.h:286
void WINAPI FreeMediaType(AM_MEDIA_TYPE *pMediaType)
Definition: mediatype.c:46
AM_MEDIA_TYPE *WINAPI CreateMediaType(AM_MEDIA_TYPE const *pSrc)
Definition: mediatype.c:60
LRESULT WINAPI BaseWindowImpl_OnReceiveMessage(BaseWindow *This, HWND hwnd, INT uMsg, WPARAM wParam, LPARAM lParam)
Definition: window.c:56
HRESULT WINAPI TransformFilterImpl_Pause(IBaseFilter *iface)
Definition: transform.c:374
HRESULT WINAPI BaseControlWindowImpl_put_MessageDrain(IVideoWindow *iface, OAHWND Drain)
Definition: window.c:562
BaseRenderer_CheckMediaType pfnCheckMediaType
Definition: strmbase.h:616
HRESULT WINAPI BaseControlWindowImpl_GetWindowPosition(IVideoWindow *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
Definition: window.c:657
WCHAR * LPWSTR
Definition: xmlstorage.h:184
HRESULT WINAPI BaseControlWindowImpl_put_Left(IVideoWindow *iface, LONG Left)
Definition: window.c:426
HRESULT WINAPI BaseControlVideoImpl_put_SourceTop(IBasicVideo *iface, LONG SourceTop)
Definition: video.c:268
HRESULT(WINAPI * SourceSeeking_ChangeStop)(IMediaSeeking *iface)
Definition: strmbase.h:272
struct BaseRendererTag BaseRenderer
static LPHIST_ENTRY Top
Definition: history.c:53
LONG WINAPI BasePinImpl_GetMediaTypeVersion(BasePin *This)
Definition: pin.c:182
HRESULT WINAPI OutputQueue_Construct(BaseOutputPin *pInputPin, BOOL bAuto, BOOL bQueue, LONG lBatchSize, BOOL bBatchExact, DWORD dwPriority, const OutputQueueFuncTable *pFuncsTable, OutputQueue **ppOutputQueue)
Definition: outputqueue.c:60
#define BOOL
Definition: msvc.h:23
TransformFilter_DecideBufferSize pfnDecideBufferSize
Definition: strmbase.h:243
HRESULT WINAPI BaseOutputPinImpl_Disconnect(IPin *iface)
Definition: pin.c:497
HRESULT WINAPI BaseControlVideoImpl_put_DestinationTop(IBasicVideo *iface, LONG DestinationTop)
Definition: video.c:403
BOOL bTerminate
Definition: strmbase.h:355
HRESULT WINAPI BaseControlWindowImpl_put_Top(IVideoWindow *iface, LONG Top)
Definition: window.c:478
HRESULT WINAPI BaseControlVideoImpl_GetVideoPaletteEntries(IBasicVideo *iface, LONG StartIndex, LONG Entries, LONG *pRetrieved, LONG *pPalette)
Definition: video.c:564
const CLSID * clsid
Definition: strmbase.h:323
TransformFilter_Receive pfnReceive
Definition: strmbase.h:246
HRESULT WINAPI BaseControlVideoImpl_get_BitRate(IBasicVideo *iface, LONG *pBitRate)
Definition: video.c:137
IPin * pReceivePin
Definition: strmbase.h:612
HRESULT WINAPI BaseControlVideoImpl_get_SourceHeight(IBasicVideo *iface, LONG *pSourceHeight)
Definition: video.c:321
HRESULT(WINAPI * BaseRenderer_PrepareReceive)(BaseRenderer *This, IMediaSample *pMediaSample)
Definition: strmbase.h:607
HRESULT WINAPI SourceSeekingImpl_ConvertTimeFormat(IMediaSeeking *iface, LONGLONG *pTarget, const GUID *pTargetFormat, LONGLONG Source, const GUID *pSourceFormat)
Definition: seeking.c:185
BaseRenderer_PrepareReceive pfnPrepareReceive
Definition: strmbase.h:628
BaseFilter filter
Definition: strmbase.h:213
const AMOVIESETUP_FILTER * m_pAMovieSetup_Filter
Definition: strmbase.h:338
LONG WINAPI BaseFilterImpl_GetPinVersion(BaseFilter *This)
Definition: filter.c:184
ULONG refCount
Definition: strmbase.h:278
AM_MEDIA_TYPE mtCurrent
Definition: strmbase.h:40
OutputQueue_ThreadProc pfnThreadProc
Definition: strmbase.h:367
HRESULT WINAPI BaseInputPinImpl_EndOfStream(IPin *iface)
Definition: pin.c:944
HRESULT WINAPI BaseControlWindowImpl_IsCursorHidden(IVideoWindow *iface, LONG *CursorHidden)
Definition: window.c:731