VirtualBox

Changeset 90182 in vbox


Ignore:
Timestamp:
Jul 14, 2021 2:13:51 PM (4 years ago)
Author:
vboxsync
Message:

Audio/ValKit: Use frame size instead of sample size in audioTestToneFileFind(). bugref:10008

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Audio/AudioTest.cpp

    r90179 r90182  
    398398
    399399    uint64_t offFound       = 0;
    400     int64_t  abSample[_4K];
     400    int64_t  abSample[_16K];
    401401
    402402    size_t   cbRead;
    403     uint32_t cConseqSilence = 0;
    404403    for (;;)
    405404    {
     
    409408            break;
    410409
    411         size_t const cbSample = PDMAudioPropsSampleSize(&pToneParms->Props);
    412 
    413         for (size_t i = 0; i < cbRead / cbSample; i += cbSample) /** @todo Slow as heck, but works for now. */
     410        Assert(PDMAudioPropsIsSizeAligned(&pToneParms->Props, cbRead));
     411
     412        size_t const cbFrame = PDMAudioPropsFrameSize(&pToneParms->Props);
     413
     414        for (size_t i = 0; i < cbRead / cbFrame; i += cbFrame) /** @todo Slow as heck, but works for now. */
    414415        {
    415             bool const fIsSilence = PDMAudioPropsIsBufferSilence(&pToneParms->Props, (const uint8_t *)abSample + i, cbSample);
     416            bool const fIsSilence = PDMAudioPropsIsBufferSilence(&pToneParms->Props, (const uint8_t *)abSample + i, cbFrame);
    416417            if (fIsSilence == fFindSilence)
    417418            {
    418                 offFound += cbSample;
    419                 cConseqSilence++;
     419                offFound += cbFrame;
    420420            }
    421421            else
     
    20872087    FileA.hFile     = ObjA.File.hFile;
    20882088    FileA.offStart  = audioTestToneFileFind(ObjA.File.hFile, true /* fFindSilence */, 0 /* uOff */, &ToneParmsA);
    2089     FileA.cbSize    = RT_MIN(audioTestToneFileFind(ObjA.File.hFile, false /* fFindSilence */, FileA.offStart,  &ToneParmsA) + 1,
     2089    FileA.cbSize    = RT_MIN(audioTestToneFileFind(ObjA.File.hFile, false /* fFindSilence */, FileA.offStart, &ToneParmsA),
    20902090                             cbSizeA);
    20912091
     
    20982098    FileB.hFile     = ObjB.File.hFile;
    20992099    FileB.offStart  = audioTestToneFileFind(ObjB.File.hFile, true /* fFindSilence */, 0 /* uOff */, &ToneParmsB);
    2100     FileB.cbSize    = RT_MIN(audioTestToneFileFind(ObjB.File.hFile, false /* fFindSilence */, FileB.offStart,  &ToneParmsB),
     2100    FileB.cbSize    = RT_MIN(audioTestToneFileFind(ObjB.File.hFile, false /* fFindSilence */, FileB.offStart, &ToneParmsB),
    21012101                             cbSizeB);
    21022102
    21032103    Log2Func(("Test #%RU32\n", pVerJob->idxTest));
    2104     Log2Func(("File A ('%s'): cbOff=%RU64  cbSize=%RU64, cbFileSize=%RU64\n", ObjA.szName, FileA.offStart, FileA.cbSize - FileA.offStart, cbSizeA));
    2105     Log2Func(("File B ('%s'): cbOff=%RU64, cbSize=%RU64, cbFileSize=%RU64\n", ObjB.szName, FileB.offStart, FileB.cbSize - FileB.offStart, cbSizeB));
     2104    Log2Func(("File A ('%s'): cbOff=%RU64  cbSize=%RU64, cbFileSize=%RU64\n", ObjA.szName, FileA.offStart, FileA.cbSize, cbSizeA));
     2105    Log2Func(("File B ('%s'): cbOff=%RU64, cbSize=%RU64, cbFileSize=%RU64\n", ObjB.szName, FileB.offStart, FileB.cbSize, cbSizeB));
    21062106
    21072107    uint32_t const cDiffs = audioTestFilesFindDiffsBinary(&FileA, &FileB, &ToneParmsA);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette