From a9f812df2a5071517dd3bb30cc80378f2e3cbe06 Mon Sep 17 00:00:00 2001 From: lilo_booter Date: Sat, 21 Aug 2004 09:47:59 +0000 Subject: [PATCH] Unit purge git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@382 d19143bc-622f-0410-bfdd-b5b2a6649095 --- src/miracle/miracle_local.c | 2 +- src/miracle/miracle_unit.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletions(-) diff --git a/src/miracle/miracle_local.c b/src/miracle/miracle_local.c index f89d90e..374d5fd 100644 --- a/src/miracle/miracle_local.c +++ b/src/miracle/miracle_local.c @@ -504,7 +504,7 @@ static void miracle_local_close( miracle_local local ) { miracle_delete_all_units(); #ifdef linux - pthread_kill_other_threads_np(); + //pthread_kill_other_threads_np(); miracle_log( LOG_DEBUG, "Clean shutdown." ); free( local ); mlt_factory_close( ); diff --git a/src/miracle/miracle_unit.c b/src/miracle/miracle_unit.c index ce9dac8..2fe0c7a 100644 --- a/src/miracle/miracle_unit.c +++ b/src/miracle/miracle_unit.c @@ -278,6 +278,8 @@ valerie_error_code miracle_unit_load( miracle_unit unit, char *clip, int32_t in, mlt_properties properties = unit->properties; mlt_properties_set_data( unit->producers, clip, instance, 0, ( mlt_destructor )mlt_producer_close, NULL ); mlt_playlist playlist = mlt_properties_get_data( properties, "playlist", NULL ); + mlt_consumer consumer = mlt_properties_get_data( unit->properties, "consumer", NULL ); + mlt_consumer_purge( consumer ); mlt_playlist_append_io( playlist, instance, in, out ); miracle_log( LOG_DEBUG, "loaded clip %s", clip ); miracle_unit_status_communicate( unit ); @@ -327,7 +329,9 @@ valerie_error_code miracle_unit_clean( miracle_unit unit ) valerie_error_code miracle_unit_clear( miracle_unit unit ) { + mlt_consumer consumer = mlt_properties_get_data( unit->properties, "consumer", NULL ); clear_unit( unit ); + mlt_consumer_purge( consumer ); miracle_log( LOG_DEBUG, "Cleared playlist" ); miracle_unit_status_communicate( unit ); return valerie_ok; -- 1.7.4.4