- result = producer_get_frame( mlt_producer_service( clone ), frame, index );
- double speed = mlt_producer_get_speed( this );
- mlt_properties_set_double( mlt_frame_properties( *frame ), "_speed", speed );
- mlt_producer_prepare_next( clone );
+
+ // Assign the clone property to the parent
+ mlt_properties_set_data( parent_properties, "use_clone", clone, 0, NULL, NULL );
+
+ // Now get the frame from the parents service
+ result = mlt_service_get_frame( mlt_producer_service( parent ), frame, index );
+
+ // We're done with the clone now
+ mlt_properties_set_data( parent_properties, "use_clone", NULL, 0, NULL, NULL );