Hello.
Attached patch should fix mlt bug 3417991:
http://sourceforge.net/tracker/?func=detail&atid=613414&aid=3417991&group_id=96039
(framebuffer producer ignores "in")
regards
jb
___________________________________________________________________________________
diff --git a/src/modules/kdenlive/producer_framebuffer.c
b/src/modules/kdenlive/producer_framebuffer.c
index 867a082..e60c81d 100644
--- a/src/modules/kdenlive/producer_framebuffer.c
+++ b/src/modules/kdenlive/producer_framebuffer.c
@@ -52,6 +52,7 @@ static int framebuffer_get_image( mlt_frame frame, uint8_t
**image, mlt_image_fo
int freeze = mlt_properties_get_int( properties, "freeze" );
int freeze_after = mlt_properties_get_int( properties, "freeze_after"
);
int freeze_before = mlt_properties_get_int( properties,
"freeze_before" );
+ int in = mlt_properties_get_position( properties, "in" );
// Determine the position
mlt_position first_position = (first_frame != NULL) ?
mlt_frame_get_position( first_frame ) : -1;
@@ -60,7 +61,7 @@ static int framebuffer_get_image( mlt_frame frame, uint8_t
**image, mlt_image_fo
if ( !freeze || freeze_after || freeze_before )
{
double prod_speed = mlt_properties_get_double( properties,
"_speed" );
- double actual_position = prod_speed * (double)
mlt_producer_position( producer );
+ double actual_position = in + prod_speed * (double)
mlt_producer_position( producer );
if ( mlt_properties_get_int( properties, "reverse" ) )
actual_position = mlt_producer_get_playtime( producer
) - actual_position;
diff --git a/src/modules/kdenlive/producer_framebuffer.c b/src/modules/kdenlive/producer_framebuffer.c
index 867a082..e60c81d 100644
--- a/src/modules/kdenlive/producer_framebuffer.c
+++ b/src/modules/kdenlive/producer_framebuffer.c
@@ -52,6 +52,7 @@ static int framebuffer_get_image( mlt_frame frame, uint8_t **image, mlt_image_fo
int freeze = mlt_properties_get_int( properties, "freeze" );
int freeze_after = mlt_properties_get_int( properties, "freeze_after" );
int freeze_before = mlt_properties_get_int( properties, "freeze_before" );
+ int in = mlt_properties_get_position( properties, "in" );
// Determine the position
mlt_position first_position = (first_frame != NULL) ? mlt_frame_get_position( first_frame ) : -1;
@@ -60,7 +61,7 @@ static int framebuffer_get_image( mlt_frame frame, uint8_t **image, mlt_image_fo
if ( !freeze || freeze_after || freeze_before )
{
double prod_speed = mlt_properties_get_double( properties, "_speed" );
- double actual_position = prod_speed * (double) mlt_producer_position( producer );
+ double actual_position = in + prod_speed * (double) mlt_producer_position( producer );
if ( mlt_properties_get_int( properties, "reverse" ) )
actual_position = mlt_producer_get_playtime( producer ) - actual_position;
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel