We are using a single SIPLCaptureOp (holoscan-sensor-bridge) to capture two sensors at the same time through one SIPL
sensor A runs at 30 Hz and sensor B at 45 Hz.
What we observe: sensor B is not delivered at 45 Hz. Both sensors come out at 30 Hz, i.e. the faster sensor isthrottled down to the slower sensor’s rate, and sensor B loses roughly 1/3 of its frames (its frame-number fieldstill increments correctly at the source, so the sensor itself is producing 45 Hz — the frames are dropped incapture).
Question: Is this expected behavior when capturing multiple sensors with different frame rates through SIPL? Ismixed-rate multi-sensor capture supported, and if so how should it be configured?
Looking at the operator source (src/hololink/operators/sipl_capture/sipl_capture.cpp), it appears to be caused by:
compute() builds one combined entity for all sensors and emits it once per tick, and it waits for every sensor’sbuffer before emitting — so the tick rate is gated by the slowest sensor.
The per-sensor acquire_buffer_thread_func keeps only the latest buffer and Release()s any older un-consumed frame(the in-code comment notes “compute() may miss frames and the last known frame is always used”).
So a sensor faster than the combined tick rate appears to lose frames by design. Could you confirm whether this isintended, and advise the recommended approach for capturing sensors of different frame rates?
We also tested splitting the sensors across two SIPLCaptureOp instances in one process (one per rate group). This fails: the first instance initializes and streams, but the second instance’s transport driver fails at probe with “Hololink is already started”, and SetPlatformCfg returns status=10. The two transport drivers resolve to the same shared Hololink object (registry keyed by device serial number), so the second start() is rejected.
Question: Is running multiple SIPLCaptureOp / INvSIPLCamera instances against one HSB device supported at all? If not, all sensors of one HSB must go through a single capture instance — which means mixed frame rates cannot be supported.