Extendable factories; general producer related modifications; westley storage; sdl_st...
[melted] / src / modules / inigo / producer_inigo.c
index 31368cb..5367d4e 100644 (file)
@@ -359,7 +359,7 @@ mlt_producer producer_inigo_init( char **argv )
                                        mlt_properties_set_int( properties, "hide", 2 );
                        }
                }
-               else if ( strchr( argv[ i ], '=' ) )
+               else if ( strchr( argv[ i ], '=' ) && strstr( argv[ i ], "<?xml" ) != argv[ i ] )
                {
                        mlt_properties_parse( properties, argv[ i ] );
                }
@@ -367,7 +367,7 @@ mlt_producer producer_inigo_init( char **argv )
                {
                        if ( producer != NULL && !mlt_producer_is_cut( producer ) )
                                mlt_playlist_append( playlist, producer );
-                       if ( title == NULL )
+                       if ( title == NULL && strstr( argv[ i ], "<?xml" ) != argv[ i ] )
                                title = argv[ i ];
                        producer = create_producer( field, argv[ i ] );
                        if ( producer != NULL )
@@ -402,6 +402,7 @@ mlt_producer producer_inigo_init( char **argv )
                mlt_multitrack_connect( multitrack, mlt_playlist_producer( playlist ), track );
 
        mlt_producer prod = mlt_tractor_producer( tractor );
+       mlt_producer_optimise( prod );
        mlt_properties props = mlt_tractor_properties( tractor );
        mlt_properties_set_data( props, "group", group, 0, ( mlt_destructor )mlt_properties_close, NULL );
        mlt_properties_set_position( props, "length", mlt_producer_get_out( mlt_multitrack_producer( multitrack ) ) + 1 );