forked from KolibriOS/kolibrios
fixed in_top displacement in CreateBuffer
git-svn-id: svn://kolibrios.org@561 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
f2cd6a6d25
commit
b0980b5535
@ -174,9 +174,8 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
cmp eax, SND_CREATE_BUFF
|
cmp eax, SND_CREATE_BUFF
|
||||||
jne @F
|
jne @F
|
||||||
mov ebx, [edi+input]
|
mov ebx, [edi+input]
|
||||||
push edi
|
|
||||||
stdcall CreateBuffer,[ebx],[ebx+4]
|
stdcall CreateBuffer,[ebx],[ebx+4]
|
||||||
pop edi
|
mov edi, [ioctl]
|
||||||
mov ecx, [edi+output]
|
mov ecx, [edi+output]
|
||||||
mov ecx, [ecx]
|
mov ecx, [ecx]
|
||||||
mov [ecx], ebx
|
mov [ecx], ebx
|
||||||
@ -224,9 +223,8 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
@@:
|
@@:
|
||||||
cmp eax, SND_GETPOS
|
cmp eax, SND_GETPOS
|
||||||
jne @F
|
jne @F
|
||||||
push edi
|
|
||||||
stdcall GetBufferPos, [ebx]
|
stdcall GetBufferPos, [ebx]
|
||||||
pop edi
|
mov edi, [ioctl]
|
||||||
mov ecx, [edi+output]
|
mov ecx, [edi+output]
|
||||||
mov ecx, [ecx]
|
mov ecx, [ecx]
|
||||||
mov [ecx], ebx
|
mov [ecx], ebx
|
||||||
@ -392,15 +390,12 @@ proc CreateBuffer stdcall, format:dword, size:dword
|
|||||||
|
|
||||||
stdcall CreateRingBuffer, eax, PG_SW
|
stdcall CreateRingBuffer, eax, PG_SW
|
||||||
|
|
||||||
if 0
|
|
||||||
stdcall AllocKernelSpace, eax
|
|
||||||
end if
|
|
||||||
mov edi, [str]
|
mov edi, [str]
|
||||||
mov ecx, [ring_size]
|
mov ecx, [ring_size]
|
||||||
mov [edi+STREAM.in_base], eax
|
mov [edi+STREAM.in_base], eax
|
||||||
mov [edi+STREAM.in_size], ecx
|
mov [edi+STREAM.in_size], ecx
|
||||||
add eax, 128
|
add eax, 128
|
||||||
sub ecx, 128
|
; sub ecx, 128
|
||||||
mov [edi+STREAM.in_wp], eax
|
mov [edi+STREAM.in_wp], eax
|
||||||
mov [edi+STREAM.in_rp], eax
|
mov [edi+STREAM.in_rp], eax
|
||||||
mov [edi+STREAM.in_count], 0
|
mov [edi+STREAM.in_count], 0
|
||||||
@ -409,22 +404,6 @@ end if
|
|||||||
add eax, ecx
|
add eax, ecx
|
||||||
mov [edi+STREAM.in_top], eax
|
mov [edi+STREAM.in_top], eax
|
||||||
|
|
||||||
if 0
|
|
||||||
mov ebx, [ring_pages]
|
|
||||||
stdcall AllocPages, ebx
|
|
||||||
mov edi, [str]
|
|
||||||
mov ebx, [edi+STREAM.in_base]
|
|
||||||
mov ecx, [ring_pages]
|
|
||||||
or eax, PG_SW
|
|
||||||
push eax
|
|
||||||
push ebx
|
|
||||||
call CommitPages ;eax, ebx, ecx
|
|
||||||
mov ecx, [ring_pages]
|
|
||||||
pop ebx
|
|
||||||
pop eax
|
|
||||||
add ebx, [ring_size]
|
|
||||||
call CommitPages ;double mapped
|
|
||||||
end if
|
|
||||||
jmp .out_buff
|
jmp .out_buff
|
||||||
.static:
|
.static:
|
||||||
mov ecx, [size]
|
mov ecx, [size]
|
||||||
|
@ -37,9 +37,6 @@ proc new_mix stdcall, output:dword
|
|||||||
test eax, eax
|
test eax, eax
|
||||||
je .done
|
je .done
|
||||||
|
|
||||||
; cmp eax, 1
|
|
||||||
; je .copy
|
|
||||||
|
|
||||||
lea ebx, [mix_list]
|
lea ebx, [mix_list]
|
||||||
stdcall mix_all, [output], ebx, eax
|
stdcall mix_all, [output], ebx, eax
|
||||||
@@:
|
@@:
|
||||||
|
Loading…
Reference in New Issue
Block a user