// Correct width/height if not specified
if ( luma_width == 0 || luma_height == 0 )
{
- luma_width = mlt_properties_get_int( a_props, "width" );
- luma_height = mlt_properties_get_int( a_props, "height" );
+ luma_width = *width;
+ luma_height = *height;
}
- if ( resource != current_resource )
+ if ( resource && ( !current_resource || strcmp( resource, current_resource ) ) )
{
char temp[ 512 ];
char *extension = strrchr( resource, '.' );
+ char *orig_resource = resource;
if ( strchr( resource, '%' ) )
{
// Set the transition properties
mlt_properties_set_int( properties, "width", luma_width );
mlt_properties_set_int( properties, "height", luma_height );
- mlt_properties_set( properties, "_resource", resource );
+ mlt_properties_set( properties, "_resource", orig_resource );
mlt_properties_set_data( properties, "bitmap", luma_bitmap, luma_width * luma_height * 2, mlt_pool_release, NULL );
}
}
// Set the transition properties
mlt_properties_set_int( properties, "width", luma_width );
mlt_properties_set_int( properties, "height", luma_height );
- mlt_properties_set( properties, "_resource", resource);
+ mlt_properties_set( properties, "_resource", orig_resource);
mlt_properties_set_data( properties, "bitmap", luma_bitmap, luma_width * luma_height * 2, mlt_pool_release, NULL );
// Cleanup the luma frame