Rebase against 2deb8c2825afcb88a9f106b73aa1f4da9253fb87.

This commit is contained in:
Zebediah Figura
2021-04-30 17:50:37 -05:00
parent 4d8896cc35
commit 7d496bf02c
10 changed files with 134 additions and 132 deletions

View File

@@ -1,28 +1,28 @@
From fe24cfe8b8e99c4e41fc9d147d7815bce37d2fa0 Mon Sep 17 00:00:00 2001
From cdbe11004fe8b7fb87fff18f2a458259be02fe2d Mon Sep 17 00:00:00 2001
From: "Alexander E. Patrakov" <patrakov at gmail.com>
Date: Thu, 7 Aug 2014 17:15:00 -0600
Subject: dsound: Add a linear resampler for use with a large number of mixing
buffers. (rev 2)
Subject: [PATCH] dsound: Add a linear resampler for use with a large number of
mixing buffers. (rev 2)
---
dlls/dsound/dsound_main.c | 5 +++++
dlls/dsound/dsound_main.c | 5 ++++
dlls/dsound/dsound_private.h | 1 +
dlls/dsound/mixer.c | 48 +++++++++++++++++++++++++++++++++++++++++---
dlls/dsound/mixer.c | 48 +++++++++++++++++++++++++++++++++---
3 files changed, 51 insertions(+), 3 deletions(-)
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
index 112ce78..b349eb4 100644
index f3bce6062fe..fecb9489678 100644
--- a/dlls/dsound/dsound_main.c
+++ b/dlls/dsound/dsound_main.c
@@ -93,6 +93,7 @@ WCHAR wine_vxd_drv[] = { 'w','i','n','e','m','m','.','v','x','d', 0 };
@@ -92,6 +92,7 @@ const WCHAR wine_vxd_drv[] = L"winemm.vxd";
/* All default settings, you most likely don't want to touch these, see wiki on UsefulRegistryKeys */
int ds_hel_buflen = 32768 * 2;
+int ds_hq_buffers_max = 4;
static HINSTANCE instance;
/*
@@ -145,10 +146,14 @@ void setup_dsound_options(void)
* Get a config key from either the app-specific or the default config
@@ -143,10 +144,14 @@ void setup_dsound_options(void)
if (!get_config_key( hkey, appkey, "HelBuflen", buffer, MAX_PATH ))
ds_hel_buflen = atoi(buffer);
@@ -38,7 +38,7 @@ index 112ce78..b349eb4 100644
static const char * get_device_id(LPCGUID pGuid)
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index b980453..b6bce1d 100644
index bdb9ebee544..d154e67b0a0 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -35,6 +35,7 @@
@@ -50,10 +50,10 @@ index b980453..b6bce1d 100644
/*****************************************************************************
* Predeclare the interface implementation structures
diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c
index dec8ffd..c358385 100644
index a6402b09eff..28f32e9d092 100644
--- a/dlls/dsound/mixer.c
+++ b/dlls/dsound/mixer.c
@@ -278,7 +278,47 @@ static UINT cp_fields_noresample(IDirectSoundBufferImpl *dsb, UINT count)
@@ -295,7 +295,47 @@ static UINT cp_fields_noresample(IDirectSoundBufferImpl *dsb, UINT count)
return count;
}
@@ -102,7 +102,7 @@ index dec8ffd..c358385 100644
{
UINT i, channel;
UINT istride = dsb->pwfx->nBlockAlign;
@@ -349,9 +389,11 @@ static void cp_fields(IDirectSoundBufferImpl *dsb, UINT count, LONG64 *freqAccNu
@@ -374,9 +414,11 @@ static void cp_fields(IDirectSoundBufferImpl *dsb, UINT count, LONG64 *freqAccNu
DWORD ipos, adv;
if (dsb->freqAdjustNum == dsb->freqAdjustDen)
@@ -117,5 +117,5 @@ index dec8ffd..c358385 100644
ipos = dsb->sec_mixpos + adv * dsb->pwfx->nBlockAlign;
if (ipos >= dsb->buflen) {
--
2.8.0
2.30.2