[PATCH] dsound: IDirectSoundBuffer8 GetStatus return DSBSTATUS_LOCSOFTWARE for deferred buffers
Wine-bug: https://bugs.winehq.org/show_bug.cgi?id=21014 Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> --- dlls/dsound/buffer.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c index bc30a8a5448..fafa6fc6015 100644 --- a/dlls/dsound/buffer.c +++ b/dlls/dsound/buffer.c @@ -420,6 +420,8 @@ static HRESULT WINAPI IDirectSoundBufferImpl_GetStatus(IDirectSoundBuffer8 *ifac if (This->playflags & DSBPLAY_LOOPING) *status |= DSBSTATUS_LOOPING; } + if (This->dsbd.dwFlags & DSBCAPS_LOCDEFER) + *status |= DSBSTATUS_LOCSOFTWARE; ReleaseSRWLockShared(&This->lock); TRACE("status=%x\n", *status); -- 2.29.2
Seems like this could have tests, e.g. what flags are returned before and after AcquireResources. Also that bug doesn't look like a regression, so I think it would be deferred until after the release. Andrew On Tue, Jan 05, 2021 at 07:11:42PM +1100, Alistair Leslie-Hughes wrote:
Wine-bug: https://bugs.winehq.org/show_bug.cgi?id=21014
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> --- dlls/dsound/buffer.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c index bc30a8a5448..fafa6fc6015 100644 --- a/dlls/dsound/buffer.c +++ b/dlls/dsound/buffer.c @@ -420,6 +420,8 @@ static HRESULT WINAPI IDirectSoundBufferImpl_GetStatus(IDirectSoundBuffer8 *ifac if (This->playflags & DSBPLAY_LOOPING) *status |= DSBSTATUS_LOOPING; } + if (This->dsbd.dwFlags & DSBCAPS_LOCDEFER) + *status |= DSBSTATUS_LOCSOFTWARE; ReleaseSRWLockShared(&This->lock);
TRACE("status=%x\n", *status); -- 2.29.2
participants (2)
-
Alistair Leslie-Hughes -
Andrew Eikum