From a8e5affa58a691e392cd4b9b38675e6b99c36c6f Mon Sep 17 00:00:00 2001 From: ddennedy Date: Wed, 11 May 2005 15:26:35 +0000 Subject: [PATCH] bugfix segfault on closre when filter never invoked git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@723 d19143bc-622f-0410-bfdd-b5b2a6649095 --- src/modules/jackrack/filter_ladspa.c | 24 +++++++++++++----------- 1 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/modules/jackrack/filter_ladspa.c b/src/modules/jackrack/filter_ladspa.c index bb71307..b9b362d 100644 --- a/src/modules/jackrack/filter_ladspa.c +++ b/src/modules/jackrack/filter_ladspa.c @@ -153,19 +153,21 @@ static void filter_close( mlt_filter this ) char mlt_name[20]; mlt_properties properties = MLT_FILTER_PROPERTIES( this ); - for ( i = 0; i < mlt_properties_get_int( properties, "channels" ); i++ ) + if ( mlt_properties_get_data( properties, "jackrack", NULL ) != NULL ) { - snprintf( mlt_name, sizeof( mlt_name ), "obuf%d", i ); - mlt_pool_release( mlt_properties_get_data( properties, mlt_name, NULL ) ); - snprintf( mlt_name, sizeof( mlt_name ), "ibuf%d", i ); - mlt_pool_release( mlt_properties_get_data( properties, mlt_name, NULL ) ); - } - mlt_pool_release( mlt_properties_get_data( properties, "output_buffers", NULL ) ); - mlt_pool_release( mlt_properties_get_data( properties, "input_buffers", NULL ) ); - - jack_rack_t *jackrack = mlt_properties_get_data( properties, "jackrack", NULL ); - jack_rack_destroy( jackrack ); + for ( i = 0; i < mlt_properties_get_int( properties, "channels" ); i++ ) + { + snprintf( mlt_name, sizeof( mlt_name ), "obuf%d", i ); + mlt_pool_release( mlt_properties_get_data( properties, mlt_name, NULL ) ); + snprintf( mlt_name, sizeof( mlt_name ), "ibuf%d", i ); + mlt_pool_release( mlt_properties_get_data( properties, mlt_name, NULL ) ); + } + mlt_pool_release( mlt_properties_get_data( properties, "output_buffers", NULL ) ); + mlt_pool_release( mlt_properties_get_data( properties, "input_buffers", NULL ) ); + jack_rack_t *jackrack = mlt_properties_get_data( properties, "jackrack", NULL ); + jack_rack_destroy( jackrack ); + } this->parent.close = NULL; mlt_service_close( &this->parent ); } -- 1.7.4.4