Hvordan konvertere Direct Filter til C ++ \ C #?

stemmer
0

Vi har noen filter for DS. Det fungerer - bruker standard seier dll-tallet.

Vi ønsker å konvertere filter til noen form for program som ikke er avhengig av å bruke DS. Vi vil at det skal ringe DLLer i riktig rekkefølge, gjøre alt hva DS gjør, men ikke på noen måte pålitelig på DS - bare på filter dll-tallet.

Så ... Hvordan konvertere Direct Filter til C ++ \ C #?

Publisert på 29/12/2009 klokken 23:14
kilden bruker
På andre språk...                            


2 svar

stemmer
0

Det er mulig å bruke Directshow-filtre uten å bruke Direct, men du må skrive din egen graf gjennomføring.

Det betyr at du er nødt til å gjennomføre IFilterGraph, IMemInputPinog IMemOutputPingrensesnitt for å gjøre Direct filter tror den kjører i sin opprinnelige miljø.

For å bestå buffere gjennom filteret, kan du trenger for å implementere IMemAllocatorogIMediaSample

Bufferen pasninger, spesielt kan ikke gjøres i forvaltet kode. Du kan være i stand til å gjøre det med Interop, men jeg tror det ville være lettere å gjøre i C ++ enn i C #. Jeg gjorde dette en gang for mange år siden. Det tok ca 3 måneder.

Svarte 29/12/2009 kl. 23:42
kilden bruker

stemmer
1

En bedre løsning er å bruke filter innenfor en enkelt-funksjons graf, der man har en tilpasset kilde mater filteret fra applikasjonen, og en tilpasset vask mottar utgangssignalet og levere den til programmet. Det er et eksempel på dette på www.gdcl.co.uk. Jeg vet dette er ikke helt hva du spør om, men dine avhengigheter på dshow er svært begrenset, og det er vanskelig å se et miljø der filter binære fungerer, men dshow grunnleggende er ikke tilgjengelig.

G

Svarte 30/12/2009 kl. 10:21
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more