X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=snd_mix.c;h=38e6253a24f3a89bdb07ffb65bd0b1eaeed226cd;hb=1473091061d4abb39bfcc6c1713d747be0454748;hp=fa0069aaafce4f1f755401dc0554ddbc9c335351;hpb=79752d8b393b5d7935c97919cf0963d5c760d5f1;p=xonotic%2Fdarkplaces.git diff --git a/snd_mix.c b/snd_mix.c index fa0069aa..38e6253a 100644 --- a/snd_mix.c +++ b/snd_mix.c @@ -28,7 +28,7 @@ static portable_sampleframe_t paintbuffer_unswapped[PAINTBUFFER_SIZE]; extern speakerlayout_t snd_speakerlayout; // for querying the listeners -extern void SCR_CaptureVideo_SoundFrame(const portable_sampleframe_t *paintbuffer, size_t length); +#ifdef CONFIG_VIDEO_CAPTURE static void S_CaptureAVISound(const portable_sampleframe_t *paintbuffer, size_t length) { size_t i; @@ -47,6 +47,7 @@ static void S_CaptureAVISound(const portable_sampleframe_t *paintbuffer, size_t SCR_CaptureVideo_SoundFrame(paintbuffer_unswapped, length); } +#endif extern cvar_t snd_softclip; @@ -56,6 +57,8 @@ static void S_SoftClipPaintBuffer(portable_sampleframe_t *painted_ptr, int nbfra if((snd_softclip.integer == 1 && width <= 2) || snd_softclip.integer > 1) { + portable_sampleframe_t *p = painted_ptr; + #if 0 /* Soft clipping, the sound of a dream, thanks to Jon Wattes post to Musicdsp.org */ @@ -67,7 +70,6 @@ static void S_SoftClipPaintBuffer(portable_sampleframe_t *painted_ptr, int nbfra maxvol = max(1.0f, maxvol * (1.0f - nbframes / (0.4f * snd_renderbuffer->format.speed))); #define SOFTCLIP(x) if(fabs(x)>maxvol) maxvol=fabs(x); (x) /= maxvol; - portable_sampleframe_t *p = painted_ptr; if (channels == 8) // 7.1 surround { for (i = 0;i < nbframes;i++, p++) @@ -301,7 +303,7 @@ void S_MixToBuffer(void *stream, unsigned int bufferframes) // paint in the channels. // channels with zero volumes still advance in time but don't paint. - ch = channels; + ch = channels; // cppcheck complains here but it is wrong, channels is a channel_t[MAX_CHANNELS] and not an int for (channelindex = 0;channelindex < (int)total_channels;channelindex++, ch++) { sfx = ch->sfx; @@ -360,7 +362,6 @@ void S_MixToBuffer(void *stream, unsigned int bufferframes) // do the actual paint now (may skip work if silent) paint = paintbuffer; - wantframes = totalmixframes; istartframe = 0; for (wantframes = totalmixframes;wantframes > 0;posd += count * speedd, wantframes -= count) { @@ -521,8 +522,10 @@ void S_MixToBuffer(void *stream, unsigned int bufferframes) S_SoftClipPaintBuffer(paintbuffer, totalmixframes, snd_renderbuffer->format.width, snd_renderbuffer->format.channels); +#ifdef CONFIG_VIDEO_CAPTURE if (!snd_usethreadedmixing) S_CaptureAVISound(paintbuffer, totalmixframes); +#endif S_ConvertPaintBuffer(paintbuffer, outbytes, totalmixframes, snd_renderbuffer->format.width, snd_renderbuffer->format.channels);