09.02.12 20:28, Dan Dennedy написав(ла): > 2012/2/9 Maksym Veremeyenko<ve...@m1stereo.tv>: >> 08.02.12 20:11, Dan Dennedy написав(ла): >> [...] >> >>> Well, the more critical goal was to fix a segfault, but I see your >>> point now about using "running" to cleanup "thread." I did not like >>> your conversion of the thread property from data to a int64; do you >>> know how data properties provide destruction? Also, my testing >>> revealed some additional pointer checks required inside >>> consumer_thread. Comment on this applied to head: >>> >>> diff --git a/src/modules/avformat/consumer_avformat.c >>> b/src/modules/avformat/consumer_avformat.c >>> index fb52df3..cd63431 100644 >>> --- a/src/modules/avformat/consumer_avformat.c >>> +++ b/src/modules/avformat/consumer_avformat.c >>> @@ -350,18 +350,18 @@ static int consumer_stop( mlt_consumer consumer ) >>> { >>> // Get the properties >>> mlt_properties properties = MLT_CONSUMER_PROPERTIES( consumer ); >>> + pthread_t *thread = mlt_properties_get_data( properties, "thread", >>> NULL ); >>> >>> // Check that we're running >>> - if ( mlt_properties_get_int( properties, "running" ) ) >>> + if ( thread ) >>> { >>> - // Get the thread >>> - pthread_t *thread = mlt_properties_get_data( properties, >>> "thread", NULL ); >>> - >>> // Stop the thread >>> mlt_properties_set_int( properties, "running", 0 ); >>> >>> // Wait for termination >>> pthread_join( *thread, NULL ); >> >> what about swapping two lines above - set flag running after pthread_join >> return? > > The main loop in the consumer checks the running property, so we need > to set it 0 to signal termination before the join. >
ok with me... -- ________________________________________ Maksym Veremeyenko ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Mlt-devel mailing list Mlt-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mlt-devel