libobs,docs: Improve failed module loading logging

- Avoid putting libs (like CEF) in the plugins load failure message.
- Consider obsolete macOS obs-browser plugin fail as a hardcoded skip.
master
tytan652 2022-07-30 14:39:35 +02:00 committed by Jim
parent ba1b5fcaea
commit 5490e4f44c
3 changed files with 25 additions and 4 deletions

View File

@ -176,6 +176,8 @@ plugin modules.
| MODULE_FILE_NOT_FOUND - The module was not found
| MODULE_MISSING_EXPORTS - Required exports are missing
| MODULE_INCOMPATIBLE_VER - Incompatible version
| MODULE_HARDCODED_SKIP - Skipped by harcoded rules
(e.g. obsolete obs-browser macOS plugin)
---------------------

View File

@ -31,6 +31,7 @@
#define MODULE_FILE_NOT_FOUND -2
#define MODULE_MISSING_EXPORTS -3
#define MODULE_INCOMPATIBLE_VER -4
#define MODULE_HARDCODED_SKIP -5
#define OBS_OUTPUT_SUCCESS 0
#define OBS_OUTPUT_BAD_PATH -1

View File

@ -113,7 +113,7 @@ int obs_open_module(obs_module_t **module, const char *path,
if (astrstri(path, "Library/Application Support/obs-studio") != NULL &&
astrstri(path, "obs-browser") != NULL) {
blog(LOG_WARNING, "Ignoring old obs-browser.so version");
return MODULE_ERROR;
return MODULE_HARDCODED_SKIP;
}
#endif
@ -307,10 +307,28 @@ static void load_all_callback(void *param, const struct obs_module_info2 *info)
}
int code = obs_open_module(&module, info->bin_path, info->data_path);
if (code != MODULE_SUCCESS) {
blog(LOG_DEBUG, "Failed to load module file '%s': %d",
info->bin_path, code);
switch (code) {
case MODULE_MISSING_EXPORTS:
blog(LOG_DEBUG,
"Failed to load module file '%s', not an OBS plugin",
info->bin_path);
return;
case MODULE_FILE_NOT_FOUND:
blog(LOG_DEBUG,
"Failed to load module file '%s', file not found",
info->bin_path);
return;
case MODULE_ERROR:
blog(LOG_DEBUG, "Failed to load module file '%s'",
info->bin_path);
goto load_failure;
case MODULE_INCOMPATIBLE_VER:
blog(LOG_DEBUG,
"Failed to load module file '%s', incompatible version",
info->bin_path);
goto load_failure;
case MODULE_HARDCODED_SKIP:
return;
}
if (!obs_init_module(module))