// Index to hold the count
int i = 0;
- // We will get the 'b frame' from the composite only if it's NULL
+ // We will get the 'b frame' from the composite only if it's NULL (region filter)
if ( b_frame == NULL )
{
// Copy the region
mlt_properties_set_data( MLT_FRAME_PROPERTIES( frame ), name, b_frame, 0, ( mlt_destructor )mlt_frame_close, NULL );
}
+ // filter_only prevents copying the alpha channel of the shape to the output frame
+ // by compositing filtered frame over itself
+ if ( mlt_properties_get_int( properties, "filter_only" ) )
+ {
+ frame = composite_copy_region( composite, b_frame, position );
+ }
+
// Make sure the filter is in the correct position
while ( filter != NULL )
{