mirror of
https://github.com/brunoherbelin/vimix.git
synced 2025-12-16 12:49:59 +01:00
Add shmdata lib to flatpak, detect gstshmdata plugin at runtime
This commit is contained in:
@@ -114,6 +114,24 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "shmdata",
|
||||||
|
"buildsystem": "cmake",
|
||||||
|
"config-opts": [
|
||||||
|
"-DCMAKE_BUILD_TYPE=Release",
|
||||||
|
"-DWITH_PYTHON=OFF",
|
||||||
|
"-DWITH_SDFLOW=OFF",
|
||||||
|
"-DWITH_SDCRASH=OFF",
|
||||||
|
"-DWITH_GST=ON"
|
||||||
|
],
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"type": "git",
|
||||||
|
"tag": "1.3.72",
|
||||||
|
"url": "https://gitlab.com/sat-mtl/tools/shmdata.git"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "vimix",
|
"name": "vimix",
|
||||||
"buildsystem": "cmake",
|
"buildsystem": "cmake",
|
||||||
|
|||||||
@@ -225,13 +225,30 @@ bool Rendering::init()
|
|||||||
//
|
//
|
||||||
// Gstreamer setup
|
// Gstreamer setup
|
||||||
//
|
//
|
||||||
std::string plugins_path = SystemToolkit::cwd_path() + "gstreamer-1.0";
|
|
||||||
std::string plugins_scanner = SystemToolkit::cwd_path() + "gst-plugin-scanner" ;
|
std::string plugins_scanner = SystemToolkit::cwd_path() + "gst-plugin-scanner" ;
|
||||||
if ( SystemToolkit::file_exists(plugins_path)) {
|
if ( SystemToolkit::file_exists(plugins_scanner)) {
|
||||||
Log::Info("Found Gstreamer plugins in %s", plugins_path.c_str());
|
Log::Info("Found Gstreamer scanner %s", plugins_scanner.c_str());
|
||||||
g_setenv ("GST_PLUGIN_SYSTEM_PATH", plugins_path.c_str(), TRUE);
|
|
||||||
g_setenv ("GST_PLUGIN_SCANNER", plugins_scanner.c_str(), TRUE);
|
g_setenv ("GST_PLUGIN_SCANNER", plugins_scanner.c_str(), TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string plugins_path;
|
||||||
|
std::string local_plugin_path = SystemToolkit::cwd_path() + "gstreamer-1.0";
|
||||||
|
if ( SystemToolkit::file_exists(local_plugin_path))
|
||||||
|
plugins_path = local_plugin_path;
|
||||||
|
|
||||||
|
#ifdef GSTREAMER_SHMDATA_PLUGIN
|
||||||
|
std::string shmdata_plugin_path = GSTREAMER_SHMDATA_PLUGIN;
|
||||||
|
if ( SystemToolkit::file_exists(shmdata_plugin_path)) {
|
||||||
|
if (!plugins_path.empty())
|
||||||
|
plugins_path += ":";
|
||||||
|
plugins_path += SystemToolkit::path_filename(shmdata_plugin_path);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if ( !plugins_path.empty() ) {
|
||||||
|
Log::Info("Found Gstreamer plugins in %s", plugins_path.c_str());
|
||||||
|
g_setenv ("GST_PLUGIN_PATH", plugins_path.c_str(), TRUE);
|
||||||
|
}
|
||||||
std::string frei0r_path = SystemToolkit::cwd_path() + "frei0r-1" ;
|
std::string frei0r_path = SystemToolkit::cwd_path() + "frei0r-1" ;
|
||||||
if ( SystemToolkit::file_exists(frei0r_path)) {
|
if ( SystemToolkit::file_exists(frei0r_path)) {
|
||||||
Log::Info("Found Frei0r plugins in %s", frei0r_path.c_str());
|
Log::Info("Found Frei0r plugins in %s", frei0r_path.c_str());
|
||||||
|
|||||||
Reference in New Issue
Block a user