Skip to content

v0.8.5

Choose a tag to compare

@smiti1642 smiti1642 released this 06 Apr 09:39
· 76 commits to master since this release

What's Changed

Added

  • discovery::listen() — passive WS-Discovery listener; joins the ONVIF multicast group (239.255.255.250:3702) and collects Hello / Bye announcements for a configurable duration
  • DiscoveryEvent enum (Hello(DiscoveredDevice) / Bye { endpoint }) returned by listen()
  • OnvifSession::subscribe() + notification_listener() — WS-BaseNotification push subscription; spawns a minimal tokio TCP server so the device can POST Notify messages back to the consumer
  • PushSubscription type returned by subscribe()
  • examples/camera — new discovery-listen and push-subscribe sub-commands
  • examples/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_IF the 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_inner now creates one socket2 socket per interface, sets IP_MULTICAST_IF on each, and collects responses in parallel.

Dependencies

  • Added socket2 = "0.5"

Full Changelog: https://github.com/smiti1642/oxvif/blob/master/CHANGELOG.md