From: Andre Date: Mon, 17 Apr 2006 18:49:54 +0000 (+0200) Subject: play.c: make alsa_write() take the number of _bytes_ to write X-Git-Tag: v0.2.12~79 X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=commitdiff_plain;h=c73c5df5f53e464a57852399771707cc923a497a;hp=301d17664161885d5e92d18404d53862de3c77f8 play.c: make alsa_write() take the number of _bytes_ to write rather than the number of frames. --- diff --git a/play.c b/play.c index f459e4dd..1a30285d 100644 --- a/play.c +++ b/play.c @@ -174,12 +174,13 @@ static void alsa_init(void) /** * 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 */ @@ -276,7 +277,7 @@ again: } p = audiobuf; while (loaded >= chunk_bytes) { - ret = alsa_write(p, chunk_size); + ret = alsa_write(p, chunk_bytes); p += ret; written += ret; loaded -= ret;