You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The time drift adjustment that is calculated for each device doesn't get applied to the DeviceManagement service because the service has to be initialized in order to request the time, but since services are memoized (client.py:399) and drift is passed into the service initializer, the code to figure out drift (client.py:299) is run but never applied to the DeviceManagement service.
The client gets a timestamp from the device that it's talking to, calculates a delta ("drift") between the host computer's time and the target camera's time and stores that in the ONVIFCamera object. All future services created against that object acquire the drift, but the Device Management service - which I have to use to acquire device information - does not get this adjustment and thus will fail against devices that check the time as part of the authentication process.
On my local copy, I fixed this by commenting out the lines below in client.py:399. This makes the problem go away for my use case, but I don't know if it will have deleterious side effects for some other use case, so I'm not submitting a PR for this change.
The time drift adjustment that is calculated for each device doesn't get applied to the DeviceManagement service because the service has to be initialized in order to request the time, but since services are memoized (
client.py
:399) and drift is passed into the service initializer, the code to figure out drift (client.py
:299) is run but never applied to the DeviceManagement service.The client gets a timestamp from the device that it's talking to, calculates a delta ("drift") between the host computer's time and the target camera's time and stores that in the
ONVIFCamera
object. All future services created against that object acquire the drift, but the Device Management service - which I have to use to acquire device information - does not get this adjustment and thus will fail against devices that check the time as part of the authentication process.On my local copy, I fixed this by commenting out the lines below in
client.py
:399. This makes the problem go away for my use case, but I don't know if it will have deleterious side effects for some other use case, so I'm not submitting a PR for this change.The text was updated successfully, but these errors were encountered: