博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OBS源码解析(2)run_program函数
阅读量:5815 次
发布时间:2019-06-18

本文共 1173 字,大约阅读时间需要 3 分钟。

static int run_program(fstream &logFile, int argc, char *argv[])

{

/*初始化和读取profile相关信息*/

int ret = -1;

auto profilerNameStore = CreateNameStore();

std::unique_ptr<void, decltype(ProfilerFree)>

prof_release(static_cast<void*>(&ProfilerFree),
ProfilerFree);

profiler_start();

profile_register_root(run_program_init, 0);

auto PrintInitProfile = [&]()

{
auto snap = GetSnapshot();

profiler_snapshot_filter_roots(snap.get(), [](void *data,

const char *name, bool *remove)
{
*remove = (*static_cast<const char**>(data)) != name;
return true;
}, static_cast<void*>(&run_program_init));

profiler_print(snap.get());

};

ScopeProfiler prof{run_program_init};

QCoreApplication::addLibraryPath(".");

/*生成OBSApp 对象*/
OBSApp program(argc, argv, profilerNameStore.get());
try {

/*初始化应用*/

program.AppInit();

OBSTranslator translator;

create_log_file(logFile);

delete_oldest_file("obs-studio/profiler_data");

program.installTranslator(&translator);

 

/*初始化obs模块*/

if (!program.OBSInit())

return 0;

prof.Stop();

return program.exec();

} catch (const char *error) {

blog(LOG_ERROR, "%s", error);
OBSErrorBox(nullptr, "%s", error);
}

return ret;

}

转载于:https://www.cnblogs.com/liuxt/p/6070149.html

你可能感兴趣的文章
JSON前后台简单操作
查看>>
shell中一些常见的文件操作符
查看>>
CentOS 7 装vim遇到的问题和解决方法
查看>>
JavaScript基础教程1-20160612
查看>>
使用第三方类、库需要注意的正则类RegexKitLite的使用
查看>>
iOS \U7ea2 乱码 转换
查看>>
FCN图像分割
查看>>
ios xmpp demo
查看>>
python matplotlib 中文显示参数设置
查看>>
数据库事务隔离级别
查看>>
os模块大全详情
查看>>
【ros】Create a ROS package:package dependencies报错
查看>>
kali linux 更新问题
查看>>
HDU1576 A/B【扩展欧几里得算法】
查看>>
廖雪峰javascript教程学习记录
查看>>
WebApi系列~目录
查看>>
Java访问文件夹中文件的递归遍历代码Demo
查看>>
项目笔记:测试类的编写
查看>>
通过容器编排和服务网格来改进Java微服务的可测性
查看>>
re:Invent解读:没想到你是这样的AWS
查看>>