Mercurial > mplayer.hg
view loader/dshow/inputpin.h @ 6339:637a29345340
split msgsm from msnaudio, because msnaudio doesn;'t support old (0x31)
msgsm files - noticed & sample by Haas Wernfried <amnenion@xover.htu.tuwien.ac.at>
author | arpi |
---|---|
date | Sat, 08 Jun 2002 14:17:41 +0000 |
parents | e3bbf44dbab2 |
children | 174e2a58b4cd |
line wrap: on
line source
#ifndef DS_INPUTPIN_H #define DS_INPUTPIN_H #include "interfaces.h" typedef struct _CBaseFilter2 CBaseFilter2; struct _CBaseFilter2 { IBaseFilter_vt* vt; DECLARE_IUNKNOWN(); IPin* pin; GUID interfaces[5]; IPin* ( *GetPin )(CBaseFilter2* This); }; CBaseFilter2* CBaseFilter2Create(); typedef struct _CBaseFilter CBaseFilter; struct _CBaseFilter { IBaseFilter_vt* vt; DECLARE_IUNKNOWN(); // has to match CBaseFilter2 - INHERITANCE!! IPin* pin; IPin* unused_pin; GUID interfaces[2]; 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; DECLARE_IUNKNOWN(); CBaseFilter* parent; AM_MEDIA_TYPE type; GUID interfaces[1]; }; CInputPin* CInputPinCreate(CBaseFilter* parent, const AM_MEDIA_TYPE* vhdr); typedef struct CRemotePin { IPin_vt* vt; DECLARE_IUNKNOWN(); CBaseFilter* parent; GUID interfaces[1]; IPin* remote_pin; } CRemotePin; CRemotePin* CRemotePinCreate(CBaseFilter* pt, IPin* rpin); typedef struct CRemotePin2 { IPin_vt* vt; DECLARE_IUNKNOWN(); CBaseFilter2* parent; GUID interfaces[1]; } CRemotePin2; CRemotePin2* CRemotePin2Create(CBaseFilter2* parent); #endif /* DS_INPUTPIN_H */