mlt_slideshow Slideshow Scotland
mlt_bouncy Bouncy, Bouncy clip1.dv,clip3.dv
mlt_bouncy_ball Bouncy, Bouncy Ball clip1.mpeg,clip3.mpeg,circle.png
-mlt_news Breaking News clip1.mpeg,clip2.mpeg
+mlt_news Breaking News clip1.dv,clip2.dv
mlt_squeeze Squeeze Transitions clip1.dv,clip2.dv,clip3.dv
mlt_squeeze_box Squeeze Box clip1.dv,clip2.dv,clip3.dv
mlt_jcut J Cut clip1.dv,clip2.dv
}
else
{
+ int destroy = mlt_producer_is_cut( this );
+
#if _MLT_PRODUCER_CHECKS_ == 1
// Show debug info
mlt_properties_debug( MLT_PRODUCER_PROPERTIES( this ), "Producer closing", stderr );
#endif
mlt_service_close( &this->parent );
+
+ if ( destroy )
+ free( this );
}
}
}
mlt_property property = mlt_properties_fetch( this, name );
// Set it if not NULL
- if ( property != NULL && ( value == NULL || value[ 0 ] != '@' ) )
+ if ( property == NULL )
+ {
+ fprintf( stderr, "Whoops\n" );
+ }
+ else if ( value == NULL )
+ {
+ error = mlt_property_set_string( property, value );
+ mlt_properties_do_mirror( this, name );
+ }
+ else if ( *value != '@' )
{
error = mlt_property_set_string( property, value );
mlt_properties_do_mirror( this, name );
int mlt_property_set_string( mlt_property this, char *value )
{
- mlt_property_clear( this );
- this->types = mlt_prop_string;
- if ( value != NULL )
- this->prop_string = strdup( value );
+ if ( value != this->prop_string )
+ {
+ mlt_property_clear( this );
+ this->types = mlt_prop_string;
+ if ( value != NULL )
+ this->prop_string = strdup( value );
+ }
+ else
+ {
+ this->types = mlt_prop_string;
+ }
return this->prop_string == NULL;
}
{
this->parent.close = NULL;
if ( this->close != NULL )
+ {
this->close( this );
+ }
else
+ {
mlt_service_close( &this->parent );
+ free( this );
+ }
}
}