Hello.

Under some circumstances (freeze frame not inside of the in-out range of its 
producer), the freeze filter produced black frames. Attached patch fixes the 
problem.

regards
jb

diff --git a/src/modules/kdenlive/filter_freeze.c 
b/src/modules/kdenlive/filter_freeze.c
index 3752057..b8ccf97 100755
--- a/src/modules/kdenlive/filter_freeze.c
+++ b/src/modules/kdenlive/filter_freeze.c
@@ -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
diff --git a/src/modules/kdenlive/filter_freeze.c b/src/modules/kdenlive/filter_freeze.c
index 3752057..b8ccf97 100755
--- a/src/modules/kdenlive/filter_freeze.c
+++ b/src/modules/kdenlive/filter_freeze.c
@@ -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
------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual 
desktops for less than the cost of PCs and save 60% on VDI infrastructure 
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
Mlt-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mlt-devel

Reply via email to