i have a little patching/ coding question to the video experts here. what i want to do is a hd videoconferencing tool with the elecard-codec package.
my questions are:
is it possible to open a custom filter graph in vvvv?
is there a way to get two seperate shared mem videos (different content, everything else would be just what sharedmemvids are made for…) running on one machine?
i have at least two custom filter graphs in graph edit, which work like
input > decoder > shared mem tip > renderer
where the shared mem tip comes with vvvv. what i want to do is, access both shared memory areas from vvvv, but i don’t know the names of thoose shared mem areas.
another point is, that i can’t access a shared mem video out in vvvv from the outside. i tried to access this form graph edit like
shared mem source > encoder > renderer
it would be great if you or anybody else has an idea on this topic.
if you have two graphedit instances running with a graph like:
input > decoder > shared mem tip > renderer
they should both render to the same shared memory location, as the default shared memory name for the SharedMemTIP filter is #vvvv and it can only be changed via an interface, but not via a property page in graphedit. a propertypage could be added quite easily though i’d say, if you’re a bit into coding. the source is all there.
next, a graph like this in graphedit:
shared mem source > encoder > renderer
won’t work at the moment because the SharedMemSource does not have a default shared memory name at all. it must be set via an interface. this is of course not so nice and could also be easily fixed in the code to point to #vvvv also so that at least per default they would be able to communicate.
changing the sharedmemtip’s name went well, but now i’m facing another difficulty. i’m not able to save a graph from graph edit, while shared mem tip or shared mem renderer is included. do you have any idea for the reason of this?
ja, i only recently learned that dshow filters to be able to be saved with graphedit need to implement the IPersist interface. so if you change the line:
TMSharedMemTIP = class(TBCTransInPlaceFilter, ISharedMemParameters)
to:
TMSharedMemTIP = class(TBCTransInPlaceFilter, ISharedMemParameters, IPersist)
that should be it. i will fix that for all the filters in the repository.
filters shipping with beta>20 will allow themselves to be saved with graphedit. SharedMemSource now has a working default. also the fixed code is already commited to the repository.