Mercurial > mplayer.hg
view loader/dshow/inputpin.h @ 35967:76d4f38ffdf9
Fix crash with file selector after pressing OK.
The crash would occur with the "dot directory" selected and pressing OK
when previously either the "directory up" button or OK (to refresh the
file list) has been pressed.
author | ib |
---|---|
date | Wed, 27 Mar 2013 18:56:13 +0000 |
parents | a8ea87c71d18 |
children |
line wrap: on
line source
#ifndef MPLAYER_INPUTPIN_H #define MPLAYER_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(void); 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 { IPin_vt* vt; DECLARE_IUNKNOWN(); CBaseFilter* parent; AM_MEDIA_TYPE type; GUID interfaces[1]; } CInputPin; CInputPin* CInputPinCreate(CBaseFilter* parent, const AM_MEDIA_TYPE* vhdr); typedef struct { IPin_vt* vt; DECLARE_IUNKNOWN(); CBaseFilter* parent; GUID interfaces[1]; IPin* remote_pin; } CRemotePin; CRemotePin* CRemotePinCreate(CBaseFilter* pt, IPin* rpin); typedef struct { IPin_vt* vt; DECLARE_IUNKNOWN(); CBaseFilter2* parent; GUID interfaces[1]; } CRemotePin2; CRemotePin2* CRemotePin2Create(CBaseFilter2* parent); #endif /* MPLAYER_INPUTPIN_H */