mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-29 05:40:25 -04:00
Added helper. Tiny cleanings
This commit is contained in:
parent
49affda3a0
commit
115c827b24
2 changed files with 33 additions and 7 deletions
|
|
@ -91,6 +91,7 @@ ssize_t snd_pcm_readn(snd_pcm_t *pcm, void **bufs, size_t size);
|
|||
int snd_pcm_dump_hw_setup(snd_pcm_t *pcm, FILE *fp);
|
||||
int snd_pcm_dump_sw_setup(snd_pcm_t *pcm, FILE *fp);
|
||||
int snd_pcm_dump_setup(snd_pcm_t *pcm, FILE *fp);
|
||||
int snd_pcm_dump_hw_info(snd_pcm_hw_info_t *info, FILE *fp);
|
||||
int snd_pcm_dump_hw_params_fail(snd_pcm_hw_params_t *params, FILE *fp);
|
||||
int snd_pcm_dump_sw_params_fail(snd_pcm_sw_params_t *params, FILE *fp);
|
||||
int snd_pcm_dump(snd_pcm_t *pcm, FILE *fp);
|
||||
|
|
@ -101,6 +102,7 @@ int snd_pcm_unlink(snd_pcm_t *pcm);
|
|||
int snd_pcm_wait(snd_pcm_t *pcm, int timeout);
|
||||
ssize_t snd_pcm_avail_update(snd_pcm_t *pcm);
|
||||
int snd_pcm_set_avail_min(snd_pcm_t *pcm, size_t size);
|
||||
void snd_pcm_hw_info_all(snd_pcm_hw_info_t *info);
|
||||
int snd_pcm_hw_params_rules(snd_pcm_t *pcm, snd_pcm_hw_params_t *params,
|
||||
unsigned int count, int *rules);
|
||||
int snd_pcm_hw_params_rulesv(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, ...);
|
||||
|
|
|
|||
|
|
@ -112,8 +112,27 @@ int snd_pcm_hw_info(snd_pcm_t *pcm, snd_pcm_hw_info_t *info)
|
|||
return err;
|
||||
}
|
||||
|
||||
void snd_pcm_hw_info_all(snd_pcm_hw_info_t *info)
|
||||
{
|
||||
assert(info);
|
||||
info->access_mask = ~0;
|
||||
info->format_mask = ~0;
|
||||
info->subformat_mask = ~0;
|
||||
info->channels_min = 1;
|
||||
info->channels_max = UINT_MAX;
|
||||
info->rate_min = 1;
|
||||
info->rate_max = UINT_MAX;
|
||||
info->fragment_size_min = 1;
|
||||
info->fragment_size_max = ULONG_MAX;
|
||||
info->fragments_min = 1;
|
||||
info->fragments_max = UINT_MAX;
|
||||
info->buffer_size_min = 1;
|
||||
info->buffer_size_max = ULONG_MAX;
|
||||
}
|
||||
|
||||
void snd_pcm_hw_params_to_info(snd_pcm_hw_params_t *params, snd_pcm_hw_info_t *info)
|
||||
{
|
||||
assert(info && params);
|
||||
info->access_mask = 1U << params->access;
|
||||
info->format_mask = 1U << params->format;
|
||||
info->subformat_mask = 1U << params->subformat;
|
||||
|
|
@ -656,12 +675,13 @@ int snd_pcm_dump_setup(snd_pcm_t *pcm, FILE *fp)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int snd_pcm_dump_hw_info(snd_pcm_hw_info_t *info,
|
||||
FILE *fp)
|
||||
int snd_pcm_dump_hw_info(snd_pcm_hw_info_t *info, FILE *fp)
|
||||
{
|
||||
unsigned int k;
|
||||
fputs("access:", fp);
|
||||
if (info->access_mask) {
|
||||
if (info->access_mask == ~0)
|
||||
fputs(" ALL", fp);
|
||||
else if (info->access_mask) {
|
||||
for (k = 0; k <= SND_PCM_ACCESS_LAST; ++k)
|
||||
if (info->access_mask & (1U << k)) {
|
||||
putc(' ', fp);
|
||||
|
|
@ -672,7 +692,9 @@ int snd_pcm_dump_hw_info(snd_pcm_hw_info_t *info,
|
|||
putc('\n', fp);
|
||||
|
||||
fputs("format:", fp);
|
||||
if (info->format_mask) {
|
||||
if (info->format_mask == ~0)
|
||||
fputs(" ALL", fp);
|
||||
else if (info->format_mask) {
|
||||
for (k = 0; k <= SND_PCM_FORMAT_LAST; ++k)
|
||||
if (info->format_mask & (1U << k)) {
|
||||
putc(' ', fp);
|
||||
|
|
@ -683,7 +705,9 @@ int snd_pcm_dump_hw_info(snd_pcm_hw_info_t *info,
|
|||
putc('\n', fp);
|
||||
|
||||
fputs("subformat:", fp);
|
||||
if (info->subformat_mask) {
|
||||
if (info->subformat_mask == ~0)
|
||||
fputs(" ALL", fp);
|
||||
else if (info->subformat_mask) {
|
||||
for (k = 0; k <= SND_PCM_SUBFORMAT_LAST; ++k)
|
||||
if (info->subformat_mask & (1U << k)) {
|
||||
putc(' ', fp);
|
||||
|
|
@ -694,7 +718,7 @@ int snd_pcm_dump_hw_info(snd_pcm_hw_info_t *info,
|
|||
putc('\n', fp);
|
||||
|
||||
fputs("channels: ", fp);
|
||||
if (info->channels_min == 0 && info->channels_max == UINT_MAX)
|
||||
if (info->channels_min <= 1 && info->channels_max == UINT_MAX)
|
||||
fputs("ALL", fp);
|
||||
else if (info->channels_min > info->channels_max)
|
||||
fputs("NONE", fp);
|
||||
|
|
@ -706,7 +730,7 @@ int snd_pcm_dump_hw_info(snd_pcm_hw_info_t *info,
|
|||
putc('\n', fp);
|
||||
|
||||
fputs("rate: ", fp);
|
||||
if (info->rate_min == 0 && info->rate_max == UINT_MAX)
|
||||
if (info->rate_min <= 1 && info->rate_max == UINT_MAX)
|
||||
fputs("ALL", fp);
|
||||
else if (info->rate_min > info->rate_max)
|
||||
fputs("NONE", fp);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue