Hi.

I discovered that sometimes, Kdenlive adds a ';' after the last keyframe of a 
geometry parameter. I just fixed it in Kdenlive, but the problem is that it 
breaks geometry parsing in MLT.

For example:

melt colour:red -track colour:blue -transition affine rotate_x="60;30=0" 
keyed=1

This will show a blue rect rotating from 60 degrees to 0.

melt colour:red -track colour:blue -transition affine rotate_x="60;30=0;" 
keyed=1

This will show a blue rect, no rotation at all. The difference is that there 
is a ';' at the end of the "rotate_x parameter", and currently, MLT thinks 
there is a third keyframe with 0 as value.

I think that geometry parsing should be a little more permissive and allow 
such small mistakes without breaking. My patch below fixes the problem if you 
agree...

regards
jb

___________________________________________________________________________


--- a/src/framework/mlt_geometry.c
+++ b/src/framework/mlt_geometry.c
@@ -235,6 +235,9 @@ int mlt_geometry_parse( mlt_geometry self, char *data, int 
length, int nw
                struct mlt_geometry_item_s item;
                char *value = mlt_tokeniser_get_string( tokens, i );
 
+               // If no data in keyframe, drop it
+               if ( value == NULL || !strcmp( value, "" ) ) continue;
+
                // Set item to 0
                memset( &item, 0, sizeof( struct mlt_geometry_item_s ) );
 


------------------------------------------------------------------------------
Malware Security Report: Protecting Your Business, Customers, and the 
Bottom Line. Protect your business and customers by understanding the 
threat from malware and how it can impact your online business. 
http://www.accelacomm.com/jaw/sfnl/114/51427462/
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel

Reply via email to