X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmodules%2Ffezzik%2Fproducer_fezzik.c;h=bcc801c183662adcb7bb7e41418b056c8b2ca840;hb=5c299d1ae6f3535df35b3f30bae0476a1ca50aa6;hp=bd43e1ccb75757fe60caba1524af4a995af4ef1e;hpb=36aad7b318537612374acfd3f626a8c1364ad95d;p=melted diff --git a/src/modules/fezzik/producer_fezzik.c b/src/modules/fezzik/producer_fezzik.c index bd43e1c..bcc801c 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" ) ) @@ -81,9 +83,9 @@ static mlt_producer create_producer( char *file ) 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; } @@ -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 ) @@ -132,6 +136,7 @@ mlt_producer producer_fezzik_init( char *arg ) 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" );