diff options
Diffstat (limited to 'src/soundplayer.cc')
-rw-r--r-- | src/soundplayer.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/soundplayer.cc b/src/soundplayer.cc index bc031d0..0f4fec2 100644 --- a/src/soundplayer.cc +++ b/src/soundplayer.cc @@ -36,7 +36,7 @@ SoundPlayer::SoundPlayer() { start(); pread = 0; - pwrite = BUFSZ * 4; + for(int i = 0; i < 10; i++) pwrite[i] = BUFSZ * 4; memset(ringbuffer, 0, sizeof(ringbuffer)); } @@ -77,11 +77,11 @@ void SoundPlayer::run() ao_shutdown(); } -void SoundPlayer::playSamples(const char *pcm, size_t size) +void SoundPlayer::playSamples(int peer, const char *pcm, size_t size) { short *p = (short*)pcm; for(int i = 0; i < size / sizeof(short); i++) { - ringbuffer[pwrite % RINGBUFFER] += p[i]; - pwrite++; + ringbuffer[pwrite[peer] % RINGBUFFER] += p[i]; + pwrite[peer]++; } } |