By swapping time configuration some hardware constraints can be supported.
Fixes the error: Set parameter to device error: buffer time: 500000
hw:tqmtlv320aic32: Invalid argument(-22)
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
period_time = buffer_time / DIV_BUFFERTIME;
period_time = buffer_time / DIV_BUFFERTIME;
- /* Set buffer time and period time */
- err = snd_pcm_hw_params_set_buffer_time_near(sndpcm->handle,
- params, &buffer_time, 0);
+ /* Set period time and buffer time */
+ err = snd_pcm_hw_params_set_period_time_near(sndpcm->handle,
+ params, &period_time, 0);
if (err < 0) {
fprintf(bat->err, _("Set parameter to device error: "));
if (err < 0) {
fprintf(bat->err, _("Set parameter to device error: "));
- fprintf(bat->err, _("buffer time: %d %s: %s(%d)\n"),
- buffer_time,
+ fprintf(bat->err, _("period time: %d %s: %s(%d)\n"),
+ period_time,
device_name, snd_strerror(err), err);
return err;
}
device_name, snd_strerror(err), err);
return err;
}
- err = snd_pcm_hw_params_set_period_time_near(sndpcm->handle,
- params, &period_time, 0);
+ err = snd_pcm_hw_params_set_buffer_time_near(sndpcm->handle,
+ params, &buffer_time, 0);
if (err < 0) {
fprintf(bat->err, _("Set parameter to device error: "));
if (err < 0) {
fprintf(bat->err, _("Set parameter to device error: "));
- fprintf(bat->err, _("period time: %d %s: %s(%d)\n"),
- period_time,
+ fprintf(bat->err, _("buffer time: %d %s: %s(%d)\n"),
+ buffer_time,
device_name, snd_strerror(err), err);
return err;
}
device_name, snd_strerror(err), err);
return err;
}