}
if (req->buffer_size) {
+ unsigned long obt;
+
if (size_in_usec) {
int dir = 0;
unsigned int btime = req->buffer_size;
&btime,
&dir
);
+ obt = btime;
}
else {
snd_pcm_uframes_t bsize = req->buffer_size;
hw_params,
&bsize
);
+ obt = bsize;
}
if (err < 0) {
alsa_logerr2 (err, typ, "Failed to set buffer %s to %d\n",
size_in_usec ? "time" : "size", req->buffer_size);
goto err;
}
+
+ if (obt - req->buffer_size)
+ dolog ("Requested buffer %s %u was rejected, using %lu\n",
+ size_in_usec ? "time" : "size", req->buffer_size, obt);
}
if (req->period_size) {
+ unsigned long obt;
+
if (size_in_usec) {
int dir = 0;
unsigned int ptime = req->period_size;
&ptime,
&dir
);
+ obt = ptime;
}
else {
snd_pcm_uframes_t psize = req->period_size;
hw_params,
&psize
);
+ obt = psize;
}
if (err < 0) {
size_in_usec ? "time" : "size", req->period_size);
goto err;
}
+
+ if (obt - req->period_size)
+ dolog ("Requested period %s %u was rejected, using %lu\n",
+ size_in_usec ? "time" : "size", req->period_size, obt);
}
err = snd_pcm_hw_params (handle, hw_params);