Changeset 5487 for trunk/src/winmm/waveoutdaud.cpp
- Timestamp:
- Apr 6, 2001, 4:36:43 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/winmm/waveoutdaud.cpp
r5376 r5487 1 /* $Id: waveoutdaud.cpp,v 1. 3 2001-03-25 21:53:05sandervl Exp $ */1 /* $Id: waveoutdaud.cpp,v 1.4 2001-04-06 14:36:43 sandervl Exp $ */ 2 2 3 3 /* … … 53 53 fUnderrun = FALSE; 54 54 hSem = 0; 55 setVolume(volume);56 55 57 56 rc = DosOpen("DAUDIO1$", &hDAudioDrv, &action, 0, … … 102 101 hThread = CreateThread(NULL, 0x4000, (LPTHREAD_START_ROUTINE)DAudioThreadHandler, 103 102 (LPVOID)this, 0, &dwThreadID); 103 104 setVolume(volume); 104 105 105 106 if(!ulError) … … 126 127 } 127 128 if(hSem) { 129 DosPostEventSem(hSem); 128 130 DosCloseEventSem(hSem); 129 131 } … … 394 396 // always notify the win32 app for each buffer that was processed) 395 397 /******************************************************************************/ 396 voidDAudioWaveOut::handler()398 BOOL DAudioWaveOut::handler() 397 399 { 398 400 LPWAVEHDR whdr = wavehdr; 399 401 400 402 dprintf2(("WINMM: handler buf %X done (play %d/%d, cop %d, ret %d)", whdr, bytesPlayed, getPosition(), bytesCopied, bytesReturned)); 403 404 if(State != STATE_PLAYING || whdr == NULL) 405 return FALSE; 401 406 402 407 wmutex.enter(); … … 412 417 413 418 callback(WOM_DONE, (ULONG)whdr, 0); 419 return TRUE; 414 420 } 415 421 /******************************************************************************/ … … 420 426 ULONG postcnt; 421 427 HEV hSem; 428 BOOL fResult = TRUE; 422 429 423 430 DAudioWaveOut *dwave = (DAudioWaveOut *)pUserData; … … 445 452 return 0; 446 453 } 454 if(WaveOut::find(dwave) == FALSE) { 455 dprintf(("DAudioThreadHandler: can't find waveout stream %x", pUserData)); 456 break; 457 } 447 458 for(int i=0;i<postcnt;i++) { 448 dwave->handler(); 449 } 450 } 451 452 } 453 /******************************************************************************/ 454 /******************************************************************************/ 455 459 fResult = dwave->handler(); 460 if(fResult == FALSE) { 461 break; 462 } 463 } 464 if(fResult == FALSE) { 465 dprintf(("DAudioThreadHandler: finished waveout stream %x", pUserData)); 466 break; 467 } 468 } 469 return 0; 470 } 471 /******************************************************************************/ 472 /******************************************************************************/ 473
Note:
See TracChangeset
for help on using the changeset viewer.