output/alsa: fix out_frame_size formula, multiply with channels

The hard-coded "3 bytes" was wrong because it ignored the number of
channels.
This commit is contained in:
Max Kellermann 2012-04-23 20:58:15 +02:00
parent 0de39b64cb
commit a0e4b6e266

View File

@ -674,7 +674,9 @@ alsa_open(struct audio_output *ao, struct audio_format *audio_format, GError **e
}
ad->in_frame_size = audio_format_frame_size(audio_format);
ad->out_frame_size = ad->export.pack24 ? 3 : ad->in_frame_size;
ad->out_frame_size = ad->export.pack24
? (size_t)(audio_format->channels * 3)
: ad->in_frame_size;
return true;
}