Skip to content
Snippets Groups Projects
Commit c72b8978 authored by Adrien Béraud's avatar Adrien Béraud
Browse files

prefs: avoid saving prefs if no change

Change-Id: I688edb76261bfd2d138ac89d677bd729b7b344ef
parent 0350064a
Branches
No related tags found
No related merge requests found
......@@ -406,7 +406,7 @@ void
setDefaultDevice(const std::string& deviceId)
{
JAMI_DBG("Setting default device to %s", deviceId.c_str());
jami::Manager::instance().getVideoManager().videoDeviceMonitor.setDefaultDevice(deviceId);
if (jami::Manager::instance().getVideoManager().videoDeviceMonitor.setDefaultDevice(deviceId))
jami::Manager::instance().saveConfig();
}
......@@ -639,7 +639,7 @@ setDecodingAccelerated(bool state)
{
#ifdef RING_ACCEL
JAMI_DBG("%s hardware acceleration", (state ? "Enabling" : "Disabling"));
jami::Manager::instance().videoPreferences.setDecodingAccelerated(state);
if (jami::Manager::instance().videoPreferences.setDecodingAccelerated(state))
jami::Manager::instance().saveConfig();
#endif
}
......@@ -659,8 +659,10 @@ setEncodingAccelerated(bool state)
{
#ifdef RING_ACCEL
JAMI_DBG("%s hardware acceleration", (state ? "Enabling" : "Disabling"));
jami::Manager::instance().videoPreferences.setEncodingAccelerated(state);
if (jami::Manager::instance().videoPreferences.setEncodingAccelerated(state))
jami::Manager::instance().saveConfig();
else
return;
#endif
for (const auto& acc : jami::Manager::instance().getAllAccounts()) {
if (state)
......
......@@ -118,12 +118,14 @@ VideoDeviceMonitor::getMRLForDefaultDevice() const
return DRing::Media::VideoProtocolPrefix::CAMERA + sep + it->getDeviceId();
}
void
bool
VideoDeviceMonitor::setDefaultDevice(const std::string& id)
{
std::lock_guard<std::mutex> l(lock_);
const auto itDev = findDeviceById(id);
if (itDev != devices_.end()) {
if (defaultDevice_ == itDev->getDeviceId())
return false;
defaultDevice_ = itDev->getDeviceId();
// place it at the begining of the prefs
......@@ -135,7 +137,9 @@ VideoDeviceMonitor::setDefaultDevice(const std::string& id)
} else {
preferences_.insert(preferences_.begin(), itDev->getSettings());
}
return true;
}
return false;
}
void
......
......@@ -56,7 +56,7 @@ public:
std::string getDefaultDevice() const;
std::string getMRLForDefaultDevice() const;
void setDefaultDevice(const std::string& name);
bool setDefaultDevice(const std::string& name);
void setDeviceOrientation(const std::string& id, int angle);
void addDevice(const std::string& node,
......
......@@ -309,18 +309,26 @@ public:
bool getDecodingAccelerated() const { return decodingAccelerated_; }
void setDecodingAccelerated(bool decodingAccelerated)
bool setDecodingAccelerated(bool decodingAccelerated)
{
if (decodingAccelerated_ != decodingAccelerated) {
decodingAccelerated_ = decodingAccelerated;
emitSignal<DRing::ConfigurationSignal::HardwareDecodingChanged>(decodingAccelerated_);
return true;
}
return false;
}
bool getEncodingAccelerated() const { return encodingAccelerated_; }
void setEncodingAccelerated(bool encodingAccelerated)
bool setEncodingAccelerated(bool encodingAccelerated)
{
if (encodingAccelerated_ != encodingAccelerated) {
encodingAccelerated_ = encodingAccelerated;
emitSignal<DRing::ConfigurationSignal::HardwareEncodingChanged>(encodingAccelerated_);
return true;
}
return false;
}
bool getRecordPreview() const { return recordPreview_; }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment