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."""
|
"""Obtain information about the available services on the device."""
|
||||||
media_service = self.device.create_media_service()
|
media_service = self.device.create_media_service()
|
||||||
media_capabilities = await media_service.GetServiceCapabilities()
|
media_capabilities = await media_service.GetServiceCapabilities()
|
||||||
event_service = self.device.create_events_service()
|
|
||||||
event_capabilities = await event_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
|
ptz = False
|
||||||
try:
|
try:
|
||||||
self.device.get_definition("ptz")
|
self.device.get_definition("ptz")
|
||||||
ptz = True
|
ptz = True
|
||||||
except ONVIFError:
|
except ONVIFError:
|
||||||
pass
|
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]:
|
async def async_get_profiles(self) -> List[Profile]:
|
||||||
"""Obtain media profiles for this device."""
|
"""Obtain media profiles for this device."""
|
||||||
|
|
Loading…
Reference in New Issue