@@ -1004,12 +1004,15 @@ void CameraAVStreamMgmtServer::ModifyVideoStream(const uint16_t streamID, const
10041004 bool wasModified = false ;
10051005 if (waterMarkEnabled.HasValue ())
10061006 {
1007- wasModified = (stream.watermarkEnabled != waterMarkEnabled);
1007+ wasModified = (stream.watermarkEnabled .HasValue () != waterMarkEnabled.HasValue ()) ||
1008+ (stream.watermarkEnabled .HasValue () && waterMarkEnabled.HasValue () &&
1009+ stream.watermarkEnabled .Value () != waterMarkEnabled.Value ());
10081010 stream.watermarkEnabled = waterMarkEnabled;
10091011 }
10101012 if (osdEnabled.HasValue ())
10111013 {
1012- wasModified = wasModified || (stream.OSDEnabled != osdEnabled);
1014+ wasModified = wasModified || (stream.OSDEnabled .HasValue () != osdEnabled.HasValue ()) ||
1015+ (stream.OSDEnabled .HasValue () && osdEnabled.HasValue () && stream.OSDEnabled .Value () != osdEnabled.Value ());
10131016 stream.OSDEnabled = osdEnabled;
10141017 }
10151018 if (wasModified)
@@ -1032,12 +1035,15 @@ void CameraAVStreamMgmtServer::ModifySnapshotStream(const uint16_t streamID, con
10321035 bool wasModified = false ;
10331036 if (waterMarkEnabled.HasValue ())
10341037 {
1035- wasModified = (stream.watermarkEnabled != waterMarkEnabled);
1038+ wasModified = (stream.watermarkEnabled .HasValue () != waterMarkEnabled.HasValue ()) ||
1039+ (stream.watermarkEnabled .HasValue () && waterMarkEnabled.HasValue () &&
1040+ stream.watermarkEnabled .Value () != waterMarkEnabled.Value ());
10361041 stream.watermarkEnabled = waterMarkEnabled;
10371042 }
10381043 if (osdEnabled.HasValue ())
10391044 {
1040- wasModified = wasModified || (stream.OSDEnabled != osdEnabled);
1045+ wasModified = wasModified || (stream.OSDEnabled .HasValue () != osdEnabled.HasValue ()) ||
1046+ (stream.OSDEnabled .HasValue () && osdEnabled.HasValue () && stream.OSDEnabled .Value () != osdEnabled.Value ());
10411047 stream.OSDEnabled = osdEnabled;
10421048 }
10431049 if (wasModified)
0 commit comments