(svn r18829) -Codechange: Don't free memory from within audio mixer callback handler as it may be required to be real-time safe.

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
peter1138 15 years ago
parent 6101ad8396
commit 711dea210b

@ -141,9 +141,7 @@ static void mix_int8_to_int16(MixerChannel *sc, int16 *buffer, uint samples)
static void MxCloseChannel(MixerChannel *mc)
{
free(mc->memory);
mc->active = false;
mc->memory = NULL;
}
void MxMixSamples(void *buffer, uint samples)
@ -170,8 +168,9 @@ MixerChannel *MxAllocateChannel()
{
MixerChannel *mc;
for (mc = _channels; mc != endof(_channels); mc++)
if (mc->memory == NULL) {
mc->active = false;
if (!mc->active) {
free(mc->memory);
mc->memory = NULL;
return mc;
}
return NULL;

Loading…
Cancel
Save