Ktam3874/pitx software guide – Kontron KTAM3874-pITX User Manual
Page 111

KTD-S0057-I
Page 107 Linux® Programming Examples (DebianTM)
KTAM3874/pITX Software Guide
case
'o':
for (format = 0; format < SND_PCM_FORMAT_LAST; format++)
{
const char *format_name = snd_pcm_format_name (format);
if (format_name)
if (! strcasecmp (format_name, optarg))
break;
}
if (format == SND_PCM_FORMAT_LAST)
format = SND_PCM_FORMAT_S16;
if (! snd_pcm_format_linear (format) && ! (format == SND_PCM_FORMAT_FLOAT_LE ||
format == SND_PCM_FORMAT_FLOAT_BE))
{
printf ("Invalid (non-linear/float) format %s\n", optarg);
return 1;
}
break;
case
'v':
verbose = 1;
break;
case
'n':
resample
=
0;
break;
case
'e':
period_event
=
1;
break;
}
}
if
(morehelp)
{
help
();
return
0;
}
err = snd_output_stdio_attach (&output, stdout, 0);
if (err < 0)
{
printf ("Output failed: %s\n", snd_strerror (err));
return
0;
}
printf ("Playback device is %s\n", device);
printf ("Stream parameters are %iHz, %s, %i channels\n", rate, snd_pcm_format_name (format), channels);
printf ("Sine wave rate is %.4fHz\n", freq);
printf ("Using transfer method: %s\n", transfer_methods[method].name);
if ((err = snd_pcm_open (&handle, device, SND_PCM_STREAM_PLAYBACK, 0)) < 0)
{
printf ("Playback open error: %s\n", snd_strerror (err));
return
0;
}