X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmodules%2Ffezzik%2Fproducer_fezzik.c;h=d5f686e043712c3db2030e5f24003702dea54f37;hb=f8b2fa8e8e1552b78418d0c2c74f850d322ace69;hp=4ff34eb7cbd09be82aac3e8bbe68889bb1619123;hpb=dc57bd7b4020663b49149f44f1607c4d78c4d2d5;p=melted diff --git a/src/modules/fezzik/producer_fezzik.c b/src/modules/fezzik/producer_fezzik.c index 4ff34eb..d5f686e 100644 --- a/src/modules/fezzik/producer_fezzik.c +++ b/src/modules/fezzik/producer_fezzik.c @@ -61,6 +61,8 @@ static mlt_producer create_producer( char *file ) 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" ) ) @@ -108,7 +110,9 @@ static mlt_service create_filter( mlt_tractor tractor, mlt_service last, char *e 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 ) @@ -149,6 +153,9 @@ mlt_producer producer_fezzik_init( char *arg ) // 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 ); }