#define GET_8BIT(i) ((double)(buffer[(i)]))
#define GET_16BIT(i) ((double)(*(int16_t*)&buffer[(i)]))
-#define GET_24BIT(i) (zi=(i), ((zi&1) ? \
- ((double)((*(uint8_t*)&buffer[zi]) | (*(int16_t*)&buffer[zi+1] << 8))) : \
- ((double)((*(uint16_t*)&buffer[zi]) | (*(int8_t*)&buffer[zi+2] << 16)))))
+#define GET_24BIT(i) ((i&1) ? \
+ ((double)((*(uint8_t*)&buffer[i]) | (*(int16_t*)&buffer[i+1] << 8))) : \
+ ((double)((*(uint16_t*)&buffer[i]) | (*(int8_t*)&buffer[i+2] << 16))))
#define GET_32BIT(i) ((double)(*(int32_t *)&buffer[(i)]))
#define GET_8BITS(j,k) { double sample = gain*GET_8BIT(k); STORE(j); }
int xfr_samples = xfr_size / frame_size;
for( int ich=0; ich<channels; ++ich ) {
- int zi;
int over_count = 0;
double *input_channel = data[ich]->get_data() + input_offset;
if( map51_2 ) {
else {
--input_buffer_count;
printf("AudioDevice::run_input: buffer overflow\n");
+ result = 1;
}
ibfr = &input[input_buffer_in];
ibfr->size = 0;
buffer_lock->unlock();
polling_lock->unlock();
}
- else {
+ if( result ) {
perror("AudioDevice::run_input");
usleep(250000);
}