From 071f4b01d2665d6f77635425a2212b423d02a4b6 Mon Sep 17 00:00:00 2001 From: molivier Date: Tue, 6 Jul 2004 08:38:27 +0000 Subject: [PATCH] Removed the functions "S_RawSamples_*" and "S_ResampleBuffer16Stereo". They're useless now that the video code uses the common sound API. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4263 d7cf8633-e32d-0410-b094-e92efae38249 --- cl_video.c | 2 - snd_dma.c | 115 ----------------------------------------------------- snd_mix.c | 4 +- snd_null.c | 27 ------------- sound.h | 16 -------- 5 files changed, 2 insertions(+), 162 deletions(-) diff --git a/cl_video.c b/cl_video.c index 393ebd01..165f1b06 100644 --- a/cl_video.c +++ b/cl_video.c @@ -118,8 +118,6 @@ void CL_VideoStop(void) { cl_videoplaying = false; - S_RawSamples_ClearQueue(); - if (cl_videostream) dpvsimpledecode_close(cl_videostream); cl_videostream = NULL; diff --git a/snd_dma.c b/snd_dma.c index 9dc66365..87ef8a5c 100644 --- a/snd_dma.c +++ b/snd_dma.c @@ -210,8 +210,6 @@ void S_Init(void) { Con_DPrint("\nSound Initialization\n"); - S_RawSamples_ClearQueue(); - Cvar_RegisterVariable(&volume); Cvar_RegisterVariable(&bgmvolume); Cvar_RegisterVariable(&snd_staticvolume); @@ -1113,116 +1111,3 @@ void S_LocalSound (const char *sound, qboolean stdpath) if (ch_ind >= 0) channels[ch_ind].flags |= CHANNELFLAG_LOCALSOUND; } - - -#define RAWSAMPLESBUFFER 32768 -short s_rawsamplesbuffer[RAWSAMPLESBUFFER * 2]; -int s_rawsamplesbuffer_start; -size_t s_rawsamplesbuffer_count; - -void S_RawSamples_Enqueue(short *samples, unsigned int length) -{ - int b2, b3; - //Con_Printf("S_RawSamples_Enqueue: %i samples\n", length); - if (s_rawsamplesbuffer_count + length > RAWSAMPLESBUFFER) - return; - b2 = (s_rawsamplesbuffer_start + s_rawsamplesbuffer_count) % RAWSAMPLESBUFFER; - if (b2 + length > RAWSAMPLESBUFFER) - { - b3 = (b2 + length) % RAWSAMPLESBUFFER; - memcpy(s_rawsamplesbuffer + b2 * 2, samples, (RAWSAMPLESBUFFER - b2) * sizeof(short[2])); - memcpy(s_rawsamplesbuffer, samples + (RAWSAMPLESBUFFER - b2) * 2, b3 * sizeof(short[2])); - } - else - memcpy(s_rawsamplesbuffer + b2 * 2, samples, length * sizeof(short[2])); - s_rawsamplesbuffer_count += length; -} - -void S_RawSamples_Dequeue(int *samples, unsigned int length) -{ - int b1, b2; - size_t l; - int i; - short *in; - int *out; - int count; - l = length; - if (l > s_rawsamplesbuffer_count) - l = s_rawsamplesbuffer_count; - b1 = (s_rawsamplesbuffer_start) % RAWSAMPLESBUFFER; - if (b1 + l > RAWSAMPLESBUFFER) - { - b2 = (b1 + l) % RAWSAMPLESBUFFER; - //memcpy(samples, s_rawsamplesbuffer + b1 * 2, (RAWSAMPLESBUFFER - b1) * sizeof(short[2])); - //memcpy(samples + (RAWSAMPLESBUFFER - b1) * 2, s_rawsamplesbuffer, b2 * sizeof(short[2])); - for (out = samples, in = s_rawsamplesbuffer + b1 * 2, count = (RAWSAMPLESBUFFER - b1) * 2, i = 0;i < count;i++) - out[i] = in[i]; - for (out = samples + (RAWSAMPLESBUFFER - b1) * 2, in = s_rawsamplesbuffer, count = b2 * 2, i = 0;i < count;i++) - out[i] = in[i]; - //Con_Printf("S_RawSamples_Dequeue: buffer wrap %i %i\n", (RAWSAMPLESBUFFER - b1), b2); - } - else - { - //memcpy(samples, s_rawsamplesbuffer + b1 * 2, l * sizeof(short[2])); - for (out = samples, in = s_rawsamplesbuffer + b1 * 2, count = l * 2, i = 0;i < count;i++) - out[i] = in[i]; - //Con_Printf("S_RawSamples_Dequeue: normal %i\n", l); - } - if (l < (int)length) - { - memset(samples + l * 2, 0, (length - l) * sizeof(int[2])); - //Con_Printf("S_RawSamples_Dequeue: padding with %i samples\n", length - l); - } - s_rawsamplesbuffer_start = (s_rawsamplesbuffer_start + l) % RAWSAMPLESBUFFER; - s_rawsamplesbuffer_count -= l; -} - -void S_RawSamples_ClearQueue(void) -{ - s_rawsamplesbuffer_count = 0; - s_rawsamplesbuffer_start = 0; -} - -int S_RawSamples_QueueWantsMore(void) -{ - if (shm != NULL && s_rawsamplesbuffer_count < min(shm->format.speed >> 1, RAWSAMPLESBUFFER >> 1)) - return RAWSAMPLESBUFFER - s_rawsamplesbuffer_count; - else - return 0; -} - -void S_ResampleBuffer16Stereo(short *input, int inputlength, short *output, int outputlength) -{ - if (inputlength != outputlength) - { - int i, position, stopposition, step; - short *in, *out; - step = (float) inputlength * 256.0f / (float) outputlength; - position = 0; - stopposition = (inputlength - 1) << 8; - out = output; - for (i = 0;i < outputlength && position < stopposition;i++, position += step) - { - in = input + ((position >> 8) << 1); - out[0] = (((in[1] - in[0]) * (position & 255)) >> 8) + in[0]; - out[1] = (((in[3] - in[2]) * (position & 255)) >> 8) + in[2]; - out += 2; - } - stopposition = inputlength << 8; - for (i = 0;i < outputlength && position < stopposition;i++, position += step) - { - in = input + ((position >> 8) << 1); - out[0] = in[0]; - out[1] = in[2]; - out += 2; - } - } - else - memcpy(output, input, inputlength * sizeof(short[2])); -} - -int S_RawSamples_SampleRate(void) -{ - return shm != NULL ? shm->format.speed : 0; -} - diff --git a/snd_mix.c b/snd_mix.c index 1a8f65fd..bf4a1d05 100644 --- a/snd_mix.c +++ b/snd_mix.c @@ -279,8 +279,8 @@ void S_PaintChannels(int endtime) if (endtime - paintedtime > PAINTBUFFER_SIZE) end = paintedtime + PAINTBUFFER_SIZE; - // clear the paint buffer, filling it with data from rawsamples (music/video/whatever) - S_RawSamples_Dequeue(&paintbuffer->left, end - paintedtime); + // clear the paint buffer + memset (&paintbuffer, 0, (end - paintedtime) * sizeof (paintbuffer[0])); // paint in the channels. ch = channels; diff --git a/snd_null.c b/snd_null.c index 35592de9..d63f307d 100755 --- a/snd_null.c +++ b/snd_null.c @@ -118,30 +118,3 @@ void S_ExtraUpdate (void) void S_LocalSound (const char *s, qboolean stdpath) { } - -void S_RawSamples_Enqueue(short *samples, unsigned int length) -{ -} - -void S_RawSamples_Dequeue(int *samples, unsigned int length) -{ -} - -void S_RawSamples_ClearQueue(void) -{ -} - -int S_RawSamples_QueueWantsMore(void) -{ - return 0; -} - -void S_ResampleBuffer16Stereo(short *input, int inputlength, short *output, int outputlength) -{ -} - -int S_RawSamples_SampleRate(void) -{ - return 0; -} - diff --git a/sound.h b/sound.h index d9aaeb7a..d2991cab 100644 --- a/sound.h +++ b/sound.h @@ -189,20 +189,4 @@ void SNDDMA_Submit(void); void *S_LockBuffer(void); void S_UnlockBuffer(void); -// add some data to the tail of the rawsamples queue -void S_RawSamples_Enqueue(short *samples, unsigned int length); -// read and remove some data from the head of the rawsamples queue -void S_RawSamples_Dequeue(int *samples, unsigned int length); -// empty the rawsamples queue -void S_RawSamples_ClearQueue(void); -// returns how much more data the queue wants, or 0 if it is already full enough -int S_RawSamples_QueueWantsMore(void); - -// resamples one sound buffer into another, while changing the length -void S_ResampleBuffer16Stereo(short *input, int inputlength, short *output, int outputlength); - -// returns the rate that the rawsamples system is running at -int S_RawSamples_SampleRate(void); - #endif - -- 2.39.2