annotate loader/dshow/DS_Filter.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 26f673ba0675
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_DS_FILTER_H
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25794
diff changeset
2 #define MPLAYER_DS_FILTER_H
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
3
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
4 #include "inputpin.h"
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
5 #include "outputpin.h"
713
9355b2ae634e avifile-0.6-CVS merge
arpi_esp
parents: 342
diff changeset
6
22398
49f01f8fbd60 Rework of copying samples from directshow codecs.
voroshil
parents: 3467
diff changeset
7 typedef struct {
49f01f8fbd60 Rework of copying samples from directshow codecs.
voroshil
parents: 3467
diff changeset
8 char* frame_pointer;
49f01f8fbd60 Rework of copying samples from directshow codecs.
voroshil
parents: 3467
diff changeset
9 long frame_size;
49f01f8fbd60 Rework of copying samples from directshow codecs.
voroshil
parents: 3467
diff changeset
10 } SampleProcUserData;
49f01f8fbd60 Rework of copying samples from directshow codecs.
voroshil
parents: 3467
diff changeset
11
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
12 /**
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
13 User will allocate and fill format structures, call Create(),
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
14 and then set up m_pAll.
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
15 **/
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
16
25794
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 22398
diff changeset
17 typedef struct DS_Filter DS_Filter;
2c8cdb9123b8 Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents: 22398
diff changeset
18 struct DS_Filter
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
19 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
20 int m_iHandle;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
21 IBaseFilter* m_pFilter;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
22 IPin* m_pInputPin;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
23 IPin* m_pOutputPin;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
24
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
25 CBaseFilter* m_pSrcFilter;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
26 CBaseFilter2* m_pParentFilter;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
27 IPin* m_pOurInput;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
28 COutputPin* m_pOurOutput;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
29
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
30 AM_MEDIA_TYPE *m_pOurType, *m_pDestType;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
31 IMemAllocator* m_pAll;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
32 IMemInputPin* m_pImp;
713
9355b2ae634e avifile-0.6-CVS merge
arpi_esp
parents: 342
diff changeset
33
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
34 void ( *Start )(DS_Filter*);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
35 void ( *Stop )(DS_Filter*);
713
9355b2ae634e avifile-0.6-CVS merge
arpi_esp
parents: 342
diff changeset
36 };
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
37
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
38 DS_Filter* DS_FilterCreate(const char* dllname, const GUID* id,
22398
49f01f8fbd60 Rework of copying samples from directshow codecs.
voroshil
parents: 3467
diff changeset
39 AM_MEDIA_TYPE* in_fmt, AM_MEDIA_TYPE* out_fmt,SampleProcUserData* pUserData);
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
40 void DS_Filter_Destroy(DS_Filter* This);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
41
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25794
diff changeset
42 #endif /* MPLAYER_DS_FILTER_H */