X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fframework%2Fmlt_service.c;h=9a0cd7722f8041a3cc583efa8b07b159cf772e27;hb=519393231e6ab626f19bd01d4622d1c3759fcc93;hp=e91e441523d70d550db1c26779f2ae349967461a;hpb=f5da31bf950521eaef7fc1f7047603e28cbbb377;p=melted diff --git a/src/framework/mlt_service.c b/src/framework/mlt_service.c index e91e441..9a0cd77 100644 --- a/src/framework/mlt_service.c +++ b/src/framework/mlt_service.c @@ -271,6 +271,10 @@ void mlt_service_apply_filters( mlt_service this, mlt_frame frame, int index ) mlt_service_base *base = this->local; mlt_position position = mlt_properties_get_position( frame_properties, "_position" ); + // Hmm - special case for cuts - apply filters from the parent first + if ( mlt_properties_get_int( filter_properties, "_cut" ) ) + mlt_service_apply_filters( ( mlt_service )mlt_properties_get_data( filter_properties, "_cut_parent", NULL ), frame, 0 ); + if ( index == 0 || mlt_properties_get_int( filter_properties, "_filter_private" ) == 0 ) { // Process the frame with the attached filters