A successful video preview alone is insufficient evidence of stable raw-image capture in the intended operating mode. Display software may use lower resolution, a compressed stream, skipped frames or a different buffering policy. Record the operating modes and measurement boundaries and keep them constant before locating the issue in the device, transport, driver or application queue.
Define the layer where frames are lost
| Location | Observable fields | Distinction to preserve |
|---|---|---|
| Device and transport | Device frame identifiers, status and transfer errors | Not generated, not received and invalid are different events |
| Host reception | Received count, valid length, format and errors | A received buffer is not necessarily a valid image |
| Adapter and queue | Enqueue, dequeue, waiting, occupancy and discard reasons | Intentional sampling and unintended loss need separate counters |
| Processing and output | Start, completion, timeouts and result identifiers | A missing result may reflect a failure or intentional skipping |
When consecutive device frame sequence numbers are missing, also check reconnection, reset and counter wraparound (returning to the beginning of the numbering range). Host-generated frame identifiers describe the sequence received by the host; they cannot independently establish that the device lost no frames.
Establish a minimal reproduction with raw frames
Record the camera, firmware, cable, host, driver, SDK, resolution, format and frame rate. Begin with a program that receives and checks raw frames. Add conversion, inference, storage and display separately while comparing errors and resources. Record vendor examples separately from business applications rather than comparing different modes directly.
Check buffers and ownership
Define when SDK buffers remain readable, when they must be returned and whether callbacks permit long-term ownership. Record queue length and waiting time. If old frames may be discarded, preserve discard reasons and counts. If every frame must be stored, design for throughput and backpressure. A larger queue alone does not establish a fix.
Timing and recovery
Define clock sources and distinguish exposure, reception, enqueue and completion times. For reconnection, specify parameter reapplication, buffer clearing and sequence restart. Without device timing or an independent reference, host timestamps do not establish exposure synchronization or complete end-to-end response.
Test normal operation and recovery under agreed conditions, concurrency and duration. Deliver configuration, counter definitions, raw logs and reproduction steps. Related services: image capture development and vision-device SDKs.