Vyntek
设计规格机器视觉规格

测试契约摘录:TC-ACQ-*

规格 ID:TC016 — 稳定标识(页面改名/迁移不变),全站对照见设计规格索引。

语义权威:camera-acquisition.mdx;停止矩阵权威仍为 toolgroup §7.4.3(T9,不改)。
实现现状:见下文。
相关:overview · session-lifecycle · TC-SESS 摘录 · TC-MEM 摘录 · 本地预览

8. 采集接入 TC-ACQ-*(阶段 D ·)

语义权威见 camera-acquisition.mdx;本表只做可勾选断言。不改停止矩阵 / Diagnostic 码表。假采集适配(fake SDK 持帧/回调临时指针)即可;不以真实供应商驱动代替本表勾选正文。场景骨架 S11。交叉:停相机 ≠ 自动 Cancel 见 TC-CTL-04 / TC-SESS-05。

ID勾前置动作期望 code / 状态对应章节场景
TC-ACQ-01[ ]SDK 可显式持帧、地址稳定、待归还后复用适配器 ImportNative(ReadOnly);外借结束经一次 releaseAsync 归还在途图像保持该份 SDK 引用;Share 不重复 AddRef SDK;最后归还 Release 一次;新外借周期新 BufferId(即使物理地址相同)camera-acquisition「两种采集接入」S11
TC-ACQ-02[ ]像素仅回调期有效,或 SDK 无法保证后续稳定回调内同步 Copy 到受控自有存储后,按协议立即归还原 SDK 缓冲回调结束后不得再持原 SDK 地址当稳定输入;无法保证时必须走复制,禁止用托管引用计数掩盖 SDK 提前复用camera-acquisitionS11
TC-ACQ-03[ ]已有稳定 ReadOnly 图像且正好一个待交接 handleTryPostOwned(std::move(image)):成功 / 拒绝 / 抛错三路径成功→入口接管所有权;拒绝→关闭未接管 image;抛错→未接管(不得外层 finally 无条件 SDK Release);导入成功后只能经图像关闭触发归还camera-acquisition「入口接管」S11
TC-ACQ-04[ ]自有池或入口预算已满 / 无余量复制前取池与入口预算;满载时 TryPostOwned 或拒绝路径禁止先拷贝再发现无容量;满池/满入口→拒绝入队并可观察;不无限积压camera-acquisitionS11
TC-ACQ-05[ ]图像关闭已触发 releaseAsync;归还泵贯穿采集会话排队归还 → SDK 专属线程确认ReturnCompleted 仅在 SDK 确认归还后完成;归还队列有界或入口预留归还容量;归还失败=会话故障,不吞掉、不对同一 Release 自动重试camera-acquisition「归还泵」S11
TC-ACQ-06[ ]连续采集;预览走 Latest 槽多帧到达;UI 定时/合并取最新有所有权的 Latest 槽;被替换项立即关闭;禁止为每次采集无限 Post 带图像引用的 dispatcher 回调;实时预览默认 Snapshot 口径(UI 暂停最多一显示副本)camera-acquisition「预览解耦」S11
TC-ACQ-07[ ]采集回调线程在途回调内仅 TryPostOwned(或有时限的 SDK 专用接入);不挂起等 UI/算法/同 SDK 线程归还回调不堵 SDK 归还路径;不得在回调内同步等待 ReturnCompleted 或同线程 Releasecamera-acquisitionS11

实现现状状态(按实 · 可勾选处)

下列 不是把 stub 标成完成。头上均有 NON-STABLE ABI / STUB。勾选含义:公开声明外形是否足以起草 fake 测试;≠ 契约验收通过。上表 [ ] 保持未勾。

TC声明外形(include / smoke)实现现状状态缺口归属
TC-ACQ-01ImportNative(…, release) + fake_camera_adapter 持帧策略外形有;供应商适配与验收 未关Bruno · Reed
TC-ACQ-02回调 Copy:CanRent → TryRent → 拷入 → TryPostOwnedfake 策略外形有;空租不拷Bruno
TC-ACQ-03TryPostOwned(ImageBuffer) → Status;满/非 Running 拒接管/满拒有;布尔三路径 / PixelImageHandle 入队 未齐Bruno
TC-ACQ-04入口容量 8;CanRent/TryRent(MemoryPool*)复制前查询有;CanRent 默认乐观,不是保留Bruno · Reed
TC-ACQ-05ReturnCompleted;Running 期间归还泵;kReturnQueueCapacity骨架有;贯穿真实 SDK 线程泵 未齐Reed · Bruno
TC-ACQ-06Latest() = 预览槽 Share;替换即关;PeekIngressFront = FIFO语义已对齐预览槽;UI 取走/验收 未关Bruno · Rhett(显示)
TC-ACQ-07fake 回调不 AwaitReturnCompleted禁止等待的外形有;时限/供应商回调 未验收Bruno

场景骨架 S11(完整文见 examples-scenarios):

| S11 | TC-ACQ-01…07 · TC-SESS-*;交叉 TC-CTL-04 | 持帧/Copy、TryPostOwned、满池预算、归还泵、Latest、回调不堵归还 + 停流侧 | S11;camera-acquisition;session-lifecycle;|

摘录状态:本站规格。完整内容见 test-contracts。

On this page