X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmodules%2Fcore%2Ftransition_composite.c;fp=src%2Fmodules%2Fcore%2Ftransition_composite.c;h=f69ee2ff051064fb6db22941c61be9af26ac001a;hb=ed2b3e0c6b5ab6ba6767e9d41fecb85431808401;hp=9cb37f02081daa1b7099bf3a904b1ceaaae7b23b;hpb=08209a6284926b14c740bee1e7d0767e40639e83;p=mlt diff --git a/src/modules/core/transition_composite.c b/src/modules/core/transition_composite.c index 9cb37f02..f69ee2ff 100644 --- a/src/modules/core/transition_composite.c +++ b/src/modules/core/transition_composite.c @@ -1120,6 +1120,7 @@ static int transition_get_image( mlt_frame a_frame, uint8_t **image, mlt_image_f // Calculate the position double delta = mlt_transition_get_progress_delta( this, a_frame ); + mlt_position length = mlt_transition_get_length( this ); // Get the image from the b frame uint8_t *image_b = NULL; @@ -1233,7 +1234,7 @@ static int transition_get_image( mlt_frame a_frame, uint8_t **image, mlt_image_f for ( field = 0; field < ( progressive ? 1 : 2 ); field++ ) { // Assume lower field (0) first - double field_position = position + field * delta; + double field_position = position + field * delta * length; // Do the calculation if we need to // NB: Locks needed here since the properties are being modified