From d7644d8db4941ef136daf4187ab09bc38ecee186 Mon Sep 17 00:00:00 2001 From: Antoine Cellerier Date: Sun, 25 Mar 2007 17:01:26 +0000 Subject: [PATCH] Remove last call to strchr( , ':' ) and fix a small memleak. --- src/video_output/video_output.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c index ae4a90fa87..175b5b40fb 100644 --- a/src/video_output/video_output.c +++ b/src/video_output/video_output.c @@ -351,13 +351,15 @@ vout_thread_t * __vout_Create( vlc_object_t *p_parent, video_format_t *p_fmt ) else { /* continue the parent's filter chain */ - char *psz_end; + char *psz_tmp; - /* FIXME: use config_ChainParse */ - psz_end = strchr( ((vout_thread_t *)p_parent)->psz_filter_chain, ':' ); - if( psz_end && *(psz_end+1) ) - p_vout->psz_filter_chain = strdup( psz_end+1 ); - else p_vout->psz_filter_chain = NULL; + /* Ugly hack to jump to our configuration chain */ + p_vout->psz_filter_chain + = ((vout_thread_t *)p_parent)->psz_filter_chain; + p_vout->psz_filter_chain + = config_ChainCreate( &psz_tmp, &p_cfg, p_vout->psz_filter_chain ); + config_ChainDestroy( p_cfg ); + free( psz_tmp ); /* Create a video filter2 var ... but don't inherit values */ var_Create( p_vout, "video-filter", VLC_VAR_STRING ); @@ -387,6 +389,7 @@ vout_thread_t * __vout_Create( vlc_object_t *p_parent, video_format_t *p_fmt ) p_vout->p_module = module_Need( p_vout, ( p_vout->psz_filter_chain && *p_vout->psz_filter_chain ) ? "video filter" : "video output", psz_name, 0 ); + free( psz_name ); if( p_vout->p_module == NULL ) { -- 2.20.1