annotate loader/dshow/DS_Filter.h @ 22398:49f01f8fbd60

Rework of copying samples from directshow codecs. Using callback function provided by filter to store and process samples from codec instead of explicit typecast to DS_Filter.
author voroshil
date Fri, 02 Mar 2007 18:52:10 +0000
parents e3bbf44dbab2
children 2c8cdb9123b8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
1 #ifndef DS_FILTER_H
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
2 #define 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
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
7 #if defined(__cplusplus)
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
8 extern "C" {
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
9 #endif
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
10
22398
49f01f8fbd60 Rework of copying samples from directshow codecs.
voroshil
parents: 3467
diff changeset
11 typedef struct {
49f01f8fbd60 Rework of copying samples from directshow codecs.
voroshil
parents: 3467
diff changeset
12 char* frame_pointer;
49f01f8fbd60 Rework of copying samples from directshow codecs.
voroshil
parents: 3467
diff changeset
13 long frame_size;
49f01f8fbd60 Rework of copying samples from directshow codecs.
voroshil
parents: 3467
diff changeset
14 } SampleProcUserData;
49f01f8fbd60 Rework of copying samples from directshow codecs.
voroshil
parents: 3467
diff changeset
15
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
16 /**
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
17 User will allocate and fill format structures, call Create(),
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
18 and then set up m_pAll.
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
19 **/
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
20
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
21 typedef struct _DS_Filter DS_Filter;
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
22 struct _DS_Filter
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
23 {
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
24 int m_iHandle;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
25 IBaseFilter* m_pFilter;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
26 IPin* m_pInputPin;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
27 IPin* m_pOutputPin;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
28
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
29 CBaseFilter* m_pSrcFilter;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
30 CBaseFilter2* m_pParentFilter;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
31 IPin* m_pOurInput;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
32 COutputPin* m_pOurOutput;
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
33
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
34 AM_MEDIA_TYPE *m_pOurType, *m_pDestType;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
35 IMemAllocator* m_pAll;
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
36 IMemInputPin* m_pImp;
713
9355b2ae634e avifile-0.6-CVS merge
arpi_esp
parents: 342
diff changeset
37
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
38 void ( *Start )(DS_Filter*);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
39 void ( *Stop )(DS_Filter*);
713
9355b2ae634e avifile-0.6-CVS merge
arpi_esp
parents: 342
diff changeset
40 };
168
bdc4a8fc04d8 Initial revision
arpi_esp
parents:
diff changeset
41
3056
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
42 DS_Filter* DS_FilterCreate(const char* dllname, const GUID* id,
22398
49f01f8fbd60 Rework of copying samples from directshow codecs.
voroshil
parents: 3467
diff changeset
43 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
44 void DS_Filter_Destroy(DS_Filter* This);
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
45
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
46 #if defined(__cplusplus)
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
47 }
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
48 #endif
213b35f84cf3 C++ -> C (import from avifile cvs)
arpi
parents: 1545
diff changeset
49
1545
da26060c81ef big avifile sync - from now we have common code
arpi
parents: 713
diff changeset
50 #endif /* DS_FILTER_H */