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.
This commit is contained in:
parent
c007a003c8
commit
353c776a66
|
@ -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
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
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
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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)
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
|
|
Loading…
Reference in New Issue