X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=mlt%2B%2B%2Fsrc%2FMltFilteredConsumer.cpp;h=73ee474951991dc83883bfa04451a78e2a7e9a6a;hb=2b945741324ce977c7c00ef855e87d142867b550;hp=2bcf6b45751b9137981d1c4ddf46f38c87b4a12a;hpb=8283ca2eb4e3b523e04a46578a19a985d3b2af3c;p=melted diff --git a/mlt++/src/MltFilteredConsumer.cpp b/mlt++/src/MltFilteredConsumer.cpp index 2bcf6b4..73ee474 100644 --- a/mlt++/src/MltFilteredConsumer.cpp +++ b/mlt++/src/MltFilteredConsumer.cpp @@ -21,8 +21,8 @@ #include "MltFilteredConsumer.h" using namespace Mlt; -FilteredConsumer::FilteredConsumer( char *id, char *arg ) : - Consumer( id, arg ) +FilteredConsumer::FilteredConsumer( Profile& profile, char *id, char *arg ) : + Consumer( profile, id, arg ) { // Create a reference to the first service first = new Service( *this ); @@ -69,6 +69,24 @@ int FilteredConsumer::attach( Filter &filter ) return error; } +int FilteredConsumer::last( Filter &filter ) +{ + int error = 0; + if ( filter.is_valid( ) ) + { + Service *producer = this->producer( ); + error = filter.connect( *producer ); + if ( error == 0 ) + connect_producer( filter ); + delete producer; + } + else + { + error = 1; + } + return error; +} + int FilteredConsumer::detach( Filter &filter ) { if ( filter.is_valid( ) )