X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmodules%2Ffrei0r%2Ffactory.c;h=ad9ecb777d0ce4d26f6c14802322c56697f97561;hb=96c605eaac7272e3b37a0df718f9196fd5acbe96;hp=e214292d6dddd78ebe00e40085861937d4f15098;hpb=b44aae9e65eba783852a2194f068976fb455d46e;p=mlt diff --git a/src/modules/frei0r/factory.c b/src/modules/frei0r/factory.c index e214292d..ad9ecb77 100644 --- a/src/modules/frei0r/factory.c +++ b/src/modules/frei0r/factory.c @@ -178,7 +178,7 @@ static mlt_properties fill_param_info ( mlt_service_type type, const char *servi mlt_properties_set_data ( parameter , string , pnum , 0 , ( mlt_destructor )mlt_properties_close, NULL ); f0r_param_info_t paraminfo; param_info(¶minfo,j); - mlt_properties_set ( pnum , "identifier" , paraminfo.name ); + mlt_properties_set ( pnum , "identifier" , string ); mlt_properties_set ( pnum , "title" , paraminfo.name ); mlt_properties_set ( pnum , "description" , paraminfo.explanation); if ( paraminfo.type == F0R_PARAM_DOUBLE ){ @@ -310,13 +310,13 @@ static void * load_lib( mlt_profile profile, mlt_service_type type , void* handl } } check_thread_safe( properties, name ); - mlt_properties_set_data(properties, "_dlclose_handle", handle , sizeof (void*) , NULL , NULL ); + mlt_properties_set_data(properties, "_dlclose_handle", handle , sizeof ( handle ) , NULL , NULL ); mlt_properties_set_data(properties, "_dlclose", dlclose , sizeof (void*) , NULL , NULL ); - mlt_properties_set_data(properties, "f0r_construct", f0r_construct , sizeof(void*),NULL,NULL); - mlt_properties_set_data(properties, "f0r_update", f0r_update , sizeof(void*),NULL,NULL); + mlt_properties_set_data(properties, "f0r_construct", f0r_construct , sizeof( f0r_construct ),NULL,NULL); + mlt_properties_set_data(properties, "f0r_update", f0r_update , sizeof( f0r_update ),NULL,NULL); if (f0r_update2) - mlt_properties_set_data(properties, "f0r_update2", f0r_update2 , sizeof(void*),NULL,NULL); - mlt_properties_set_data(properties, "f0r_destruct", f0r_destruct , sizeof(void*),NULL,NULL); + mlt_properties_set_data(properties, "f0r_update2", f0r_update2 , sizeof( f0r_update2 ),NULL,NULL); + mlt_properties_set_data(properties, "f0r_destruct", f0r_destruct , sizeof( f0r_destruct ),NULL,NULL); mlt_properties_set_data(properties, "f0r_get_plugin_info", f0r_get_plugin_info , sizeof(void*),NULL,NULL); mlt_properties_set_data(properties, "f0r_get_param_info", f0r_get_param_info , sizeof(void*),NULL,NULL); mlt_properties_set_data(properties, "f0r_set_param_value", f0r_set_param_value , sizeof(void*),NULL,NULL); @@ -419,9 +419,10 @@ MLT_REPOSITORY char* firstname = strtok_r( shortname, ".", &save_firstptr ); #endif char pluginname[1024]="frei0r."; - strcat(pluginname,firstname); + if ( firstname ) + strncat( pluginname, firstname, sizeof( pluginname ) - strlen( pluginname ) -1 ); - if ( mlt_properties_get( blacklist, firstname ) ) + if ( firstname && mlt_properties_get( blacklist, firstname ) ) continue; void* handle=dlopen(strcat(name, LIBSUF),RTLD_LAZY);