Changeset 513 for OCO/branches/DAZ/drv16/ossidc16.cpp
- Timestamp:
- Jul 12, 2010, 12:57:31 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
OCO/branches/DAZ/drv16/ossidc16.cpp
r508 r513 5 5 */ 6 6 7 extern "C" { 7 extern "C" { // 16-bit header files are not C++ aware 8 8 #define INCL_16 9 9 #define INCL_DOSINFOSEG … … 33 33 34 34 void DumpDeviceCaps (LPOSS32_DEVCAPS pDevCaps); 35 void DumpWaveCaps 36 void DumpMixerCaps 35 void DumpWaveCaps (LPWAVE_CAPS pWaveCaps); 36 void DumpMixerCaps (LPOSS32_MIXCAPS pMixCaps); 37 37 #endif 38 38 … … 56 56 // Attach to the 32 bits OSS driver 57 57 if(DevHelp_AttachDD((NPSZ)"ALSA32$ ",(NPBYTE)&IDCTable)) { 58 58 return FALSE; 59 59 } 60 60 idcpacket.init.handler16 = (ULONG)(VOID FAR *)OSSIDC_ENTRY; … … 77 77 IDC32_PACKET idcpacket; 78 78 OSS32_DEVCAPS devcaps; 79 OSSRET 80 81 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 82 83 idcpacket.fileid 79 OSSRET ret; 80 81 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 82 83 idcpacket.fileid = 0x666; 84 84 idcpacket.devcaps.devicenr = devicenr; 85 85 idcpacket.devcaps.pDevCaps = (ULONG)&devcaps; … … 87 87 88 88 #ifdef DEBUG 89 90 91 92 89 if (ret == OSSERR_SUCCESS) 90 DumpDeviceCaps (&devcaps); 91 else 92 dprintf (("IDC32_OSS32_QUERYDEVCAPS - FAILED!")); 93 93 #endif 94 94 … … 123 123 { 124 124 IDC32_PACKET idcpacket; 125 OSSRET 126 127 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 128 129 idcpacket.fileid 130 idcpacket.open.devicenr 125 OSSRET ret; 126 127 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 128 129 idcpacket.fileid = ulSysFileNum; 130 idcpacket.open.devicenr = devicenr; 131 131 idcpacket.open.streamtype = (ulStreamType == STREAM_WAVE_PLAY) ? OSS32_STREAM_WAVEOUT : OSS32_STREAM_WAVEIN; 132 132 ret = CallOSS32(IDC32_WAVE_OPEN, &idcpacket); … … 216 216 if(SELECTOROF(pHwParams) != _SS()) 217 217 {//must be located on the stack! 218 219 220 218 dprintf(("OSS16_WaveSetFormat error. Invalid stack segment for parameters...")); 219 DebugInt3(); 220 return OSSERR_INVALID_PARAMETER; 221 221 } 222 222 223 idcpacket.fileid 224 idcpacket.streamid 223 idcpacket.fileid = FindStreamFileId_fromStreamId(StreamId); 224 idcpacket.streamid = StreamId; 225 225 idcpacket.sethwparams.hwparams = (ULONG)pHwParams; 226 226 return CallOSS32(IDC32_WAVE_SETHWPARAMS, &idcpacket); … … 229 229 //****************************************************************************** 230 230 OSSRET DBGCALLCONV OSS16_WaveAddBuffer(OSSSTREAMID StreamId, LINEAR pBuffer, ULONG size, 231 232 { 233 IDC32_PACKET idcpacket; 234 OSSRET 235 236 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 237 238 idcpacket.fileid 239 idcpacket.streamid 231 ULONG FAR *lpBytesTransferred) 232 { 233 IDC32_PACKET idcpacket; 234 OSSRET ret; 235 236 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 237 238 idcpacket.fileid = FindStreamFileId_fromStreamId(StreamId); 239 idcpacket.streamid = StreamId; 240 240 idcpacket.buffer.buffer = pBuffer; 241 241 idcpacket.buffer.size = size; … … 250 250 { 251 251 IDC32_PACKET idcpacket; 252 OSSRET 253 254 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 255 256 idcpacket.fileid 257 idcpacket.streamid 252 OSSRET ret; 253 254 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 255 256 idcpacket.fileid = FindStreamFileId_fromStreamId(StreamId); 257 idcpacket.streamid = StreamId; 258 258 ret = CallOSS32(IDC32_WAVE_GETPOS, &idcpacket); 259 259 … … 266 266 { 267 267 IDC32_PACKET idcpacket; 268 OSSRET 269 270 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 271 272 idcpacket.fileid 273 idcpacket.streamid 268 OSSRET ret; 269 270 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 271 272 idcpacket.fileid = FindStreamFileId_fromStreamId(StreamId); 273 idcpacket.streamid = StreamId; 274 274 ret = CallOSS32(IDC32_WAVE_GETSPACE, &idcpacket); 275 275 … … 282 282 { 283 283 IDC32_PACKET idcpacket; 284 OSSRET 285 286 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 287 288 idcpacket.fileid 289 idcpacket.streamid 284 OSSRET ret; 285 286 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 287 288 idcpacket.fileid = FindStreamFileId_fromStreamId(StreamId); 289 idcpacket.streamid = StreamId; 290 290 ret = CallOSS32(IDC32_WAVE_GETHWPTR, &idcpacket); 291 291 … … 298 298 { 299 299 IDC32_PACKET idcpacket; 300 OSSRET 301 302 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 303 304 idcpacket.fileid 305 idcpacket.streamid 300 OSSRET ret; 301 302 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 303 304 idcpacket.fileid = FindStreamFileId_fromStreamId(StreamId); 305 idcpacket.streamid = StreamId; 306 306 ret = CallOSS32(IDC32_WAVE_GETSTATUS, &idcpacket); 307 307 … … 317 317 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 318 318 319 idcpacket.fileid 320 idcpacket.streamid 319 idcpacket.fileid = FindStreamFileId_fromStreamId(StreamId); 320 idcpacket.streamid = StreamId; 321 321 idcpacket.setwavevol.volume = volume; 322 322 return CallOSS32(IDC32_WAVE_SETVOLUME, &idcpacket); … … 327 327 { 328 328 IDC32_PACKET idcpacket; 329 OSSRET 329 OSSRET ret; 330 330 331 331 dprintf(("OSS16_MidiOpen. type: %d",midiType)); 332 332 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 333 333 334 idcpacket.fileid 335 idcpacket.open.devicenr 334 idcpacket.fileid = 0x666; //TODO 335 idcpacket.open.devicenr = devicenr; 336 336 switch(midiType) { 337 337 case MPU401_RECEIVE: 338 339 338 idcpacket.open.streamtype = OSS32_STREAM_MPU401_MIDIIN; 339 break; 340 340 case MPU401_SEND: 341 342 341 idcpacket.open.streamtype = OSS32_STREAM_MPU401_MIDIOUT; 342 break; 343 343 case FM_SEND: 344 345 344 idcpacket.open.streamtype = OSS32_STREAM_FM_MIDIOUT; 345 break; 346 346 case WAVETABLE_SEND: 347 348 347 idcpacket.open.streamtype = OSS32_STREAM_WAVETABLE_MIDIOUT; 348 break; 349 349 } 350 350 ret = CallOSS32(IDC32_MIDI_OPEN, &idcpacket); … … 361 361 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 362 362 363 idcpacket.fileid 364 idcpacket.streamid 363 idcpacket.fileid = 0x666; //TODO 364 idcpacket.streamid = StreamId; 365 365 idcpacket.midiwrite.midiByte = midiByte; 366 366 return CallOSS32(IDC32_MIDI_WRITE, &idcpacket); … … 371 371 { 372 372 IDC32_PACKET idcpacket; 373 OSSRET 374 375 // 373 OSSRET ret; 374 375 // dprintf(("OSS16_MidiRead. id: %d",StreamId)); 376 376 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 377 377 378 378 if(SELECTOROF(buffer) != _SS()) 379 379 {//must be located on the stack! 380 381 380 DebugInt3(); 381 return OSSERR_INVALID_PARAMETER; 382 382 } 383 383 384 idcpacket.fileid = 0x666;//TODO385 idcpacket.streamid 384 idcpacket.fileid = 0x666; //TODO 385 idcpacket.streamid = StreamId; 386 386 idcpacket.midiread.buffer = (ULONG)buffer; 387 387 idcpacket.midiread.bufsize = bufsize; … … 397 397 IDC32_PACKET idcpacket; 398 398 OSS32_MIDICAPS midiCaps; 399 OSSRET 399 OSSRET ret; 400 400 401 401 dprintf(("OSS16_MidiQueryCaps. id: %d",streamid)); … … 530 530 { 531 531 IDC32_PACKET idcpacket; 532 OSSRET 533 534 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 535 536 idcpacket.fileid 537 idcpacket.open.devicenr 532 OSSRET ret; 533 534 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 535 536 idcpacket.fileid = 0x766; //TODO 537 idcpacket.open.devicenr = devicenr; 538 538 ret = CallOSS32(IDC32_MIXER_OPEN, &idcpacket); 539 539 *pStreamId = idcpacket.streamid; … … 560 560 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 561 561 562 idcpacket.fileid 563 idcpacket.streamid 562 idcpacket.fileid = 0x766; //TODO 563 idcpacket.streamid = StreamId; 564 564 idcpacket.mixvol.line = usLine; 565 565 idcpacket.mixvol.volume = ulVolume; … … 572 572 { 573 573 IDC32_PACKET idcpacket; 574 OSSRET 575 576 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 577 578 idcpacket.fileid 579 idcpacket.streamid 574 OSSRET ret; 575 576 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 577 578 idcpacket.fileid = 0x766; //TODO 579 idcpacket.streamid = StreamId; 580 580 idcpacket.mixvol.line = usLine; 581 581 … … 592 592 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 593 593 594 idcpacket.fileid = 0x766;//TODO595 idcpacket.streamid 594 idcpacket.fileid = 0x766; //TODO 595 idcpacket.streamid = StreamId; 596 596 idcpacket.mixprop.property = usProperty; 597 idcpacket.mixprop.value 597 idcpacket.mixprop.value = ulValue; 598 598 599 599 return CallOSS32(IDC32_MIXER_SETPROPERTY, &idcpacket); … … 603 603 OSSRET DBGCALLCONV OSS16_MixGetProperty(OSSSTREAMID StreamId, USHORT usProperty, ULONG FAR *pValue) 604 604 { 605 606 OSSRETret;607 608 609 610 idcpacket.fileid= 0x766; //TODO611 idcpacket.streamid= StreamId;612 613 614 615 616 605 IDC32_PACKET idcpacket; 606 OSSRET ret; 607 608 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 609 610 idcpacket.fileid = 0x766; //TODO 611 idcpacket.streamid = StreamId; 612 idcpacket.mixprop.property = usProperty; 613 614 ret = CallOSS32(IDC32_MIXER_GETPROPERTY, &idcpacket); 615 *pValue = idcpacket.mixprop.value; 616 return ret; 617 617 } 618 618 //****************************************************************************** … … 620 620 OSSRET DBGCALLCONV OSS16_MixQueryCaps(OSSSTREAMID Streamid, OSS32_MIXCAPS FAR *pCaps) 621 621 { 622 IDC32_PACKETidcpacket;623 624 OSSRETret;625 626 627 628 629 630 631 622 IDC32_PACKET idcpacket; 623 OSS32_MIXCAPS mixerCaps; 624 OSSRET ret; 625 626 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 627 628 idcpacket.fileid = 0x766; //TODO 629 idcpacket.streamid = Streamid; 630 idcpacket.mixcaps.pCaps = (ULONG)&mixerCaps; 631 ret = CallOSS32(IDC32_MIXER_QUERYCAPS, &idcpacket); 632 632 633 633 #ifdef DEBUG 634 635 636 637 634 if (ret == OSSERR_SUCCESS) 635 DumpMixerCaps (&mixerCaps); 636 else 637 dprintf (("IDC32_MIXER_QUERYCAPS - FAILED!")); 638 638 #endif 639 639 640 641 640 _fmemcpy(pCaps, &mixerCaps, sizeof(mixerCaps)); 641 return ret; 642 642 } 643 643 //****************************************************************************** … … 646 646 OSSRET CallOSS32(USHORT cmd, IDC32_PACKET FAR *pIDCPacket) 647 647 { 648 649 650 651 652 653 654 655 656 657 658 659 660 661 // 662 663 664 665 666 667 668 669 670 671 672 673 674 675 648 ULONG rc = 0; 649 ULONG idcptr = (ULONG)IDCTable.ProtIDCEntry; 650 ULONG idcparm; 651 652 if(idcptr == 0) 653 return OSSERR_ACCESS_DENIED; 654 655 if(SELECTOROF(pIDCPacket) != _SS()) { 656 dprintf(("CallOSS32 error. Invalid stack segment for parameters...")); 657 DebugInt3(); 658 return OSSERR_INVALID_PARAMETER; 659 } 660 661 // dprintf(("CallOSS32. cmd: %d", cmd)); 662 663 idcparm = (ULONG)pIDCPacket; 664 665 _asm { 666 pusha 667 mov cx, cmd 668 mov dx, word ptr [idcparm+2] 669 mov bx, word ptr [idcparm] 670 call dword ptr [idcptr] 671 mov word ptr rc, ax 672 mov word ptr [rc+2], dx 673 popa 674 } 675 return(rc); 676 676 } 677 677 //****************************************************************************** … … 683 683 { 684 684 IDC32_PACKET idcpacket; 685 ULONG 686 687 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 688 689 690 691 692 693 idcpacket.buffer.buffer 685 ULONG buffer; 686 687 _fmemset(&idcpacket, 0, sizeof(idcpacket)); 688 689 if (DevHelp_VirtToLin(SELECTOROF(debstr),OFFSETOF(debstr),&buffer)) 690 return OSSERR_INVALID_PARAMETER; 691 692 693 idcpacket.buffer.buffer = (ULONG)buffer; 694 694 idcpacket.buffer.size = bufsize; 695 695 return CallOSS32(IDC32_DEBUG_STRING, &idcpacket); … … 704 704 #pragma on (unreferenced) 705 705 { 706 //dprintf(("OSSIDC cmd:%lx param1:%lx param2:%lx", cmd, param1, param2)); 707 switch(cmd & 0xFFFF) 708 { 709 case IDC16_INIT: 710 break; 711 712 case IDC16_EXIT: 713 DestroyStreams(); 714 IDCTable.ProtIDCEntry = 0; 715 break; 716 case IDC16_MIDI_IRQ: 717 MPU_401::processIrq(0); 718 break; 719 720 case IDC16_CLOSE_UNI16: 721 { 722 force_closed = 1; 723 #ifdef DEBUG 724 dprintf(("IDC16_CLOSE_UNI16")); 725 #endif 726 pWavePlay->Close(0); 727 //WAVEAUDIO::WavePlayClose(); 728 break; 729 } 730 case IDC16_PROCESS: 731 { 732 PWAVESTREAM pStream; 706 //dprintf(("OSSIDC cmd:%lx param1:%lx param2:%lx", cmd, param1, param2)); 707 switch(cmd & 0xFFFF) 708 { 709 case IDC16_INIT: 710 break; 711 712 case IDC16_EXIT: 713 DestroyStreams(); 714 IDCTable.ProtIDCEntry = 0; 715 break; 716 case IDC16_MIDI_IRQ: 717 MPU_401::processIrq(0); 718 break; 719 720 case IDC16_CLOSE_UNI16: 721 { 722 force_closed = 1; 723 dprintf(("IDC16_CLOSE_UNI16")); 724 pWavePlay->Close(0); 725 //WAVEAUDIO::WavePlayClose(); 726 break; 727 } 728 case IDC16_PROCESS: 729 { 730 PWAVESTREAM pStream; 733 731 //dprintf(("IDC16_PROCESS, %d", param1)); 734 //Signal all active wave playback streams to update their status 735 pStream = (PWAVESTREAM)FindFirstActiveStream(STREAM_WAVE_PLAY); 736 while(pStream) 737 { 738 pStream->Process(); 739 pStream = (PWAVESTREAM)FindNextActiveStream(STREAM_WAVE_PLAY, pStream); 740 } 741 //Signal all active wave capture streams to update their status 742 pStream = (PWAVESTREAM)FindFirstActiveStream(STREAM_WAVE_CAPTURE); 743 while(pStream) 744 { 745 pStream->Process(); 746 pStream = (PWAVESTREAM)FindNextActiveStream(STREAM_WAVE_CAPTURE, pStream); 747 } 748 //dprintf(("IDC16_PROCESS end")); 749 break; 750 } 751 752 } 753 return 0; 732 //Signal all active wave playback streams to update their status 733 pStream = (PWAVESTREAM)FindFirstActiveStream(STREAM_WAVE_PLAY); 734 while(pStream) { 735 pStream->Process(); 736 pStream = (PWAVESTREAM)FindNextActiveStream(STREAM_WAVE_PLAY, pStream); 737 } 738 //Signal all active wave capture streams to update their status 739 pStream = (PWAVESTREAM)FindFirstActiveStream(STREAM_WAVE_CAPTURE); 740 while(pStream) { 741 pStream->Process(); 742 pStream = (PWAVESTREAM)FindNextActiveStream(STREAM_WAVE_CAPTURE, pStream); 743 } 744 //dprintf(("IDC16_PROCESS end")); 745 break; 746 } 747 748 } 749 return 0; 754 750 } 755 751 //****************************************************************************** … … 760 756 void DumpMixerCaps (LPOSS32_MIXCAPS pMixCaps) 761 757 { 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 758 dprintf (("\nMixerCaps")); 759 dprintf ((" name '%s'", pMixCaps->name)); 760 dprintf ((" fuCtrlCaps %lxh", pMixCaps->fuCtrlCaps)); 761 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_VOLUME_MASTER_FRONT)) 762 dprintf ((" OSS32_MIX_VOLUME_MASTER_FRONT")); 763 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_VOLUME_MASTER_REAR)) 764 dprintf ((" OSS32_MIX_VOLUME_MASTER_REAR")); 765 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_VOLUME_PCM)) 766 dprintf ((" OSS32_MIX_VOLUME_PCM")); 767 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_VOLUME_MIDI)) 768 dprintf ((" OSS32_MIX_VOLUME_MIDI")); 769 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_VOLUME_LINEIN)) 770 dprintf ((" OSS32_MIX_VOLUME_LINEIN")); 771 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_VOLUME_MIC)) 772 dprintf ((" OSS32_MIX_VOLUME_MIC")); 773 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_VOLUME_CD)) 774 dprintf ((" OSS32_MIX_VOLUME_CD")); 775 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_VOLUME_SPDIF)) 776 dprintf ((" OSS32_MIX_VOLUME_SPDIF")); 777 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_VOLUME_VIDEO)) 778 dprintf ((" OSS32_MIX_VOLUME_VIDEO")); 779 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_VOLUME_SPEAKER)) 780 dprintf ((" OSS32_MIX_VOLUME_SPEAKER")); 781 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_VOLUME_PHONE)) 782 dprintf ((" OSS32_MIX_VOLUME_PHONE")); 783 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_VOLUME_HEADPHONE)) 784 dprintf ((" OSS32_MIX_VOLUME_HEADPHONE")); 785 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_VOLUME_AUX)) 786 dprintf ((" OSS32_MIX_VOLUME_AUX")); 787 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_VOLUME_CAPTURE)) 788 dprintf ((" OSS32_MIX_VOLUME_CAPTURE")); 789 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_INPUTSRC)) 790 dprintf ((" OSS32_MIX_INPUTSRC")); 791 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_LEVEL_BASS)) 792 dprintf ((" OSS32_MIX_LEVEL_BASS")); 793 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_LEVEL_TREBLE)) 794 dprintf ((" OSS32_MIX_LEVEL_TREBLE")); 795 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_LEVEL_3DCENTER)) 796 dprintf ((" OSS32_MIX_LEVEL_3DCENTER")); 797 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_LEVEL_3DDEPTH)) 798 dprintf ((" OSS32_MIX_LEVEL_3DDEPTH")); 799 if (pMixCaps->fuCtrlCaps & OSS32_MIX_FLAG (OSS32_MIX_SWITCH_MICBOOST)) 800 dprintf ((" OSS32_MIX_SWITCH_MICBOOST")); 801 802 803 dprintf ((" fuRecCaps %lxh", pMixCaps->fuRecCaps)); 804 if (pMixCaps->fuRecCaps & OSS32_MIX_FLAG (OSS32_MIX_RECSRC_MIC)) 805 dprintf ((" OSS32_MIX_RECSRC_MIC")); 806 if (pMixCaps->fuRecCaps & OSS32_MIX_FLAG (OSS32_MIX_RECSRC_CD)) 807 dprintf ((" OSS32_MIX_RECSRC_CD")); 808 if (pMixCaps->fuRecCaps & OSS32_MIX_FLAG (OSS32_MIX_RECSRC_LINE)) 809 dprintf ((" OSS32_MIX_RECSRC_LINE")); 810 if (pMixCaps->fuRecCaps & OSS32_MIX_FLAG (OSS32_MIX_RECSRC_VIDEO)) 811 dprintf ((" OSS32_MIX_RECSRC_VIDEO")); 812 if (pMixCaps->fuRecCaps & OSS32_MIX_FLAG (OSS32_MIX_RECSRC_AUX)) 813 dprintf ((" OSS32_MIX_RECSRC_AUX")); 814 if (pMixCaps->fuRecCaps & OSS32_MIX_FLAG (OSS32_MIX_RECSRC_MIXER)) 815 dprintf ((" OSS32_MIX_RECSRC_MIXER")); 816 if (pMixCaps->fuRecCaps & OSS32_MIX_FLAG (OSS32_MIX_RECSRC_MIXER_MONO)) 817 dprintf ((" OSS32_MIX_RECSRC_MIXER_MONO")); 818 if (pMixCaps->fuRecCaps & OSS32_MIX_FLAG (OSS32_MIX_RECSRC_PHONE)) 819 dprintf ((" OSS32_MIX_RECSRC_PHONE")); 820 if (pMixCaps->fuRecCaps & OSS32_MIX_FLAG (OSS32_MIX_RECSRC_SYNTH)) 821 dprintf ((" OSS32_MIX_RECSRC_SYNTH")); 826 822 } 827 823 //****************************************************************************** … … 829 825 void DumpDeviceCaps (LPOSS32_DEVCAPS pDevCaps) 830 826 { 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 827 dprintf (("\nDeviceCaps")); 828 dprintf ((" nrDevices %d", pDevCaps->nrDevices)); 829 830 dprintf ((" ulCaps %uxh", pDevCaps->ulCaps)); 831 if (pDevCaps->ulCaps & OSS32_CAPS_WAVE_PLAYBACK) 832 dprintf ((" OSS32_CAPS_WAVE_PLAYBACK")); 833 if (pDevCaps->ulCaps & OSS32_CAPS_WAVE_CAPTURE) 834 dprintf ((" OSS32_CAPS_WAVE_CAPTURE")); 835 if (pDevCaps->ulCaps & OSS32_CAPS_FMSYNTH_PLAYBACK) 836 dprintf ((" OSS32_CAPS_FMSYNTH_PLAYBACK")); 837 if (pDevCaps->ulCaps & OSS32_CAPS_WAVETABLE_PLAYBACK) 838 dprintf ((" OSS32_CAPS_WAVETABLE_PLAYBACK")); 839 if (pDevCaps->ulCaps & OSS32_CAPS_MPU401_PLAYBACK) 840 dprintf ((" OSS32_CAPS_MPU401_PLAYBACK")); 841 if (pDevCaps->ulCaps & OSS32_CAPS_MPU401_CAPTURE) 842 dprintf ((" OSS32_CAPS_MPU401_CAPTURE")); 843 844 dprintf ((" szDeviceName %s", (char far*)pDevCaps->szDeviceName)); 845 dprintf ((" szMixerName %s", (char far*)pDevCaps->szMixerName)); 846 847 848 dprintf (("WaveOutCaps")); 849 DumpWaveCaps (&pDevCaps->waveOutCaps); 850 851 dprintf (("WaveInCaps")); 852 DumpWaveCaps (&pDevCaps->waveInCaps); 857 853 } 858 854 //****************************************************************************** … … 860 856 void DumpWaveCaps (LPWAVE_CAPS pWaveCaps) 861 857 { 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 858 dprintf ((" nrStreams %d", pWaveCaps->nrStreams)); 859 dprintf ((" ulMinChannels %ld", pWaveCaps->ulMinChannels)); 860 dprintf ((" ulMaxChannels %ld", pWaveCaps->ulMaxChannels)); 861 dprintf ((" ulChanFlags %lxh", pWaveCaps->ulChanFlags)); 862 if (pWaveCaps->ulChanFlags & OSS32_CAPS_PCM_CHAN_MONO) 863 dprintf ((" OSS32_CAPS_PCM_CHAN_MONO")); 864 if (pWaveCaps->ulChanFlags & OSS32_CAPS_PCM_CHAN_STEREO) 865 dprintf ((" OSS32_CAPS_PCM_CHAN_STEREO")); 866 if (pWaveCaps->ulChanFlags & OSS32_CAPS_PCM_CHAN_QUAD) 867 dprintf ((" OSS32_CAPS_PCM_CHAN_QUAD")); 868 if (pWaveCaps->ulChanFlags & OSS32_CAPS_PCM_CHAN_5_1) 869 dprintf ((" OSS32_CAPS_PCM_CHAN_5_1")); 870 871 872 dprintf ((" ulMinRate %ld", pWaveCaps->ulMinRate)); 873 dprintf ((" ulMaxRate %ld", pWaveCaps->ulMaxRate)); 874 875 dprintf ((" ulRateFlags %lxh", pWaveCaps->ulRateFlags)); 876 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_5512) 877 dprintf ((" OSS32_CAPS_PCM_RATE_5512")); 878 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_8000) 879 dprintf ((" OSS32_CAPS_PCM_RATE_8000")); 880 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_11025) 881 dprintf ((" OSS32_CAPS_PCM_RATE_11025")); 882 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_16000) 883 dprintf ((" OSS32_CAPS_PCM_RATE_16000")); 884 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_22050) 885 dprintf ((" OSS32_CAPS_PCM_RATE_22050")); 886 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_32000) 887 dprintf ((" OSS32_CAPS_PCM_RATE_32000")); 888 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_44100) 889 dprintf ((" OSS32_CAPS_PCM_RATE_44100")); 890 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_48000) 891 dprintf ((" OSS32_CAPS_PCM_RATE_48000")); 892 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_64000) 893 dprintf ((" OSS32_CAPS_PCM_RATE_64000")); 894 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_88200) 895 dprintf ((" OSS32_CAPS_PCM_RATE_88200")); 896 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_96000) 897 dprintf ((" OSS32_CAPS_PCM_RATE_96000")); 898 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_176400) 899 dprintf ((" OSS32_CAPS_PCM_RATE_176400")); 900 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_192000) 901 dprintf ((" OSS32_CAPS_PCM_RATE_192000")); 902 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_HALFDUPLEX) 903 dprintf ((" OSS32_CAPS_PCM_RATE_HALFDUPLEX")); 904 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_CONTINUOUS) 905 dprintf ((" OSS32_CAPS_PCM_RATE_CONTINUOUS")); 906 if (pWaveCaps->ulRateFlags & OSS32_CAPS_PCM_RATE_KNOT) 907 dprintf ((" OSS32_CAPS_PCM_RATE_KNOT")); 908 909 910 dprintf ((" ulDataFormats %lxh", pWaveCaps->ulDataFormats)); 911 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_S8) 912 dprintf ((" OSS32_CAPS_PCM_FORMAT_S8")); 913 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_U8) 914 dprintf ((" OSS32_CAPS_PCM_FORMAT_U8")); 915 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_S16_LE) 916 dprintf ((" OSS32_CAPS_PCM_FORMAT_S16_LE")); 917 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_S16_BE) 918 dprintf ((" OSS32_CAPS_PCM_FORMAT_S16_BE")); 919 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_U16_LE) 920 dprintf ((" OSS32_CAPS_PCM_FORMAT_U16_LE")); 921 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_U16_BE) 922 dprintf ((" OSS32_CAPS_PCM_FORMAT_U16_BE")); 923 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_S24_LE) 924 dprintf ((" OSS32_CAPS_PCM_FORMAT_S24_LE")); 925 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_S24_BE) 926 dprintf ((" OSS32_CAPS_PCM_FORMAT_S24_BE")); 927 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_U24_LE) 928 dprintf ((" OSS32_CAPS_PCM_FORMAT_U24_LE")); 929 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_U24_BE) 930 dprintf ((" OSS32_CAPS_PCM_FORMAT_U24_BE")); 931 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_S32_LE) 932 dprintf ((" OSS32_CAPS_PCM_FORMAT_S32_LE")); 933 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_S32_BE) 934 dprintf ((" OSS32_CAPS_PCM_FORMAT_S32_BE")); 935 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_U32_LE) 936 dprintf ((" OSS32_CAPS_PCM_FORMAT_U32_LE")); 937 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_U32_BE) 938 dprintf ((" OSS32_CAPS_PCM_FORMAT_U32_BE")); 939 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_MULAW) 940 dprintf ((" OSS32_CAPS_PCM_FORMAT_MULAW")); 941 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_ALAW) 942 dprintf ((" OSS32_CAPS_PCM_FORMAT_ALAW")); 943 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_ADPCM) 944 dprintf ((" OSS32_CAPS_PCM_FORMAT_ADPCM")); 945 if (pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_MPEG) 946 dprintf ((" OSS32_CAPS_PCM_FORMAT_MPEG")); 951 947 } 952 948 //******************************************************************************
Note:
See TracChangeset
for help on using the changeset viewer.