Subversion Repositories Kolibri OS

Rev

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