Mercurial > mplayer.hg
annotate loader/dshow/DS_Filter.h @ 29794:df1826dcdb2d
Disable audio when initializing the filter chain fails (can happen e.g. when the hwmpa
decoder is used but the hardware does not support hardware MPEG audio).
Otherwise this will lead to a crash later on when the decode code tries to access
the audio filter chain.
author | reimar |
---|---|
date | Fri, 06 Nov 2009 15:56:30 +0000 |
parents | a8ea87c71d18 |
children | 26f673ba0675 |
rev | line source |
---|---|
26045 | 1 #ifndef MPLAYER_DS_FILTER_H |
2 #define MPLAYER_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 | |
25794
2c8cdb9123b8
Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents:
22398
diff
changeset
|
21 typedef struct DS_Filter DS_Filter; |
2c8cdb9123b8
Fix a ton of illegal identifiers. Identifiers starting with __ or _ and a
diego
parents:
22398
diff
changeset
|
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 | |
26045 | 50 #endif /* MPLAYER_DS_FILTER_H */ |