Changeset 73213 in vbox
- Timestamp:
- Jul 18, 2018 3:27:05 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/HDAStream.cpp
r73212 r73213 888 888 { 889 889 if (pStream->State.Cfg.enmDir == PDMAUDIODIR_IN) 890 LogRelMax2(64, ("HDA: Warning: FIFOunderflow for stream #%RU8 (still %RU32 bytes needed)\n",890 LogRelMax2(64, ("HDA: Warning: DMA buffer underflow for stream #%RU8 (still %RU32 bytes needed)\n", 891 891 pStream->u8SD, cbToProcess - cbToProcessMax)); 892 892 else 893 LogRelMax2(64, ("HDA: Warning: FIFOoverflow for stream #%RU8 (%RU32 bytes outstanding)\n",893 LogRelMax2(64, ("HDA: Warning: DMA buffer overflow for stream #%RU8 (%RU32 bytes outstanding)\n", 894 894 pStream->u8SD, cbToProcess - cbToProcessMax)); 895 895 … … 977 977 if (RT_SUCCESS(rc)) 978 978 { 979 const uint32_t cbDMAFree = (uint32_t)RTCircBufFree(pCircBuf); 980 981 if (cbDMAFree < cbDMA) 982 LogRelMax2(64, ("HDA: Warning: DMA buffer overflow of stream #%RU8 (discarding %RU32 bytes)\n", 983 pStream->u8SD, cbDMA - cbDMAFree)); 984 979 985 #ifndef VBOX_WITH_HDA_AUDIO_INTERLEAVING_STREAMS_SUPPORT 980 986 /* … … 988 994 { 989 995 uint32_t cbDMARead = 0; 990 uint32_t cbDMALeft = RT_MIN(cbDMA, (uint32_t)RTCircBufFree(pCircBuf));996 uint32_t cbDMALeft = RT_MIN(cbDMA, cbDMAFree); 991 997 992 998 while (cbDMALeft) … … 1021 1027 /** @todo Optimize this stuff -- copying only one frame a time is expensive. */ 1022 1028 uint32_t cbDMARead = pStream->State.cbDMALeft ? pStream->State.cbFrameSize - pStream->State.cbDMALeft : 0; 1023 uint32_t cbDMALeft = RT_MIN(cbDMA, (uint32_t)RTCircBufFree(pCircBuf));1029 uint32_t cbDMALeft = RT_MIN(cbDMA, cbDMAFree); 1024 1030 1025 1031 while (cbDMALeft >= pStream->State.cbFrameSize) … … 1043 1049 Assert(pStream->State.cbDMALeft < pStream->State.cbFrameSize); 1044 1050 } 1045 1046 const size_t cbFree = RTCircBufFree(pCircBuf);1047 if (!cbFree)1048 LogRel2(("HDA: FIFO of stream #%RU8 full, discarding audio data\n", pStream->u8SD));1049 1051 #else 1050 1052 /** @todo This needs making use of HDAStreamMap + HDAStreamChannel. */ … … 1064 1066 { 1065 1067 /* We always increment the position of DMA buffer counter because we're always reading 1066 * into an intermediate buffer. */1068 * into an intermediate DMA buffer. */ 1067 1069 pBDLE->State.u32BufOff += (uint32_t)cbDMA; 1068 1070 Assert(pBDLE->State.u32BufOff <= pBDLE->Desc.u32BufSize);
Note:
See TracChangeset
for help on using the changeset viewer.