/**
* push out pcm frames
* \param data pointer do data to be written
- * \param count number of frames
+ * \param nbytes number of bytes (not frames)
*
* \return Number of bytes written. Exit on errors.
*/
-int alsa_write(u_char *data, size_t count)
+int alsa_write(u_char *data, size_t nbytes)
{
+ size_t count = nbytes / bytes_per_frame;
snd_pcm_sframes_t r, result = 0;
while (count > 0) {
/* write interleaved frames */
}
p = audiobuf;
while (loaded >= chunk_bytes) {
- ret = alsa_write(p, chunk_size);
+ ret = alsa_write(p, chunk_bytes);
p += ret;
written += ret;
loaded -= ret;