chunk_size = snd_pcm_hw_params_get_period_size(params, 0);
        buffer_size = snd_pcm_hw_params_get_buffer_size(params);
        if (chunk_size == buffer_size) {
-               error("Can't use period equal to buffer size (%u == %lu)", chunk_size, buffer_size);
+               error("Can't use period equal to buffer size (%u == %lu)", chunk_size, (long)buffer_size);
                exit(EXIT_FAILURE);
        }
        snd_pcm_sw_params_current(handle, swparams);
 {
        int r;
        size_t vsize;
+
        unsigned int channel;
        u_char *bufs[channels];