Major BugFix: avoid default gst g_main_context

Do NOT update g_main_context at RenderingManager update. Do not use g_main_context for Dialogs. Do not rely on default g_main_context for Device discoverer (implemented a thread save g_main_loop dedicated).
This commit is contained in:
Bruno Herbelin
2022-01-06 20:20:30 +01:00
parent d4f370c071
commit 3df6ffe280
8 changed files with 114 additions and 98 deletions

View File

@@ -100,15 +100,14 @@ public:
return _instance;
}
void init();
int numDevices () const;
std::string name (int index) const;
std::string description (int index) const;
DeviceConfigSet config (int index) const;
int numDevices () ;
std::string name (int index) ;
std::string description (int index) ;
DeviceConfigSet config (int index) ;
int index (const std::string &device) const;
bool exists (const std::string &device) const;
bool unplugged (const std::string &device) const;
int index (const std::string &device);
bool exists (const std::string &device) ;
bool unplugged (const std::string &device) ;
Source *createSource(const std::string &device) const;
@@ -117,9 +116,11 @@ public:
private:
static void launchMonitoring(Device *d);
void remove(GstDevice *device);
void add(GstDevice *device);
std::mutex access_;
std::vector< std::string > src_name_;
std::vector< std::string > src_description_;
std::vector< DeviceConfigSet > src_config_;