Changeset 89417 in vbox for trunk/src/VBox/ValidationKit
- Timestamp:
- May 31, 2021 8:58:14 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 144770
- Location:
- trunk/src/VBox/ValidationKit/utils/audio
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/utils/audio/vkat.cpp
r89413 r89417 1604 1604 if (RT_SUCCESS(rc)) 1605 1605 { 1606 uint64_t const nsStarted = RTTimeNanoTS(); 1606 uint32_t const cbPreBuffer = PDMAudioPropsFramesToBytes(&pStream->Props, CfgAcq.Backend.cFramesPreBuffering); 1607 uint64_t const nsStarted = RTTimeNanoTS(); 1607 1608 1608 1609 /* … … 1611 1612 uint8_t abSamples[16384]; 1612 1613 uint32_t const cbSamplesAligned = PDMAudioPropsFloorBytesToFrame(&pStream->Props, sizeof(abSamples)); 1614 uint64_t offStream = 0; 1613 1615 for (;;) 1614 1616 { … … 1618 1620 if (RT_SUCCESS(rc) && cbSamples > 0) 1619 1621 { 1622 /* Pace ourselves a little. */ 1623 if (offStream >= cbPreBuffer) 1624 { 1625 uint64_t const cNsWritten = PDMAudioPropsBytesToNano64(&pStream->Props, offStream); 1626 uint64_t const cNsElapsed = RTTimeNanoTS() - nsStarted; 1627 if (cNsWritten + RT_NS_10MS > cNsElapsed) 1628 RTThreadSleep((cNsWritten - cNsElapsed - RT_NS_10MS / 2) / RT_NS_1MS); 1629 } 1630 1620 1631 /* Transfer the data to the audio stream. */ 1621 1632 for (uint32_t offSamples = 0; offSamples < cbSamples;) … … 1631 1642 { 1632 1643 if (cbPlayed) 1644 { 1633 1645 offSamples += cbPlayed; 1646 offStream += cbPlayed; 1647 } 1634 1648 else 1635 1649 { -
trunk/src/VBox/ValidationKit/utils/audio/vkatDriverStack.cpp
r89401 r89417 29 29 * Header Files * 30 30 *********************************************************************************************************************************/ 31 #include <iprt/buildconfig.h>32 #include <iprt/ctype.h>33 #include <iprt/dir.h>34 31 #include <iprt/errcore.h> 35 #include <iprt/initterm.h>36 #include <iprt/getopt.h>37 32 #include <iprt/message.h> 38 #include <iprt/path.h>39 #include <iprt/process.h>40 #include <iprt/rand.h>41 33 #include <iprt/stream.h> 42 34 #include <iprt/string.h> … … 44 36 #include <iprt/test.h> 45 37 46 #include <package-generated.h>47 #include "product-generated.h"48 49 #include <VBox/version.h>50 #include <VBox/log.h>51 52 #ifdef RT_OS_WINDOWS53 # include <iprt/win/windows.h> /* for CoInitializeEx */54 #endif55 38 56 39 /**
Note:
See TracChangeset
for help on using the changeset viewer.