Hi. One of the things you can try first is SystemConfigurationChangedIndication event. See ConfigUpdated sample.
Please subscribe to “VideoOS.Platform.Messaging.MessageId.System.SystemConfigurationChangedIndication” in ConfigurationMonitor.cs like this:
_obj = _messageCommunication.RegisterCommunicationFilter(SystemConfigurationChangedIndicationHandler, new VideoOS.Platform.Messaging.CommunicationIdFilter(VideoOS.Platform.Messaging.MessageId.System.SystemConfigurationChangedIndication));
When you get this event, then you need to go through all your cameras and read resolutions. See the Camera Stream Resolution sample to see how we read resolution for camera.
Now I can get livestream time and image size from this event.
But in this Event the sender is not same as VideoOs.Platform.Client.ImageviewerWpfControl. Instead It is VideoOS.Platform.SDK.UI.PlatformImageViewerWpfControl,
So I can not check which ImageviewerWpfControl raised this event. [I have 16 ImageviewerWpfControls]
Is there any way to check which ImageviewerWpfControl raised this event?
I looked into the code and as far as I can see the ImageViewerWpfControl.ImageDisplayed event has always provided the ImageViewerWpfControl itself in the sender argument to the event handler, so it seems to me that it is working as it should. I also tried with the PlaybackWpfUser sample and confirmed this.
We are using Milestone SDK 2017 R3 and in this ImageViewerWpfControl.ImageDisplayed event returns VideoOS.Platform.SDK.UI.PlatformImageViewerWpfControl
Please upgrade to later version of the SDK then. Preferably the latest one (MIP SDK 2019 R2). Later versions will still work with the older versions of the VMS (as long as they are still officially supported by Milestone).