mlt_transition mlt_transition_new( ) { mlt_transition self = calloc( 1, sizeof( struct mlt_transition_s ) ); if ( self != NULL ) mlt_transition_init( self, NULL ); return self; }
mlt_transition transition_mix_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg ) { mlt_transition transition = calloc( 1, sizeof( struct mlt_transition_s ) ); if ( transition != NULL && mlt_transition_init( transition, NULL ) == 0 ) { transition->process = transition_process; if ( arg != NULL ) mlt_properties_set_double( MLT_TRANSITION_PROPERTIES( transition ), "start", atof( arg ) ); // Inform apps and framework that this is an audio only transition mlt_properties_set_int( MLT_TRANSITION_PROPERTIES( transition ), "_transition_type", 2 ); } return transition; }
mlt_transition transition_mix_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg ) { transition_mix mix = calloc( 1 , sizeof( struct transition_mix_s ) ); mlt_transition transition = calloc( 1, sizeof( struct mlt_transition_s ) ); if ( mix && transition && !mlt_transition_init( transition, mix ) ) { mix->parent = transition; transition->close = transition_close; transition->process = transition_process; if ( arg ) mlt_properties_set_double( MLT_TRANSITION_PROPERTIES( transition ), "start", atof( arg ) ); // Inform apps and framework that this is an audio only transition mlt_properties_set_int( MLT_TRANSITION_PROPERTIES( transition ), "_transition_type", 2 ); } else { if ( transition ) mlt_transition_close( transition ); if ( mix ) free( mix ); } return transition; }