#include <framework/mlt.h>
#include <stdlib.h>
#include <string.h>
+#include <math.h>
/** Handle the profile.
*/
strcat( result, tc );
free( tc );
}
+ else if ( !strcmp( keywords, "frame" ) )
+ {
+ // special case: replace #frame# with current frame number
+ int pos = mlt_properties_get_int( feed, "position" );
+ char s[12];
+ snprintf( s, sizeof(s) - 1, "%d", pos );
+ strcat( result, s );
+ }
else
{
// replace keyword with metadata value
// Get the frame properties
mlt_properties frame_properties = MLT_FRAME_PROPERTIES( frame );
+ mlt_service_lock( MLT_FILTER_SERVICE( filter ) );
+
// Track specific
process_queue( mlt_properties_get_data( frame_properties, "data_queue", NULL ), frame, filter );
// Global
process_queue( mlt_properties_get_data( frame_properties, "global_queue", NULL ), frame, filter );
+ mlt_service_unlock( MLT_FILTER_SERVICE( filter ) );
+
// Need to get the image
return mlt_frame_get_image( frame, image, format, width, height, 1 );
}