Newly added camera GUID is not included from MIPSDK return

[How to reproduce]

  1. Call “VideoOS.Platform.SDK.Environment.Login”
  2. Add camera by XProtect Management Client
  3. Call “VideoOS.Platform.Configuration.Instance.GetItemsByKind(Kind.Camera)”

[Problem]

Camera GUID that is added newly in step2 is not included in the return value of “GetItemsByKind”.

After we reboot “our program(use MIP SDK internally)”, “GetItemsByKind” returns correct camera GUID list.

Behaviour is different in XProtect edition.

  • New camera GUID included:XProtect Professional+ 2018 R3 Pilot
  • New camera GUID “NOT” included:XProtect Corporate 2018 R3 Pilot

[Question]

Which one is correct spec, inluced or NOT included?

These two products is actuallly the same code base - so they should behave same way. But the update of new cameras is delayed a bit and is informed through the event server, so did event server run in both instances, and did you wait a similar period in both tests? You could also wait for the LocalConfigurationChangedIndication message, as the camera list should then be updated.

Should we wait for the LocalConfigurationChangedIndication message?

Is there any different method that we do not need to wait for?

When we change setting of XProtect(e.g. from Management Client the addition of the camera), we cannot get information of the new setting just after a change in MIP SDK(by “Configuration.Instance.GetItemsByKind(Kind.Camera)”).

Can we get the new camera information immediately if we log in again?

(cf. When we logged in again in Smart Client, an added camera comes to be displayed.)

The newly added camera should also be added to a camera-group, but waiting for the LocalConfigurationChangedIndication should indicate that the memory copy of the configuration is ready. Be aware though, that multiple events may occur shortly after each other, depending how the camera is added and configured (e.g. ‘Enabled’).

I understand that we can notice events like “camera added” by checking “LocalConfigurationChangedIndication”.

I’m thinking that Configuration API acts like a kind of ‘cache’. If so, we’d like to know whether there is a API to reload latest information.

When using the ConfigurationAPI strongly typed classes, they will cache child items. If you to refresh the list you can call the “ClearChildrenCache” or make a new instance of the folder holding the items.

I got it. We’ll try.