X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmodules%2Fcore%2Ftransition_composite.c;h=fa12b1556f3657b5ffebaf5ed1263d4a6f103d80;hb=b9481bb114ff8bfff85e5097a57438c855b30e1e;hp=4cbf324a4e0a4e8bec37947c01af1912068ad1f7;hpb=27252e3c2f46c5bfd92c841e3453525ecea2a7d5;p=melted diff --git a/src/modules/core/transition_composite.c b/src/modules/core/transition_composite.c index 4cbf324..fa12b15 100644 --- a/src/modules/core/transition_composite.c +++ b/src/modules/core/transition_composite.c @@ -1023,7 +1023,10 @@ static int transition_get_image( mlt_frame a_frame, uint8_t **image, mlt_image_f mlt_properties_set( b_props, "rescale.interp", rescale ); // Do the calculation + // NB: Locks needed here since the properties are being modified + mlt_service_lock( MLT_TRANSITION_SERVICE( this ) ); composite_calculate( this, &result, a_frame, position ); + mlt_service_unlock( MLT_TRANSITION_SERVICE( this ) ); // Since we are the consumer of the b_frame, we must pass along these // consumer properties from the a_frame @@ -1129,7 +1132,10 @@ static int transition_get_image( mlt_frame a_frame, uint8_t **image, mlt_image_f double field_position = position + field * delta; // Do the calculation if we need to + // NB: Locks needed here since the properties are being modified + mlt_service_lock( MLT_TRANSITION_SERVICE( this ) ); composite_calculate( this, &result, a_frame, field_position ); + mlt_service_unlock( MLT_TRANSITION_SERVICE( this ) ); if ( mlt_properties_get_int( properties, "titles" ) ) {