forked from KolibriOS/kolibrios
fixed: synchronization issue
git-svn-id: svn://kolibrios.org@1024 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
56356c8065
commit
bb204a2689
@ -679,6 +679,8 @@ proc wave_out stdcall, str:dword,src:dword,size:dword
|
|||||||
mov [edx+STREAM.out_rp], eax
|
mov [edx+STREAM.out_rp], eax
|
||||||
mov [edx+STREAM.out_count], 0
|
mov [edx+STREAM.out_count], 0
|
||||||
.fill:
|
.fill:
|
||||||
|
cli
|
||||||
|
|
||||||
mov ecx, [edx+STREAM.in_free]
|
mov ecx, [edx+STREAM.in_free]
|
||||||
test ecx, ecx
|
test ecx, ecx
|
||||||
jz .wait
|
jz .wait
|
||||||
@ -716,7 +718,9 @@ proc wave_out stdcall, str:dword,src:dword,size:dword
|
|||||||
mov [state_saved], 1
|
mov [state_saved], 1
|
||||||
@@:
|
@@:
|
||||||
stdcall refill, edx
|
stdcall refill, edx
|
||||||
|
|
||||||
.skip:
|
.skip:
|
||||||
|
sti
|
||||||
mov edx, [str]
|
mov edx, [str]
|
||||||
mov [edx+STREAM.flags], SND_PLAY
|
mov [edx+STREAM.flags], SND_PLAY
|
||||||
cmp [eng_state], SND_PLAY
|
cmp [eng_state], SND_PLAY
|
||||||
@ -726,6 +730,7 @@ proc wave_out stdcall, str:dword,src:dword,size:dword
|
|||||||
mov [eng_state], SND_PLAY
|
mov [eng_state], SND_PLAY
|
||||||
jmp .main_loop
|
jmp .main_loop
|
||||||
.wait:
|
.wait:
|
||||||
|
sti
|
||||||
mov edx, [str]
|
mov edx, [str]
|
||||||
mov eax, [edx+STREAM.notify_event]
|
mov eax, [edx+STREAM.notify_event]
|
||||||
mov ebx, [edx+STREAM.notify_id]
|
mov ebx, [edx+STREAM.notify_id]
|
||||||
|
Loading…
Reference in New Issue
Block a user