view loader/dshow/DS_Filter.h @ 1096:bf973bffe240

some possible buffer overflow places fixed
author al3x
date Mon, 11 Jun 2001 12:47:48 +0000
parents 9355b2ae634e
children da26060c81ef
line wrap: on
line source

#ifndef DS_Filter_H
#define DS_Filter_H

#include "interfaces.h"
#include "inputpin.h"
#include "outputpin.h"
#include <string>

/**
    User will allocate and fill format structures, call Create(),
    and then set up m_pAll.
**/    
class DS_Filter
{
public:
    DS_Filter();
    virtual ~DS_Filter();
    void Start();
    void Stop();
    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;
    int m_iState;

    void Create(char* dllname, const GUID* id, AM_MEDIA_TYPE* in_fmt, AM_MEDIA_TYPE* out_fmt);
    void SetPointer(char* pointer);
private:
    void clean();
};

#endif