VirtualBox

Ignore:
Timestamp:
May 18, 2015 7:11:51 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
100386
Message:

PDM/Audio: AudioMixBuffer documentation, renaming.

File:
1 edited

Legend:

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

    r55495 r55920  
    5959     */
    6060    PDMAUDIOMIXBUF mb;
    61     RTTESTI_CHECK_RC_OK(audioMixBufInit(&mb, "Single", &props, cBufSize));
    62     RTTESTI_CHECK(audioMixBufSize(&mb) == cBufSize);
    63     RTTESTI_CHECK(AUDIOMIXBUF_B2S(&mb, audioMixBufSizeBytes(&mb)) == cBufSize);
    64     RTTESTI_CHECK(AUDIOMIXBUF_S2B(&mb, audioMixBufSize(&mb)) == audioMixBufSizeBytes(&mb));
    65     RTTESTI_CHECK(audioMixBufFree(&mb) == cBufSize);
    66     RTTESTI_CHECK(AUDIOMIXBUF_S2B(&mb, audioMixBufFree(&mb)) == audioMixBufFreeBytes(&mb));
     61    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&mb, "Single", &props, cBufSize));
     62    RTTESTI_CHECK(AudioMixBufSize(&mb) == cBufSize);
     63    RTTESTI_CHECK(AUDIOMIXBUF_B2S(&mb, AudioMixBufSizeBytes(&mb)) == cBufSize);
     64    RTTESTI_CHECK(AUDIOMIXBUF_S2B(&mb, AudioMixBufSize(&mb)) == AudioMixBufSizeBytes(&mb));
     65    RTTESTI_CHECK(AudioMixBufFree(&mb) == cBufSize);
     66    RTTESTI_CHECK(AUDIOMIXBUF_S2B(&mb, AudioMixBufFree(&mb)) == AudioMixBufFreeBytes(&mb));
    6767
    6868    /*
     
    7575    int64_t samples64[2] = { 0xEE, 0xFF };
    7676
    77     RTTESTI_CHECK_RC_OK(audioMixBufWriteAt(&mb, 0, &samples8, sizeof(samples8), &written));
     77    RTTESTI_CHECK_RC_OK(AudioMixBufWriteAt(&mb, 0, &samples8, sizeof(samples8), &written));
    7878    RTTESTI_CHECK(written == 0 /* Samples */);
    7979
    80     RTTESTI_CHECK_RC_OK(audioMixBufWriteAt(&mb, 0, &samples16, sizeof(samples16), &written));
     80    RTTESTI_CHECK_RC_OK(AudioMixBufWriteAt(&mb, 0, &samples16, sizeof(samples16), &written));
    8181    RTTESTI_CHECK(written == 1 /* Samples */);
    8282
    83     RTTESTI_CHECK_RC_OK(audioMixBufWriteAt(&mb, 2, &samples32, sizeof(samples32), &written));
     83    RTTESTI_CHECK_RC_OK(AudioMixBufWriteAt(&mb, 2, &samples32, sizeof(samples32), &written));
    8484    RTTESTI_CHECK(written == 2 /* Samples */);
    8585    written_abs = 0;
    8686
    8787    /* Beyond buffer. */
    88     RTTESTI_CHECK_RC(audioMixBufWriteAt(&mb, audioMixBufSize(&mb) + 1, &samples16, sizeof(samples16),
     88    RTTESTI_CHECK_RC(AudioMixBufWriteAt(&mb, AudioMixBufSize(&mb) + 1, &samples16, sizeof(samples16),
    8989                                        &written), VERR_BUFFER_OVERFLOW);
    9090
     
    9292     * Circular writes.
    9393     */
    94     uint32_t cToWrite = audioMixBufSize(&mb) - written_abs - 1; /* -1 as padding plus -2 samples for above. */
     94    uint32_t cToWrite = AudioMixBufSize(&mb) - written_abs - 1; /* -1 as padding plus -2 samples for above. */
    9595    for (uint32_t i = 0; i < cToWrite; i++)
    9696    {
    97         RTTESTI_CHECK_RC_OK(audioMixBufWriteCirc(&mb, &samples16, sizeof(samples16), &written));
     97        RTTESTI_CHECK_RC_OK(AudioMixBufWriteCirc(&mb, &samples16, sizeof(samples16), &written));
    9898        RTTESTI_CHECK(written == 1);
    9999    }
    100     RTTESTI_CHECK(!audioMixBufIsEmpty(&mb));
    101     RTTESTI_CHECK(audioMixBufFree(&mb) == 1);
    102     RTTESTI_CHECK(audioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, 1U));
    103     RTTESTI_CHECK(audioMixBufProcessed(&mb) == cToWrite + written_abs /* + last absolute write */);
    104 
    105     RTTESTI_CHECK_RC_OK(audioMixBufWriteCirc(&mb, &samples16, sizeof(samples16), &written));
     100    RTTESTI_CHECK(!AudioMixBufIsEmpty(&mb));
     101    RTTESTI_CHECK(AudioMixBufFree(&mb) == 1);
     102    RTTESTI_CHECK(AudioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, 1U));
     103    RTTESTI_CHECK(AudioMixBufProcessed(&mb) == cToWrite + written_abs /* + last absolute write */);
     104
     105    RTTESTI_CHECK_RC_OK(AudioMixBufWriteCirc(&mb, &samples16, sizeof(samples16), &written));
    106106    RTTESTI_CHECK(written == 1);
    107     RTTESTI_CHECK(audioMixBufFree(&mb) == 0);
    108     RTTESTI_CHECK(audioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, 0));
    109     RTTESTI_CHECK(audioMixBufProcessed(&mb) == cBufSize);
     107    RTTESTI_CHECK(AudioMixBufFree(&mb) == 0);
     108    RTTESTI_CHECK(AudioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, 0));
     109    RTTESTI_CHECK(AudioMixBufProcessed(&mb) == cBufSize);
    110110
    111111    /* Circular reads. */
    112     uint32_t cToRead = audioMixBufSize(&mb) - written_abs - 1;
     112    uint32_t cToRead = AudioMixBufSize(&mb) - written_abs - 1;
    113113    for (uint32_t i = 0; i < cToWrite; i++)
    114114    {
    115         RTTESTI_CHECK_RC_OK(audioMixBufReadCirc(&mb, &samples16, sizeof(samples16), &read));
     115        RTTESTI_CHECK_RC_OK(AudioMixBufReadCirc(&mb, &samples16, sizeof(samples16), &read));
    116116        RTTESTI_CHECK(read == 1);
    117         audioMixBufFinish(&mb, read);
    118     }
    119     RTTESTI_CHECK(!audioMixBufIsEmpty(&mb));
    120     RTTESTI_CHECK(audioMixBufFree(&mb) == audioMixBufSize(&mb) - written_abs - 1);
    121     RTTESTI_CHECK(audioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, cBufSize - written_abs - 1));
    122     RTTESTI_CHECK(audioMixBufProcessed(&mb) == cBufSize - cToRead + written_abs);
    123 
    124     RTTESTI_CHECK_RC_OK(audioMixBufReadCirc(&mb, &samples16, sizeof(samples16), &read));
     117        AudioMixBufFinish(&mb, read);
     118    }
     119    RTTESTI_CHECK(!AudioMixBufIsEmpty(&mb));
     120    RTTESTI_CHECK(AudioMixBufFree(&mb) == AudioMixBufSize(&mb) - written_abs - 1);
     121    RTTESTI_CHECK(AudioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, cBufSize - written_abs - 1));
     122    RTTESTI_CHECK(AudioMixBufProcessed(&mb) == cBufSize - cToRead + written_abs);
     123
     124    RTTESTI_CHECK_RC_OK(AudioMixBufReadCirc(&mb, &samples16, sizeof(samples16), &read));
    125125    RTTESTI_CHECK(read == 1);
    126     audioMixBufFinish(&mb, read);
    127     RTTESTI_CHECK(audioMixBufFree(&mb) == cBufSize - written_abs);
    128     RTTESTI_CHECK(audioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, cBufSize - written_abs));
    129     RTTESTI_CHECK(audioMixBufProcessed(&mb) == written_abs);
    130 
    131     audioMixBufDestroy(&mb);
     126    AudioMixBufFinish(&mb, read);
     127    RTTESTI_CHECK(AudioMixBufFree(&mb) == cBufSize - written_abs);
     128    RTTESTI_CHECK(AudioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, cBufSize - written_abs));
     129    RTTESTI_CHECK(AudioMixBufProcessed(&mb) == written_abs);
     130
     131    AudioMixBufDestroy(&mb);
    132132
    133133    return RTTestSubErrorCount(hTest) ? VERR_GENERAL_FAILURE : VINF_SUCCESS;
     
    153153
    154154    PDMAUDIOMIXBUF parent;
    155     RTTESTI_CHECK_RC_OK(audioMixBufInit(&parent, "Parent", &props, cBufSize));
     155    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&parent, "Parent", &props, cBufSize));
    156156
    157157    PDMAUDIOSTREAMCFG cfg_c1 = /* Upmixing to parent */
     
    167167
    168168    PDMAUDIOMIXBUF child1;
    169     RTTESTI_CHECK_RC_OK(audioMixBufInit(&child1, "Child1", &props, cBufSize));
    170     RTTESTI_CHECK_RC_OK(audioMixBufLinkTo(&child1, &parent));
     169    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&child1, "Child1", &props, cBufSize));
     170    RTTESTI_CHECK_RC_OK(AudioMixBufLinkTo(&child1, &parent));
    171171
    172172    PDMAUDIOSTREAMCFG cfg_c2 = /* Downmixing to parent */
     
    182182
    183183    PDMAUDIOMIXBUF child2;
    184     RTTESTI_CHECK_RC_OK(audioMixBufInit(&child2, "Child2", &props, cBufSize));
    185     RTTESTI_CHECK_RC_OK(audioMixBufLinkTo(&child2, &parent));
     184    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&child2, "Child2", &props, cBufSize));
     185    RTTESTI_CHECK_RC_OK(AudioMixBufLinkTo(&child2, &parent));
    186186
    187187    /*
     
    208208    {
    209209        RTTestPrintf(hTest, RTTESTLVL_DEBUG, "i=%RU32\n", i);
    210         RTTESTI_CHECK_RC_OK_BREAK(audioMixBufWriteAt(&child1, 0, &samples, sizeof(samples), &written));
     210        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufWriteAt(&child1, 0, &samples, sizeof(samples), &written));
    211211        RTTESTI_CHECK_MSG_BREAK(written == cSamplesChild1, ("Child1: Expected %RU32 written samples, got %RU32\n", cSamplesChild1, written));
    212         RTTESTI_CHECK_RC_OK_BREAK(audioMixBufMixToParent(&child1, written, &mixed));
    213         temp = audioMixBufProcessed(&parent) - audioMixBufMixed(&child2);
    214         RTTESTI_CHECK_MSG_BREAK(audioMixBufMixed(&child1) == temp, ("Child1: Expected %RU32 mixed samples, got %RU32\n", audioMixBufMixed(&child1), temp));
    215 
    216         RTTESTI_CHECK_RC_OK_BREAK(audioMixBufWriteAt(&child2, 0, &samples, sizeof(samples), &written));
     212        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufMixToParent(&child1, written, &mixed));
     213        temp = AudioMixBufProcessed(&parent) - AudioMixBufMixed(&child2);
     214        RTTESTI_CHECK_MSG_BREAK(AudioMixBufMixed(&child1) == temp, ("Child1: Expected %RU32 mixed samples, got %RU32\n", AudioMixBufMixed(&child1), temp));
     215
     216        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufWriteAt(&child2, 0, &samples, sizeof(samples), &written));
    217217        RTTESTI_CHECK_MSG_BREAK(written == cSamplesChild2, ("Child2: Expected %RU32 written samples, got %RU32\n", cSamplesChild2, written));
    218         RTTESTI_CHECK_RC_OK_BREAK(audioMixBufMixToParent(&child2, written, &mixed));
    219         temp = audioMixBufProcessed(&parent) - audioMixBufMixed(&child1);
    220         RTTESTI_CHECK_MSG_BREAK(audioMixBufMixed(&child2) == temp, ("Child2: Expected %RU32 mixed samples, got %RU32\n", audioMixBufMixed(&child2), temp));
    221     }
    222 
    223     RTTESTI_CHECK(audioMixBufProcessed(&parent) == audioMixBufMixed(&child1) + audioMixBufMixed(&child2));
     218        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufMixToParent(&child2, written, &mixed));
     219        temp = AudioMixBufProcessed(&parent) - AudioMixBufMixed(&child1);
     220        RTTESTI_CHECK_MSG_BREAK(AudioMixBufMixed(&child2) == temp, ("Child2: Expected %RU32 mixed samples, got %RU32\n", AudioMixBufMixed(&child2), temp));
     221    }
     222
     223    RTTESTI_CHECK(AudioMixBufProcessed(&parent) == AudioMixBufMixed(&child1) + AudioMixBufMixed(&child2));
    224224
    225225    for (;;)
    226226    {
    227         RTTESTI_CHECK_RC_OK_BREAK(audioMixBufReadCirc(&parent, pvBuf, cbBuf, &read));
     227        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufReadCirc(&parent, pvBuf, cbBuf, &read));
    228228        if (!read)
    229229            break;
    230         audioMixBufFinish(&parent, read);
    231     }
    232 
    233     RTTESTI_CHECK(audioMixBufProcessed(&parent) == 0);
    234     RTTESTI_CHECK(audioMixBufMixed(&child1) == 0);
    235     RTTESTI_CHECK(audioMixBufMixed(&child2) == 0);
    236 
    237     audioMixBufDestroy(&parent);
    238     audioMixBufDestroy(&child1);
    239     audioMixBufDestroy(&child2);
     230        AudioMixBufFinish(&parent, read);
     231    }
     232
     233    RTTESTI_CHECK(AudioMixBufProcessed(&parent) == 0);
     234    RTTESTI_CHECK(AudioMixBufMixed(&child1) == 0);
     235    RTTESTI_CHECK(AudioMixBufMixed(&child2) == 0);
     236
     237    AudioMixBufDestroy(&parent);
     238    AudioMixBufDestroy(&child1);
     239    AudioMixBufDestroy(&child2);
    240240
    241241    return RTTestSubErrorCount(hTest) ? VERR_GENERAL_FAILURE : VINF_SUCCESS;
     
    264264
    265265    PDMAUDIOMIXBUF parent;
    266     RTTESTI_CHECK_RC_OK(audioMixBufInit(&parent, "Parent", &props, cBufSize));
     266    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&parent, "Parent", &props, cBufSize));
    267267
    268268    /* Child uses half the sample rate; that ensures the mixing engine can't
     
    285285
    286286    PDMAUDIOMIXBUF child;
    287     RTTESTI_CHECK_RC_OK(audioMixBufInit(&child, "Child", &props, cBufSize));
    288     RTTESTI_CHECK_RC_OK(audioMixBufLinkTo(&child, &parent));
     287    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&child, "Child", &props, cBufSize));
     288    RTTESTI_CHECK_RC_OK(AudioMixBufLinkTo(&child, &parent));
    289289
    290290    /* 8-bit unsigned samples. Often used with SB16 device. */
     
    307307    /**** 8-bit unsigned samples ****/
    308308    RTTestPrintf(hTest, RTTESTLVL_DEBUG, "Conversion test %uHz %uch 8-bit\n", cfg_c.uHz, cfg_c.cChannels);
    309     RTTESTI_CHECK_RC_OK(audioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
     309    RTTESTI_CHECK_RC_OK(AudioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
    310310    RTTESTI_CHECK_MSG(written == cSamplesChild, ("Child: Expected %RU32 written samples, got %RU32\n", cSamplesChild, written));
    311     RTTESTI_CHECK_RC_OK(audioMixBufMixToParent(&child, written, &mixed));
    312     temp = audioMixBufProcessed(&parent);
    313     RTTESTI_CHECK_MSG(audioMixBufMixed(&child) == temp, ("Child: Expected %RU32 mixed samples, got %RU32\n", audioMixBufMixed(&child), temp));
    314 
    315     RTTESTI_CHECK(audioMixBufProcessed(&parent) == audioMixBufMixed(&child));
     311    RTTESTI_CHECK_RC_OK(AudioMixBufMixToParent(&child, written, &mixed));
     312    temp = AudioMixBufProcessed(&parent);
     313    RTTESTI_CHECK_MSG(AudioMixBufMixed(&child) == temp, ("Child: Expected %RU32 mixed samples, got %RU32\n", AudioMixBufMixed(&child), temp));
     314
     315    RTTESTI_CHECK(AudioMixBufProcessed(&parent) == AudioMixBufMixed(&child));
    316316
    317317    for (;;)
    318318    {
    319         RTTESTI_CHECK_RC_OK_BREAK(audioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
     319        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
    320320        if (!read)
    321321            break;
    322322        cSamplesRead += read;
    323         audioMixBufFinish(&parent, read);
     323        AudioMixBufFinish(&parent, read);
    324324    }
    325325    RTTESTI_CHECK_MSG(cSamplesRead == cSamplesParent, ("Parent: Expected %RU32 mixed samples, got %RU32\n", cSamplesParent, cSamplesRead));
     
    337337    }
    338338
    339     RTTESTI_CHECK(audioMixBufProcessed(&parent) == 0);
    340     RTTESTI_CHECK(audioMixBufMixed(&child) == 0);
    341 
    342     audioMixBufDestroy(&parent);
    343     audioMixBufDestroy(&child);
     339    RTTESTI_CHECK(AudioMixBufProcessed(&parent) == 0);
     340    RTTESTI_CHECK(AudioMixBufMixed(&child) == 0);
     341
     342    AudioMixBufDestroy(&parent);
     343    AudioMixBufDestroy(&child);
    344344
    345345    return RTTestSubErrorCount(hTest) ? VERR_GENERAL_FAILURE : VINF_SUCCESS;
     
    368368
    369369    PDMAUDIOMIXBUF parent;
    370     RTTESTI_CHECK_RC_OK(audioMixBufInit(&parent, "Parent", &props, cBufSize));
     370    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&parent, "Parent", &props, cBufSize));
    371371
    372372    PDMAUDIOSTREAMCFG cfg_c =   /* Upmixing to parent */
     
    382382
    383383    PDMAUDIOMIXBUF child;
    384     RTTESTI_CHECK_RC_OK(audioMixBufInit(&child, "Child", &props, cBufSize));
    385     RTTESTI_CHECK_RC_OK(audioMixBufLinkTo(&child, &parent));
     384    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&child, "Child", &props, cBufSize));
     385    RTTESTI_CHECK_RC_OK(AudioMixBufLinkTo(&child, &parent));
    386386
    387387    /* 16-bit signed. More or less exclusively used as output, and usually as input, too. */
     
    404404    /**** 16-bit signed samples ****/
    405405    RTTestPrintf(hTest, RTTESTLVL_DEBUG, "Conversion test %uHz %uch 16-bit\n", cfg_c.uHz, cfg_c.cChannels);
    406     RTTESTI_CHECK_RC_OK(audioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
     406    RTTESTI_CHECK_RC_OK(AudioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
    407407    RTTESTI_CHECK_MSG(written == cSamplesChild, ("Child: Expected %RU32 written samples, got %RU32\n", cSamplesChild, written));
    408     RTTESTI_CHECK_RC_OK(audioMixBufMixToParent(&child, written, &mixed));
    409     temp = audioMixBufProcessed(&parent);
    410     RTTESTI_CHECK_MSG(audioMixBufMixed(&child) == temp, ("Child: Expected %RU32 mixed samples, got %RU32\n", audioMixBufMixed(&child), temp));
    411 
    412     RTTESTI_CHECK(audioMixBufProcessed(&parent) == audioMixBufMixed(&child));
     408    RTTESTI_CHECK_RC_OK(AudioMixBufMixToParent(&child, written, &mixed));
     409    temp = AudioMixBufProcessed(&parent);
     410    RTTESTI_CHECK_MSG(AudioMixBufMixed(&child) == temp, ("Child: Expected %RU32 mixed samples, got %RU32\n", AudioMixBufMixed(&child), temp));
     411
     412    RTTESTI_CHECK(AudioMixBufProcessed(&parent) == AudioMixBufMixed(&child));
    413413
    414414    for (;;)
    415415    {
    416         RTTESTI_CHECK_RC_OK_BREAK(audioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
     416        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
    417417        if (!read)
    418418            break;
    419419        cSamplesRead += read;
    420         audioMixBufFinish(&parent, read);
     420        AudioMixBufFinish(&parent, read);
    421421    }
    422422    RTTESTI_CHECK_MSG(cSamplesRead == cSamplesParent, ("Parent: Expected %RU32 mixed samples, got %RU32\n", cSamplesParent, cSamplesRead));
     
    434434    }
    435435
    436     RTTESTI_CHECK(audioMixBufProcessed(&parent) == 0);
    437     RTTESTI_CHECK(audioMixBufMixed(&child) == 0);
    438    
    439     audioMixBufDestroy(&parent);
    440     audioMixBufDestroy(&child);
     436    RTTESTI_CHECK(AudioMixBufProcessed(&parent) == 0);
     437    RTTESTI_CHECK(AudioMixBufMixed(&child) == 0);
     438
     439    AudioMixBufDestroy(&parent);
     440    AudioMixBufDestroy(&child);
    441441
    442442    return RTTestSubErrorCount(hTest) ? VERR_GENERAL_FAILURE : VINF_SUCCESS;
     
    467467    PDMAUDIOVOLUME vol = { false, 0, 0 };   /* Not muted. */
    468468    PDMAUDIOMIXBUF parent;
    469     RTTESTI_CHECK_RC_OK(audioMixBufInit(&parent, "Parent", &props, cBufSize));
     469    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&parent, "Parent", &props, cBufSize));
    470470
    471471    PDMAUDIOMIXBUF child;
    472     RTTESTI_CHECK_RC_OK(audioMixBufInit(&child, "Child", &props, cBufSize));
    473     RTTESTI_CHECK_RC_OK(audioMixBufLinkTo(&child, &parent));
     472    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&child, "Child", &props, cBufSize));
     473    RTTESTI_CHECK_RC_OK(AudioMixBufLinkTo(&child, &parent));
    474474
    475475    /* A few 16-bit signed samples. */
     
    497497    /* 1) Full volume/0dB attenuation (255). */
    498498    vol.uLeft = vol.uRight = 255;
    499     audioMixBufSetVolume(&child, &vol);
    500 
    501     RTTESTI_CHECK_RC_OK(audioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
     499    AudioMixBufSetVolume(&child, &vol);
     500
     501    RTTESTI_CHECK_RC_OK(AudioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
    502502    RTTESTI_CHECK_MSG(written == cSamplesChild, ("Child: Expected %RU32 written samples, got %RU32\n", cSamplesChild, written));
    503     RTTESTI_CHECK_RC_OK(audioMixBufMixToParent(&child, written, &mixed));
     503    RTTESTI_CHECK_RC_OK(AudioMixBufMixToParent(&child, written, &mixed));
    504504
    505505    cSamplesRead = 0;
    506506    for (;;)
    507507    {
    508         RTTESTI_CHECK_RC_OK_BREAK(audioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
     508        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
    509509        if (!read)
    510510            break;
    511511        cSamplesRead += read;
    512         audioMixBufFinish(&parent, read);
     512        AudioMixBufFinish(&parent, read);
    513513    }
    514514    RTTESTI_CHECK_MSG(cSamplesRead == cSamplesParent, ("Parent: Expected %RU32 mixed samples, got %RU32\n", cSamplesParent, cSamplesRead));
     
    524524        ++pDst16;
    525525    }
    526     audioMixBufReset(&child);
     526    AudioMixBufReset(&child);
    527527
    528528    /* 2) Half volume/-6dB attenuation (16 steps down). */
    529529    vol.uLeft = vol.uRight = 255 - 16;
    530     audioMixBufSetVolume(&child, &vol);
    531 
    532     RTTESTI_CHECK_RC_OK(audioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
     530    AudioMixBufSetVolume(&child, &vol);
     531
     532    RTTESTI_CHECK_RC_OK(AudioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
    533533    RTTESTI_CHECK_MSG(written == cSamplesChild, ("Child: Expected %RU32 written samples, got %RU32\n", cSamplesChild, written));
    534     RTTESTI_CHECK_RC_OK(audioMixBufMixToParent(&child, written, &mixed));
     534    RTTESTI_CHECK_RC_OK(AudioMixBufMixToParent(&child, written, &mixed));
    535535
    536536    cSamplesRead = 0;
    537537    for (;;)
    538538    {
    539         RTTESTI_CHECK_RC_OK_BREAK(audioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
     539        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
    540540        if (!read)
    541541            break;
    542542        cSamplesRead += read;
    543         audioMixBufFinish(&parent, read);
     543        AudioMixBufFinish(&parent, read);
    544544    }
    545545    RTTESTI_CHECK_MSG(cSamplesRead == cSamplesParent, ("Parent: Expected %RU32 mixed samples, got %RU32\n", cSamplesParent, cSamplesRead));
     
    557557    }
    558558
    559     audioMixBufDestroy(&parent);
    560     audioMixBufDestroy(&child);
     559    AudioMixBufDestroy(&parent);
     560    AudioMixBufDestroy(&child);
    561561
    562562    return RTTestSubErrorCount(hTest) ? VERR_GENERAL_FAILURE : VINF_SUCCESS;
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