Hi,
I have two recorder (REC01 and REC02) under the same management.
I’ve moved CAM01 hardware from REC02 to REC01.
CAM01 has two Storage (Storage01 on REC01 and Storage02 on REC02), currently CAM01 use Storage01 (on REC01) as archiving storage.
In Storage02 on REC02 are stored media before hardware move. (old video)
In Storage01 on REC01 are stored media after hardware move. (new video)
If I call the method “GetOtherDevicesWithMediaOnRecorder” from the recordingserver object named REC02 it returns correctly the object camera named CAM01.
If I call the method “GetOtherRecordingServersWithMedia” from CAM01 it returns correctly the objecr RecordingServer named REC02.
Instead if I call the method “GetOtherRecordingStoragesWithMedia” from object CAM01 it returns the object named Storage01, but I expect that it returns Storage02.
What is the way to get all ArchiveStorages (from old and new recorder) of a camera?
Tested also with ConfigApiClient and I have same result.
Tested with XCO 2017 R3 and SDK 2019 R1
Thanks in advance
I did some basic test with just one Recording Servers, and newest version, but still with multiple storage definitions, I too only got the active/newest storage definition on “GetOtherRecordingStoragesWithMedia”. I suspect it is a bug. I will have Milestone Development investigate. I will return here when new information becomes available..
Feedback from Milestone Development..
We have checked - and indeed the function just returns the recording storage where the device is currently configured.
The information about which storages that currently holds recordings for a given device, is actually not available in the configuration - thus it would require a query to the recording server to get that information.
That is not possible to implement in the current function - as it requires handling of communication with recording servers which may take some time - i.e it may cause a timeout. Thus we would need a new function - with another signature - to provide the information.
The information about which storage the device is currently configured to use - is also available as the property ‘RecordingStorage’ on the device. This property contains the ConfigurationItem path for the recording storage.
Thus - we (Milestone Development) have decided to deprecate the function GetOtherRecordingStoragesWithMedia() with the following description:
[DEPRECATED] This function is deprecated and should not be used. As an alternative, use the value of the ‘RecordingStorage’ property to get the configured recording storage for the device.
The information about which storages that holds recordings for the device, is not and is currently not planned to become available through the API.