]> git.sesse.net Git - mlt/commitdiff
Fix race condition on frame pointer in parallel consumer.
authorDan Dennedy <dan@dennedy.org>
Fri, 5 Nov 2010 04:37:03 +0000 (21:37 -0700)
committerDan Dennedy <dan@dennedy.org>
Mon, 24 Jan 2011 02:09:44 +0000 (18:09 -0800)
src/framework/mlt_consumer.c

index ff579be32ec0c7a7b74c3fdc3de1b923c0c7fb34..d9977419248a94160c16067c3b8e1b80be98307f 100644 (file)
@@ -862,8 +862,8 @@ static void *consumer_worker_thread( void *arg )
                        mlt_events_fire( MLT_CONSUMER_PROPERTIES( this ), "consumer-frame-render", frame, NULL );
                        mlt_frame_get_image( frame, &image, &format, &width, &height, 0 );
                }
-               mlt_frame_close( frame );
                mlt_properties_set_int( MLT_FRAME_PROPERTIES( frame ), "rendered", 1 );
+               mlt_frame_close( frame );
 
                // Tell a waiting thread (non-realtime main consumer thread) that we are done.
                pthread_mutex_lock( &this->done_mutex );