bsize = psize = -1;
params.periods = 3;
err = snd_pcm_slave_conf(root, dopen.slave, &sconf, 8,
- SND_PCM_HW_PARAM_FORMAT, 0, ¶ms.format,
+ SND_PCM_HW_PARAM_FORMAT, SCONF_UNCHANGED, ¶ms.format,
SND_PCM_HW_PARAM_RATE, 0, ¶ms.rate,
SND_PCM_HW_PARAM_CHANNELS, 0, ¶ms.channels,
SND_PCM_HW_PARAM_PERIOD_TIME, 0, ¶ms.period_time,
if (psize == -1 && params.period_time == -1)
params.period_time = 125000; /* 0.125 seconds */
+ if (params.format == -2)
+ params.format = SND_PCM_FORMAT_UNKNOWN;
+
params.period_size = psize;
params.buffer_size = bsize;
bsize = psize = -1;
params.periods = 3;
err = snd_pcm_slave_conf(root, dopen.slave, &sconf, 8,
- SND_PCM_HW_PARAM_FORMAT, 0, ¶ms.format,
+ SND_PCM_HW_PARAM_FORMAT, SCONF_UNCHANGED, ¶ms.format,
SND_PCM_HW_PARAM_RATE, 0, ¶ms.rate,
SND_PCM_HW_PARAM_CHANNELS, 0, ¶ms.channels,
SND_PCM_HW_PARAM_PERIOD_TIME, 0, ¶ms.period_time,
if (psize == -1 && params.period_time == -1)
params.period_time = 125000; /* 0.125 seconds */
+ if (params.format == -2)
+ params.format = SND_PCM_FORMAT_UNKNOWN;
+
params.period_size = psize;
params.buffer_size = bsize;