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
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
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
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
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
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25794
diff changeset
50 #endif /* MPLAYER_DS_FILTER_H */