- Timestamp:
- Feb 4, 2000, 8:29:17 PM (26 years ago)
- Location:
- trunk/src/dsound
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/dsound/OS2SNDBUFFER.CPP
r1744 r2637 1 /* $Id: OS2SNDBUFFER.CPP,v 1. 5 1999-11-14 22:12:15hugh Exp $ */1 /* $Id: OS2SNDBUFFER.CPP,v 1.6 2000-02-04 19:29:16 hugh Exp $ */ 2 2 3 3 /* … … 100 100 bufferdesc.lpwfxFormat->cbSize + sizeof(WAVEFORMATEX)); 101 101 102 bufferdesc.lpwfxFormat = lpfxFormat; 103 102 104 lpBuffer = (LPSTR)VirtualAlloc( 0, bufferdesc.dwBufferBytes, MEM_COMMIT, PAGE_READWRITE); 103 105 if(lpBuffer == NULL) … … 108 110 return; 109 111 } 112 110 113 } 111 114 //****************************************************************************** … … 210 213 Ticks = CurrentTicks-me->LastTickCnt; 211 214 dprintf((" Is Playing, Ticks: Last %d Current %d Difference %d",me->LastTickCnt, CurrentTicks,Ticks)); 212 me->LastTickCnt = CurrentTicks;213 214 NewPos = ((me->frequency*Ticks)/1000)*(me-> bufferdesc.lpwfxFormat->wBitsPerSample/8);215 dprintf((" Frequency: %d Bits per Sample %d",me->frequency,me->lpfxFormat->wBitsPerSample)); 216 217 NewPos = ((me->frequency*Ticks)/1000)*(me->lpfxFormat->wBitsPerSample/8); 215 218 dprintf((" advance pos by %d bytes",NewPos)); 219 220 if(NewPos) 221 me->LastTickCnt = CurrentTicks; 216 222 217 223 if(me->playpos+NewPos >= me->bufferdesc.dwBufferBytes) … … 235 241 if(me->writepos >= me->bufferdesc.dwBufferBytes) 236 242 me->writepos = me->writepos % me->bufferdesc.dwBufferBytes; 237 243 dprintf((" new Pos Write: %d Play: %d",me->writepos,me->playpos)); 238 244 } 239 245 else … … 361 367 dwWriteCursor = me->writepos; 362 368 } 369 dprintf((" Buffer at 0x%08X Size %d",me->lpBuffer,me->bufferdesc.dwBufferBytes)); 363 370 if(dwWriteCursor + dwWriteBytes > me->bufferdesc.dwBufferBytes ) 364 371 { 365 372 *(DWORD *)lplpvAudioPtr1 = (DWORD)(me->lpBuffer + dwWriteCursor); 366 373 *lpdwAudioBytes1 = me->bufferdesc.dwBufferBytes - dwWriteCursor; 374 dprintf((" Lock1 at 0x%08X Size %d",*(DWORD *)lplpvAudioPtr1,*lpdwAudioBytes1)); 367 375 if(lplpvAudioPtr2 && lpdwAudioBytes2) 368 376 { 369 *(DWORD *)lplpvAudioPtr2 = (DWORD)me->lpBuffer; 370 *lpdwAudioBytes2 = dwWriteBytes - *lpdwAudioBytes1; 377 *(DWORD *)lplpvAudioPtr2 = (DWORD)me->lpBuffer; 378 *lpdwAudioBytes2 = dwWriteBytes - *lpdwAudioBytes1; 379 dprintf((" Lock2 at 0x%08X Size %d",*(DWORD *)lplpvAudioPtr2,*lpdwAudioBytes2)); 371 380 } 372 381 } … … 375 384 *(DWORD *)lplpvAudioPtr1 = (DWORD)(me->lpBuffer + dwWriteCursor); 376 385 *lpdwAudioBytes1 = dwWriteBytes; 386 dprintf((" Lock1 at 0x%08X Size %d",*(DWORD *)lplpvAudioPtr1,*lpdwAudioBytes1)); 377 387 if(lplpvAudioPtr2 && lpdwAudioBytes2) 378 388 { 379 *(DWORD *)lplpvAudioPtr2 = 0; 380 *lpdwAudioBytes2 = 0; 389 *(DWORD *)lplpvAudioPtr2 = 0; 390 *lpdwAudioBytes2 = 0; 391 dprintf((" Lock2 at 0x%08X Size %d",*(DWORD *)lplpvAudioPtr2,*lpdwAudioBytes2)); 381 392 } 382 393 } … … 493 504 me->LastTickCnt = CurrentTicks; 494 505 495 NewPos = ((me->frequency*Ticks)/1000)*(me-> bufferdesc.lpwfxFormat->wBitsPerSample>>8);506 NewPos = ((me->frequency*Ticks)/1000)*(me->lpfxFormat->wBitsPerSample>>8); 496 507 if(me->playpos+NewPos >= me->bufferdesc.dwBufferBytes) 497 508 { … … 531 542 return DSERR_INVALIDPARAM; 532 543 } 544 533 545 return DS_OK; 534 546 } -
trunk/src/dsound/makefile
r2526 r2637 1 # $Id: makefile,v 1.1 2 2000-01-26 23:19:55 sandervlExp $1 # $Id: makefile,v 1.13 2000-02-04 19:29:17 hugh Exp $ 2 2 3 3 # … … 14 14 15 15 !include $(PDWIN32_INCLUDE)/pdwin32.mk 16 16 ASFLAGS = -Sc -Sv:ALP 17 17 18 18 CFLAGS = $(CFLAGS) -I$(PDWIN32_INCLUDE) … … 22 22 TARGET = dsound 23 23 24 OBJS = dsound.obj os2dsound.obj initterm.obj os2sndbuffer.obj os2helper.obj 24 OBJS = dsound.obj os2dsound.obj initterm.obj os2sndbuffer.obj os2helper.obj asmutil.obj 25 25 #OBJS = dsound.obj initterm.obj 26 26 … … 43 43 44 44 45 46 45 dsound.obj: dsound.cpp \ 47 46 $(PDWIN32_INCLUDE)/misc.h \ … … 61 60 $(PDWIN32_INCLUDE)/os2wrap.h 62 61 62 asmutil.obj: asmutil.asm 63 63 64 64 initterm.obj: initterm.cpp initterm.h -
trunk/src/dsound/os2helper.cpp
r1744 r2637 3 3 #include <os2wrap.h> 4 4 #include <misc.h> 5 #include "asmutil.h" 5 6 6 7 typedef ULONG DWORD ; 7 8 8 #if 09 #if 1 9 10 DWORD GetTickCountOS2() 10 11 { … … 22 23 QWORD qwTickCount; 23 24 ULONG ulFreq; 24 DWORD dwTick;25 ULONG ulTicks; 25 26 APIRET rc; 26 27 27 28 rc = DosTmrQueryFreq( &ulFreq); 29 dprintf(("DSOUND: GetTickCountOS2 Freq: %d(%08X)\n", 30 ulFreq, ulFreq)); 31 28 32 if(0==rc) 29 33 { 30 34 rc = DosTmrQueryTime(&qwTickCount); 31 if(0==rc) 32 { 33 ulFreq /=1000; 34 dwTick = qwTickCount.ulLo / ulFreq; 35 //dwTick = ( (qwTickCount.ulHi <<24)+ (qwTickCount.ulLo>>8)) / (ulFreq>>8); 36 } 35 dprintf(("DSOUND: GetTickCountOS2 Time %d(%08X) : %d(%08X)\n", 36 qwTickCount.ulHi, qwTickCount.ulHi, 37 qwTickCount.ulLo,qwTickCount.ulLo, ulTicks)); 38 ulTicks = GetMsCount(&qwTickCount,ulFreq); 39 dprintf(("DSOUND: GetTickCountOS2 ms Ticks %d\n")); 37 40 } 38 //dprintf(("DSOUND: GetTickCountOS2 Freq: %d(%08X) Time %d(%08X) : %d(%08X)\n", 39 // ulFreq, ulFreq, 40 // qwTickCount.ulHi, qwTickCount.ulHi, 41 // qwTickCount.ulLo,qwTickCount.ulLo)); 42 return 0==rc?dwTick:0x00FFDEAD; 41 return 0==rc?ulTicks:0x00FFDEAD; 43 42 } 44 43 #endif
Note:
See TracChangeset
for help on using the changeset viewer.