Changeset 88890 in vbox
- Timestamp:
- May 6, 2021 12:52:30 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/AudioMixer.cpp
r88888 r88890 1822 1822 { 1823 1823 /* Convert a chunk from the mixer buffer. */ 1824 /*#define ELECTRIC_PEEK_BUFFER*/ /* if buffer code is misbehaving, enable this to catch overflows. */ 1825 #ifndef ELECTRIC_PEEK_BUFFER 1824 1826 union 1825 1827 { … … 1827 1829 uint64_t au64[8192 / sizeof(uint64_t)]; /* Use uint64_t to ensure good alignment. */ 1828 1830 } Buf; 1829 uint32_t cbDstPeeked = sizeof(Buf); 1831 void * const pvBuf = &Buf; 1832 uint32_t const cbBuf = sizeof(Buf); 1833 #else 1834 uint32_t const cbBuf = 0x2000 - 16; 1835 void * const pvBuf = RTMemEfAlloc(cbBuf, RTMEM_TAG, RT_SRC_POS); 1836 #endif 1837 uint32_t cbDstPeeked = cbBuf; 1830 1838 uint32_t cSrcFramesPeeked = cFramesToRead - offSrcFrame; 1831 1839 AudioMixBufPeek(&pSink->MixBuf, offSrcFrame, cSrcFramesPeeked, &cSrcFramesPeeked, 1832 &pMixStream->PeekState, &Buf, sizeof(Buf), &cbDstPeeked);1840 &pMixStream->PeekState, pvBuf, cbBuf, &cbDstPeeked); 1833 1841 offSrcFrame += cSrcFramesPeeked; 1834 1842 … … 1837 1845 uint32_t cbDstWritten = 0; 1838 1846 int rc2 = pMixStream->pConn->pfnStreamPlay(pMixStream->pConn, pMixStream->pStream, 1839 &Buf, cbDstPeeked, &cbDstWritten);1847 pvBuf, cbDstPeeked, &cbDstWritten); 1840 1848 Log3Func(("%s: %#x L %#x => %#x bytes; wrote %#x rc2=%Rrc %s\n", pSink->pszName, offSrcFrame, 1841 1849 cSrcFramesPeeked - cSrcFramesPeeked, cbDstPeeked, cbDstWritten, rc2, pMixStream->pszName)); 1850 #ifdef ELECTRIC_PEEK_BUFFER 1851 RTMemEfFree(pvBuf, RT_SRC_POS); 1852 #endif 1842 1853 if (RT_SUCCESS(rc2)) 1843 1854 AssertLogRelMsg(cbDstWritten == cbDstPeeked,
Note:
See TracChangeset
for help on using the changeset viewer.