Mercurial > mplayer.hg
annotate loader/dshow/inputpin.h @ 33263:5f527a9a9521
Add an exit function.
This function will allow performing clean-up operations.
(MPlayer calls guiDone() before exiting, but only if the GUI has been
initialized, i.e. if guiInit() has been called successfully. Any
exit_player()/exit_player_with_rc() after GUI's cfg_read() until
guiInit(), or any exit_player() during guiInit() itself will end the GUI
without calling guiDone(). This exit function will at least handle
abortions during guiInit() itself. It will be called twice in case of an
guiExit() after GUI initialization - first directly, next by guiDone()
via MPlayer's exit_player_with_rc().)
author | ib |
---|---|
date | Tue, 03 May 2011 12:19:22 +0000 |
parents | a8ea87c71d18 |
children |
rev | line source |
---|---|
26045 | 1 #ifndef MPLAYER_INPUTPIN_H |
2 #define MPLAYER_INPUTPIN_H | |
1545 | 3 |
168 | 4 #include "interfaces.h" |
3056 | 5 |
25794
2c8cdb9123b8
Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents:
8292
diff
changeset
|
6 typedef struct CBaseFilter2 CBaseFilter2; |
2c8cdb9123b8
Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents:
8292
diff
changeset
|
7 struct CBaseFilter2 |
3056 | 8 { |
9 IBaseFilter_vt* vt; | |
3130 | 10 DECLARE_IUNKNOWN(); |
3056 | 11 IPin* pin; |
12 GUID interfaces[5]; | |
168 | 13 |
3056 | 14 IPin* ( *GetPin )(CBaseFilter2* This); |
15 }; | |
16 | |
8292 | 17 CBaseFilter2* CBaseFilter2Create(void); |
3056 | 18 |
19 | |
25794
2c8cdb9123b8
Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents:
8292
diff
changeset
|
20 typedef struct CBaseFilter CBaseFilter; |
2c8cdb9123b8
Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents:
8292
diff
changeset
|
21 struct CBaseFilter |
168 | 22 { |
3056 | 23 IBaseFilter_vt* vt; |
3130 | 24 DECLARE_IUNKNOWN(); // has to match CBaseFilter2 - INHERITANCE!! |
168 | 25 IPin* pin; |
26 IPin* unused_pin; | |
3056 | 27 GUID interfaces[2]; |
1545 | 28 |
3056 | 29 IPin* ( *GetPin )(CBaseFilter* This); |
30 IPin* ( *GetUnusedPin )(CBaseFilter* This); | |
168 | 31 }; |
1545 | 32 |
3056 | 33 CBaseFilter* CBaseFilterCreate(const AM_MEDIA_TYPE* vhdr, CBaseFilter2* parent); |
34 | |
35 | |
7386 | 36 typedef struct |
168 | 37 { |
3056 | 38 IPin_vt* vt; |
3130 | 39 DECLARE_IUNKNOWN(); |
3467 | 40 CBaseFilter* parent; |
168 | 41 AM_MEDIA_TYPE type; |
3056 | 42 GUID interfaces[1]; |
7386 | 43 } CInputPin; |
168 | 44 |
3056 | 45 CInputPin* CInputPinCreate(CBaseFilter* parent, const AM_MEDIA_TYPE* vhdr); |
168 | 46 |
1545 | 47 |
7386 | 48 typedef struct |
168 | 49 { |
3056 | 50 IPin_vt* vt; |
3130 | 51 DECLARE_IUNKNOWN(); |
168 | 52 CBaseFilter* parent; |
3130 | 53 GUID interfaces[1]; |
168 | 54 IPin* remote_pin; |
3056 | 55 } CRemotePin; |
56 | |
57 CRemotePin* CRemotePinCreate(CBaseFilter* pt, IPin* rpin); | |
58 | |
168 | 59 |
7386 | 60 typedef struct |
168 | 61 { |
3056 | 62 IPin_vt* vt; |
3130 | 63 DECLARE_IUNKNOWN(); |
168 | 64 CBaseFilter2* parent; |
3056 | 65 GUID interfaces[1]; |
66 } CRemotePin2; | |
67 | |
68 CRemotePin2* CRemotePin2Create(CBaseFilter2* parent); | |
168 | 69 |
26045 | 70 #endif /* MPLAYER_INPUTPIN_H */ |