diff options
Diffstat (limited to 'audio/out')
-rw-r--r-- | audio/out/ao_dsound.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/audio/out/ao_dsound.c b/audio/out/ao_dsound.c index aba4d882dc..da0c14cdc2 100644 --- a/audio/out/ao_dsound.c +++ b/audio/out/ao_dsound.c @@ -300,23 +300,12 @@ static int write_buffer(struct ao *ao, unsigned char *data, int len) if (SUCCEEDED(res)) { - if (!AF_FORMAT_IS_AC3(ao->format)) { - memcpy(lpvPtr1, data, dwBytes1); - if (lpvPtr2 != NULL) - memcpy(lpvPtr2, (char *)data + dwBytes1, dwBytes2); - - p->write_offset += dwBytes1 + dwBytes2; - if (p->write_offset >= p->buffer_size) - p->write_offset = dwBytes2; - } else { - // Write to pointers without reordering. - memcpy(lpvPtr1, data, dwBytes1); - if (NULL != lpvPtr2) - memcpy(lpvPtr2, data + dwBytes1, dwBytes2); - p->write_offset += dwBytes1 + dwBytes2; - if (p->write_offset >= p->buffer_size) - p->write_offset = dwBytes2; - } + memcpy(lpvPtr1, data, dwBytes1); + if (NULL != lpvPtr2) + memcpy(lpvPtr2, data + dwBytes1, dwBytes2); + p->write_offset += dwBytes1 + dwBytes2; + if (p->write_offset >= p->buffer_size) + p->write_offset = dwBytes2; // Release the data back to DirectSound. res = IDirectSoundBuffer_Unlock(p->hdsbuf, lpvPtr1, dwBytes1, lpvPtr2, |