[vlc-devel] [PATCH] auhal: fail in render callbacks if bytesToCopy is <= 0
david.fuhrmann at gmail.com
david.fuhrmann at gmail.com
Tue Dec 31 11:21:03 CET 2013
From: David Fuhrmann <david.fuhrmann at googlemail.com>
This should not happen in the current implementation.
---
modules/audio_output/auhal.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/modules/audio_output/auhal.c b/modules/audio_output/auhal.c
index dcb59f3..cad7e37 100644
--- a/modules/audio_output/auhal.c
+++ b/modules/audio_output/auhal.c
@@ -1446,12 +1446,11 @@ static OSStatus RenderCallbackAnalog(vlc_object_t *p_obj,
memset(targetBuffer, 0, bytesRequested);
} else {
int32_t bytesToCopy = __MIN(bytesRequested, availableBytes);
+ assert(bytesToCopy > 0);
- if (likely(bytesToCopy > 0)) {
- memcpy(targetBuffer, buffer, bytesToCopy);
- TPCircularBufferConsume(&p_sys->circular_buffer, bytesToCopy);
- ioData->mBuffers[0].mDataByteSize = bytesToCopy;
- }
+ memcpy(targetBuffer, buffer, bytesToCopy);
+ TPCircularBufferConsume(&p_sys->circular_buffer, bytesToCopy);
+ ioData->mBuffers[0].mDataByteSize = bytesToCopy;
}
vlc_cond_signal(&p_sys->cond);
@@ -1494,6 +1493,7 @@ static OSStatus RenderCallbackSPDIF(AudioDeviceID inDevice,
memset(targetBuffer, 0, bytesRequested);
} else {
int32_t bytesToCopy = __MIN(bytesRequested, availableBytes);
+ assert(bytesToCopy > 0);
memcpy(targetBuffer, buffer, bytesToCopy);
TPCircularBufferConsume(&p_sys->circular_buffer, bytesToCopy);
--
1.8.3.4 (Apple Git-47)
More information about the vlc-devel
mailing list