Consumer deinterlace_method property added
[melted] / src / framework / mlt_tractor.c
index ffc4779..9a1f32e 100644 (file)
@@ -209,6 +209,7 @@ static int producer_get_image( mlt_frame this, uint8_t **buffer, mlt_image_forma
        mlt_properties_set_int( frame_properties, "distort", mlt_properties_get_int( properties, "distort" ) );
        mlt_properties_set_double( frame_properties, "consumer_aspect_ratio", mlt_properties_get_double( properties, "consumer_aspect_ratio" ) );
        mlt_properties_set_int( frame_properties, "consumer_deinterlace", mlt_properties_get_double( properties, "consumer_deinterlace" ) );
+       mlt_properties_set( frame_properties, "deinterlace_method", mlt_properties_get( properties, "deinterlace_method" ) );
        mlt_properties_set_int( frame_properties, "normalised_width", mlt_properties_get_double( properties, "normalised_width" ) );
        mlt_properties_set_int( frame_properties, "normalised_height", mlt_properties_get_double( properties, "normalised_height" ) );
        mlt_frame_get_image( frame, buffer, format, width, height, writable );
@@ -332,7 +333,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" ) )