realtime scheduling updates; suppress libdv errors; add frame property deinterlace_me...
[melted] / src / framework / mlt_tractor.c
index b1bdab2..7eb43c5 100644 (file)
@@ -332,7 +332,7 @@ static int producer_get_frame( mlt_producer parent, mlt_frame_ptr frame, int tra
                                        // Move the contents of this queue on to the output frames data queue
                                        mlt_deque sub_queue = mlt_properties_get_data( MLT_FRAME_PROPERTIES( temp ), "data_queue", NULL );
                                        mlt_deque temp = mlt_deque_init( );
-                                       while ( mlt_deque_count( sub_queue ) )
+                                       while ( global_feed && mlt_deque_count( sub_queue ) )
                                        {
                                                mlt_properties p = mlt_deque_pop_back( sub_queue );
                                                if ( mlt_properties_get_int( p, "final" ) )
@@ -393,6 +393,7 @@ static int producer_get_frame( mlt_producer parent, mlt_frame_ptr frame, int tra
                        mlt_frame_set_position( *frame, mlt_producer_frame( parent ) );
                        mlt_properties_set_int( MLT_FRAME_PROPERTIES( *frame ), "test_audio", audio == NULL );
                        mlt_properties_set_int( MLT_FRAME_PROPERTIES( *frame ), "test_image", video == NULL );
+                       mlt_properties_set_data( MLT_FRAME_PROPERTIES( *frame ), "consumer_lock_service", this, 0, NULL, NULL );
                }
                else if ( producer != NULL )
                {