Framework for dynamic videoio backends, FFmpeg and GStreamer plugins

This commit is contained in:
Maksim Shabunin
2019-01-14 13:33:38 +03:00
parent 8bde6aea4b
commit 9702987209
64 changed files with 2330 additions and 1528 deletions
+6 -1
View File
@@ -144,6 +144,11 @@ static cv::String getModuleLocation(const void* addr)
return cv::String();
}
std::string getBinLocation()
{
return getModuleLocation((void*)getModuleLocation); // use code addr, doesn't work with static linkage!
}
cv::String findDataFile(const cv::String& relative_path,
const char* configuration_parameter,
const std::vector<String>* search_paths,
@@ -287,7 +292,7 @@ cv::String findDataFile(const cv::String& relative_path,
}
}
cv::String module_path = getModuleLocation((void*)getModuleLocation); // use code addr, doesn't work with static linkage!
cv::String module_path = getBinLocation();
CV_LOG_DEBUG(NULL, "Detected module path: '" << module_path << '\'');
if (!has_tested_build_directory &&
+8
View File
@@ -83,6 +83,14 @@ cv::String join(const cv::String& base, const cv::String& path)
return result;
}
CV_EXPORTS cv::String getParent(const cv::String &path)
{
std::string::size_type loc = path.find_last_of("/\\");
if (loc == std::string::npos)
return std::string();
return std::string(path, 0, loc);
}
#if OPENCV_HAVE_FILESYSTEM_SUPPORT
cv::String canonical(const cv::String& path)