xine-lib: xine-lib-1.2.12/src/libw32dll/DirectShow/inputpin.h Source File

xine-lib 1.2.12

inputpin.h
Go to the documentation of this file.
1#ifndef DS_INPUTPIN_H
2#define DS_INPUTPIN_H
3
4#include "interfaces.h"
5
6 typedef struct _CBaseFilter2 CBaseFilter2;
7 struct _CBaseFilter2
8{
9 IBaseFilter_vt* vt;
10 DECLARE_IUNKNOWN();
11 IPin* pin;
12 GUID interfaces[5];
13
14 IPin* ( *GetPin )(CBaseFilter2* This);
15};
16
17 CBaseFilter2* CBaseFilter2Create(void);
18
19
20 typedef struct _CBaseFilter CBaseFilter;
21 struct _CBaseFilter
22{
23 IBaseFilter_vt* vt;
24 DECLARE_IUNKNOWN(); // has to match CBaseFilter2 - INHERITANCE!!
25 IPin* pin;
26 IPin* unused_pin;
27 GUID interfaces[2];
28
29 IPin* ( *GetPin )(CBaseFilter* This);
30 IPin* ( *GetUnusedPin )(CBaseFilter* This);
31};
32
33 CBaseFilter* CBaseFilterCreate(const AM_MEDIA_TYPE* vhdr, CBaseFilter2* parent);
34
35
36 typedef struct
37{
38 IPin_vt* vt;
39 DECLARE_IUNKNOWN();
40 CBaseFilter* parent;
41 AM_MEDIA_TYPE type;
42 GUID interfaces[1];
43} CInputPin;
44
45 CInputPin* CInputPinCreate(CBaseFilter* parent, const AM_MEDIA_TYPE* vhdr);
46
47
48 typedef struct
49{
50 IPin_vt* vt;
51 DECLARE_IUNKNOWN();
52 CBaseFilter* parent;
53 GUID interfaces[1];
54 IPin* remote_pin;
55} CRemotePin;
56
57 CRemotePin* CRemotePinCreate(CBaseFilter* pt, IPin* rpin);
58
59
60 typedef struct
61{
62 IPin_vt* vt;
63 DECLARE_IUNKNOWN();
64 CBaseFilter2* parent;
65 GUID interfaces[1];
66} CRemotePin2;
67
68 CRemotePin2* CRemotePin2Create(CBaseFilter2* parent);
69
70#endif /* DS_INPUTPIN_H */
AM_MEDIA_TYPE
AM_MEDIA_TYPE
Definition: guids.h:23
CBaseFilter2Create
CBaseFilter2 * CBaseFilter2Create(void)
Definition: inputpin.c:629
CBaseFilterCreate
CBaseFilter * CBaseFilterCreate(const AM_MEDIA_TYPE *vhdr, CBaseFilter2 *parent)
Definition: inputpin.c:454
CInputPinCreate
CInputPin * CInputPinCreate(CBaseFilter *parent, const AM_MEDIA_TYPE *vhdr)
Definition: inputpin.c:283
CRemotePin2Create
CRemotePin2 * CRemotePin2Create(CBaseFilter2 *parent)
Definition: inputpin.c:791
CRemotePinCreate
CRemotePin * CRemotePinCreate(CBaseFilter *pt, IPin *rpin)
Definition: inputpin.c:728
interfaces.h
DECLARE_IUNKNOWN
#define DECLARE_IUNKNOWN()
Definition: iunk.h:11
CInputPin
Definition: inputpin.h:37
CInputPin::vt
IPin_vt * vt
Definition: inputpin.h:38
CInputPin::type
AM_MEDIA_TYPE type
Definition: inputpin.h:41
CInputPin::parent
CBaseFilter * parent
Definition: inputpin.h:40
CRemotePin2
Definition: inputpin.h:61
CRemotePin2::parent
CBaseFilter2 * parent
Definition: inputpin.h:64
CRemotePin2::vt
IPin_vt * vt
Definition: inputpin.h:62
CRemotePin
Definition: inputpin.h:49
CRemotePin::remote_pin
IPin * remote_pin
Definition: inputpin.h:54
CRemotePin::parent
CBaseFilter * parent
Definition: inputpin.h:52
CRemotePin::vt
IPin_vt * vt
Definition: inputpin.h:50
IBaseFilter_vt
Definition: interfaces.h:183
IPin_vt
Definition: interfaces.h:62
_CBaseFilter2
Definition: inputpin.h:8
_CBaseFilter2::vt
IBaseFilter_vt * vt
Definition: inputpin.h:9
_CBaseFilter2::interfaces
GUID interfaces[5]
Definition: inputpin.h:12
_CBaseFilter2::pin
IPin * pin
Definition: inputpin.h:11
_CBaseFilter
Definition: inputpin.h:22
_CBaseFilter::unused_pin
IPin * unused_pin
Definition: inputpin.h:26
_CBaseFilter::pin
IPin * pin
Definition: inputpin.h:25
_CBaseFilter::interfaces
GUID interfaces[2]
Definition: inputpin.h:27
_CBaseFilter::vt
IBaseFilter_vt * vt
Definition: inputpin.h:23
_IPin
Definition: interfaces.h:94