aboutsummaryrefslogtreecommitdiffstats
path: root/src/outputBuffer_xfade.h
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2008-08-30 17:33:07 -0700
committerEric Wong <normalperson@yhbt.net>2008-08-30 17:33:07 -0700
commita848893d85cd027d831ba0ecae9dacef0a5f0605 (patch)
tree0090036a5036ab3d7f8dce1cd35477536253e46d /src/outputBuffer_xfade.h
parentaa2fcfa7574ebdf3e348c051e496797841aa4f1d (diff)
downloadmpd-a848893d85cd027d831ba0ecae9dacef0a5f0605.tar.gz
mpd-a848893d85cd027d831ba0ecae9dacef0a5f0605.tar.xz
mpd-a848893d85cd027d831ba0ecae9dacef0a5f0605.zip
ringbuf: create a new struct rbvec instead of reusing struct iovec
Using struct iovec means having to cast iov_base everywhere we want to do pointer arithmetic. Instead, just use rbvec which can be safely casted to iovec whenever we use the readv/writev functions.
Diffstat (limited to '')
-rw-r--r--src/outputBuffer_xfade.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/outputBuffer_xfade.h b/src/outputBuffer_xfade.h
index 336a7adc2..50fb062ce 100644
--- a/src/outputBuffer_xfade.h
+++ b/src/outputBuffer_xfade.h
@@ -5,8 +5,8 @@
#include "audio.h"
#include "pcm_utils.h"
-static struct ob_chunk *get_chunk(struct iovec vec[2], size_t i);
-static size_t calculate_xfade_chunks(struct iovec vec[2])
+static struct ob_chunk *get_chunk(struct rbvec vec[2], size_t i);
+static size_t calculate_xfade_chunks(struct rbvec vec[2])
{
float xfade_time = ob.xfade_time; /* prevent race conditions */
size_t chunks;
@@ -37,7 +37,7 @@ static size_t calculate_xfade_chunks(struct iovec vec[2])
if (chunks > (ob.index->size - ob.bpp_cur))
chunks = ob.index->size - ob.bpp_cur;
DEBUG("calculated xfade chunks: %d\n", chunks);
- nr = vec[0].iov_len + vec[1].iov_len;
+ nr = vec[0].len + vec[1].len;
if (chunks <= nr) {
c = get_chunk(vec, chunks);
@@ -64,7 +64,7 @@ static size_t calculate_xfade_chunks(struct iovec vec[2])
return chunks;
}
-static size_t xfade_chunks_needed(struct iovec vec[2])
+static size_t xfade_chunks_needed(struct rbvec vec[2])
{
assert(pthread_equal(ob.thread, pthread_self()));