Mercurial > mplayer.hg
annotate loader/dshow/DS_Filter.h @ 25746:330af0160c2d
Fix code to prevent from accessing queue->packets[-1].pts that causes a crash.
Found and patched by Reimar.
author | ulion |
---|---|
date | Thu, 17 Jan 2008 02:18:49 +0000 |
parents | 49f01f8fbd60 |
children | 2c8cdb9123b8 |
rev | line source |
---|---|
1545 | 1 #ifndef DS_FILTER_H |
2 #define DS_FILTER_H | |
168 | 3 |
4 #include "inputpin.h" | |
5 #include "outputpin.h" | |
713 | 6 |
3056 | 7 #if defined(__cplusplus) |
8 extern "C" { | |
9 #endif | |
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 | 16 /** |
1545 | 17 User will allocate and fill format structures, call Create(), |
18 and then set up m_pAll. | |
19 **/ | |
20 | |
3056 | 21 typedef struct _DS_Filter DS_Filter; |
22 struct _DS_Filter | |
168 | 23 { |
24 int m_iHandle; | |
25 IBaseFilter* m_pFilter; | |
26 IPin* m_pInputPin; | |
27 IPin* m_pOutputPin; | |
3056 | 28 |
168 | 29 CBaseFilter* m_pSrcFilter; |
30 CBaseFilter2* m_pParentFilter; | |
31 IPin* m_pOurInput; | |
32 COutputPin* m_pOurOutput; | |
3056 | 33 |
168 | 34 AM_MEDIA_TYPE *m_pOurType, *m_pDestType; |
35 IMemAllocator* m_pAll; | |
36 IMemInputPin* m_pImp; | |
713 | 37 |
3056 | 38 void ( *Start )(DS_Filter*); |
39 void ( *Stop )(DS_Filter*); | |
713 | 40 }; |
168 | 41 |
3056 | 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 | 44 void DS_Filter_Destroy(DS_Filter* This); |
45 | |
46 #if defined(__cplusplus) | |
47 } | |
48 #endif | |
49 | |
1545 | 50 #endif /* DS_FILTER_H */ |