rem: void mixSDL_mix_channels (void *userdata, uint8 *stream, sint32 len)
add: mixSDL_mix_channels (void *userdata, uint8 *stream, sint32 len)
context: void mixSDL_mix_channels (void *userdata, uint8 *stream, sint32 len){	uint8 *end_stream = stream + len;	/* keep this order or die */	mixSDL_LockMutex (src_mutex);	mixSDL_LockMutex (buf_mutex);	mixSDL_LockMutex (act_mutex);	for (; stream < end_stream; stream += mixer_chansize)	{		uint32 i;		sint32 fullsamp;				fullsamp = 0;		for (i = 0; i < MAX_SOURCES; i++)		{			mixSDL_Source *src;			sint32 samp;						/* find next source */			for (; i < MAX_SOURCES && (					(src = active_sources[i]) == 0					|| src->state != MIX_PLAYING					|| !mixSDL_SourceGetNextSample (src, &samp));					i++)				;			if (i < MAX_SOURCES)			{				/* sample aquired */				fullsamp += samp;			}		}		/* clip the sample */		if (mixer_chansize == 2)		{			/* check S16 clipping */			if (fullsamp > SINT16_MAX)				fullsamp = SINT16_MAX;			else if (fullsamp < SINT16_MIN)				fullsamp = SINT16_MIN;		}		else		{			/* check S8 clipping */			if (fullsamp > SINT8_MAX)				fullsamp = SINT8_MAX;			else if (fullsamp < SINT8_MIN)				fullsamp = SINT8_MIN;		}		mixSDL_PutSampleExt (stream, mixer_chansize, fullsamp);	}	/* keep this order or die */	mixSDL_UnlockMutex (act_mutex);	mixSDL_UnlockMutex (buf_mutex);	mixSDL_UnlockMutex (src_mutex);	(void)userdata; // satisfying compiler}