[Mlt-devel] SF.net SVN: mlt:[1238] trunk/mlt/src/modules/kdenlive/filter_freeze.c
Brought to you by:
ddennedy,
lilo_booter
From: <j-...@us...> - 2008-11-13 23:24:13
|
Revision: 1238 http://mlt.svn.sourceforge.net/mlt/?rev=1238&view=rev Author: j-b-m Date: 2008-11-13 23:24:08 +0000 (Thu, 13 Nov 2008) Log Message: ----------- filter_freeze.c: fix detection of current frame position in a playlist Modified Paths: -------------- trunk/mlt/src/modules/kdenlive/filter_freeze.c Modified: trunk/mlt/src/modules/kdenlive/filter_freeze.c =================================================================== --- trunk/mlt/src/modules/kdenlive/filter_freeze.c 2008-11-13 22:53:18 UTC (rev 1237) +++ trunk/mlt/src/modules/kdenlive/filter_freeze.c 2008-11-13 23:24:08 UTC (rev 1238) @@ -27,10 +27,6 @@ static int filter_get_image( mlt_frame this, uint8_t **image, mlt_image_format *format, int *width, int *height, int writable ) { // Get the image - - - mlt_position currentpos = mlt_frame_get_position( this ); - mlt_filter filter = mlt_frame_pop_service( this ); mlt_properties properties = MLT_FILTER_PROPERTIES( filter ); @@ -38,6 +34,7 @@ int freeze_before = mlt_properties_get_int( properties, "freeze_before" ); int freeze_after = mlt_properties_get_int( properties, "freeze_after" ); mlt_position pos = mlt_properties_get_position( properties, "frame" ); + mlt_position currentpos = mlt_properties_get_position( properties, "_seek_frame" ); int do_freeze = 0; if (freeze_before == 0 && freeze_after == 0) { @@ -87,6 +84,9 @@ // Push the filter on to the stack mlt_frame_push_service( frame, this ); + // Determine the time position of this frame + mlt_properties_set_position( MLT_FILTER_PROPERTIES( this ), "_seek_frame", mlt_frame_get_position( frame ) - mlt_filter_get_in( this ) ); + // Push the frame filter mlt_frame_push_get_image( frame, filter_get_image ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |