Commit d3953b96 authored by Ludovic Fauvet's avatar Ludovic Fauvet

Qt: move the video filter parser in its own function

parent 1d1c5e12
......@@ -57,6 +57,7 @@
#include <vlc_charset.h> /* us_strtod */
static char *ChangeFiltersString( struct intf_thread_t *p_intf, const char *psz_filter_type, const char *psz_name, bool b_add );
static void ChangeVFiltersString( struct intf_thread_t *p_intf, const char *psz_name, bool b_add );
#if 0
......@@ -293,39 +294,9 @@ void ExtVideo::clean()
ui.cropRightPx->setValue( 0 );
}
static void ChangeVFiltersString( struct intf_thread_t *p_intf, const char *psz_name, bool b_add )
static char *ChangeFiltersString( struct intf_thread_t *p_intf, const char *psz_filter_type, const char *psz_name, bool b_add )
{
char *psz_parser, *psz_string;
const char *psz_filter_type;
module_t *p_obj = module_find( psz_name );
if( !p_obj )
{
msg_Err( p_intf, "Unable to find filter module \"%s\".", psz_name );
return;
}
if( module_provides( p_obj, "video splitter" ) )
{
psz_filter_type = "video-splitter";
}
else if( module_provides( p_obj, "video filter2" ) )
{
psz_filter_type = "video-filter";
}
else if( module_provides( p_obj, "sub source" ) )
{
psz_filter_type = "sub-source";
}
else if( module_provides( p_obj, "sub filter" ) )
{
psz_filter_type = "sub-filter";
}
else
{
msg_Err( p_intf, "Unknown video filter type." );
return;
}
psz_string = config_GetPsz( p_intf, psz_filter_type );
......@@ -342,14 +313,14 @@ static void ChangeVFiltersString( struct intf_thread_t *p_intf, const char *psz_
psz_string, psz_name ) == -1 )
{
free( psz_parser );
return;
return NULL;
}
free( psz_parser );
}
else
{
free( psz_string );
return;
return NULL;
}
}
else
......@@ -376,9 +347,50 @@ static void ChangeVFiltersString( struct intf_thread_t *p_intf, const char *psz_
else
{
free( psz_string );
return;
return NULL;
}
}
return psz_string;
}
static void ChangeVFiltersString( struct intf_thread_t *p_intf, const char *psz_name, bool b_add )
{
char *psz_string;
const char *psz_filter_type;
module_t *p_obj = module_find( psz_name );
if( !p_obj )
{
msg_Err( p_intf, "Unable to find filter module \"%s\".", psz_name );
return;
}
if( module_provides( p_obj, "video splitter" ) )
{
psz_filter_type = "video-splitter";
}
else if( module_provides( p_obj, "video filter2" ) )
{
psz_filter_type = "video-filter";
}
else if( module_provides( p_obj, "sub source" ) )
{
psz_filter_type = "sub-source";
}
else if( module_provides( p_obj, "sub filter" ) )
{
psz_filter_type = "sub-filter";
}
else
{
msg_Err( p_intf, "Unknown video filter type." );
return;
}
psz_string = ChangeFiltersString( p_intf, psz_filter_type, psz_name, b_add );
if( !psz_string )
return;
/* Vout is not kept, so put that in the config */
config_PutPsz( p_intf, psz_filter_type, psz_string );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment