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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25794
diff changeset
1 #ifndef MPLAYER_INPUTPIN_H
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25794
diff changeset
2 #define MPLAYER_INPUTPIN_H
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
3
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
4 #include "interfaces.h"
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
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
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
8 {
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
9 IBaseFilter_vt* vt;
3130
623cdb771e97 avifile sync. seems to some bugs fixed...
arpi
parents: 3056
diff changeset
10 DECLARE_IUNKNOWN();
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
11 IPin* pin;
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
12 GUID interfaces[5];
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
13
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
14 IPin* ( *GetPin )(CBaseFilter2* This);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
15 };
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
16
8292
9533c26c0806 avifile sync (mostly cosmetics)
arpi
parents: 7386
diff changeset
17 CBaseFilter2* CBaseFilter2Create(void);
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
18
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
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
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
22 {
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
23 IBaseFilter_vt* vt;
3130
623cdb771e97 avifile sync. seems to some bugs fixed...
arpi
parents: 3056
diff changeset
24 DECLARE_IUNKNOWN(); // has to match CBaseFilter2 - INHERITANCE!!
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
25 IPin* pin;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
26 IPin* unused_pin;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
27 GUID interfaces[2];
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
28
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
29 IPin* ( *GetPin )(CBaseFilter* This);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
30 IPin* ( *GetUnusedPin )(CBaseFilter* This);
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
31 };
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
32
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
33 CBaseFilter* CBaseFilterCreate(const AM_MEDIA_TYPE* vhdr, CBaseFilter2* parent);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
34
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
35
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
36 typedef struct
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
37 {
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
38 IPin_vt* vt;
3130
623cdb771e97 avifile sync. seems to some bugs fixed...
arpi
parents: 3056
diff changeset
39 DECLARE_IUNKNOWN();
3467
e3bbf44dbab2 avifile sync
arpi
parents: 3130
diff changeset
40 CBaseFilter* parent;
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
41 AM_MEDIA_TYPE type;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
42 GUID interfaces[1];
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
43 } CInputPin;
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
44
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
45 CInputPin* CInputPinCreate(CBaseFilter* parent, const AM_MEDIA_TYPE* vhdr);
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
46
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 168
diff changeset
47
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
48 typedef struct
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
49 {
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
50 IPin_vt* vt;
3130
623cdb771e97 avifile sync. seems to some bugs fixed...
arpi
parents: 3056
diff changeset
51 DECLARE_IUNKNOWN();
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
52 CBaseFilter* parent;
3130
623cdb771e97 avifile sync. seems to some bugs fixed...
arpi
parents: 3056
diff changeset
53 GUID interfaces[1];
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
54 IPin* remote_pin;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
55 } CRemotePin;
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
56
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
57 CRemotePin* CRemotePinCreate(CBaseFilter* pt, IPin* rpin);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
58
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
59
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 3467
diff changeset
60 typedef struct
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
61 {
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
62 IPin_vt* vt;
3130
623cdb771e97 avifile sync. seems to some bugs fixed...
arpi
parents: 3056
diff changeset
63 DECLARE_IUNKNOWN();
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
64 CBaseFilter2* parent;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
65 GUID interfaces[1];
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
66 } CRemotePin2;
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
67
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
68 CRemotePin2* CRemotePin2Create(CBaseFilter2* parent);
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
69
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25794
diff changeset
70 #endif /* MPLAYER_INPUTPIN_H */