Hallo!
Biete 15 EUR per PayPal für die korrekte Übersetzung der Interfaces IffdshowBase/IffdshowDec auf Delphi. C++-Definition gibt's hier:
ffdshow-tryout.svn.s...k/src/IffdshowBase.h
ffdshow-tryout.svn.s...nk/src/IffdshowDec.h
Die nicht-Unicode Variante reicht (sprich {EC5BCCF4-FD62-45ee-B022-3840EAEA77B2} und {00F99065-70D5-4bcc-9D88-3801F3E3881B})
Hab schon mal ein bisschen angefangen. Die Interfaces kompilieren bereits, aber es müssten die Parameter (vor allem Pointer und out/var-Params) überprüft und korrigiert werden (kriege Momentan z.T. Access Violaions).
Falls jemand die Delphi-Übersetzung oder eine Type-Library im Netz findet umso besser...
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169:
| type IffdshowBase = interface ['{EC5BCCF4-FD62-45ee-B022-3840EAEA77B2}'] function getVersion2: Integer; safecall; procedure getParam(paramID: Cardinal; out value: Integer); safecall; function getParam2(paramID: Cardinal): Integer; safecall; procedure putParam(paramID: Cardinal; value: Integer); safecall; procedure invParam(paramID: Cardinal); safecall; procedure getParamStr(paramID: Cardinal; Buf: PChar; buflen: Cardinal); safecall; function getParamStr2(paramID: Cardinal): PChar; safecall; procedure putParamStr(paramID: Cardinal; buf: PChar); safecall; procedure getParamName(i: Cardinal; buf: PChar; len: Cardinal); safecall; procedure notifyParamsChanged; safecall; procedure setOnChangeMsg(wnd: HWND;msg: Cardinal); safecall; procedure setOnFrameMsg(wnd: HWND;msg: Cardinal); safecall; procedure getGlobalSettings(globalSettingsPtr: Pointer); safecall; procedure saveGlobalSettings; safecall; procedure loadGlobalSettings; safecall; procedure saveDialogSettings; safecall; procedure loadDialogSettings; safecall; procedure getConfig(configPtr: Pointer); safecall; procedure getInstance(out hi: LongWord); safecall; function getInstance2: LongWord; safecall; procedure getPostproc(postprocPtr: Pointer); safecall; procedure getTranslator(out trans: Pointer); safecall; procedure initDialog; safecall; procedure showCfgDlg(owner: HWND); safecall; function getCpuUsage2: Integer; safecall; procedure cpuSupportsMMX; safecall; procedure cpuSupportsMMXEXT; safecall; procedure cpuSupportsSSE; safecall; procedure cpuSupportsSSE2; safecall; procedure cpuSupports3DNOW; safecall; procedure cpuSupports3DNOWEXT; safecall; procedure dbgInit; safecall; procedure dbgError(fmt: PChar); safecall; procedure dbgWrite(fmt: PChar); safecall; procedure dbgDone; safecall; procedure showTrayIcon; safecall; procedure hideTrayIcon; safecall; function getExeflnm: PChar; safecall; procedure getLibavcodec(libavcodecPtr: Pointer); safecall; function getSourceName: PChar; safecall; procedure getGraph(out graphPtr: IFilterGraph); safecall; procedure seek(seconds: Integer); safecall; procedure tell(out seconds: Integer); safecall; procedure stop; safecall; procedure run; safecall; function getState2: Integer; safecall; function getCurTime2: Integer; safecall; procedure getParamStr3(paramID: Cardinal; out bufPtr: PChar); safecall; procedure savePresetMem(buf: Pointer; len: Cardinal); safecall; procedure loadPresetMem(buf: Pointer; len: Cardinal); safecall; procedure getParamName3(i: Cardinal; out namePtr: PChar); safecall; procedure getInCodecString(buf: PChar;buflen: Cardinal); safecall; procedure getOutCodecString(buf: PChar;buflen: Cardinal); safecall; procedure getMerit(out merit: DWORD); safecall; procedure setMerit(merit: DWORD ); safecall; procedure lock(lockId: Integer); safecall; procedure unlock(lockId: Integer); safecall; procedure getParamInfo(i: Cardinal; paramPtr: Pointer); safecall; procedure exportRegSettings(all: Integer; regflnm: PChar; unicode: Integer); safecall; procedure checkInputConnect(pin: IPin); safecall; procedure getParamListItem(paramId: Integer;index: Integer; out ptr: PChar); safecall; procedure abortPlayback(hr: HRESULT); safecall; procedure notifyParam(id: Integer;val: Integer); safecall; procedure notifyParamStr(id: Integer; val: PChar); safecall; procedure doneDialog; safecall; procedure resetParam(paramID: Cardinal); safecall; function getCurrentCodecId2: Integer; safecall; procedure frameStep(diff: Integer); safecall; procedure getInfoItem(index: Cardinal; out id: Integer; out name: PChar); safecall; procedure getInfoItemValue(id: Integer; out value: PChar; var wasChange: Integer; var splitline: Integer); safecall; procedure inExplorer; safecall; function getInfoItemName(id: Integer): PChar; safecall; function getCfgDlgHwnd: HWND; safecall; function setCfgDlgHwnd(hwnd: HWND): Pointer; safecall; function getTrayHwnd_: HWND; safecall; function setTrayHwnd_(hwnd: HWND): Pointer; safecall; function getInfoItemShortcut(id: Integer): PChar; safecall; function getInfoShortcutItem(s: PChar; var toklen: Integer): Integer; safecall; end;
IffdshowDec = interface ['{00F99065-70D5-4bcc-9D88-3801F3E3881B}'] function getVersion2: Integer; safecall; procedure saveKeysSettings; safecall; procedure loadKeysSettings; safecall; procedure getGraph(out graphPtr: IFilterGraph); safecall; procedure seek(seconds: Integer); safecall; procedure tell(out seconds: Integer); safecall; procedure stop; safecall; procedure run; safecall; function getState2: Integer; safecall; procedure getDuration(out seconds: Integer); safecall; function getCurTime2: Integer; safecall; procedure initKeys; safecall; function getKeyParamCount2: Integer; safecall; procedure getKeyParamDescr(i: Cardinal; out descr: PChar); safecall; function getKeyParamKey2(i: Cardinal): Integer; safecall; procedure setKeyParamKey(i: Cardinal;key: Integer); safecall; procedure getNumPresets(out value: Cardinal); safecall; procedure initPresets; safecall; procedure getPresetName(i: Cardinal; buf: PChar;len: Cardinal); safecall; procedure getActivePresetName(buf: PChar;len: Cardinal); safecall; procedure setActivePreset(name: PChar;create: Integer); safecall; procedure saveActivePreset(name: PChar); safecall; procedure saveActivePresetToFile(flnm: PChar); safecall; procedure loadActivePresetFromFile(flnm: PChar); safecall; procedure removePreset(name: PChar); safecall; procedure getPresets(presets2: Pointer); safecall; procedure setPresets(presets2: Pointer); safecall; procedure savePresets; safecall; procedure getPresetPtr(out Tpreset: Pointer); safecall; procedure setPresetPtr(preset: Pointer); safecall; procedure renameActivePreset(newName: PChar); safecall; procedure isDefaultPreset(presetName: PChar); safecall; procedure createTempPreset(presetName: PChar); safecall; function getMinOrder2: Integer; safecall; function getMaxOrder2: Integer; safecall; procedure resetFilter(filterID: Cardinal); safecall; procedure resetFilterEx(filterID: Cardinal;filterPageId: Cardinal); safecall; procedure getFilterTip(filterID: Cardinal; buf: PChar;buflen: Cardinal); safecall; procedure getFilterTipEx(filterID: Cardinal;filterPageId: Cardinal; buf: PChar;buflen: Cardinal); safecall; procedure filterHasReset(filterID: Cardinal); safecall; procedure filterHasResetEx(filterID: Cardinal;filterPageId: Cardinal); safecall; procedure getPresetsPtr(out presetsPtr: Pointer); safecall; procedure newSample(out samplePtr: IMediaSample); safecall; procedure deliverSample_unused(sample: IMediaSample); safecall; function getFilterIDFF_notimpl: Pointer; safecall; procedure resetOrder; safecall; procedure resetKeys; safecall; procedure putStringParams(params: PChar; sep: Char; loaddef: Integer); safecall; function getNextFilterIDFF: Pointer; safecall; procedure cyclePresets(step: Integer); safecall; procedure exportKeysToGML(flnm: PChar); safecall; procedure getShortDescription(buf: PChar;buflen: Integer); safecall; function getActivePresetName2: PChar; safecall; procedure createPresetPages(presetname: PChar; pages: Pointer); safecall; procedure getEncoderInfo(buf: PChar;buflen: Cardinal); safecall; function getDecoderName: PChar; safecall; procedure getFilterIDFFs(presetname: PChar; out filters: Pointer); safecall; procedure initRemote; safecall; procedure saveRemoteSettings; safecall; procedure loadRemoteSettings; safecall; procedure setFilterOrder(filterID: Cardinal;newOrder: Cardinal); safecall; function getPresetAutoloadItemsCount2: Cardinal; safecall; procedure getPresetAutoloadItemInfo(index: Cardinal; out name: PChar; out hint: PChar; out allowWildcard: Integer; out _is: Integer; out isVal: Integer; val: PChar;vallen: Cardinal; out isList: Integer; out isHelp: Integer); safecall; procedure setPresetAutoloadItem(index: Cardinal;_is: Integer;val: PChar); safecall; function getPresetAutoloadItemList(paramIndex: Cardinal;listIndex: Cardinal): PChar; safecall; function getSupportedFOURCCs: PPChar; safecall; function getCodecsList: Pointer; safecall; procedure queryFilterInterface(const iid: TGUID; out ptr); safecall; procedure setOnNewFiltersMsg(wnd: HWND;msg: Cardinal); safecall; procedure sendOnNewFiltersMsg; safecall; procedure setKeyParamKeyCheck(i: Cardinal;key: Integer; out prev: Integer; out prevDescr: PChar); safecall; function getInputBitrate2: Integer; safecall; procedure getPresetAutoloadItemHelp(index: Cardinal; out helpPtr: PChar); safecall; function getOSDpresetCount2: Integer; safecall; function getOSDpresetName2(i: Cardinal): PChar; safecall; function getOSDpresetFormat2(presetName: PChar): PChar; safecall; procedure setOSDpresetFormat(presetName: PChar; format: PChar); safecall; procedure setOSDpresetName(i: Cardinal; name: PChar); safecall; procedure addOSDpreset(presetName: PChar; format: PChar); safecall; procedure deleteOSDpreset(presetName: PChar); safecall; procedure cycleOSDpresets; safecall; function getOSDstartupFormat(out duration: Integer): PChar; safecall; function getInputPin: Pointer; safecall; end; |
Bitte direkt hier antworten. Ich bezahle nur den ersten, also am besten zuerst einen Eintrag posten, dass du damit angefangen hast
