Changeset 76853 in vbox for trunk/src/VBox/Devices
- Timestamp:
- Jan 17, 2019 11:42:06 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 128213
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/DevIchAc97.cpp
r76852 r76853 1183 1183 /* pcbRead is optional. */ 1184 1184 1185 int rc = VINF_SUCCESS;1186 1187 uint32_t cbReadTotal = 0;1188 1189 1185 PRTCIRCBUF pCircBuf = pSrcStream->State.pCircBuf; 1190 1186 AssertPtr(pCircBuf); … … 1193 1189 size_t cbSrc; 1194 1190 1195 while (cbToRead) 1191 int rc = VINF_SUCCESS; 1192 1193 uint32_t cbReadTotal = 0; 1194 uint32_t cbLeft = RT_MIN(cbToRead, (uint32_t)RTCircBufUsed(pCircBuf)); 1195 1196 while (cbLeft) 1196 1197 { 1197 1198 uint32_t cbWritten = 0; 1198 1199 1199 RTCircBufAcquireReadBlock(pCircBuf, cb ToRead, &pvSrc, &cbSrc);1200 RTCircBufAcquireReadBlock(pCircBuf, cbLeft, &pvSrc, &cbSrc); 1200 1201 1201 1202 if (cbSrc) … … 1205 1206 1206 1207 rc = AudioMixerSinkWrite(pDstMixSink, AUDMIXOP_COPY, pvSrc, (uint32_t)cbSrc, &cbWritten); 1207 if (RT_SUCCESS(rc)) 1208 { 1209 Assert(cbWritten <= cbSrc); 1210 1211 cbReadTotal += cbWritten; 1212 1213 Assert(cbToRead >= cbWritten); 1214 cbToRead -= cbWritten; 1215 } 1208 AssertRC(rc); 1209 1210 Assert(cbSrc >= cbWritten); 1211 Log3Func(("[SD%RU8] %RU32/%zu bytes read\n", pSrcStream->u8SD, cbWritten, cbSrc)); 1216 1212 } 1217 1213 1218 1214 RTCircBufReleaseReadBlock(pCircBuf, cbWritten); 1219 1220 if ( !cbWritten1221 || !RTCircBufUsed(pCircBuf))1222 break;1223 1215 1224 1216 if (RT_FAILURE(rc)) 1225 1217 break; 1218 1219 Assert(cbLeft >= cbWritten); 1220 cbLeft -= cbWritten; 1221 1222 cbReadTotal += cbWritten; 1226 1223 } 1227 1224
Note:
See TracChangeset
for help on using the changeset viewer.