diff -rup MuSE-0.9.1/src/inchannels.cpp MuSE-0.9.1-p1/src/inchannels.cpp --- MuSE-0.9.1/src/inchannels.cpp 2004-12-13 01:26:37.000000000 +0100 +++ MuSE-0.9.1-p1/src/inchannels.cpp 2005-12-04 14:42:02.000000000 +0100 @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include diff -rup MuSE-0.9.1/src/pipe.cpp MuSE-0.9.1-p1/src/pipe.cpp --- MuSE-0.9.1/src/pipe.cpp 2004-12-13 01:26:37.000000000 +0100 +++ MuSE-0.9.1-p1/src/pipe.cpp 2005-12-04 14:41:48.000000000 +0100 @@ -31,6 +31,7 @@ Boston, MA 02111-1307, USA. #include #include #include +#include #define MIN(a,b) (a<=b) ? a : b; @@ -172,7 +173,8 @@ int Pipe::read(int length, void *data) { int worklen, origlen, truelen; int blk, len, buffered, buffered_bytes; int ttl = 0; - + u_int32_t dummy; + if(read_blocking) ttl = read_blocking_time; lock(); @@ -225,9 +227,10 @@ int Pipe::read(int length, void *data) { (data, start, blk / read_copy_cb->src_samplesize); - (char*)start += blk; + /* (u_int32_t)start += blk; */ + dummy=(u_int32_t)start+blk; start=(void*)dummy; len -= blk; - (char*)data += blk; + dummy=(u_int32_t)data+blk; data=(void*)dummy; worklen -= blk; if ((end!=buffer) && (start==bufferEnd)) start = buffer; @@ -238,8 +241,10 @@ int Pipe::read(int length, void *data) { (data, start, len / read_copy_cb->src_samplesize); - (char*)data += len; - (char*)start += len; + dummy=(u_int32_t)data+len; data=(void*)dummy; + /* (char*)data += len; */ + dummy=(u_int32_t)start+len; start=(void*)dummy; + /* (char*)start += len; */ worklen -= len; if ((end!=buffer) && (start==bufferEnd)) start = buffer; @@ -254,6 +259,7 @@ int Pipe::write(int length, void *data) int worklen, origlen, space_samples; int space_bytes, len, truelen, blk; int ttl = 0; + u_int32_t dummy; if(write_blocking) ttl = write_blocking_time; @@ -304,9 +310,11 @@ int Pipe::write(int length, void *data) (end, data, blk / write_copy_cb->dst_samplesize); - (char*)end += blk; + dummy=(u_int32_t)end+blk; end=(void*)dummy; + /* (char*)end += blk; */ len -= blk; - (char*)data += blk; + dummy=(u_int32_t)data+blk; data=(void*)dummy; + /* (char*)data += blk; */ worklen -= blk; if ((start!=buffer) && (end==bufferEnd)) @@ -318,8 +326,10 @@ int Pipe::write(int length, void *data) (end, data, len / write_copy_cb->dst_samplesize); - (char*)data += len; - (char*)end += len; + dummy=(u_int32_t)data+len; data=(void*)dummy; + /* (char*)data += len; */ + dummy=(u_int32_t)end+len; end=(void*)dummy; + /* (char*)end += len; */ worklen -= len; if ((start!=buffer)