diff --git a/src/modules/videoconference/VideoConferenceModule/VideoConferenceModule.cpp b/src/modules/videoconference/VideoConferenceModule/VideoConferenceModule.cpp index fef6143fe6..a98828884e 100644 --- a/src/modules/videoconference/VideoConferenceModule/VideoConferenceModule.cpp +++ b/src/modules/videoconference/VideoConferenceModule/VideoConferenceModule.cpp @@ -12,6 +12,7 @@ #include #include "logging.h" +#include "trace.h" extern "C" IMAGE_DOS_HEADER __ImageBase; @@ -71,7 +72,10 @@ void VideoConferenceModule::reverseMicrophoneMute() { if (microphoneEndpoint->SetMute(!currentMute, NULL) == S_OK) { - //toolbar.setMicrophoneMute(!currentMute); + if (!currentMute) + { + Trace::MicrophoneMuted(); + } } } @@ -120,14 +124,22 @@ bool VideoConferenceModule::getMicrophoneMuteState() void VideoConferenceModule::reverseVirtualCameraMuteState() { + bool camera_muted = false; if (!instance->_settingsUpdateChannel.has_value()) { return; } - instance->_settingsUpdateChannel->access([](auto settingsMemory) { + + instance->_settingsUpdateChannel->access([&camera_muted](auto settingsMemory) { auto settings = reinterpret_cast(settingsMemory._data); settings->useOverlayImage = !settings->useOverlayImage; + camera_muted = settings->useOverlayImage; }); + + if (camera_muted) + { + Trace::CameraMuted(); + } } bool VideoConferenceModule::getVirtualCameraMuteState() diff --git a/src/modules/videoconference/VideoConferenceModule/trace.cpp b/src/modules/videoconference/VideoConferenceModule/trace.cpp index 2c70f9fb3e..84a51decb9 100644 --- a/src/modules/videoconference/VideoConferenceModule/trace.cpp +++ b/src/modules/videoconference/VideoConferenceModule/trace.cpp @@ -28,10 +28,24 @@ void Trace::SettingsChanged() noexcept TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE)); } -void Trace::MuteMic() noexcept +void Trace::MicrophoneMuted() noexcept { + TraceLoggingWrite( + g_hProvider, + "VideoConference_MicrophoneMuted", + TraceLoggingBoolean(true, "MicrophoneMuted"), + ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance), + TraceLoggingBoolean(TRUE, "UTCReplace_AppSessionGuid"), + TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE)); } -void Trace::MuteCamera() noexcept +void Trace::CameraMuted() noexcept { + TraceLoggingWrite( + g_hProvider, + "VideoConference_CameraMuted", + TraceLoggingBoolean(true, "CameraMuted"), + ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance), + TraceLoggingBoolean(TRUE, "UTCReplace_AppSessionGuid"), + TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE)); } diff --git a/src/modules/videoconference/VideoConferenceModule/trace.h b/src/modules/videoconference/VideoConferenceModule/trace.h index ac301198cb..06b3892ec5 100644 --- a/src/modules/videoconference/VideoConferenceModule/trace.h +++ b/src/modules/videoconference/VideoConferenceModule/trace.h @@ -6,6 +6,6 @@ public: static void RegisterProvider() noexcept; static void UnregisterProvider() noexcept; static void SettingsChanged() noexcept; - static void MuteMic() noexcept; - static void MuteCamera() noexcept; + static void MicrophoneMuted() noexcept; + static void CameraMuted() noexcept; };