winealsa: Minor fixes to ds output
Maarten Lankhorst
m.b.lankhorst at gmail.com
Thu Jul 26 18:08:19 CDT 2007
-------------- next part --------------
>From 3cce715d0dc50fa98eb6f183fe26914d84fd65ef Mon Sep 17 00:00:00 2001
From: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date: Thu, 19 Jul 2007 00:58:23 +0200
Subject: [PATCH] winealsa: Minor tweaks to dsoutput
---
dlls/winealsa.drv/dsoutput.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/winealsa.drv/dsoutput.c b/dlls/winealsa.drv/dsoutput.c
index 7990a0f..dbac200 100644
--- a/dlls/winealsa.drv/dsoutput.c
+++ b/dlls/winealsa.drv/dsoutput.c
@@ -157,7 +157,7 @@ static void CheckXRUN(IDsDriverBufferImpl* This)
ERR("recovery from suspend failed, prepare failed: %s\n", snd_strerror(err));
}
} else if ( state != SND_PCM_STATE_RUNNING ) {
- WARN("Unhandled state: %d\n", state);
+ FIXME("Unhandled state: %d\n", state);
}
}
@@ -490,9 +490,12 @@ static HRESULT WINAPI IDsDriverBufferImpl_GetPosition(PIDSDRIVERBUFFER iface,
state = snd_pcm_state(This->pcm);
- if (state != SND_PCM_STATE_RUNNING)
+ if (state != SND_PCM_STATE_PREPARED && state != SND_PCM_STATE_RUNNING)
+ {
CheckXRUN(This);
- else
+ state = snd_pcm_state(This->pcm);
+ }
+ if (state == SND_PCM_STATE_RUNNING)
{
snd_pcm_uframes_t used = CommitAll(This);
--
1.4.4.2
More information about the wine-patches
mailing list