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 + -
显示快捷键?