git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@344
d19143bc-622f-0410-bfdd-
b5b2a6649095
// Create composite via the factory
composite = mlt_factory_transition( "composite", NULL );
// Create composite via the factory
composite = mlt_factory_transition( "composite", NULL );
+ // Register the composite for reuse/destruction
- {
- // Get the properties
- mlt_properties composite_properties = mlt_transition_properties( composite );
+ mlt_properties_set_data( properties, "composite", composite, 0, ( mlt_destructor )mlt_transition_close, NULL );
+ }
- // Pass all the composite. properties on the filter down
- mlt_properties_pass( composite_properties, properties, "composite." );
+ // If we have one
+ if ( composite != NULL )
+ {
+ // Get the properties
+ mlt_properties composite_properties = mlt_transition_properties( composite );
- // Register the composite for reuse/destruction
- mlt_properties_set_data( properties, "composite", composite, 0, ( mlt_destructor )mlt_transition_close, NULL );
- }
+ // Pass all the composite. properties on the filter down
+ mlt_properties_pass( composite_properties, properties, "composite." );
}
// Create a producer if don't have one
}
// Create a producer if don't have one
// If we have one
if ( producer != NULL )
{
// If we have one
if ( producer != NULL )
{
- // Get the producer properties
- mlt_properties producer_properties = mlt_producer_properties( producer );
+ // Register the producer for reuse/destruction
+ mlt_properties_set_data( properties, "producer", producer, 0, ( mlt_destructor )mlt_producer_close, NULL );
- mlt_properties_set( producer_properties, "eof", "loop" );
+ mlt_properties_set( mlt_producer_properties( producer ), "eof", "loop" );
+ }
+ }
- // Now pass all producer. properties on the filter down
- mlt_properties_pass( producer_properties, properties, "producer." );
+ if ( producer != NULL )
+ {
+ // Get the producer properties
+ mlt_properties producer_properties = mlt_producer_properties( producer );
- // Register the producer for reuse/destruction
- mlt_properties_set_data( properties, "producer", producer, 0, ( mlt_destructor )mlt_producer_close, NULL );
- }
+ // Now pass all producer. properties on the filter down
+ mlt_properties_pass( producer_properties, properties, "producer." );
}
// Only continue if we have both producer and composite
}
// Only continue if we have both producer and composite
w = result.w * width / result.nw;
h = result.h * height / result.nh;
w = result.w * width / result.nw;
h = result.h * height / result.nh;
+ if ( y < 0 )
+ {
+ h = h + y;
+ y = 0;
+ }
+
+ if ( y + h > height )
+ h = height - y;
+
x &= 0xfffffffe;
w &= 0xfffffffe;
x &= 0xfffffffe;
w &= 0xfffffffe;