X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fframework%2Fmlt_multitrack.c;h=4637d62923561980685f044b0e43208b33b9d77f;hb=9bee7421e4b65a36f9977482a88027e8a5260eeb;hp=6b21a2b76798dbb80b7efe2b4d5d03356e755040;hpb=bf3264b9e340ba5c11cbf59835a8af3db94e0cc2;p=melted diff --git a/src/framework/mlt_multitrack.c b/src/framework/mlt_multitrack.c index 6b21a2b..4637d62 100644 --- a/src/framework/mlt_multitrack.c +++ b/src/framework/mlt_multitrack.c @@ -102,9 +102,6 @@ void mlt_multitrack_refresh( mlt_multitrack this ) // We need to ensure that the multitrack reports the longest track as its length mlt_position length = 0; - // We need to ensure that fps are the same on all services - double fps = 0; - // Obtain stats on all connected services for ( i = 0; i < this->count; i ++ ) { @@ -122,21 +119,6 @@ void mlt_multitrack_refresh( mlt_multitrack this ) // Determine the longest length //if ( !mlt_properties_get_int( MLT_PRODUCER_PROPERTIES( producer ), "hide" ) ) length = mlt_producer_get_playtime( producer ) > length ? mlt_producer_get_playtime( producer ) : length; - - // Handle fps - if ( fps == 0 ) - { - // This is the first producer, so it controls the fps - fps = mlt_producer_get_fps( producer ); - } - else if ( fps != mlt_producer_get_fps( producer ) ) - { - // Generate a warning for now - the following attempt to fix may fail - fprintf( stderr, "Warning: fps mismatch on track %d\n", i ); - - // It should be safe to impose fps on an image producer, but not necessarily safe for video - mlt_properties_set_double( MLT_PRODUCER_PROPERTIES( producer ), "fps", fps ); - } } } @@ -145,7 +127,6 @@ void mlt_multitrack_refresh( mlt_multitrack this ) mlt_properties_set_position( properties, "length", length ); mlt_events_unblock( properties, properties ); mlt_properties_set_position( properties, "out", length - 1 ); - mlt_properties_set_double( properties, "fps", fps ); } /** Listener for producers on the playlist. @@ -405,7 +386,7 @@ static int producer_get_frame( mlt_producer parent, mlt_frame_ptr frame, int ind else { // Generate a test frame - *frame = mlt_frame_init( ); + *frame = mlt_frame_init( MLT_PRODUCER_SERVICE( parent ) ); // Update position on the frame we're creating mlt_frame_set_position( *frame, mlt_producer_position( parent ) );