Commit 353c776a authored by Ove Kaaven's avatar Ove Kaaven Committed by Alexandre Julliard

Restructure DirectSound. Remove dsound thread, use MM timers

instead. Implemented the DirectSound HEL, with the ability to prebuffer 300ms of sound, while maintaining play latency of 40ms, and the exact playposition (Starcraft cinematics are lip-synched). Some initial HAL support.
parent c007a003
...@@ -4,6 +4,7 @@ SRCDIR = @srcdir@ ...@@ -4,6 +4,7 @@ SRCDIR = @srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
MODULE = dsound MODULE = dsound
SOVERSION = 1.0 SOVERSION = 1.0
IMPORTS = winmm
C_SRCS = \ C_SRCS = \
dsound_main.c dsound_main.c
......
name dsound name dsound
type win32 type win32
import winmm
0 stub DirectSoundUnknown 0 stub DirectSoundUnknown
1 stdcall DirectSoundCreate(ptr ptr ptr) DirectSoundCreate 1 stdcall DirectSoundCreate(ptr ptr ptr) DirectSoundCreate
......
...@@ -155,7 +155,7 @@ ICOM_DEFINE(IDsDriverBuffer,IUnknown) ...@@ -155,7 +155,7 @@ ICOM_DEFINE(IDsDriverBuffer,IUnknown)
#define IDsDriverBuffer_SetVolumePan(p,a) ICOM_CALL1(SetVolumePan,p,a) #define IDsDriverBuffer_SetVolumePan(p,a) ICOM_CALL1(SetVolumePan,p,a)
#define IDsDriverBuffer_SetPosition(p,a) ICOM_CALL1(SetPosition,p,a) #define IDsDriverBuffer_SetPosition(p,a) ICOM_CALL1(SetPosition,p,a)
#define IDsDriverBuffer_GetPosition(p,a,b) ICOM_CALL2(GetPosition,p,a,b) #define IDsDriverBuffer_GetPosition(p,a,b) ICOM_CALL2(GetPosition,p,a,b)
#define IDsDriverBuffer_Play(p,a,b,c) ICOM_CALL2(Play,p,a,b,c) #define IDsDriverBuffer_Play(p,a,b,c) ICOM_CALL3(Play,p,a,b,c)
#define IDsDriverBuffer_Stop(p) ICOM_CALL (Stop,p) #define IDsDriverBuffer_Stop(p) ICOM_CALL (Stop,p)
/***************************************************************************** /*****************************************************************************
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment