VirtualBox

Changeset 91861 in vbox for trunk


Ignore:
Timestamp:
Oct 20, 2021 9:03:22 AM (3 years ago)
Author:
vboxsync
Message:

Devices/Audio: Change audio drivers to access the CFGM API through the driver helper callback table only, bugref:10074

Location:
trunk/src/VBox/Devices/Audio
Files:
5 edited

Legend:

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

    r90016 r91861  
    46334633{
    46344634    PDMDRV_CHECK_VERSIONS_RETURN(pDrvIns);
    4635     PDRVAUDIO pThis = PDMINS_2_DATA(pDrvIns, PDRVAUDIO);
     4635    PDRVAUDIO       pThis = PDMINS_2_DATA(pDrvIns, PDRVAUDIO);
     4636    PCPDMDRVHLPR3   pHlp  = pDrvIns->pHlpR3;
    46364637    LogFlowFunc(("pDrvIns=%#p, pCfgHandle=%#p, fFlags=%x\n", pDrvIns, pCfg, fFlags));
    46374638
     
    46704671                                  "In|Out");
    46714672
    4672     int rc = CFGMR3QueryStringDef(pCfg, "DriverName", pThis->BackendCfg.szName, sizeof(pThis->BackendCfg.szName), "Untitled");
     4673    int rc = pHlp->pfnCFGMQueryStringDef(pCfg, "DriverName", pThis->BackendCfg.szName, sizeof(pThis->BackendCfg.szName), "Untitled");
    46734674    AssertLogRelRCReturn(rc, rc);
    46744675
    46754676    /* Neither input nor output by default for security reasons. */
    4676     rc = CFGMR3QueryBoolDef(pCfg, "InputEnabled",  &pThis->In.fEnabled, false);
     4677    rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "InputEnabled",  &pThis->In.fEnabled, false);
    46774678    AssertLogRelRCReturn(rc, rc);
    46784679
    4679     rc = CFGMR3QueryBoolDef(pCfg, "OutputEnabled", &pThis->Out.fEnabled, false);
     4680    rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "OutputEnabled", &pThis->Out.fEnabled, false);
    46804681    AssertLogRelRCReturn(rc, rc);
    46814682
    46824683    /* Debug stuff (same for both directions). */
    4683     rc = CFGMR3QueryBoolDef(pCfg, "DebugEnabled", &pThis->CfgIn.Dbg.fEnabled, false);
     4684    rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "DebugEnabled", &pThis->CfgIn.Dbg.fEnabled, false);
    46844685    AssertLogRelRCReturn(rc, rc);
    46854686
    4686     rc = CFGMR3QueryStringDef(pCfg, "DebugPathOut", pThis->CfgIn.Dbg.szPathOut, sizeof(pThis->CfgIn.Dbg.szPathOut), "");
     4687    rc = pHlp->pfnCFGMQueryStringDef(pCfg, "DebugPathOut", pThis->CfgIn.Dbg.szPathOut, sizeof(pThis->CfgIn.Dbg.szPathOut), "");
    46874688    AssertLogRelRCReturn(rc, rc);
    46884689    if (pThis->CfgIn.Dbg.szPathOut[0] == '\0')
     
    47204721#define QUERY_VAL_RET(a_Width, a_szName, a_pValue, a_uDefault, a_ExprValid, a_szValidRange) \
    47214722            do { \
    4722                 rc = RT_CONCAT(CFGMR3QueryU,a_Width)(pDirNode, strcpy(szNm, a_szName), a_pValue); \
     4723                rc = RT_CONCAT(pHlp->pfnCFGMQueryU,a_Width)(pDirNode, strcpy(szNm, a_szName), a_pValue); \
    47234724                if (rc == VERR_CFGM_VALUE_NOT_FOUND || rc == VERR_CFGM_NO_PARENT) \
    47244725                { \
    4725                     rc = RT_CONCAT(CFGMR3QueryU,a_Width)(pCfg, strcat(szNm, pszDir), a_pValue); \
     4726                    rc = RT_CONCAT(pHlp->pfnCFGMQueryU,a_Width)(pCfg, strcat(szNm, pszDir), a_pValue); \
    47264727                    if (rc == VERR_CFGM_VALUE_NOT_FOUND || rc == VERR_CFGM_NO_PARENT) \
    47274728                    { \
     
    47394740            } while (0)
    47404741
    4741         PCFGMNODE const pDirNode = CFGMR3GetChild(pCfg, pszDir);
    4742         rc = CFGMR3ValidateConfig(pDirNode, iDir == 0 ? "In/" : "Out/",
    4743                                   "PCMSampleBit|"
    4744                                   "PCMSampleHz|"
    4745                                   "PCMSampleSigned|"
    4746                                   "PCMSampleSwapEndian|"
    4747                                   "PCMSampleChannels|"
    4748                                   "PeriodSizeMs|"
    4749                                   "BufferSizeMs|"
    4750                                   "PreBufferSizeMs",
    4751                                   "", pDrvIns->pReg->szName, pDrvIns->iInstance);
     4742        PCFGMNODE const pDirNode = pHlp->pfnCFGMGetChild(pCfg, pszDir);
     4743        rc = pHlp->pfnCFGMValidateConfig(pDirNode, iDir == 0 ? "In/" : "Out/",
     4744                                         "PCMSampleBit|"
     4745                                         "PCMSampleHz|"
     4746                                         "PCMSampleSigned|"
     4747                                         "PCMSampleSwapEndian|"
     4748                                         "PCMSampleChannels|"
     4749                                         "PeriodSizeMs|"
     4750                                         "BufferSizeMs|"
     4751                                         "PreBufferSizeMs",
     4752                                         "", pDrvIns->pReg->szName, pDrvIns->iInstance);
    47524753        AssertRCReturn(rc, rc);
    47534754
  • trunk/src/VBox/Devices/Audio/DrvHostAudioAlsa.cpp

    r91841 r91861  
    14751475    RT_NOREF(fFlags);
    14761476    PDMDRV_CHECK_VERSIONS_RETURN(pDrvIns);
    1477     PDRVHSTAUDALSA pThis = PDMINS_2_DATA(pDrvIns, PDRVHSTAUDALSA);
     1477    PDRVHSTAUDALSA  pThis = PDMINS_2_DATA(pDrvIns, PDRVHSTAUDALSA);
     1478    PCPDMDRVHLPR3   pHlp  = pDrvIns->pHlpR3;
    14781479    LogRel(("Audio: Initializing ALSA driver\n"));
    14791480
     
    15141515    PDMDRV_VALIDATE_CONFIG_RETURN(pDrvIns, "OutputDeviceID|InputDeviceID", "");
    15151516
    1516     rc = CFGMR3QueryStringDef(pCfg, "InputDeviceID", pThis->szInputDev, sizeof(pThis->szInputDev), "default");
     1517    rc = pHlp->pfnCFGMQueryStringDef(pCfg, "InputDeviceID", pThis->szInputDev, sizeof(pThis->szInputDev), "default");
    15171518    AssertRCReturn(rc, rc);
    1518     rc = CFGMR3QueryStringDef(pCfg, "OutputDeviceID", pThis->szOutputDev, sizeof(pThis->szOutputDev), "default");
     1519    rc = pHlp->pfnCFGMQueryStringDef(pCfg, "OutputDeviceID", pThis->szOutputDev, sizeof(pThis->szOutputDev), "default");
    15191520    AssertRCReturn(rc, rc);
    15201521
  • trunk/src/VBox/Devices/Audio/DrvHostAudioCoreAudio.cpp

    r91425 r91861  
    27232723    RT_NOREF(pCfg, fFlags);
    27242724    PDMDRV_CHECK_VERSIONS_RETURN(pDrvIns);
    2725     PDRVHOSTCOREAUDIO pThis = PDMINS_2_DATA(pDrvIns, PDRVHOSTCOREAUDIO);
     2725    PDRVHOSTCOREAUDIO   pThis = PDMINS_2_DATA(pDrvIns, PDRVHOSTCOREAUDIO);
     2726    PCPDMDRVHLPR3       pHlp  = pDrvIns->pHlpR3;
    27262727    LogRel(("Audio: Initializing Core Audio driver\n"));
    27272728
     
    27702771
    27712772    char *pszTmp = NULL;
    2772     rc = CFGMR3QueryStringAlloc(pCfg, "InputDeviceID", &pszTmp);
     2773    rc = pHlp->pfnCFGMQueryStringAlloc(pCfg, "InputDeviceID", &pszTmp);
    27732774    if (RT_SUCCESS(rc))
    27742775    {
     
    27792780        return PDMDRV_SET_ERROR(pDrvIns, rc, "Failed to query 'InputDeviceID'");
    27802781
    2781     rc = CFGMR3QueryStringAlloc(pCfg, "OutputDeviceID", &pszTmp);
     2782    rc = pHlp->pfnCFGMQueryStringAlloc(pCfg, "OutputDeviceID", &pszTmp);
    27822783    if (RT_SUCCESS(rc))
    27832784    {
  • trunk/src/VBox/Devices/Audio/DrvHostAudioPulseAudio.cpp

    r91185 r91861  
    22082208    RT_NOREF(pCfg, fFlags);
    22092209    PDMDRV_CHECK_VERSIONS_RETURN(pDrvIns);
    2210     PDRVHSTAUDPA pThis = PDMINS_2_DATA(pDrvIns, PDRVHSTAUDPA);
     2210    PDRVHSTAUDPA    pThis = PDMINS_2_DATA(pDrvIns, PDRVHSTAUDPA);
     2211    PCPDMDRVHLPR3   pHlp  = pDrvIns->pHlpR3;
     2212
    22112213    LogRel(("Audio: Initializing PulseAudio driver\n"));
    22122214
     
    22442246     */
    22452247    PDMDRV_VALIDATE_CONFIG_RETURN(pDrvIns, "VmName|InputDeviceID|OutputDeviceID", "");
    2246     int rc = CFGMR3QueryString(pCfg, "VmName", pThis->szStreamName, sizeof(pThis->szStreamName));
     2248    int rc = pHlp->pfnCFGMQueryString(pCfg, "VmName", pThis->szStreamName, sizeof(pThis->szStreamName));
    22472249    AssertMsgRCReturn(rc, ("Confguration error: No/bad \"VmName\" value, rc=%Rrc\n", rc), rc);
    2248     rc = CFGMR3QueryStringDef(pCfg, "InputDeviceID", pThis->szInputDev, sizeof(pThis->szInputDev), "");
     2250    rc = pHlp->pfnCFGMQueryStringDef(pCfg, "InputDeviceID", pThis->szInputDev, sizeof(pThis->szInputDev), "");
    22492251    AssertMsgRCReturn(rc, ("Confguration error: Failed to read \"InputDeviceID\" as string: rc=%Rrc\n", rc), rc);
    2250     rc = CFGMR3QueryStringDef(pCfg, "OutputDeviceID", pThis->szOutputDev, sizeof(pThis->szOutputDev), "");
     2252    rc = pHlp->pfnCFGMQueryStringDef(pCfg, "OutputDeviceID", pThis->szOutputDev, sizeof(pThis->szOutputDev), "");
    22512253    AssertMsgRCReturn(rc, ("Confguration error: Failed to read \"OutputDeviceID\" as string: rc=%Rrc\n", rc), rc);
    22522254
  • trunk/src/VBox/Devices/Audio/DrvHostAudioWasApi.cpp

    r90778 r91861  
    30893089{
    30903090    PDMDRV_CHECK_VERSIONS_RETURN(pDrvIns);
    3091     PDRVHOSTAUDIOWAS pThis = PDMINS_2_DATA(pDrvIns, PDRVHOSTAUDIOWAS);
     3091    PDRVHOSTAUDIOWAS    pThis = PDMINS_2_DATA(pDrvIns, PDRVHOSTAUDIOWAS);
     3092    PCPDMDRVHLPR3       pHlp  = pDrvIns->pHlpR3;
    30923093    RT_NOREF(fFlags, pCfg);
    30933094
     
    31343135
    31353136    char szTmp[1024];
    3136     int rc = CFGMR3QueryStringDef(pCfg, "InputDeviceID", szTmp, sizeof(szTmp), "");
     3137    int rc = pHlp->pfnCFGMQueryStringDef(pCfg, "InputDeviceID", szTmp, sizeof(szTmp), "");
    31373138    AssertMsgRCReturn(rc, ("Confguration error: Failed to read \"InputDeviceID\" as string: rc=%Rrc\n", rc), rc);
    31383139    if (szTmp[0])
     
    31423143    }
    31433144
    3144     rc = CFGMR3QueryStringDef(pCfg, "OutputDeviceID", szTmp, sizeof(szTmp), "");
     3145    rc = pHlp->pfnCFGMQueryStringDef(pCfg, "OutputDeviceID", szTmp, sizeof(szTmp), "");
    31453146    AssertMsgRCReturn(rc, ("Confguration error: Failed to read \"OutputDeviceID\" as string: rc=%Rrc\n", rc), rc);
    31463147    if (szTmp[0])
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