luxonis / XLink

A cross-platform library for communicating with devices over various physical links.
Apache License 2.0
11 stars 17 forks source link

XlinkReadMove fix #38

Closed themarpe closed 2 years ago

themarpe commented 2 years ago

Fixes XLinkReadMove functionality for multiple devices.

TLDR, "public functions" like XLinkReleaseData, require the "full" streamId, which consists of 8 MSB bits designated to linkId and 24 LSB bits which are designed to the actual streamId.

XLinkReadMove had an issue where it called XLinkReleaseData with streamId which had its linkId "extracted" (set to zero). This caused the event to go to another link (eg first link, with ID 0) instead of the correct link.

Most changes are only to prevent similar issues in the future, by renaming the actual streamId to streamIdOnly.