Revision f3b52983
b/audio/alsaaudio.c | ||
---|---|---|
334 | 334 |
} |
335 | 335 |
|
336 | 336 |
if (req->buffer_size) { |
337 |
unsigned long obt; |
|
338 |
|
|
337 | 339 |
if (size_in_usec) { |
338 | 340 |
int dir = 0; |
339 | 341 |
unsigned int btime = req->buffer_size; |
... | ... | |
344 | 346 |
&btime, |
345 | 347 |
&dir |
346 | 348 |
); |
349 |
obt = btime; |
|
347 | 350 |
} |
348 | 351 |
else { |
349 | 352 |
snd_pcm_uframes_t bsize = req->buffer_size; |
... | ... | |
353 | 356 |
hw_params, |
354 | 357 |
&bsize |
355 | 358 |
); |
359 |
obt = bsize; |
|
356 | 360 |
} |
357 | 361 |
if (err < 0) { |
358 | 362 |
alsa_logerr2 (err, typ, "Failed to set buffer %s to %d\n", |
359 | 363 |
size_in_usec ? "time" : "size", req->buffer_size); |
360 | 364 |
goto err; |
361 | 365 |
} |
366 |
|
|
367 |
if (obt - req->buffer_size) |
|
368 |
dolog ("Requested buffer %s %u was rejected, using %lu\n", |
|
369 |
size_in_usec ? "time" : "size", req->buffer_size, obt); |
|
362 | 370 |
} |
363 | 371 |
|
364 | 372 |
if (req->period_size) { |
373 |
unsigned long obt; |
|
374 |
|
|
365 | 375 |
if (size_in_usec) { |
366 | 376 |
int dir = 0; |
367 | 377 |
unsigned int ptime = req->period_size; |
... | ... | |
372 | 382 |
&ptime, |
373 | 383 |
&dir |
374 | 384 |
); |
385 |
obt = ptime; |
|
375 | 386 |
} |
376 | 387 |
else { |
377 | 388 |
snd_pcm_uframes_t psize = req->period_size; |
... | ... | |
381 | 392 |
hw_params, |
382 | 393 |
&psize |
383 | 394 |
); |
395 |
obt = psize; |
|
384 | 396 |
} |
385 | 397 |
|
386 | 398 |
if (err < 0) { |
... | ... | |
388 | 400 |
size_in_usec ? "time" : "size", req->period_size); |
389 | 401 |
goto err; |
390 | 402 |
} |
403 |
|
|
404 |
if (obt - req->period_size) |
|
405 |
dolog ("Requested period %s %u was rejected, using %lu\n", |
|
406 |
size_in_usec ? "time" : "size", req->period_size, obt); |
|
391 | 407 |
} |
392 | 408 |
|
393 | 409 |
err = snd_pcm_hw_params (handle, hw_params); |
Also available in: Unified diff