PDA

View Full Version : [C++] Problema con DirectShow


Loprix
23-09-2003, 14:45
Ho un problema nel mixing di video streams multipli usando il Video Mixing Renderer Filter 9....

In pratica devo fare il render di n source filters; devo gestire questi upstream singolarmente (ovvero poterli mettere in pausa, variarne la posizione [usando la seek() sul singolo source filter] o farli ripartire). Creare n Filter Graph (e quindi n VMR-9) non funziona, poichè in questo modo di operare non posso controllare la "profondità del piano del video" (Z-order), ovvero i filmati risultano tutti in primo piano, e l'effetto è orribile quando sovrappongo i vari stream video (modificandone opportunamente l'alpha value) per generare un effetto di transizione tra uno stream e l'altro.

Come posso procedere??? :wtf: :bsod: :muro:
Grazie a tutti in anticipo.... :cool:

Loprix
23-09-2003, 14:57
Cionci, sono giorni che ci sbatto la testa... e la SDK documentation mi è servita a poco... :(
Ti prego, non dirmi anke tu ke devo scrivermi un filtro da solo... :(

Loprix
23-09-2003, 19:25
Aehm.... avrei dovuto postare nella sezione DirectX®??? Scusate, ma ancora non ho capito se quella sezione tratta argomenti che riguardano l'utente finale o sviluppatori/programmatori... :(

maxithron
24-09-2003, 00:05
potrebbe esserti d'aiuto questo link?:

http://members.shaw.ca/maxwellsayles/SourceCode/

Loprix
24-09-2003, 00:35
Purtroppo no.... sto seguendo un altro approccio: ho studiato meglio la guida.... ;)
Cmq. accetto molto volentieri idee e consigli......
Ciauz

maxithron
24-09-2003, 00:46
ci riprovo:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/htm/windowedmodewithmultiplestreams.asp

Loprix
24-09-2003, 02:42
Si, è esattamente lì ke sto studiando (ovviamente ho scaricato dal sito Microsoft le "dx9.0b sdk" con la documentazione e gli esempi....)
Il problema è che i metodi messi a disposizione dall' IMediaControl (a esempio IMediaControl::Run() o IMediaControl::Pause()) fanno partire (o mettere in pausa) contemporaneamente TUTTI i filtri... Ora sto lavorando ad un livello + basso, ovvero con un puntatore a ciascun filtro ed usando i metodi dell' interfaccia IMediaFilter per mettere in pausa alcuni filtri mentre gli altri continuano a "lavorare" :cool: :cool: :cool:

E pensare ke il problema ke devo risolvere è tanto banale quanto comune (una seek senza soluzione di continuità, per "saltare" da un capitolo ad un altro di un libro interattivo, con effetti di dissolvenza tra una sequenza e l'altra... ho trovato tante lamentele nei vari newsgroups, e la maggior parte dei programmatori hanno optato per riscrivere i filtri.... :cry: )

cionci
24-09-2003, 11:57
Mi dispiace, non mi intendo di queste cose...

Loprix
24-09-2003, 13:46
Mi dispiace, non mi intendo di queste cose...
Beh, se è per questo neanch'io fino a 2 settimane fa... ;)
Appena finito vi farò sapere... magari qualcun altro potrebbe avere il mio problema, in futuro....

Cmq. 6 sempre il + :ave: :ave: Grande :ave: :ave:

cionci
24-09-2003, 14:57
Originariamente inviato da Loprix Cmq. 6 sempre il + :ave: :ave: Grande :ave: :ave:
Magari lo fossi ;) :D

Loprix
24-09-2003, 16:08
Originariamente inviato da cionci
Magari lo fossi ;) :D

Ed il + modesto ;) :D