Mercurial > mplayer.hg
view 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 |
line wrap: on
line source
#ifndef MPLAYER_DS_FILTER_H #define MPLAYER_DS_FILTER_H #include "inputpin.h" #include "outputpin.h" #if defined(__cplusplus) extern "C" { #endif typedef struct { char* frame_pointer; long frame_size; } SampleProcUserData; /** User will allocate and fill format structures, call Create(), and then set up m_pAll. **/ typedef struct DS_Filter DS_Filter; struct DS_Filter { int m_iHandle; IBaseFilter* m_pFilter; IPin* m_pInputPin; IPin* m_pOutputPin; CBaseFilter* m_pSrcFilter; CBaseFilter2* m_pParentFilter; IPin* m_pOurInput; COutputPin* m_pOurOutput; AM_MEDIA_TYPE *m_pOurType, *m_pDestType; IMemAllocator* m_pAll; IMemInputPin* m_pImp; void ( *Start )(DS_Filter*); void ( *Stop )(DS_Filter*); }; DS_Filter* DS_FilterCreate(const char* dllname, const GUID* id, AM_MEDIA_TYPE* in_fmt, AM_MEDIA_TYPE* out_fmt,SampleProcUserData* pUserData); void DS_Filter_Destroy(DS_Filter* This); #if defined(__cplusplus) } #endif #endif /* MPLAYER_DS_FILTER_H */