X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmodules%2Fkdenlive%2Fproducer_framebuffer.c;h=e782895390d5a2b57f935d322f17d65942d2d4e5;hb=f4d4669b66a9f23be85527f65dec19a566db561c;hp=d028eaac916b00a6971a9500d1da1836ba327bcd;hpb=e8cb811d00abe2b31e1e6591da9e3c13799228eb;p=melted diff --git a/src/modules/kdenlive/producer_framebuffer.c b/src/modules/kdenlive/producer_framebuffer.c index d028eaa..e782895 100644 --- a/src/modules/kdenlive/producer_framebuffer.c +++ b/src/modules/kdenlive/producer_framebuffer.c @@ -194,7 +194,7 @@ static int producer_get_frame( mlt_producer this, mlt_frame_ptr frame, int index mlt_producer producer_framebuffer_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg ) { - + if ( !arg ) return NULL; mlt_producer this = NULL; this = calloc( 1, sizeof( struct mlt_producer_s ) ); mlt_producer_init( this, NULL ); @@ -236,7 +236,6 @@ mlt_producer producer_framebuffer_init( mlt_profile profile, mlt_service_type ty if (speed == 0.0) speed = 1.0; - if ( this != NULL && real_producer != NULL) { // Get the properties of this producer @@ -255,9 +254,10 @@ mlt_producer producer_framebuffer_init( mlt_profile profile, mlt_service_type ty if ( speed != 1.0 ) { - double real_length = (double) mlt_producer_get_length( real_producer ); - mlt_properties_set_position( properties, "length", real_length / speed ); + double real_length = ( (double) mlt_producer_get_length( real_producer ) ) / speed; + mlt_properties_set_position( properties, "length", real_length ); } + mlt_properties_set_position( properties, "out", mlt_producer_get_length( this ) - 1 ); // Since we control the seeking, prevent it from seeking on its own mlt_producer_set_speed( real_producer, 0 );