]> git.sesse.net Git - mlt/commitdiff
fix freeze filter not retrieving image of frame not within in-out
authorj-b-m <jb@kdenlive.org>
Fri, 20 Jan 2012 04:48:59 +0000 (20:48 -0800)
committerDan Dennedy <dan@dennedy.org>
Fri, 20 Jan 2012 04:48:59 +0000 (20:48 -0800)
src/modules/kdenlive/filter_freeze.c

index 375205794da54301be3b78de65b8e366ddaf4b9c..e853c9040eae244f4e8e98152d234614d6a2c9a0 100755 (executable)
@@ -56,6 +56,12 @@ static int filter_get_image( mlt_frame frame, uint8_t **image, mlt_image_format
                {
                        // freeze_frame has not been fetched yet or is not useful, so fetch it and cache it.
                        mlt_producer producer = mlt_frame_get_original_producer(frame);
+
+                       // If requested freeze frame is out of the cutted producer, get parent
+                       if ( pos < mlt_producer_get_in( producer ) || pos > mlt_producer_get_out( producer ) )
+                       {
+                               producer = mlt_producer_cut_parent( producer );
+                       }
                        mlt_producer_seek( producer, pos );
 
                        // Get the frame