Changeset 519 for GPL/branches/uniaud32-2.1.x/lib32/sound.c
- Timestamp:
- Jul 20, 2010, 5:52:49 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GPL/branches/uniaud32-2.1.x/lib32/sound.c
r516 r519 281 281 } 282 282 } else { 283 printk("HDA audio detected - don't support 5512 - 32000 Hz audio sample rates\n");283 dprintf(("HDA audio detected - don't support 5512 - 32000 Hz audio sample rates\n")); 284 284 } 285 285 if(fuRates & SNDRV_PCM_RATE_44100) { … … 331 331 int max_ch; 332 332 333 #ifdef DEBUG334 333 dprintf(("OSS32_QueryDevCaps")); 335 #endif336 334 // max_ch = GetMaxChannels(deviceid, OSS32_CAPS_WAVE_PLAYBACK); 337 335 … … 340 338 if(pcminfo == NULL) { 341 339 DebugInt3(); 342 printk("OSS32_QueryDevCaps: out of memory\n");340 rprintf(("OSS32_QueryDevCaps: out of memory\n")); 343 341 return OSSERR_OUT_OF_MEMORY; 344 342 } 345 343 params = (struct snd_pcm_hw_params *)(pcminfo+1); 346 344 347 printk("Number of cards: %i",nrCardsDetected); 348 printk("dev id: %i",deviceid); 345 dprintf(("Number of cards=%i dev id=%i", nrCardsDetected, deviceid)); 349 346 pDevCaps->nrDevices = 1;//nrCardsDetected; 350 347 // pDevCaps->nrDevices = nrCardsDetected; … … 359 356 if(ret != OSSERR_SUCCESS) 360 357 { 361 printk("OSS32_QueryDevCaps: wave open error %i\n", ret);358 rprintf(("OSS32_QueryDevCaps: wave open error %i\n", ret)); 362 359 DebugInt3(); 363 360 goto fail; … … 365 362 pHandle = (soundhandle *)streamid; 366 363 if(pHandle == NULL || pHandle->magic != MAGIC_WAVE_ALSA32) { 367 printk("OSS32_QueryDevCaps: invalid stream id \n");364 rprintf(("OSS32_QueryDevCaps: invalid stream id \n")); 368 365 ret = OSSERR_INVALID_STREAMID; 369 366 goto fail; … … 374 371 ret = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_INFO, (ULONG)pcminfo); 375 372 if(ret != 0) { 376 printk("OSS32_QueryDevCaps: SNDRV_PCM_IOCTL_INFO error %i\n", ret);373 rprintf(("OSS32_QueryDevCaps: SNDRV_PCM_IOCTL_INFO error %i\n", ret)); 377 374 ret = UNIXToOSSError(ret); 378 375 goto fail; … … 384 381 else strncpy(pDevCaps->szDeviceName, pcminfo->id, sizeof(pDevCaps->szDeviceName)); 385 382 } 386 printk("Device name: %s", pDevCaps->szDeviceName);383 dprintf(("Device name: %s", pDevCaps->szDeviceName)); 387 384 pWaveCaps->nrStreams = pcminfo->subdevices_count; 388 385 … … 391 388 ret = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_HW_REFINE, (ULONG)params); 392 389 if(ret != 0) { 393 printk("OSS32_QueryDevCaps: SNDRV_PCM_IOCTL_HW_REFINE error %i\n", ret);390 rprintf(("OSS32_QueryDevCaps: SNDRV_PCM_IOCTL_HW_REFINE error %i\n", ret)); 394 391 ret = UNIXToOSSError(ret); 395 392 goto fail; … … 468 465 if(OSS32_MixQueryName(deviceid, &pDevCaps->szMixerName, sizeof(pDevCaps->szMixerName)) != OSSERR_SUCCESS) { 469 466 DebugInt3(); 470 printk("OSS32_QueryDevCaps: OSS32_MixQueryName error\n");467 rprintf(("OSS32_QueryDevCaps: OSS32_MixQueryName error\n")); 471 468 goto fail; 472 469 } 473 printk("OSS32_QueryDevCaps: devname: [%s]\n", pDevCaps->szDeviceName);470 dprintf(("OSS32_QueryDevCaps: devname: [%s]\n", pDevCaps->szDeviceName)); 474 471 kfree(pcminfo); 475 472 streamid = 0; … … 479 476 480 477 fail: 481 printk("OSS32_QueryDevCaps failed\n");478 rprintf(("OSS32_QueryDevCaps failed\n")); 482 479 DebugInt3(); 483 480 if(streamid) OSS32_WaveClose(streamid); … … 497 494 else 498 495 { 499 printk("ERROR: invalid stream id pointer passed\n");496 rprintf(("ERROR: invalid stream id pointer\n")); 500 497 return OSSERR_OUT_OF_MEMORY; 501 498 } … … 503 500 if(alsa_fops == NULL) { 504 501 DebugInt3(); 505 #ifdef DEBUG 506 dprintf(("OSS32_WaveOpen: no devices")); 507 #endif 508 printk("OSS32_WaveOpen: no devices\n"); 502 rprintf(("OSS32_WaveOpen: no devices")); 509 503 510 504 return OSSERR_NO_DEVICE_AVAILABLE; 511 505 } 512 506 513 // printk("dev id: %i\n",deviceid);507 //dprintf(("dev id: %i\n",deviceid)); 514 508 515 509 pHandle = kmalloc(sizeof(soundhandle), GFP_KERNEL); 516 510 if(pHandle == NULL) { 517 511 DebugInt3(); 518 printk("OSS32_WaveOpen: out of memory\n");512 rprintf(("OSS32_WaveOpen: out of memory\n")); 519 513 return OSSERR_OUT_OF_MEMORY; 520 514 } … … 540 534 DebugInt3(); 541 535 kfree(pHandle); 542 printk("OSS32_WaveOpen: invalid parameter\n");536 rprintf(("OSS32_WaveOpen: invalid parameter\n")); 543 537 return OSSERR_INVALID_PARAMETER; 544 538 } 545 539 546 540 ret = alsa_fops->open(&pHandle->inode, &pHandle->file); 547 printk("OSS32_WaveOpen. ret: %i\n", ret);541 //dprintf(("OSS32_WaveOpen. ret: %i\n", ret)); 548 542 /* check if PCM already opened (stupid uniaud16.sys doesnt closes it) */ 549 543 if (ret == -16) … … 564 558 kfree(opened_handles[i].handle); //free handle data 565 559 ret = alsa_fops->open(&pHandle->inode, &pHandle->file); 566 printk("OSS32_WaveOpen. Reopen ret: %i\n", ret);560 dprintf(("OSS32_WaveOpen. Reopen ret: %i\n", ret)); 567 561 } 568 562 else … … 592 586 kfree(pHandle); 593 587 DebugInt3(); 594 printk("OSS32_WaveOpen: open error: %i\n",ret);588 rprintf(("OSS32_WaveOpen: open error: %i\n",ret)); 595 589 return UNIXToOSSError(ret); 596 590 } … … 599 593 *pStreamId = (ULONG)pHandle; 600 594 // filling opened handles table 601 printk("OSS32_WaveOpen. streamid %X\n",(ULONG)pHandle);595 dprintf(("OSS32_WaveOpen. streamid %X\n",(ULONG)pHandle)); 602 596 return OSSERR_SUCCESS; 603 597 } … … 612 606 if(pHandle == NULL || pHandle->magic != MAGIC_WAVE_ALSA32) { 613 607 DebugInt3(); 614 printk("OSS32_WaveClose. invalid streamid %X\n",(ULONG)pHandle);608 rprintf(("OSS32_WaveClose. invalid streamid %X\n",(ULONG)pHandle)); 615 609 return OSSERR_INVALID_STREAMID; 616 610 } … … 623 617 if (opened_handles[i].handle == pHandle) 624 618 { 625 printk("Found phandle for closing: %x reuse flag: %i\n", pHandle, opened_handles[i].reuse);619 dprintf(("Found phandle for closing: %x reuse flag: %i\n", pHandle, opened_handles[i].reuse)); 626 620 if (!opened_handles[i].reuse) 627 621 { … … 643 637 { 644 638 //all already closed 645 printk("phandle %x not found\n", pHandle);639 dprintf(("phandle %x not found\n", pHandle)); 646 640 // return OSSERR_SUCCESS; 647 641 } … … 649 643 650 644 if(ret) { 651 printk("Error closing wave. rc = %i\n", ret);645 dprintf(("Error closing wave. rc = %i\n", ret)); 652 646 DebugInt3(); 653 647 return UNIXToOSSError(ret); 654 648 } 655 printk("OSS32_WaveClose. streamid %X\n",(ULONG)pHandle);649 dprintf(("OSS32_WaveClose. streamid %X\n", (ULONG)pHandle)); 656 650 return OSSERR_SUCCESS; 657 651 } … … 663 657 int ret; 664 658 665 #ifdef DEBUG666 659 dprintf(("OSS32_WavePrepare")); 667 #endif668 660 669 661 if(pHandle == NULL || pHandle->magic != MAGIC_WAVE_ALSA32) { 670 662 DebugInt3(); 671 //#ifdef DEBUG 672 printk("vladest: OSS32_WavePrepare: invalid streamID\n"); 673 //#endif 663 rprintf(("vladest: OSS32_WavePrepare: invalid streamID\n")); 674 664 675 665 return OSSERR_INVALID_STREAMID; … … 680 670 ret = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_PREPARE, 0); 681 671 if (ret) 682 printk("Wave prepare ret = %i, streamid %X\n",ret,(ULONG)pHandle);672 rprintf(("Wave prepare ret = %i, streamid %X\n",ret,(ULONG)pHandle)); 683 673 684 674 return UNIXToOSSError(ret);; … … 699 689 ret = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_START, 0); 700 690 if (ret) 701 printk("Wave start ret = %i, streamid %X\n",ret,(ULONG)pHandle);691 rprintf(("Wave start ret = %i, streamid %X\n",ret,(ULONG)pHandle)); 702 692 703 693 return UNIXToOSSError(ret);; … … 719 709 ret = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_DROP, 0); 720 710 if (ret) 721 printk("Wave stop ret = %i. streamid %X\n",ret,(ULONG)pHandle);711 rprintf(("Wave stop ret = %i. streamid %X\n",ret,(ULONG)pHandle)); 722 712 723 713 return UNIXToOSSError(ret);; … … 739 729 ret = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_PAUSE, 0); 740 730 if (ret) 741 printk("Wave pause ret = %i, streamid %X\n",ret,(ULONG)pHandle);731 rprintf(("Wave pause ret = %i, streamid %X\n",ret,(ULONG)pHandle)); 742 732 743 733 return UNIXToOSSError(ret);; … … 759 749 ret = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_PAUSE, 1); 760 750 if (ret) 761 printk("Wave resume ret = %i, streamid %X\n",ret,(ULONG)pHandle);751 rprintf(("Wave resume ret = %i, streamid %X\n",ret,(ULONG)pHandle)); 762 752 763 753 return UNIXToOSSError(ret);; … … 801 791 } 802 792 if ((int)pHwParams->ulNumChannels <= 0) { 803 printk("OSS32_WaveSetHwParams error. Invalid number of channels: %i\n", pHwParams->ulNumChannels);793 rprintf(("OSS32_WaveSetHwParams error. Invalid number of channels: %i\n", pHwParams->ulNumChannels)); 804 794 DebugInt3(); 805 795 return OSSERR_INVALID_PARAMETER; … … 840 830 ret = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_HW_REFINE, (ULONG)__Stack32ToFlat(¶ms)); 841 831 if(ret != 0) { 842 dprintf(("invalid format %lx\n", OSSToALSADataType[pHwParams->ulDataType]));832 rprintf(("invalid format %lx\n", OSSToALSADataType[pHwParams->ulDataType])); 843 833 return UNIXToOSSError(ret); 844 834 } … … 847 837 ret = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_HW_REFINE, (ULONG)__Stack32ToFlat(¶ms)); 848 838 if(ret != 0) { 849 dprintf(("invalid number of sample bits %d\n", pHwParams->ulBitsPerSample));839 rprintf(("invalid number of sample bits %d\n", pHwParams->ulBitsPerSample)); 850 840 return UNIXToOSSError(ret); 851 841 } … … 854 844 ret = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_HW_REFINE, (ULONG)__Stack32ToFlat(¶ms)); 855 845 if(ret != 0) { 856 dprintf(("invalid number of frame bits %d\n", pHwParams->ulBitsPerSample*pHwParams->ulNumChannels));846 rprintf(("invalid number of frame bits %d\n", pHwParams->ulBitsPerSample*pHwParams->ulNumChannels)); 857 847 return UNIXToOSSError(ret); 858 848 } … … 871 861 ret = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_HW_REFINE, (ULONG)__Stack32ToFlat(¶ms)); 872 862 if(ret != 0) { 873 dprintf(("32_WSetHwPms (first pass) error %d bps:%d fmt: %d ch: %d sr: %d\n",863 rprintf(("32_WSetHwPms (first pass) error %d bps:%d fmt: %d ch: %d sr: %d\n", 874 864 ret, 875 865 pHwParams->ulBitsPerSample, … … 947 937 } 948 938 else { 949 dprintf(("32_WSHwPrms error. Invalid periodsize (=0). closing file\n"));939 rprintf(("32_WSHwPrms error. Invalid periodsize (=0). closing file\n")); 950 940 DebugInt3(); 951 941 return OSSERR_INVALID_PARAMETER; … … 964 954 //so we make sure it's an even number. 965 955 if(nrperiods == 1) { 966 dprintf(("32_WSHwPrms error. Invalid Num periods(=1). closing file\n"));956 rprintf(("32_WSHwPrms error. Invalid Num periods(=1). closing file\n")); 967 957 DebugInt3(); 968 958 return OSSERR_INVALID_PARAMETER; … … 1006 996 ret = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_PREPARE, 0); 1007 997 fTryAgain = TRUE; 1008 dprintf((" Error -77 from first IOCTL HW Parms"));998 rprintf((" Error -77 from first IOCTL HW Parms")); 1009 999 goto tryagain; 1010 1000 } … … 1024 1014 } 1025 1015 } 1026 dprintf(("Error %ld second time.. Bailing", ret));1016 rprintf(("Error %ld second time.. Bailing", ret)); 1027 1017 return UNIXToOSSError(ret); 1028 1018 } … … 1056 1046 (status.state != SNDRV_PCM_STATE_RUNNING) && 1057 1047 (status.state != SNDRV_PCM_STATE_DRAINING))) { 1058 dprintf(("Device is not in proper state: %lx. Calling prepare\n", status.state));1048 rprintf(("Device is not in proper state: %lx. Calling prepare\n", status.state)); 1059 1049 ret = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_PREPARE, 0); 1060 1050 } … … 1149 1139 while (ulSize && ulJ && iRet) 1150 1140 { 1151 for ( i=0; i < 1000; i++)1141 for (ulI=0; ulI < 1000; ulI++) 1152 1142 { 1153 1143 iRet1 = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_STATUS, (ULONG)__Stack32ToFlat(&status)); … … 1157 1147 rprintf(("Internal Error: Xrun\n")); 1158 1148 } 1159 if ( i> 998) {1149 if (ulI > 998) { 1160 1150 // printk("timeout stat %x avail:%d hw:%d app:%d\n",status.state,samples_to_bytes(status.avail),samples_to_bytes(status.hw_ptr), samples_to_bytes(status.appl_ptr)); 1161 1151 iRet1 = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_PREPARE, 0);
Note:
See TracChangeset
for help on using the changeset viewer.