view loader/dshow/DS_Filter.h @ 25005:1635b2b31bdd

Add missing call to audio_in_uninit in v4l2 tv driver. Without it, tv does not start on the second run when using mplayer in slave or idle mode. Patch by Stanislaw Jesmanowicz stan at jesmanowicz dot com
author voroshil
date Tue, 13 Nov 2007 11:34:45 +0000
parents 49f01f8fbd60
children 2c8cdb9123b8
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

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 /* DS_FILTER_H */