Additional checks for ONVIF event capabilities (#35599)
catch any exceptions when pulling event capabilities and assume it is not supportedpull/35828/head
parent
856c0e6a15
commit
b83adad417
|
@ -209,17 +209,23 @@ class ONVIFDevice:
|
|||
"""Obtain information about the available services on the device."""
|
||||
media_service = self.device.create_media_service()
|
||||
media_capabilities = await media_service.GetServiceCapabilities()
|
||||
|
||||
pullpoint = False
|
||||
try:
|
||||
event_service = self.device.create_events_service()
|
||||
event_capabilities = await event_service.GetServiceCapabilities()
|
||||
pullpoint = event_capabilities.WSPullPointSupport
|
||||
except (ONVIFError, Fault):
|
||||
pass
|
||||
|
||||
ptz = False
|
||||
try:
|
||||
self.device.get_definition("ptz")
|
||||
ptz = True
|
||||
except ONVIFError:
|
||||
pass
|
||||
return Capabilities(
|
||||
media_capabilities.SnapshotUri, event_capabilities.WSPullPointSupport, ptz
|
||||
)
|
||||
|
||||
return Capabilities(media_capabilities.SnapshotUri, pullpoint, ptz)
|
||||
|
||||
async def async_get_profiles(self) -> List[Profile]:
|
||||
"""Obtain media profiles for this device."""
|
||||
|
|
Loading…
Reference in New Issue