projects
/
paraslash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
play.c: make alsa_write() take the number of _bytes_ to write
[paraslash.git]
/
play.c
diff --git
a/play.c
b/play.c
index
f459e4d
..
1a30285
100644
(file)
--- 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
/**
* 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.
*/
*
* \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 */
snd_pcm_sframes_t r, result = 0;
while (count > 0) {
/* write interleaved frames */
@@
-276,7
+277,7
@@
again:
}
p = audiobuf;
while (loaded >= chunk_bytes) {
}
p = audiobuf;
while (loaded >= chunk_bytes) {
- ret = alsa_write(p, chunk_
size
);
+ ret = alsa_write(p, chunk_
bytes
);
p += ret;
written += ret;
loaded -= ret;
p += ret;
written += ret;
loaded -= ret;