Changeset 86 for GPL/trunk/lib32/sound.c
- Timestamp:
- Jan 23, 2007, 10:34:32 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GPL/trunk/lib32/sound.c
r85 r86 541 541 if (opened_handles[i].handle != 0) 542 542 { 543 ret = 0; 543 544 if (pStreamId) 544 545 *pStreamId = (ULONG)opened_handles[i].handle; 545 opened_handles[i].reuse = 0; /* prevent from reusing*/546 opened_handles[i].reuse = 1; /* try to reuse */ 546 547 if (OSS32_WaveClose((OSSSTREAMID)opened_handles[i].handle) == 0) 547 548 { 548 OSS32_CloseUNI16(); /* say to UNIAUD16 that we closing now */ 549 opened_handles[i].handle = 0; 550 ret = alsa_fops->open(&pHandle->inode, &pHandle->file); 551 printk("OSS32_WaveOpen. Reopen ret: %i\n", ret); 549 if (!opened_handles[i].reuse) 550 { 551 //opened_handles[i].handle = 0; 552 kfree(opened_handles[i].handle); //free handle data 553 ret = alsa_fops->open(&pHandle->inode, &pHandle->file); 554 printk("OSS32_WaveOpen. Reopen ret: %i\n", ret); 555 } 556 else 557 { 558 kfree(pHandle); 559 pHandle = opened_handles[i].handle; 560 } 552 561 break; 553 562 } 563 } 564 } 565 } 566 else if (ret == 0) 567 { 568 for (i=0; i < 8*256; i++) 569 { 570 if (opened_handles[i].handle == 0) 571 { 572 opened_handles[i].handle = pHandle; 573 opened_handles[i].FileId = fileid; 574 break; 554 575 } 555 576 } … … 566 587 *pStreamId = (ULONG)pHandle; 567 588 // filling opened handles table 568 for (i=0; i < 8*256; i++)569 {570 if (opened_handles[i].handle == 0)571 {572 opened_handles[i].handle = pHandle;573 opened_handles[i].FileId = fileid;574 break;575 }576 }577 589 printk("OSS32_WaveOpen. streamid %X\n",(ULONG)pHandle); 578 590 return OSSERR_SUCCESS; … … 604 616 opened_handles[i].handle = 0; 605 617 kfree(pHandle); //free handle data 618 OSS32_CloseUNI16(); /* say to UNIAUD16 that we closing now */ 606 619 } else 607 620 { 608 621 /* prepare for reuse */ 622 pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_RESET, 0); 609 623 pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_PREPARE, 0); 610 624 } … … 762 776 #endif 763 777 if(pHandle == NULL || pHandle->magic != MAGIC_WAVE_ALSA32) { 764 printk("OSS32_WaveSetHwParams error. Invalid handle \n");778 printk("OSS32_WaveSetHwParams error. Invalid handle: %x\n", pHandle); 765 779 DebugInt3(); 766 780 return OSSERR_INVALID_STREAMID; … … 1089 1103 size = min(size, samples_to_bytes(status.avail)); 1090 1104 if (size1 != size) 1091 printk("requested size [%i] less then available [% s]\n", size1, size);1105 printk("requested size [%i] less then available [%i]\n", size1, size); 1092 1106 #if 0 1093 1107 if (size < per_bytes)
Note:
See TracChangeset
for help on using the changeset viewer.