tffdshowdec.h.svn-base

来自「ffshow源码」· SVN-BASE 代码 · 共 481 行 · 第 1/2 页

SVN-BASE
481
字号
#ifndef _TFFDSHOWDEC_H_#define _TFFDSHOWDEC_H_#include "IffdshowDec.h"#include "TffdshowBase.h"class Tkeyboard;class Tmouse;struct TglobalSettingsDec;struct TdialogSettingsDec;class Tremote;class Tfilters;class TffdshowDec :public TffdshowBase,                    public interfaces<char_t>::IffdshowDec,                    public CmyTransformFilter,                   public ISpecifyPropertyPages,                   public IAMExtendedSeeking,                   public IAMStreamSelect{public: TffdshowDec(TintStrColl *Ioptions,const TCHAR *name,LPUNKNOWN punk,REFCLSID clsid,TglobalSettingsDec *IglobalSettings,TdialogSettingsDec *IdialogSettings,Tpresets *Ipresets,Tpreset* &IpresetSettings,CmyTransformFilter *Imfilter,TinputPin* &Iminput,CTransformOutputPin* &Imoutput,IFilterGraph* &Igraph,Tfilters* &Ifilters,const CLSID &Iproppageid,int IcfgDlgCaptionId,int IiconId,DWORD IdefaultMerit); virtual ~TffdshowDec();  STDMETHODIMP NonDelegatingQueryInterface(REFIID riid,void **ppv); HRESULT BreakConnect(PIN_DIRECTION dir); STDMETHODIMP JoinFilterGraph(IFilterGraph *pGraph,LPCWSTR pName); HRESULT StopStreaming(void);  STDMETHODIMP_(int) getVersion2(void); STDMETHODIMP saveKeysSettings(void); STDMETHODIMP loadKeysSettings(void); STDMETHODIMP getGraph(IFilterGraph* *graphPtr); STDMETHODIMP seek(int seconds); STDMETHODIMP tell(int*seconds); STDMETHODIMP stop(void); STDMETHODIMP run(void); STDMETHODIMP_(int) getState2(void); STDMETHODIMP getDuration(int*seconds); STDMETHODIMP_(int) getCurTime2(void); STDMETHODIMP initKeys(void); STDMETHODIMP_(int) getKeyParamCount2(void); STDMETHODIMP getKeyParamDescr(unsigned int i,const char_t **descr);  STDMETHODIMP_(int) getKeyParamKey2(unsigned int i); STDMETHODIMP setKeyParamKey(unsigned int i,int key); STDMETHODIMP initPresets(void); STDMETHODIMP getNumPresets(unsigned int *value); STDMETHODIMP getPresetName(unsigned int i,char_t *buf,size_t len); STDMETHODIMP getActivePresetName(char_t *buf,size_t len); STDMETHODIMP setActivePreset(const char_t *name,int create); STDMETHODIMP saveActivePreset(const char_t *name); STDMETHODIMP saveActivePresetToFile(const char_t *flnm); STDMETHODIMP loadActivePresetFromFile(const char_t *flnm); STDMETHODIMP removePreset(const char_t *name); STDMETHODIMP getPresets(Tpresets *presets2); STDMETHODIMP setPresets(const Tpresets *presets2); STDMETHODIMP savePresets(void); STDMETHODIMP getPresetPtr(Tpreset**preset); STDMETHODIMP setPresetPtr(Tpreset *preset); STDMETHODIMP renameActivePreset(const char_t *newName); STDMETHODIMP isDefaultPreset(const char_t *presetName); STDMETHODIMP createTempPreset(const char_t *presetName); STDMETHODIMP_(int) getMinOrder2(void); STDMETHODIMP_(int) getMaxOrder2(void); STDMETHODIMP resetFilter(unsigned int filterID); STDMETHODIMP resetFilterEx(unsigned int filterID,unsigned int filterPageId); STDMETHODIMP getFilterTip(unsigned int filterID,char_t *buf,size_t buflen); STDMETHODIMP getFilterTipEx(unsigned int filterID,unsigned int filterPageId,char_t *buf,size_t buflen); STDMETHODIMP filterHasReset(unsigned int filterID); STDMETHODIMP filterHasResetEx(unsigned int filterID,unsigned int filterPageId); STDMETHODIMP getPresetsPtr(Tpresets* *presetsPtr); STDMETHODIMP newSample(IMediaSample* *samplePtr); STDMETHODIMP deliverSample_unused(IMediaSample *sample) {return E_NOTIMPL;} STDMETHODIMP resetOrder(void); STDMETHODIMP resetKeys(void); STDMETHODIMP putStringParams(const char_t *params,char_t sep,int loaddef); STDMETHODIMP_(const TfilterIDFF*) getNextFilterIDFF(void) {return NULL;} STDMETHODIMP cyclePresets(int step); STDMETHODIMP exportKeysToGML(const char_t *flnm); STDMETHODIMP getShortDescription(char_t *buf,int buflen); STDMETHODIMP_(const char_t*) getActivePresetName2(void); STDMETHODIMP createPresetPages(const char_t *presetname,TffdshowPageDec *pages); STDMETHODIMP_(const TfilterIDFF*) getFilterIDFF_notimpl(void) {return NULL;} STDMETHODIMP getFilterIDFFs(const char_t *presetname,const TfilterIDFFs* *filters); STDMETHODIMP notifyParamsChanged(void); STDMETHODIMP getParam(unsigned int paramID,int* value); STDMETHODIMP putParam(unsigned int paramID,int val); STDMETHODIMP invParam(unsigned int paramID); STDMETHODIMP getParamStr3(unsigned int paramID,const char_t* *value); STDMETHODIMP putParamStr(unsigned int paramID,const char_t *buf); STDMETHODIMP getParamInfo(unsigned int paramID,TffdshowParamInfo *paramPtr); STDMETHODIMP notifyParam(int id,int val); STDMETHODIMP notifyParamStr(int id,const char_t *val); STDMETHODIMP initRemote(void); STDMETHODIMP saveRemoteSettings(void); STDMETHODIMP loadRemoteSettings(void); STDMETHODIMP setFilterOrder(unsigned int filterID,unsigned int newOrder); STDMETHODIMP savePresetMem(void *buf,size_t len); STDMETHODIMP loadPresetMem(const void *buf,size_t len); STDMETHODIMP resetParam(unsigned int paramID); STDMETHODIMP initMouse(void); STDMETHODIMP_(unsigned int) getPresetAutoloadItemsCount2(void); STDMETHODIMP getPresetAutoloadItemInfo(unsigned int index,const char_t* *name,const char_t* *hint,int *allowWildcard,int *is,int *isVal,char_t *val,size_t vallen,int *isList,int *isHelp); STDMETHODIMP setPresetAutoloadItem(unsigned int index,int is,const char_t *val); STDMETHODIMP_(const char_t*) getPresetAutoloadItemList(unsigned int paramIndex,unsigned int listIndex); STDMETHODIMP_(const char_t**) getSupportedFOURCCs(void); STDMETHODIMP_(const Tstrptrs*) getCodecsList(void); STDMETHODIMP queryFilterInterface(const IID &iid,void **ptr); STDMETHODIMP setOnNewFiltersMsg(HWND wnd,unsigned int msg); STDMETHODIMP sendOnNewFiltersMsg(void); STDMETHODIMP setKeyParamKeyCheck(unsigned int i,int key,int *prev,const char_t* *prevDescr); STDMETHODIMP getPresetAutoloadItemHelp(unsigned int index,const char_t* *helpPtr); STDMETHODIMP_(int) getOSDpresetCount2(void); STDMETHODIMP_(const char_t*) getOSDpresetName2(unsigned int i); STDMETHODIMP_(const char_t*) getOSDpresetFormat2(const char_t *presetName); STDMETHODIMP setOSDpresetFormat(const char_t *presetName,const char_t *format); STDMETHODIMP setOSDpresetName(unsigned int i,const char_t *name); STDMETHODIMP addOSDpreset(const char_t *presetName,const char_t *format); STDMETHODIMP deleteOSDpreset(const char_t *presetName); STDMETHODIMP cycleOSDpresets(void); STDMETHODIMP_(const char_t*) getOSDstartupFormat(int *duration); // IDispatch STDMETHODIMP GetTypeInfoCount(UINT FAR* pctinfo) {return E_NOTIMPL;} STDMETHODIMP GetTypeInfo(UINT itinfo,  LCID lcid, ITypeInfo FAR* FAR* pptinfo) {return E_NOTIMPL;} STDMETHODIMP GetIDsOfNames(REFIID riid,OLECHAR FAR* FAR* rgszNames,UINT cNames,LCID lcid,DISPID FAR* rgdispid) {return E_NOTIMPL;} STDMETHODIMP Invoke(DISPID dispidMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS FAR* pdispparams,VARIANT FAR* pvarResult,EXCEPINFO FAR* pexcepinfo,UINT FAR* puArgErr) {return E_NOTIMPL;} // IAMExtendedSeeking STDMETHODIMP get_ExSeekCapabilities(long * pExCapabilities); STDMETHODIMP get_MarkerCount(long * pMarkerCount); STDMETHODIMP get_CurrentMarker(long * pCurrentMarker); STDMETHODIMP GetMarkerTime(long MarkerNum, double * pMarkerTime); STDMETHODIMP GetMarkerName(long MarkerNum, BSTR * pbstrMarkerName); STDMETHODIMP put_PlaybackSpeed(double Speed); STDMETHODIMP get_PlaybackSpeed(double * pSpeed);  // ISpecifyPropertyPages STDMETHODIMP GetPages(CAUUID *pPages);  // CTransformFilter HRESULT NewSegment(REFERENCE_TIME tStart,REFERENCE_TIME tStop,double dRate);protected: struct TffdshowDec_char : interfaces<tchar_traits<char_t>::other_char_t>::IffdshowDec, CUnknown  {  protected:    typedef tchar_traits<char_t>::other_char_t tchar;  private:   IffdshowDecT<char_t> *deciD;  public:   TffdshowDec_char(LPUNKNOWN punk,IffdshowDecT<char_t> *IdeciD):deciD(IdeciD),CUnknown(NAME("TffdshowDec_char"),punk) {}   STDMETHODIMP QueryInterface(REFIID riid, void **ppv) {return deciD->QueryInterface(riid,ppv);}   STDMETHODIMP_(ULONG) AddRef() {return deciD->AddRef();}   STDMETHODIMP_(ULONG) Release() {return deciD->Release();}   STDMETHODIMP_(int) getVersion2(void) {return deciD->getVersion2();}   STDMETHODIMP saveKeysSettings(void) {return deciD->saveKeysSettings();}   STDMETHODIMP loadKeysSettings(void) {return deciD->loadKeysSettings();}   STDMETHODIMP getGraph(IFilterGraph* *graphPtr) {return deciD->getGraph(graphPtr);}   STDMETHODIMP seek(int seconds) {return deciD->seek(seconds);}   STDMETHODIMP tell(int*seconds) {return deciD->tell(seconds);}   STDMETHODIMP stop(void) {return deciD->stop();}   STDMETHODIMP run(void) {return deciD->run();}   STDMETHODIMP_(int) getState2(void) {return deciD->getState2();}   STDMETHODIMP getDuration(int*seconds) {return deciD->getDuration(seconds);}   STDMETHODIMP_(int) getCurTime2(void) {return deciD->getCurTime2();}   STDMETHODIMP initKeys(void) {return deciD->initKeys();}   STDMETHODIMP_(int) getKeyParamCount2(void) {return deciD->getKeyParamCount2();}   STDMETHODIMP getKeyParamDescr(unsigned int i,const tchar* *descr)     {      return E_NOTIMPL;    }    STDMETHODIMP_(int) getKeyParamKey2(unsigned int i) {return deciD->getKeyParamKey2(i);}   STDMETHODIMP setKeyParamKey(unsigned int i,int key) {return deciD->setKeyParamKey(i,key);}   STDMETHODIMP initPresets(void) {return deciD->initPresets();}   STDMETHODIMP getNumPresets(unsigned int *value) {return deciD->getNumPresets(value);}   STDMETHODIMP getPresetName(unsigned int i,tchar *buf,size_t buflen)    {     char_t *buft=(char_t*)alloca(buflen*sizeof(char_t));     HRESULT hr;     if (SUCCEEDED(hr=deciD->getPresetName(i,buft,buflen)))      text<tchar>(buft,buf);     return hr;     }    STDMETHODIMP getActivePresetName(tchar *buf,size_t buflen)    {     char_t *buft=(char_t*)alloca(buflen*sizeof(char_t));     HRESULT hr;     if (SUCCEEDED(hr=deciD->getActivePresetName(buft,buflen)))      text<tchar>(buft,buf);     return hr;     }    STDMETHODIMP setActivePreset(const tchar *name,int create)     {     return deciD->setActivePreset(text<char_t>(name),create);    }   STDMETHODIMP saveActivePreset(const tchar *name)    {     return deciD->saveActivePreset(text<char_t>(name));    }    STDMETHODIMP saveActivePresetToFile(const tchar *flnm)     {     return deciD->saveActivePresetToFile(text<char_t>(flnm));    }    STDMETHODIMP loadActivePresetFromFile(const tchar *flnm)     {     return deciD->loadActivePresetFromFile(text<char_t>(flnm));    }    STDMETHODIMP removePreset(const tchar *name)    {     return deciD->removePreset(text<char_t>(name));    }    STDMETHODIMP getPresets(Tpresets *presets2)    {     return E_NOTIMPL;    }   STDMETHODIMP setPresets(const Tpresets *presets2)    {     return E_NOTIMPL;    }    STDMETHODIMP savePresets(void) {return deciD->savePresets();}   STDMETHODIMP getPresetPtr(Tpreset**preset)    {     return E_NOTIMPL;    }    STDMETHODIMP setPresetPtr(Tpreset *preset)    {     return E_NOTIMPL;    }   STDMETHODIMP renameActivePreset(const tchar *newName)     {     return deciD->renameActivePreset(text<char_t>(newName));    }    STDMETHODIMP isDefaultPreset(const tchar *presetName)    {     return deciD->isDefaultPreset(text<char_t>(presetName));    }    STDMETHODIMP createTempPreset(const tchar *presetName)    {     return deciD->createTempPreset(text<char_t>(presetName));

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?