Rev 568 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 568 | Rev 572 | ||
---|---|---|---|
Line 196... | Line 196... | ||
196 | call DestroyBuffer ;edx= stream |
196 | call DestroyBuffer ;edx= stream |
197 | ret |
197 | ret |
198 | @@: |
198 | @@: |
199 | cmp eax, SND_SETFORMAT |
199 | cmp eax, SND_SETFORMAT |
200 | jne @F |
200 | jne @F |
201 | stdcall SetFormat,[ebx],[ebx+4] |
201 | stdcall SetFormat,edx,[ebx+4] |
202 | ret |
202 | ret |
203 | @@: |
203 | @@: |
204 | cmp eax, SND_GETFORMAT |
204 | cmp eax, SND_GETFORMAT |
205 | jne @F |
205 | jne @F |
Line 211... | Line 211... | ||
211 | xor eax, eax |
211 | xor eax, eax |
212 | ret |
212 | ret |
213 | @@: |
213 | @@: |
214 | cmp eax, SND_RESET |
214 | cmp eax, SND_RESET |
215 | jne @F |
215 | jne @F |
216 | stdcall ResetBuffer,[ebx],[ebx+4] |
216 | stdcall ResetBuffer,edx,[ebx+4] |
217 | ret |
217 | ret |
218 | @@: |
218 | @@: |
219 | cmp eax, SND_SETPOS |
219 | cmp eax, SND_SETPOS |
220 | jne @F |
220 | jne @F |
221 | stdcall SetBufferPos,[ebx],[ebx+4] |
221 | stdcall SetBufferPos,edx,[ebx+4] |
222 | ret |
222 | ret |
223 | @@: |
223 | @@: |
224 | cmp eax, SND_GETPOS |
224 | cmp eax, SND_GETPOS |
225 | jne @F |
225 | jne @F |
226 | stdcall GetBufferPos, [ebx] |
226 | stdcall GetBufferPos, edx |
227 | mov edi, [ioctl] |
227 | mov edi, [ioctl] |
228 | mov ecx, [edi+output] |
228 | mov ecx, [edi+output] |
229 | mov ecx, [ecx] |
229 | mov ecx, [ecx] |
230 | mov [ecx], ebx |
230 | mov [ecx], ebx |
231 | ret |
231 | ret |
232 | @@: |
232 | @@: |
233 | cmp eax, SND_SETBUFF |
233 | cmp eax, SND_SETBUFF |
234 | jne @F |
234 | jne @F |
235 | mov eax, [ebx+4] |
235 | mov eax, [ebx+4] |
236 | stdcall set_buffer, [ebx],eax,[ebx+8],[ebx+12] |
236 | stdcall set_buffer, edx,eax,[ebx+8],[ebx+12] |
237 | ret |
237 | ret |
238 | @@: |
238 | @@: |
239 | cmp eax, SND_SETVOLUME |
239 | cmp eax, SND_SETVOLUME |
240 | jne @F |
240 | jne @F |
241 | stdcall SetBufferVol,[ebx],[ebx+4],[ebx+8] |
241 | stdcall SetBufferVol,edx,[ebx+4],[ebx+8] |
242 | ret |
242 | ret |
243 | @@: |
243 | @@: |
244 | cmp eax, SND_GETVOLUME |
244 | cmp eax, SND_GETVOLUME |
245 | jne @F |
245 | jne @F |
Line 246... | Line 246... | ||
246 | 246 | ||
247 | mov eax, [edi+output] |
247 | mov eax, [edi+output] |
248 | mov ecx, [eax] |
248 | mov ecx, [eax] |
249 | mov eax, [eax+4] |
249 | mov eax, [eax+4] |
250 | stdcall GetBufferVol,[ebx],ecx,eax |
250 | stdcall GetBufferVol,edx,ecx,eax |
251 | ret |
251 | ret |
252 | @@: |
252 | @@: |
253 | cmp eax, SND_SETPAN |
253 | cmp eax, SND_SETPAN |
254 | jne @F |
254 | jne @F |
255 | stdcall SetBufferPan,[ebx],[ebx+4] |
255 | stdcall SetBufferPan,edx,[ebx+4] |
256 | ret |
256 | ret |
257 | @@: |
257 | @@: |
258 | cmp eax, SND_GETPAN |
258 | cmp eax, SND_GETPAN |
259 | jne @F |
259 | jne @F |
Line 266... | Line 266... | ||
266 | @@: |
266 | @@: |
267 | cmp eax, SND_OUT |
267 | cmp eax, SND_OUT |
268 | jne @F |
268 | jne @F |
Line 269... | Line 269... | ||
269 | 269 | ||
270 | mov eax, [ebx+4] |
270 | mov eax, [ebx+4] |
271 | stdcall wave_out, [ebx],eax,[ebx+8] |
271 | stdcall wave_out, edx,eax,[ebx+8] |
272 | ret |
272 | ret |
273 | @@: |
273 | @@: |
274 | cmp eax, SND_PLAY |
274 | cmp eax, SND_PLAY |
Line 275... | Line 275... | ||
275 | jne @F |
275 | jne @F |
276 | 276 | ||
277 | stdcall play_buffer, [ebx],[ebx+4] |
277 | stdcall play_buffer, edx,[ebx+4] |
278 | ret |
278 | ret |
279 | @@: |
279 | @@: |
Line 280... | Line 280... | ||
280 | cmp eax, SND_STOP |
280 | cmp eax, SND_STOP |
281 | jne @F |
281 | jne @F |
282 | 282 | ||
283 | stdcall stop_buffer, [ebx] |
283 | stdcall stop_buffer, edx |
284 | ret |
284 | ret |
285 | @@: |
285 | @@: |
Line 290... | Line 290... | ||
290 | mov ecx, [ecx] |
290 | mov ecx, [ecx] |
291 | mov [ecx], eax |
291 | mov [ecx], eax |
292 | xor eax, eax |
292 | xor eax, eax |
293 | ret |
293 | ret |
294 | @@: |
294 | @@: |
- | 295 | cmp eax, SND_GETFREESPACE |
|
- | 296 | jne @F |
|
- | 297 | ||
- | 298 | test [edx+STREAM.format], PCM_OUT |
|
- | 299 | jz .fail |
|
- | 300 | ||
- | 301 | mov ebx, [edx+STREAM.in_free] |
|
- | 302 | mov ecx, [edi+output] |
|
- | 303 | mov [ecx], ebx |
|
- | 304 | xor eax, eax |
|
- | 305 | ret |
|
- | 306 | @@: |
|
295 | .fail: |
307 | .fail: |
296 | or eax, -1 |
308 | or eax, -1 |
297 | ret |
309 | ret |
298 | endp |
310 | endp |