bool get_output_info(void *module, const char *module_name, const char *output_id, struct output_info *info) { info->getname = load_module_subfunc(module, module_name, output_id, "getname", true); info->create = load_module_subfunc(module, module_name, output_id, "create", true); info->destroy = load_module_subfunc(module, module_name, output_id, "destroy", true); info->start = load_module_subfunc(module, module_name, output_id, "start", true); info->stop = load_module_subfunc(module, module_name, output_id, "stop", true); if (!info->getname || !info->create || !info->destroy || !info->start || !info->stop) return false; info->config = load_module_subfunc(module, module_name, output_id, "config", false); info->pause = load_module_subfunc(module, module_name, output_id, "pause", false); info->id = output_id; return true; }
bool load_source_info(void *module, const char *module_name, const char *source_id, struct source_info *info) { info->getname = load_module_subfunc(module, module_name, source_id, "getname", true); info->create = load_module_subfunc(module, module_name, source_id,"create", true); info->destroy = load_module_subfunc(module, module_name, source_id, "destroy", true); info->get_output_flags = load_module_subfunc(module, module_name, source_id, "get_output_flags", true); if (!info->getname || !info->create || !info->destroy || !info->get_output_flags) return false; info->config = load_module_subfunc(module, module_name, source_id, "config", false); info->activate = load_module_subfunc(module, module_name, source_id, "activate", false); info->deactivate = load_module_subfunc(module, module_name, source_id, "deactivate", false); info->video_tick = load_module_subfunc(module, module_name, source_id, "video_tick", false); info->video_render = load_module_subfunc(module, module_name, source_id, "video_render", false); info->getwidth = load_module_subfunc(module, module_name, source_id, "getwidth", false); info->getheight = load_module_subfunc(module, module_name, source_id, "getheight", false); info->getparam = load_module_subfunc(module, module_name, source_id, "getparam", false); info->setparam = load_module_subfunc(module, module_name, source_id, "setparam", false); info->filter_video = load_module_subfunc(module, module_name, source_id, "filter_video", false); info->filter_audio = load_module_subfunc(module, module_name, source_id, "filter_audio", false); info->id = source_id; return true; }