diff --git a/api/include/common.h b/api/include/common.h index 033bc077..041968c4 100755 --- a/api/include/common.h +++ b/api/include/common.h @@ -54,7 +54,7 @@ typedef struct { // 配置文件是内容还是路径 int ini_is_path; - // 配置文件内容或路径,可以为NULL + // 配置文件内容或路径,可以为NULL,如果该文件不存在,那么将导出默认配置至该文件 const char *ini; // ssl证书是内容还是路径 @@ -78,20 +78,20 @@ API_EXPORT void API_CALL mk_stop_all_server(); /** * 基础类型参数版本的mk_env_init,为了方便其他语言调用 + * @param thread_num 线程数 + * @param log_level 日志级别,支持0~4 + * @param ini_is_path 配置文件是内容还是路径 + * @param ini 配置文件内容或路径,可以为NULL,如果该文件不存在,那么将导出默认配置至该文件 + * @param ssl_is_path ssl证书是内容还是路径 + * @param ssl ssl证书内容或路径,可以为NULL + * @param ssl_pwd 证书密码,可以为NULL */ -API_EXPORT void API_CALL mk_env_init1( // 线程数 - int thread_num, - // 日志级别,支持0~4 +API_EXPORT void API_CALL mk_env_init1( int thread_num, int log_level, - // 配置文件是内容还是路径 int ini_is_path, - // 配置文件内容或路径,可以为NULL const char *ini, - // ssl证书是内容还是路径 int ssl_is_path, - // ssl证书内容或路径,可以为NULL const char *ssl, - // 证书密码,可以为NULL const char *ssl_pwd); /** diff --git a/api/source/common.cpp b/api/source/common.cpp index 78a0f849..287559d3 100755 --- a/api/source/common.cpp +++ b/api/source/common.cpp @@ -88,7 +88,12 @@ API_EXPORT void API_CALL mk_env_init1( int thread_num, if (ini && ini[0]) { //设置配置文件 if (ini_is_path) { - mINI::Instance().parseFile(ini); + try{ + mINI::Instance().parseFile(ini); + }catch (std::exception &ex) { + InfoL << "dump ini file to:" << ini; + mINI::Instance().dumpFile(ini); + } } else { mINI::Instance().parse(ini); } diff --git a/api/tests/server.cpp b/api/tests/server.cpp index 7b11a0df..514f4941 100644 --- a/api/tests/server.cpp +++ b/api/tests/server.cpp @@ -25,14 +25,17 @@ */ #include +#include #include "mediakit.h" #ifdef _WIN32 #include "windows.h" #else #include "unistd.h" #endif + +using namespace std; int main(int argc,char *argv[]){ - mk_env_init1(0,0,0, nullptr,0, nullptr, nullptr); + mk_env_init1(0,0,1, (string(argv[0]) + ".ini").data(),0, nullptr, nullptr); mk_http_server_start(80,false); mk_rtsp_server_start(554,false); mk_rtmp_server_start(1935,false);