result = mlt_factory_producer( "pixbuf", file );
else if ( strstr( file, ".png" ) )
result = mlt_factory_producer( "pixbuf", file );
+ else if ( strstr( file, ".svg" ) )
+ result = mlt_factory_producer( "pixbuf", file );
else if ( strstr( file, ".txt" ) )
result = mlt_factory_producer( "pango", file );
else if ( strstr( file, ".westley" ) )
if ( result == NULL )
result = mlt_factory_producer( "avformat", file );
- // 4th line fallbacks
+ // 4th - allow explicit construction
if ( result == NULL )
- result = mlt_factory_producer( "ffmpeg", file );
+ result = mlt_factory_producer( file, NULL );
return result;
}
mlt_producer producer_fezzik_init( char *arg )
{
// Create the producer that the tractor will contain
- mlt_producer producer = create_producer( arg );
+ mlt_producer producer = NULL;
+ if ( arg != NULL )
+ producer = create_producer( arg );
// Build the tractor if we have a producer and it isn't already westley'd :-)
if ( producer != NULL && mlt_properties_get( mlt_producer_properties( producer ), "westley" ) == NULL )
mlt_properties_set_data( properties, "producer", producer, 0, ( mlt_destructor )mlt_producer_close, NULL );
// Now attach normalising filters
+ last = create_filter( tractor, last, "deinterlace" );
last = create_filter( tractor, last, "rescale" );
+ last = create_filter( tractor, last, "resize" );
last = create_filter( tractor, last, "resample" );
// Connect the tractor to the last
// and fezzik doesn't overdo it with throwing rocks...
mlt_properties_set( properties, "westley", "was here" );
+ // We need to ensure that all further properties are mirrored in the producer
+ mlt_properties_mirror( properties, mlt_producer_properties( producer ) );
+
// Now, we return the producer of the tractor
producer = mlt_tractor_producer( tractor );
}