diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2002-01-06 18:56:19 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2002-01-06 18:56:19 +0000 |
commit | 8377788b342919ec0ff4c29f048b907abce994d4 (patch) | |
tree | 4e68ceae3962d2033d0124c232196f6b896cf25f /src/libw32dll/DirectShow/inputpin.h | |
parent | 3c6d03ef837577db63f9b7f246978a9ccb009aae (diff) | |
download | xine-lib-8377788b342919ec0ff4c29f048b907abce994d4.tar.gz xine-lib-8377788b342919ec0ff4c29f048b907abce994d4.tar.bz2 |
updating directshow support with avifile/mplayer changes
CVS patchset: 1357
CVS date: 2002/01/06 18:56:19
Diffstat (limited to 'src/libw32dll/DirectShow/inputpin.h')
-rw-r--r-- | src/libw32dll/DirectShow/inputpin.h | 228 |
1 files changed, 44 insertions, 184 deletions
diff --git a/src/libw32dll/DirectShow/inputpin.h b/src/libw32dll/DirectShow/inputpin.h index ba1e2817e..1ad9a2d60 100644 --- a/src/libw32dll/DirectShow/inputpin.h +++ b/src/libw32dll/DirectShow/inputpin.h @@ -3,209 +3,69 @@ #include "interfaces.h" -//class CBaseFilter2; +typedef struct _CBaseFilter2 CBaseFilter2; +struct _CBaseFilter2 +{ + IBaseFilter_vt* vt; + DECLARE_IUNKNOWN(); + IPin* pin; + GUID interfaces[5]; + + IPin* ( *GetPin )(CBaseFilter2* This); +}; -typedef struct _CBaseFilter +CBaseFilter2* CBaseFilter2Create(); + + +typedef struct _CBaseFilter CBaseFilter; +struct _CBaseFilter { - struct _IBaseFilter_vt *vt; - + IBaseFilter_vt* vt; + DECLARE_IUNKNOWN(); // has to match CBaseFilter2 - INHERITANCE!! IPin* pin; IPin* unused_pin; GUID interfaces[2]; - DECLARE_IUNKNOWN(CBaseFilter) -} CBaseFilter; -typedef struct _CInputPin + IPin* ( *GetPin )(CBaseFilter* This); + IPin* ( *GetUnusedPin )(CBaseFilter* This); +}; + +CBaseFilter* CBaseFilterCreate(const AM_MEDIA_TYPE* vhdr, CBaseFilter2* parent); + + +typedef struct _CInputPin CInputPin; +struct _CInputPin { - IPin_vt *vt; - - AM_MEDIA_TYPE type; + IPin_vt* vt; + DECLARE_IUNKNOWN(); CBaseFilter* parent; + AM_MEDIA_TYPE type; GUID interfaces[1]; - DECLARE_IUNKNOWN(CInputPin) - -} CInputPin; +}; -typedef struct _CBaseFilter2 -{ - struct _IBaseFilter_vt *vt; - - IPin* pin; - GUID interfaces[5]; - DECLARE_IUNKNOWN(CBaseFilter2) - -}CBaseFilter2; +CInputPin* CInputPinCreate(CBaseFilter* parent, const AM_MEDIA_TYPE* vhdr); -typedef struct _CRemotePin +typedef struct CRemotePin { - IPin_vt *vt; + IPin_vt* vt; + DECLARE_IUNKNOWN(); CBaseFilter* parent; - IPin* remote_pin; GUID interfaces[1]; - DECLARE_IUNKNOWN(CRemotePin) -}CRemotePin; + IPin* remote_pin; +} CRemotePin; + +CRemotePin* CRemotePinCreate(CBaseFilter* pt, IPin* rpin); + -typedef struct _CRemotePin2 +typedef struct CRemotePin2 { - IPin_vt *vt; + IPin_vt* vt; + DECLARE_IUNKNOWN(); CBaseFilter2* parent; GUID interfaces[1]; - DECLARE_IUNKNOWN(CRemotePin2) -}CRemotePin2; - - -long STDCALL CInputPin_Connect ( - IPin * This, - /* [in] */ IPin *pReceivePin, - /* [in] */ AM_MEDIA_TYPE *pmt); - -long STDCALL CInputPin_ReceiveConnection(IPin * This, - /* [in] */ IPin *pConnector, - /* [in] */ const AM_MEDIA_TYPE *pmt); - -long STDCALL CInputPin_Disconnect(IPin * This); -long STDCALL CInputPin_ConnectedTo(IPin * This, /* [out] */ IPin **pPin); - -long STDCALL CInputPin_ConnectionMediaType(IPin * This, - /* [out] */ AM_MEDIA_TYPE *pmt); - -long STDCALL CInputPin_QueryPinInfo(IPin * This, /* [out] */ PIN_INFO *pInfo); -long STDCALL CInputPin_QueryDirection(IPin * This, - /* [out] */ PIN_DIRECTION *pPinDir); -long STDCALL CInputPin_QueryId(IPin * This, /* [out] */ unsigned short* *Id); - -long STDCALL CInputPin_QueryAccept(IPin * This, - /* [in] */ const AM_MEDIA_TYPE *pmt); - - -long STDCALL CInputPin_EnumMediaTypes ( - IPin * This, - /* [out] */ IEnumMediaTypes **ppEnum); - -long STDCALL CInputPin_QueryInternalConnections(IPin * This, - /* [out] */ IPin **apPin, - /* [out][in] */ unsigned long *nPin); - -long STDCALL CInputPin_EndOfStream (IPin * This); -long STDCALL CInputPin_BeginFlush(IPin * This); - -long STDCALL CInputPin_EndFlush(IPin * This); - -long STDCALL CInputPin_NewSegment(IPin * This, - /* [in] */ REFERENCE_TIME tStart, - /* [in] */ REFERENCE_TIME tStop, - /* [in] */ double dRate); - -CInputPin * CInputPin_Create(CBaseFilter* p, const AM_MEDIA_TYPE *vh); -void CInputPin_Destroy(CInputPin * this); - -long STDCALL CBaseFilter_GetClassID(IBaseFilter * This, - /* [out] */ CLSID *pClassID); -long STDCALL CBaseFilter_Stop(IBaseFilter * This); - -long STDCALL CBaseFilter_Pause(IBaseFilter * This); - -long STDCALL CBaseFilter_Run(IBaseFilter * This, - REFERENCE_TIME tStart); - -long STDCALL CBaseFilter_GetState(IBaseFilter * This, - /* [in] */ unsigned long dwMilliSecsTimeout, - // /* [out] */ FILTER_STATE *State) - void* State); - -long STDCALL CBaseFilter_SetSyncSource(IBaseFilter * This, - /* [in] */ IReferenceClock *pClock); - -long STDCALL CBaseFilter_GetSyncSource ( - IBaseFilter * This, - /* [out] */ IReferenceClock **pClock); - - -long STDCALL CBaseFilter_EnumPins ( - IBaseFilter * This, - /* [out] */ IEnumPins **ppEnum); - -long STDCALL CBaseFilter_FindPin ( - IBaseFilter * This, - /* [string][in] */ const unsigned short* Id, - /* [out] */ IPin **ppPin); - - -long STDCALL CBaseFilter_QueryFilterInfo ( - IBaseFilter * This, -// /* [out] */ FILTER_INFO *pInfo) - void* pInfo); - -long STDCALL CBaseFilter_JoinFilterGraph ( - IBaseFilter * This, - /* [in] */ IFilterGraph *pGraph, - /* [string][in] */ const unsigned short* pName); - - -long STDCALL CBaseFilter_QueryVendorInfo ( - IBaseFilter * This, - /* [string][out] */ unsigned short* *pVendorInfo); - -CBaseFilter * CBaseFilter_Create(const AM_MEDIA_TYPE *type, CBaseFilter2* parent); - - -void CBaseFilter_Destroy(CBaseFilter *this); -IPin* CBaseFilter_GetPin(CBaseFilter *this); -IPin* CBaseFilter_GetUnusedPin(CBaseFilter *this); -long STDCALL CBaseFilter2_GetClassID ( - IBaseFilter * This, - /* [out] */ CLSID *pClassID); - -long STDCALL CBaseFilter2_Stop ( - IBaseFilter * This); -long STDCALL CBaseFilter2_Pause (IBaseFilter * This); - -long STDCALL CBaseFilter2_Run (IBaseFilter * This, REFERENCE_TIME tStart); - -long STDCALL CBaseFilter2_GetState ( - IBaseFilter * This, - /* [in] */ unsigned long dwMilliSecsTimeout, -// /* [out] */ FILTER_STATE *State) - void* State); - -long STDCALL CBaseFilter2_SetSyncSource ( - IBaseFilter * This, - /* [in] */ IReferenceClock *pClock); -long STDCALL CBaseFilter2_GetSyncSource ( - IBaseFilter * This, - /* [out] */ IReferenceClock **pClock); - -long STDCALL CBaseFilter2_EnumPins ( - IBaseFilter * This, - /* [out] */ IEnumPins **ppEnum); -long STDCALL CBaseFilter2_FindPin ( - IBaseFilter * This, - /* [string][in] */ const unsigned short* Id, - /* [out] */ IPin **ppPin); - -long STDCALL CBaseFilter2_QueryFilterInfo ( - IBaseFilter * This, -// /* [out] */ FILTER_INFO *pInfo) - void* pInfo); - -long STDCALL CBaseFilter2_JoinFilterGraph(IBaseFilter * This, - /* [in] */ IFilterGraph *pGraph, - /* [string][in] */ - const unsigned short* pName); - -long STDCALL CBaseFilter2_QueryVendorInfo(IBaseFilter * This, - /* [string][out] */ - unsigned short* *pVendorInfo); -CBaseFilter2 * CBaseFilter2_Create(); -void CBaseFilter2_Destroy(CBaseFilter2 *this); - -IPin* CBaseFilter2_GetPin(CBaseFilter2 *this); - -CRemotePin * CRemotePin_Create(CBaseFilter* pt, IPin* rpin); -void CRemotePin_Destroy(CRemotePin * this); -CRemotePin2 * CRemotePin2_Create(CBaseFilter2* p); -void CRemotePin2_Destroy(CRemotePin2 * this); +} CRemotePin2; +CRemotePin2* CRemotePin2Create(CBaseFilter2* parent); #endif /* DS_INPUTPIN_H */ |