v0.8.5
What's Changed
Added
discovery::listen()— passive WS-Discovery listener; joins the ONVIF multicast group (239.255.255.250:3702) and collectsHello/Byeannouncements for a configurable durationDiscoveryEventenum (Hello(DiscoveredDevice)/Bye { endpoint }) returned bylisten()OnvifSession::subscribe()+notification_listener()— WS-BaseNotification push subscription; spawns a minimal tokio TCP server so the device can POSTNotifymessages back to the consumerPushSubscriptiontype returned bysubscribe()examples/camera— newdiscovery-listenandpush-subscribesub-commandsexamples/odm_compat— runs all ODM v2.2.250 ONVIF APIs against a real camera and reports PASS / FAIL / SKIP / NOT_IMPL coverage summary- Mock server handlers for Events service (
GetEventProperties,CreatePullPointSubscription,PullMessages,Subscribe,Renew,Unsubscribe)
Fixed
- WS-Discovery multicast NIC selection on Windows — without
IP_MULTICAST_IFthe OS routes the probe through its default multicast interface (often a Hyper-V or WSL virtual adapter) rather than the LAN NIC connected to the cameras.probe_innernow creates onesocket2socket per interface, setsIP_MULTICAST_IFon each, and collects responses in parallel.
Dependencies
- Added
socket2 = "0.5"
Full Changelog: https://github.com/smiti1642/oxvif/blob/master/CHANGELOG.md