int size;
mlt_properties_inherit( new_props, properties );
+
+ // Carry over some special data properties for the multi consumer.
+ mlt_properties_set_data( new_props, "_producer",
+ mlt_frame_get_original_producer( self ), 0, NULL, NULL );
+ mlt_properties_set_data( new_props, "movit.convert",
+ mlt_properties_get_data( properties, "movit.convert", NULL), 0, NULL, NULL );
+
if ( is_deep )
{
data = mlt_properties_get_data( properties, "audio", &size );
// Attach the audio and video format converters
int created = 0;
+ // movit.convert skips setting the frame->convert_image pointer if GLSL cannot be used.
+ mlt_filter filter = mlt_factory_filter( profile, "movit.convert", NULL );
+ if ( filter != NULL )
+ {
+ mlt_properties_set_int( MLT_FILTER_PROPERTIES( filter ), "_loader", 1 );
+ mlt_service_attach( service, filter );
+ mlt_filter_close( filter );
+ created = 1;
+ }
+ // avcolor_space and imageconvert only set frame->convert_image if it has not been set.
create_filter( profile, service, "avcolor_space", &created );
if ( !created )
create_filter( profile, service, "imageconvert", &created );