if ((sdi->status == SR_ST_INITIALIZING) ||
(sdi->status == SR_ST_INACTIVE)) {
/* Check device by its physical USB bus/port address. */
- usb_get_port_path(devlist[i], connection_id, sizeof(connection_id));
+ if (usb_get_port_path(devlist[i], connection_id, sizeof(connection_id)) < 0)
+ continue;
+
if (strcmp(sdi->connection_id, connection_id))
/* This is not the one. */
continue;
for (int bit = 0; bit != 64; bit++) {
const uint64_t *word_ptr = src_ptr;
sample = 0;
- for (size_t channel = 0; channel != channel_count;
+ for (unsigned int channel = 0; channel != 16;
channel++) {
- if ((channel_mask & (1 << channel)) &&
- (*word_ptr++ & (1ULL << bit)))
+ const uint16_t m = channel_mask >> channel;
+ if (!m)
+ break;
+ if ((m & 1) && ((*word_ptr++ >> bit) & UINT64_C(1)))
sample |= 1 << channel;
}
*dst_ptr++ = sample;
*/
const size_t block_size = enabled_channel_count(sdi) * 512;
const size_t s = 10 * to_bytes_per_ms(sdi);
+ if (!block_size)
+ return s;
return ((s + block_size - 1) / block_size) * block_size;
}