Changeset 516 for GPL/branches/uniaud32-2.1.x/lib32/sound.c
- Timestamp:
- Jul 14, 2010, 10:34:40 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GPL/branches/uniaud32-2.1.x/lib32/sound.c
r515 r516 1124 1124 } 1125 1125 1126 iRet = pHandle->file.f_op->write(&pHandle->file, (char *)ulBuffer, ul ReqSize, &pHandle->file.f_pos);1126 iRet = pHandle->file.f_op->write(&pHandle->file, (char *)ulBuffer, ulSize, &pHandle->file.f_pos); 1127 1127 1128 1128 if (iRet < 0 ) break; … … 1132 1132 //this is done to make sure we don't block inside ALSA while trying to write 1133 1133 //more data than fits in the internal dma buffer. 1134 ulSize = ulReqSize; 1135 ulReqSize = min(ulReqSize, samples_to_bytes(status.avail)); 1134 ulSize = min(ulReqSize, samples_to_bytes(status.avail)); 1136 1135 1137 1136 //printk("OSS32_WaveAddBuffer N:%d hw=%x app=%x avail=%x req size=%x size=%x\n", 1138 1137 // CountWv, samples_to_bytes(status.hw_ptr), samples_to_bytes(status.appl_ptr), samples_to_bytes(status.avail), ulSize, ulReqSize); 1139 1138 1140 if (ul ReqSize == 0) {1139 if (ulSize == 0) { 1141 1140 rprintf(("OSS32_WaveAddBuffer: no room left in hardware buffer!!\n")); 1142 rprintf(("state=%x avail=%x SizeReq=%x\n", status.state, status.avail, ul Size));1141 rprintf(("state=%x avail=%x SizeReq=%x\n", status.state, status.avail, ulReqSize)); 1143 1142 *pulTransferred = 0; 1144 1143 return OSSERR_BUFFER_FULL; … … 1148 1147 ulJ = 10; // 10 try if error 1149 1148 iRet = -11; 1150 while (ul ReqSize && ulJ && iRet)1149 while (ulSize && ulJ && iRet) 1151 1150 { 1152 1151 for (i=0; i < 1000; i++) … … 1169 1168 } 1170 1169 1171 iRet = pHandle->file.f_op->write(&pHandle->file, (char *)ulBuffer, ul ReqSize, &pHandle->file.f_pos);1170 iRet = pHandle->file.f_op->write(&pHandle->file, (char *)ulBuffer, ulSize, &pHandle->file.f_pos); 1172 1171 1173 1172 if (iRet < 0 ) { // We have any error, don't try more … … 1182 1181 // printk("written: now: %d, trans: %d need %d tot:%d\n", iRet, ulTransferred, ulReqSize,ulSize); 1183 1182 ulBuffer += iRet; 1184 if (ulReqSize > iRet) 1185 ulReqSize -= iRet; 1186 else 1187 ulReqSize = 0; 1183 if (ulSize > iRet) ulSize -= iRet; 1184 else ulSize = 0; 1188 1185 } 1189 1186 #endif
Note:
See TracChangeset
for help on using the changeset viewer.