zoukankan      html  css  js  c++  java
  • OBS源码解析(1)main函数

    int main(int argc, char *argv[])
    {
    #ifndef _WIN32
    signal(SIGPIPE, SIG_IGN);
    #endif

    #ifdef _WIN32

    /*OpenProcessToken函数用来打开与进程相关联的访问令牌,设置crash处理句柄*/
    load_debug_privilege();
    base_set_crash_handler(main_crash_handler, nullptr);
    #endif

    /*初始化log句柄*/

    base_get_log_handler(&def_log_handler, nullptr);

    #if defined(USE_XDG) && defined(IS_UNIX)
    move_to_xdg();
    #endif

    /*解析命令行输入参数,设置相应工作状态*/

    for (int i = 1; i < argc; i++) {
    if (arg_is(argv[i], "--portable", "-p")) {
    portable_mode = true;

    } else if (arg_is(argv[i], "--startstreaming", nullptr)) {
    opt_start_streaming = true;

    } else if (arg_is(argv[i], "--startrecording", nullptr)) {
    opt_start_recording = true;

    } else if (arg_is(argv[i], "--collection", nullptr)) {
    if (++i < argc) opt_starting_collection = argv[i];

    } else if (arg_is(argv[i], "--profile", nullptr)) {
    if (++i < argc) opt_starting_profile = argv[i];

    } else if (arg_is(argv[i], "--scene", nullptr)) {
    if (++i < argc) opt_starting_scene = argv[i];
    }
    }
    #if !OBS_UNIX_STRUCTURE
    if (!portable_mode) {
    portable_mode =
    os_file_exists(BASE_PATH "/portable_mode") ||
    os_file_exists(BASE_PATH "/obs_portable_mode") ||
    os_file_exists(BASE_PATH "/portable_mode.txt") ||
    os_file_exists(BASE_PATH "/obs_portable_mode.txt");
    }
    #endif

    /*更新设置*/

    upgrade_settings();

    fstream logFile;

    /*初始化curl接口*/

    curl_global_init(CURL_GLOBAL_ALL);

    /*运行程序主逻辑*/
    int ret = run_program(logFile, argc, argv);

    blog(LOG_INFO, "Number of memory leaks: %ld", bnum_allocs());
    base_set_log_handler(nullptr, nullptr);
    return ret;
    }

    本博客所有内容均为原创,转载请说明出处。欢迎音视频多媒体领域的朋友来人来函交流心得。
  • 相关阅读:
    小程序中父子组件间的通信与事件
    关于绝对定位那些事儿 —— 与 overflow: hidden
    关于 hover 时候闪烁的问题
    大工不巧的 前端设计 和 编程艺术
    GoF “四人组” 提出的 23 种设计模式 及 JavaScript 设计模式
    原型和继承 constructor、prototype、__proto__
    js 中的类型比较
    取模 和 取余
    音频文件播放失败 Unhandled Exception: [Object DOMException]
    C语言入门:06.基本运算
  • 原文地址:https://www.cnblogs.com/liuxt/p/6068810.html
Copyright © 2011-2022 走看看