Changeset 478 for OCO/trunk/drv16/waudio.cpp
- Timestamp:
- Apr 9, 2010, 11:08:21 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
OCO/trunk/drv16/waudio.cpp
r468 r478 407 407 408 408 default: 409 dprintf(("DataFormat wrong:%x",ulBitsPerSample)); 409 410 DebugInt3(); 410 411 return 0; … … 558 559 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,0); //factor 1 559 560 pConfigInfo->pfnConvert = ConvertNone; 560 dprintf(("C ONVERT_NONE"));561 dprintf(("CNV_NONE")); 561 562 break; 562 563 … … 565 566 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,0); //factor 1 566 567 pConfigInfo->pfnConvert = Convert8To8SignChange; 567 dprintf(("C ONVERT_8_UNSIGNED_TO_8_SIGNED/CONVERT_8_SIGNED_TO_8_UNSIGNED"));568 dprintf(("CNV_8_U_TO_8_S/CNV_8_S_TO_8_U")); 568 569 break; 569 570 … … 572 573 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(1,0); //factor 2 573 574 pConfigInfo->pfnConvert = Convert8MonoTo8Stereo; 574 dprintf(("C ONVERT_8_UNSIGNED_TO_8_UNSIGNED_MONO_STEREO/CONVERT_8_SIGNED_TO_8_SIGNED_MONO_STEREO"));575 dprintf(("CNV_8_U_TO_8_U_MN_ST/CNV_8_S_TO_8_S_MN_ST")); 575 576 break; 576 577 … … 579 580 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(1,0); //factor 2 580 581 pConfigInfo->pfnConvert = Convert8MonoTo8StereoSignChange; 581 dprintf(("C ONVERT_8_SIGNED_TO_8_UNSIGNED_MONO_STEREO/CONVERT_8_UNSIGNED_TO_8_SIGNED_MONO_STEREO"));582 dprintf(("CNV_8_S_TO_8_U_MN_ST/CNV_8_U_TO_8_S_MN_ST")); 582 583 break; 583 584 … … 586 587 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(1,0); //factor 2 587 588 pConfigInfo->pfnConvert = Convert8To16; 588 dprintf(("C ONVERT_8_SIGNED_TO_16_SIGNED/CONVERT_8_UNSIGNED_TO_16_UNSIGNED"));589 dprintf(("CNV_8_S_TO_16_S/CNV_8_U_TO_16_U")); 589 590 break; 590 591 … … 593 594 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(1,0); //factor 2 594 595 pConfigInfo->pfnConvert = Convert8To16SignChange; 595 dprintf(("C ONVERT_8_SIGNED_TO_16_UNSIGNED/CONVERT_8_UNSIGNED_TO_16_SIGNED"));596 dprintf(("CNV_8_S_TO_16_U/CNV_8_U_TO_16_S")); 596 597 break; 597 598 … … 600 601 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(2,0); //factor 4 601 602 pConfigInfo->pfnConvert = Convert8MonoTo16Stereo; 602 dprintf(("C ONVERT_8_SIGNED_TO_16_SIGNED_MONO_STEREO/CONVERT_8_UNSIGNED_TO_16_UNSIGNED_MONO_STEREO"));603 dprintf(("CNV_8_S_TO_16_S_MN_ST/CNV_8_U_TO_16_U_MN_ST")); 603 604 break; 604 605 … … 607 608 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(2,0); //factor 4 608 609 pConfigInfo->pfnConvert = Convert8MonoTo16StereoSignChange; 609 dprintf(("C ONVERT_8_SIGNED_TO_16_UNSIGNED_MONO_STEREO/CONVERT_8_UNSIGNED_TO_16_SIGNED_MONO_STEREO"));610 dprintf(("CNV_8_S_TO_16_U_MN_ST/CNV_8_U_TO_16_S_MN_ST")); 610 611 break; 611 612 … … 613 614 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,1); //factor 0.5 614 615 pConfigInfo->pfnConvert = Convert8UnsignedTo8UnsignedStereoMono; 615 dprintf(("C ONVERT_8_UNSIGNED_TO_8_UNSIGNED_STEREO_MONO"));616 dprintf(("CNV_8_U_TO_8_U_ST_MN")); 616 617 break; 617 618 … … 619 620 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,1); //factor 0.5 620 621 pConfigInfo->pfnConvert = Convert8SignedTo8SignedStereoMono; 621 dprintf(("C ONVERT_8_SIGNED_TO_8_SIGNED_STEREO_MONO"));622 dprintf(("CNV_8_S_TO_8_S_ST_MN")); 622 623 break; 623 624 … … 625 626 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,1); //factor 0.5 626 627 pConfigInfo->pfnConvert = Convert8UnsignedTo8SignedStereoMono; 627 dprintf(("C ONVERT_8_UNSIGNED_TO_8_SIGNED_STEREO_MONO"));628 dprintf(("CNV_8_U_TO_8_S_ST_MN")); 628 629 break; 629 630 … … 631 632 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,1); //factor 0.5 632 633 pConfigInfo->pfnConvert = Convert8SignedTo8UnsignedStereoMono; 633 dprintf(("C ONVERT_8_SIGNED_TO_8_UNSIGNED_STEREO_MONO"));634 dprintf(("CNV_8_S_TO_8_U_ST_MN")); 634 635 break; 635 636 … … 637 638 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,0); //factor 1 638 639 pConfigInfo->pfnConvert = Convert8UnsignedTo16UnsignedStereoMono; 639 dprintf(("C ONVERT_8_UNSIGNED_TO_16_UNSIGNED_STEREO_MONO"));640 dprintf(("CNV_8_U_TO_16_U_ST_MN")); 640 641 break; 641 642 … … 643 644 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,0); //factor 1 644 645 pConfigInfo->pfnConvert = Convert8UnsignedTo16SignedStereoMono; 645 dprintf(("C ONVERT_8_UNSIGNED_TO_16_SIGNED_STEREO_MONO"));646 dprintf(("CNV_8_U_TO_16_S_ST_MN")); 646 647 break; 647 648 … … 649 650 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,0); //factor 1 650 651 pConfigInfo->pfnConvert = Convert8SignedTo16SignedStereoMono; 651 dprintf(("C ONVERT_8_SIGNED_TO_16_SIGNED_STEREO_MONO"));652 dprintf(("CNV_8_S_TO_16_S_ST_MN")); 652 653 break; 653 654 … … 655 656 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,0); //factor 1 656 657 pConfigInfo->pfnConvert = Convert8SignedTo16UnsignedStereoMono; 657 dprintf(("C ONVERT_8_SIGNED_TO_16_UNSIGNED_STEREO_MONO"));658 dprintf(("CNV_8_S_TO_16_U_ST_MN")); 658 659 break; 659 660 … … 662 663 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,0); //factor 1 663 664 pConfigInfo->pfnConvert = Convert16To16SignChange; 664 dprintf(("C ONVERT_16_UNSIGNED_TO_16_SIGNED/CONVERT_16_SIGNED_TO_16_UNSIGNED"));665 dprintf(("CNV_16_U_TO_16_S/CNV_16_S_TO_16_U")); 665 666 break; 666 667 … … 669 670 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,1); //factor 0.5 670 671 pConfigInfo->pfnConvert = Convert16To8; 671 dprintf(("C ONVERT_16_UNSIGNED_TO_8_UNSIGNED/CONVERT_16_SIGNED_TO_8_SIGNED"));672 dprintf(("CNV_16_U_TO_8_U/CNV_16_S_TO_8_S")); 672 673 break; 673 674 … … 676 677 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,1); //factor 0.5 677 678 pConfigInfo->pfnConvert = Convert16To8SignChange; 678 dprintf(("C ONVERT_16_UNSIGNED_TO_8_SIGNED/CONVERT_16_SIGNED_TO_8_UNSIGNED"));679 dprintf(("CNV_16_U_TO_8_S/CNV_16_S_TO_8_U")); 679 680 break; 680 681 … … 683 684 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(1,0); //factor 2 684 685 pConfigInfo->pfnConvert = Convert16MonoTo16Stereo; 685 dprintf(("C ONVERT_16_UNSIGNED_TO_16_UNSIGNED_MONO_STEREO/CONVERT_16_SIGNED_TO_16_SIGNED_MONO_STEREO"));686 dprintf(("CNV_16_U_TO_16_U_MN_ST/CNV_16_S_TO_16_S_MN_ST")); 686 687 break; 687 688 … … 690 691 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(1,0); //factor 2 691 692 pConfigInfo->pfnConvert = Convert16MonoTo16StereoSignChange; 692 dprintf(("C ONVERT_16_UNSIGNED_TO_16_SIGNED_MONO_STEREO/CONVERT_16_SIGNED_TO_16_UNSIGNED_MONO_STEREO"));693 dprintf(("CNV_16_U_TO_16_S_MN_ST/CNV_16_S_TO_16_U_MN_ST")); 693 694 break; 694 695 … … 697 698 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,0); //factor 1 698 699 pConfigInfo->pfnConvert = Convert16MonoTo8Stereo; 699 dprintf(("C ONVERT_16_UNSIGNED_TO_8_UNSIGNED_MONO_STEREO/CONVERT_16_SIGNED_TO_8_UNSIGNED_MONO_STEREO"));700 dprintf(("CNV_16_U_TO_8_U_MONO_ST/CNV_16_S_TO_8_U_MN_ST")); 700 701 break; 701 702 … … 704 705 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,0); //factor 1 705 706 pConfigInfo->pfnConvert = Convert16MonoTo8StereoSignChange; 706 dprintf(("C ONVERT_16_UNSIGNED_TO_8_SIGNED_MONO_STEREO/CONVERT_16_SIGNED_TO_8_SIGNED_MONO_STEREO"));707 dprintf(("CNV_16_U_TO_8_S_MN_ST/CNV_16_S_TO_8_S_MN_ST")); 707 708 break; 708 709 … … 710 711 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,1); //factor 0.5 711 712 pConfigInfo->pfnConvert = Convert16UnsignedTo16SignedStereoMono; 712 dprintf(("C ONVERT_16_UNSIGNED_TO_16_SIGNED_STEREO_MONO"));713 dprintf(("CNV_16_U_TO_16_S_ST_MN")); 713 714 break; 714 715 … … 716 717 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,1); //factor 0.5 717 718 pConfigInfo->pfnConvert = Convert16UnsignedTo16UnsignedStereoMono; 718 dprintf(("C ONVERT_16_UNSIGNED_TO_16_UNSIGNED_STEREO_MONO"));719 dprintf(("CNV_16_U_TO_16_U_ST_MN")); 719 720 break; 720 721 … … 722 723 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,1); //factor 0.5 723 724 pConfigInfo->pfnConvert = Convert16SignedTo16SignedStereoMono; 724 dprintf(("C ONVERT_16_SIGNED_TO_16_SIGNED_STEREO_MONO"));725 dprintf(("CNV_16_S_TO_16_S_ST_MN")); 725 726 break; 726 727 … … 728 729 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,1); //factor 0.5 729 730 pConfigInfo->pfnConvert = Convert16SignedTo16UnsignedStereoMono; 730 dprintf(("C ONVERT_16_SIGNED_TO_16_UNSIGNED_STEREO_MONO"));731 dprintf(("CNV_16_S_TO_16_U_ST_MN")); 731 732 break; 732 733 … … 734 735 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,2); //factor 0.25 735 736 pConfigInfo->pfnConvert = Convert16UnsignedTo8UnsignedStereoMono; 736 dprintf(("C ONVERT_16_UNSIGNED_TO_8_UNSIGNED_STEREO_MONO"));737 dprintf(("CNV_16_U_TO_8_U_ST_MN")); 737 738 break; 738 739 … … 740 741 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,2); //factor 0.25 741 742 pConfigInfo->pfnConvert = Convert16UnsignedTo8SignedStereoMono; 742 dprintf(("C ONVERT_16_UNSIGNED_TO_8_SIGNED_STEREO_MONO"));743 dprintf(("CNV_16_U_TO_8_S_ST_MN")); 743 744 break; 744 745 … … 746 747 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,2); //factor 0.25 747 748 pConfigInfo->pfnConvert = Convert16SignedTo8SignedStereoMono; 748 dprintf(("C ONVERT_16_SIGNED_TO_8_SIGNED_STEREO_MONO"));749 dprintf(("CNV_16_S_TO_8_S_ST_MN")); 749 750 break; 750 751 … … 752 753 pConfigInfo->ulConversionFactor = CONVERSION_FACTOR(0,2); //factor 0.25 753 754 pConfigInfo->pfnConvert = Convert16SignedTo8UnsignedStereoMono; 754 dprintf(("C ONVERT_16_SIGNED_TO_8_UNSIGNED_STEREO_MONO"));755 dprintf(("CNV_16_S_TO_8_U_ST_MN")); 755 756 break; 756 757 … … 762 763 } 763 764 764 dprintf(("C onversionfactor %lx", pConfigInfo->ulConversionFactor));765 dprintf(("Cnv factor %lx", pConfigInfo->ulConversionFactor)); 765 766 766 767 //Some hardware can't do full duplex with different sample rates (e.g. ALS4000) … … 774 775 pConfigInfo->ulFixedSampleRate = pWaveStream->GetProperty(PROPERTY_FREQUENCY); 775 776 pConfigInfo->fSampleRateConversion = TRUE; 776 dprintf(("Force sample rate c onversionfor legacy hardware -> %d", pConfigInfo->ulFixedSampleRate));777 dprintf(("Force sample rate cnv for legacy hardware -> %d", pConfigInfo->ulFixedSampleRate)); 777 778 } 778 779 } … … 805 806 else pConfigInfo->ulSRateIncrement = SRATE_CALC_INCREMENT_INVERT(pConfigInfo->ulFixedSampleRate, pConfigInfo->ulSampleRate); 806 807 807 dprintf(("Sample rate c onversion: increment %ld", pConfigInfo->ulSRateIncrement));808 dprintf(("Sample rate cnv: increment %ld", pConfigInfo->ulSRateIncrement)); 808 809 } 809 810 else { … … 825 826 return TRUE; 826 827 } 827 if(pConfigInfo->fSampleRateConversion) { 828 if(pConfigInfo->fSampleRateConversion) 829 { 828 830 pConfigInfo->ulHwSampleRate = pConfigInfo->ulFixedSampleRate; 829 831 #ifdef DEBUG 830 // dprintf(("WAVEAUDIO::QuerySampleFormat: SampleRate1 %d", pConfigInfo->ulHwSampleRate));832 dprintf(("WA::QuerySampleFormat: SampleRate1 %d", pConfigInfo->ulHwSampleRate)); 831 833 #endif 832 834 } … … 835 837 pConfigInfo->ulHwSampleRate = pConfigInfo->ulSampleRate; 836 838 #ifdef DEBUG 837 // dprintf(("WAVEAUDIO::QuerySampleFormat: SampleRate2 %d", pConfigInfo->ulHwSampleRate));839 dprintf(("WA::QuerySampleFormat: SampleRate2 %d", pConfigInfo->ulHwSampleRate)); 838 840 #endif 839 841 } … … 1055 1057 pCaps->ulOperation != OPERATION_RECORD ) 1056 1058 { 1057 dprintf(("DevCaps1 unsupportedplay/record"));1059 dprintf(("DevCaps1 not play/record")); 1058 1060 pCaps->ulSupport = UNSUPPORTED_OPERATION; 1059 1061 return; … … 1071 1073 if(pCaps->ulChannels > pWaveCaps->ulMaxChannels) 1072 1074 { 1073 dprintf(("DevCaps1 unsupportedchannel"));1075 dprintf(("DevCaps1 not channel")); 1074 1076 pCaps->ulSupport = UNSUPPORTED_CHANNELS; 1075 1077 return; … … 1078 1080 if (pCaps->ulSamplingRate == 0) 1079 1081 { 1080 dprintf(("DevCaps1 unsupportedrate"));1082 dprintf(("DevCaps1 not rate")); 1081 1083 pCaps->ulSupport = UNSUPPORTED_RATE; 1082 1084 return; … … 1134 1136 if(!(pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_24BPS)) 1135 1137 { 1136 dprintf(("DevCaps1 unsupported24BPS"));1138 dprintf(("DevCaps1 not 24BPS")); 1137 1139 pCaps->ulSupport = UNSUPPORTED_BPS; 1138 1140 return; … … 1143 1145 { 1144 1146 pCaps->ulSupport = UNSUPPORTED_BPS; 1145 dprintf(("DevCaps1 unsupported32BPS"));1147 dprintf(("DevCaps1 not 32BPS")); 1146 1148 return; 1147 1149 } 1148 1150 break; 1149 1151 default: 1150 dprintf(("DevCaps1 unsupportedBPS %d",(USHORT)pCaps->ulBitsPerSample));1152 dprintf(("DevCaps1 not BPS %d",(USHORT)pCaps->ulBitsPerSample)); 1151 1153 pCaps->ulSupport = UNSUPPORTED_BPS; 1152 1154 return; … … 1164 1166 if(!(pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_ALAW)) 1165 1167 { 1166 dprintf(("DevCaps1 unsupportedALAW"));1168 dprintf(("DevCaps1 not ALAW")); 1167 1169 pCaps->ulSupport = UNSUPPORTED_DATATYPE; 1168 1170 return; … … 1171 1173 if (pCaps->ulBitsPerSample != 8) 1172 1174 { 1173 dprintf(("DevCaps1 unsupportedALAW BPS8"));1175 dprintf(("DevCaps1 not ALAW BPS8")); 1174 1176 pCaps->ulSupport = UNSUPPORTED_BPS; 1175 1177 return; … … 1184 1186 if(!(pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_MULAW)) 1185 1187 { 1186 dprintf(("DevCaps1 unsupportedMULAW"));1188 dprintf(("DevCaps1 not MULAW")); 1187 1189 pCaps->ulSupport = UNSUPPORTED_DATATYPE; 1188 1190 return; … … 1191 1193 if (pCaps->ulBitsPerSample != 8) 1192 1194 { 1193 dprintf(("DevCaps1 unsupportedMULAW BPS8"));1195 dprintf(("DevCaps1 not MULAW BPS8")); 1194 1196 pCaps->ulSupport = UNSUPPORTED_BPS; 1195 1197 return; … … 1203 1205 if(!(pWaveCaps->ulDataFormats & OSS32_CAPS_PCM_FORMAT_ADPCM)) 1204 1206 { 1205 dprintf(("DevCaps1 unsupportedADPCM"));1207 dprintf(("DevCaps1 not ADPCM")); 1206 1208 pCaps->ulSupport = UNSUPPORTED_DATATYPE; 1207 1209 return; … … 1210 1212 if (pCaps->ulBitsPerSample != 4) 1211 1213 { 1212 dprintf(("DevCaps1 unsupportedADPCM BPS4"));1214 dprintf(("DevCaps1 not ADPCM BPS4")); 1213 1215 pCaps->ulSupport = UNSUPPORTED_BPS; 1214 1216 return; … … 1219 1221 1220 1222 default: 1221 dprintf(("DevCaps1 unsupporteddattype"));1223 dprintf(("DevCaps1 not dattype")); 1222 1224 pCaps->ulSupport = UNSUPPORTED_DATATYPE; 1223 1225 return; … … 1274 1276 //return success 1275 1277 pCaps->ulSupport = SUPPORT_SUCCESS; 1276 #if 0//def DEBUG1277 1278 dprintf(("WAVEAUDIO::DevCaps %ld %ld %ld ", pCaps->ulBitsPerSample, pCaps->ulSamplingRate, pCaps->ulChannels)); 1278 dprintf(("Op eration%ld ResourceClass %ld ResourceUnits %ld", pCaps->ulOperation, pCaps->ulResourceClass, pCaps->ulResourceUnits));1279 dprintf(("Op %ld ResourceClass %ld ResourceUnits %ld", pCaps->ulOperation, pCaps->ulResourceClass, pCaps->ulResourceUnits)); 1279 1280 dprintf(("Data type %ld, data subtype %ld", pCaps->ulDataType, pCaps->ulDataSubType)); 1281 #ifdef DEBUG 1280 1282 dprintf(("Flags:")); 1281 1283 … … 1492 1494 newlen = CONVERT_LENGTH(length, pConfigInfo->ulConversionFactor); 1493 1495 1496 //PS+++ 1497 #ifdef WhatIsIt 1494 1498 if(newlen >= 4UL*1024UL*1024UL) { 1495 1499 //oh, oh … … 1497 1501 return newlen; 1498 1502 } 1503 #endif 1499 1504 if(newlen && pConfigInfo->fSampleRateConversion) { 1500 1505 newlen = SRATE_CONVERT_LENGTH(newlen, pConfigInfo->ulSRatePosition,
Note:
See TracChangeset
for help on using the changeset viewer.