diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2001-11-11 23:32:25 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2001-11-11 23:32:25 +0000 |
commit | 675ca3309d98e4257a606e9daed11f7bad8cdca0 (patch) | |
tree | fd6cb641e235a3514cfba1d938e46b84ac708d9f /src/libw32dll/DirectShow/inputpin.h | |
parent | 2407730277bb538b84405d7fde13756de95b9286 (diff) | |
download | xine-lib-675ca3309d98e4257a606e9daed11f7bad8cdca0.tar.gz xine-lib-675ca3309d98e4257a606e9daed11f7bad8cdca0.tar.bz2 |
initial import of DirectShow support files. Most of hard work was done
(converting all c++ files to c) and DS_Audio codecs are already producing
some (weird) sound from my local tree. I hope to commit it soon...
CVS patchset: 1022
CVS date: 2001/11/11 23:32:25
Diffstat (limited to 'src/libw32dll/DirectShow/inputpin.h')
-rw-r--r-- | src/libw32dll/DirectShow/inputpin.h | 211 |
1 files changed, 211 insertions, 0 deletions
diff --git a/src/libw32dll/DirectShow/inputpin.h b/src/libw32dll/DirectShow/inputpin.h new file mode 100644 index 000000000..ba1e2817e --- /dev/null +++ b/src/libw32dll/DirectShow/inputpin.h @@ -0,0 +1,211 @@ +#ifndef DS_INPUTPIN_H +#define DS_INPUTPIN_H + +#include "interfaces.h" + +//class CBaseFilter2; + +typedef struct _CBaseFilter +{ + struct _IBaseFilter_vt *vt; + + IPin* pin; + IPin* unused_pin; + GUID interfaces[2]; + DECLARE_IUNKNOWN(CBaseFilter) +} CBaseFilter; + +typedef struct _CInputPin +{ + IPin_vt *vt; + + AM_MEDIA_TYPE type; + CBaseFilter* parent; + GUID interfaces[1]; + DECLARE_IUNKNOWN(CInputPin) + +} CInputPin; + +typedef struct _CBaseFilter2 +{ + struct _IBaseFilter_vt *vt; + + IPin* pin; + GUID interfaces[5]; + DECLARE_IUNKNOWN(CBaseFilter2) + +}CBaseFilter2; + + +typedef struct _CRemotePin +{ + IPin_vt *vt; + CBaseFilter* parent; + IPin* remote_pin; + GUID interfaces[1]; + DECLARE_IUNKNOWN(CRemotePin) +}CRemotePin; + +typedef struct _CRemotePin2 +{ + IPin_vt *vt; + 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); + + +#endif /* DS_INPUTPIN_H */ |