Changeset 528 for GPL/trunk/lib32/sound.c
- Timestamp:
- Jul 25, 2010, 7:16:22 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GPL/trunk/lib32/sound.c
r518 r528 1116 1116 iRet = pHandle->file.f_op->write(&pHandle->file, (char *)ulBuffer, ulSize, &pHandle->file.f_pos); 1117 1117 1118 if (iRet != ulSize) rprintf(("WaveAddBuffer: ReqSize=%x Size=%x iRet=%x\n", ulReqSize, ulSize, iRet)); 1119 1118 1120 if (iRet < 0 ) break; 1119 1121 ulTransferred = iRet; … … 1134 1136 } 1135 1137 1138 rprintf(("WaveAddBuffer: ReqSize=%x Size=%x\n", ulReqSize, ulSize)); 1139 1136 1140 // size should be aligned to channels number * samplesize //PS+++ what is it and why?!?!?! 1137 1141 ulJ = 10; // 10 try if error 1138 1142 iRet = -11; 1139 while (ulSize && ulJ && iRet) 1140 { 1141 for (ulI=0; ulI < 1000; ulI++) 1142 { 1143 while (ulSize && ulJ && iRet) { 1144 for (ulI=0; ulI < 1000; ulI++) { 1143 1145 iRet1 = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_STATUS, (ULONG)__Stack32ToFlat(&status)); 1144 1146 // If here any state and have free buffer to any byte … … 1148 1150 } 1149 1151 if (ulI > 998) { 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));1152 rprintf(("timeout state=%x avail=%d hw=%d app=%d",status.state,samples_to_bytes(status.avail),samples_to_bytes(status.hw_ptr), samples_to_bytes(status.appl_ptr))); 1151 1153 iRet1 = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_PREPARE, 0); 1152 1154 } … … 1154 1156 1155 1157 if (iRet1 < 0) { 1156 // printk("Status Error iRet1:%i trans: %i need %d tot:%d\n",iRet1,ulTransferred, ulReqSize,ulSize);1158 rprintf(("iRet1=%i trans=%x ReqSize=%x Size=%x\n", iRet1, ulTransferred, ulReqSize, ulSize)); 1157 1159 break; // We have any global error, don't try more 1158 1160 } 1159 1161 1160 1162 iRet = pHandle->file.f_op->write(&pHandle->file, (char *)ulBuffer, ulSize, &pHandle->file.f_pos); 1163 rprintf(("J=%x iRet=%x", ulJ, iRet)); 1161 1164 1162 1165 if (iRet < 0 ) { // We have any error, don't try more 1163 1166 ulJ--; 1164 if ( iRet != -11 ) 1165 iRet1 = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_PREPARE, 0); 1166 // printk("Error ret:%i ret1:%i trans: %d need %d tot:%d\n",iRet,iRet1,ulTransferred, ulReqSize,ulSize); 1167 rprintf(("Error ret=%i ret1=%i trans=%x ReqSize=%x Size=%x", iRet, iRet1, ulTransferred, ulReqSize, ulSize)); 1168 if ( iRet != -11 ) { 1169 rprintf(("Doing prepare")); 1170 iRet1 = pHandle->file.f_op->ioctl(&pHandle->inode, &pHandle->file, SNDRV_PCM_IOCTL_PREPARE, 0); 1171 } 1167 1172 continue; 1168 1173 } 1169 if (iRet == 0) continue; 1174 if (iRet == 0) { 1175 continue; 1176 } 1170 1177 ulTransferred += iRet; 1171 1178 // printk("written: now: %d, trans: %d need %d tot:%d\n", iRet, ulTransferred, ulReqSize,ulSize);
Note:
See TracChangeset
for help on using the changeset viewer.