VirtualBox

Changeset 89490 in vbox for trunk/src/VBox/ValidationKit


Ignore:
Timestamp:
Jun 3, 2021 11:00:04 PM (4 years ago)
Author:
vboxsync
Message:

ValKit/AudioTest: Simplified PDMIAUDIOCONNECTOR::pfnStreamCreate by moving the acquired configuration to the resulting stream (PDMAUDIOSTREAM::Cfg). bugref:10008

Location:
trunk/src/VBox/ValidationKit/utils/audio
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/utils/audio/vkat.cpp

    r89467 r89490  
    19601960                {
    19611961                    if (g_uVerbosity > 0)
    1962                         RTMsgInfo("Stream: %s cbBackend=%#RX32%s\n", PDMAudioPropsToString(&pStream->Props, szTmp, sizeof(szTmp)),
     1962                        RTMsgInfo("Stream: %s cbBackend=%#RX32%s\n",
     1963                                  PDMAudioPropsToString(&pStream->Cfg.Props, szTmp, sizeof(szTmp)),
    19631964                                  pStream->cbBackend, fWithMixer ? " mixed" : "");
    19641965
     
    22472248                    char szTmp[128];
    22482249                    if (g_uVerbosity > 0)
    2249                         RTMsgInfo("Stream: %s cbBackend=%#RX32%s\n", PDMAudioPropsToString(&pStream->Props, szTmp, sizeof(szTmp)),
     2250                        RTMsgInfo("Stream: %s cbBackend=%#RX32%s\n",
     2251                                  PDMAudioPropsToString(&pStream->Cfg.Props, szTmp, sizeof(szTmp)),
    22502252                                  pStream->cbBackend, fWithMixer ? " mixed" : "");
    22512253
  • trunk/src/VBox/ValidationKit/utils/audio/vkatDriverStack.cpp

    r89466 r89490  
    579579 *                      success (not used as input).
    580580 */
    581 static int audioTestDriverStackStreamCreate(PAUDIOTESTDRVSTACK pDrvStack, PPDMAUDIOSTREAMCFG pCfgReq,
     581static int audioTestDriverStackStreamCreate(PAUDIOTESTDRVSTACK pDrvStack, PCPDMAUDIOSTREAMCFG pCfgReq,
    582582                                            PPDMAUDIOSTREAM *ppStream, PPDMAUDIOSTREAMCFG pCfgAcq)
    583583{
     
    591591         * DrvAudio does most of the work here.
    592592         */
    593         PDMAUDIOSTREAMCFG CfgGst = *pCfgReq;
    594         rc = pDrvStack->pIAudioConnector->pfnStreamCreate(pDrvStack->pIAudioConnector, PDMAUDIOSTREAM_CREATE_F_NO_MIXBUF,
    595                                                           pCfgReq, &CfgGst, ppStream);
     593        rc = pDrvStack->pIAudioConnector->pfnStreamCreate(pDrvStack->pIAudioConnector, 0 /*fFlags*/, pCfgReq, ppStream);
    596594        if (RT_SUCCESS(rc))
    597595        {
    598             *pCfgAcq = *pCfgReq; /** @todo PDMIAUDIOCONNECTOR::pfnStreamCreate only does one utterly pointless change to the two configs (enmLayout) from what I can tell... */
    599             pCfgAcq->Props = (*ppStream)->Props;
     596            *pCfgAcq = (*ppStream)->Cfg;
    600597            RTMsgInfo("Created backend stream: %s\n", PDMAudioStrmCfgToString(pCfgReq, szTmp, sizeof(szTmp)));
    601598            return rc;
     
    623620                {
    624621                    pStreamAt->Core.uMagic     = PDMAUDIOSTREAM_MAGIC;
    625                     pStreamAt->Core.enmDir     = pCfgReq->enmDir;
     622                    pStreamAt->Core.Cfg        = *pCfgReq;
    626623                    pStreamAt->Core.cbBackend  = cbStream;
    627                     pStreamAt->Core.Props      = pCfgReq->Props;
    628                     RTStrPrintf(pStreamAt->Core.szName, sizeof(pStreamAt->Core.szName), pCfgReq->szName);
    629624
    630625                    pStreamAt->Backend.uMagic  = PDMAUDIOBACKENDSTREAM_MAGIC;
     
    634629                     * Call the backend to create the stream.
    635630                     */
    636                     pStreamAt->Cfg = *pCfgReq;
    637 
    638631                    rc = pDrvStack->pIHostAudio->pfnStreamCreate(pDrvStack->pIHostAudio, &pStreamAt->Backend,
    639                                                                  pCfgReq, &pStreamAt->Cfg);
     632                                                                 pCfgReq, &pStreamAt->Core.Cfg);
    640633                    if (RT_SUCCESS(rc))
    641634                    {
    642                         pStreamAt->Core.Props = pStreamAt->Cfg.Props;
    643635                        if (g_uVerbosity > 1)
    644636                            RTMsgInfo("Created backend stream: %s\n",
    645                                       PDMAudioStrmCfgToString(&pStreamAt->Cfg, szTmp, sizeof(szTmp)));
     637                                      PDMAudioStrmCfgToString(&pStreamAt->Core.Cfg, szTmp, sizeof(szTmp)));
    646638
    647639                        /* Return if stream is ready: */
     
    649641                        {
    650642                            *ppStream = &pStreamAt->Core;
    651                             *pCfgAcq  = pStreamAt->Cfg;
     643                            *pCfgAcq  = pStreamAt->Core.Cfg;
    652644                            return VINF_SUCCESS;
    653645                        }
     
    662654                            {
    663655                                *ppStream = &pStreamAt->Core;
    664                                 *pCfgAcq  = pStreamAt->Cfg;
     656                                *pCfgAcq  = pStreamAt->Core.Cfg;
    665657                                return VINF_SUCCESS;
    666658                            }
     
    11441136    if (!pProps)
    11451137    {
    1146         pMix->pProps = &pStream->Props;
     1138        pMix->pProps = &pStream->Cfg.Props;
    11471139        return VINF_SUCCESS;
    11481140    }
     
    11581150        pMix->pProps = &pMix->MixBuf.Props;
    11591151
    1160         if (pStream->enmDir == PDMAUDIODIR_IN)
     1152        if (pStream->Cfg.enmDir == PDMAUDIODIR_IN)
    11611153        {
    11621154            rc = AudioMixBufInitPeekState(&pMix->MixBuf, &pMix->PeekState, &pMix->MixBuf.Props);
    11631155            if (RT_SUCCESS(rc))
    11641156            {
    1165                 rc = AudioMixBufInitWriteState(&pMix->MixBuf, &pMix->WriteState, &pStream->Props);
     1157                rc = AudioMixBufInitWriteState(&pMix->MixBuf, &pMix->WriteState, &pStream->Cfg.Props);
    11661158                if (RT_SUCCESS(rc))
    11671159                    return rc;
    11681160            }
    11691161        }
    1170         else if (pStream->enmDir == PDMAUDIODIR_OUT)
     1162        else if (pStream->Cfg.enmDir == PDMAUDIODIR_OUT)
    11711163        {
    11721164            rc = AudioMixBufInitWriteState(&pMix->MixBuf, &pMix->WriteState, &pMix->MixBuf.Props);
    11731165            if (RT_SUCCESS(rc))
    11741166            {
    1175                 rc = AudioMixBufInitPeekState(&pMix->MixBuf, &pMix->PeekState, &pStream->Props);
     1167                rc = AudioMixBufInitPeekState(&pMix->MixBuf, &pMix->PeekState, &pStream->Cfg.Props);
    11761168                if (RT_SUCCESS(rc))
    11771169                    return rc;
     
    12161208{
    12171209    uint8_t abBuf[16384];
    1218     if (pMix->pStream->enmDir == PDMAUDIODIR_IN)
    1219     {
    1220         //uint32_t const cbBuf = PDMAudioPropsFloorBytesToFrame(&pMix->pStream->Props, sizeof(abBuf));
     1210    if (pMix->pStream->Cfg.enmDir == PDMAUDIODIR_IN)
     1211    {
     1212        //uint32_t const cbBuf = PDMAudioPropsFloorBytesToFrame(&pMix->pStream->Cfg.Props, sizeof(abBuf));
    12211213
    12221214    }
  • trunk/src/VBox/ValidationKit/utils/audio/vkatInternal.h

    r89466 r89490  
    6868    /** The public stream data. */
    6969    PDMAUDIOSTREAM          Core;
    70     /** The acquired config. */
    71     PDMAUDIOSTREAMCFG       Cfg;
    7270    /** The backend data (variable size). */
    7371    PDMAUDIOBACKENDSTREAM   Backend;
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