view loader/dshow/DS_Filter.h @ 15415:c73564d69136

1.891: vstrict vs mjpeg update, typo 1.892: sync to x264 r137: adaptive B-frame decision, flush delayed frames 1.893: missing linebreak (skipped) 1.894: Move audio filter descriptions to the man page. 1.895: changed noreorder to reorder in mpegopts (ordering disabled by default) (skipped) 1.897: both reorder and noreorder flags are now available (skipped) 1.898: Document reorder and noreorder as (no)reorder. (skipped, last three were fixed prviously) 1.899: where the hell they got these infos from (native-endianness)
author kraymer
date Wed, 11 May 2005 20:57:28 +0000
parents e3bbf44dbab2
children 49f01f8fbd60
line wrap: on
line source

#ifndef DS_FILTER_H
#define DS_FILTER_H

#include "inputpin.h"
#include "outputpin.h"

#if defined(__cplusplus)
extern "C" {
#endif

/**
   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);
void DS_Filter_Destroy(DS_Filter* This);

#if defined(__cplusplus)
}
#endif

#endif /* DS_FILTER_H */