git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@636
d19143bc-622f-0410-bfdd-
b5b2a6649095
mlt_service producer = mlt_service_producer( &this->parent );
// If the frame request is for this filters track, we need to process it
- if ( index == track )
+ if ( index == track || track == -1 )
{
int ret = mlt_service_get_frame( producer, frame, index );
if ( ret == 0 )
// Get the service base
mlt_service_base *base = this->local;
+ // Special case 'track' index - only works for last filter(s) in a particular chain
+ // but allows a filter to apply to the output frame regardless of which track it comes from
+ if ( index == -1 )
+ index = 0;
+
// Check if the producer is already registered with this service
for ( i = 0; i < base->count; i ++ )
if ( base->in[ i ] == producer )