VirtualBox

Changeset 89810 in vbox for trunk/src/VBox/Devices


Ignore:
Timestamp:
Jun 21, 2021 9:06:38 AM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
145267
Message:

Audio: Eliminated some unnecessary stream config copying in the device code. bugref:9890

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

Legend:

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

    r89801 r89810  
    22262226 * @param   ppStream    Pointer which receives the newly created audio stream.
    22272227 */
    2228 int AudioMixerSinkCreateStream(PAUDMIXSINK pSink, PPDMIAUDIOCONNECTOR pConn, PPDMAUDIOSTREAMCFG pCfg,
     2228int AudioMixerSinkCreateStream(PAUDMIXSINK pSink, PPDMIAUDIOCONNECTOR pConn, PCPDMAUDIOSTREAMCFG pCfg,
    22292229                               PPDMDEVINS pDevIns, PAUDMIXSTREAM *ppStream)
    22302230{
  • trunk/src/VBox/Devices/Audio/AudioMixer.h

    r89800 r89810  
    322322int         AudioMixerSinkUnlock(PAUDMIXSINK pSink);
    323323
    324 int         AudioMixerSinkCreateStream(PAUDMIXSINK pSink, PPDMIAUDIOCONNECTOR pConnector, PPDMAUDIOSTREAMCFG pCfg,
     324int         AudioMixerSinkCreateStream(PAUDMIXSINK pSink, PPDMIAUDIOCONNECTOR pConnector, PCPDMAUDIOSTREAMCFG pCfg,
    325325                                       PPDMDEVINS pDevIns, PAUDMIXSTREAM *ppStream);
    326326int         AudioMixerSinkAddStream(PAUDMIXSINK pSink, PAUDMIXSTREAM pStream);
  • trunk/src/VBox/Devices/Audio/DevHda.cpp

    r89779 r89810  
    358358 */
    359359#ifdef IN_RING3
    360 static int hdaR3MixerAddDrvStream(PPDMDEVINS pDevIns, PAUDMIXSINK pMixSink, PPDMAUDIOSTREAMCFG pCfg, PHDADRIVER pDrv);
     360static int hdaR3MixerAddDrvStream(PPDMDEVINS pDevIns, PAUDMIXSINK pMixSink, PCPDMAUDIOSTREAMCFG pCfg, PHDADRIVER pDrv);
    361361#endif
    362362/** @} */
     
    22522252 * @param   pDrv        Driver stream to add.
    22532253 */
    2254 static int hdaR3MixerAddDrvStream(PPDMDEVINS pDevIns, PAUDMIXSINK pMixSink, PPDMAUDIOSTREAMCFG pCfg, PHDADRIVER pDrv)
     2254static int hdaR3MixerAddDrvStream(PPDMDEVINS pDevIns, PAUDMIXSINK pMixSink, PCPDMAUDIOSTREAMCFG pCfg, PHDADRIVER pDrv)
    22552255{
    22562256    AssertPtrReturn(pMixSink, VERR_INVALID_POINTER);
     
    23052305        AssertFailedReturn(VERR_NOT_SUPPORTED);
    23062306
    2307     PDMAUDIOSTREAMCFG StreamCfg; /** @todo r=bird: Why do we need to copy this? (We used to duplicate it originally.) */
    2308     PDMAudioStrmCfgCopy(&StreamCfg, pCfg);
    2309 
    2310     LogFunc(("[LUN#%RU8] %s\n", pDrv->uLUN, StreamCfg.szName));
     2307    LogFunc(("[LUN#%RU8] %s\n", pDrv->uLUN, pCfg->szName));
    23112308
    23122309    AssertPtr(pDrvStream);
     
    23142311
    23152312    PAUDMIXSTREAM pMixStrm = NULL;
    2316     int rc = AudioMixerSinkCreateStream(pMixSink, pDrv->pConnector, &StreamCfg, pDevIns, &pMixStrm);
    2317     LogFlowFunc(("LUN#%RU8: Created stream \"%s\" for sink, rc=%Rrc\n", pDrv->uLUN, StreamCfg.szName, rc));
     2313    int rc = AudioMixerSinkCreateStream(pMixSink, pDrv->pConnector, pCfg, pDevIns, &pMixStrm);
     2314    LogFlowFunc(("LUN#%RU8: Created stream \"%s\" for sink, rc=%Rrc\n", pDrv->uLUN, pCfg->szName, rc));
    23182315    if (RT_SUCCESS(rc))
    23192316    {
    23202317        rc = AudioMixerSinkAddStream(pMixSink, pMixStrm);
    2321         LogFlowFunc(("LUN#%RU8: Added stream \"%s\" to sink, rc=%Rrc\n", pDrv->uLUN, StreamCfg.szName, rc));
     2318        LogFlowFunc(("LUN#%RU8: Added stream \"%s\" to sink, rc=%Rrc\n", pDrv->uLUN, pCfg->szName, rc));
    23222319        if (RT_FAILURE(rc))
    23232320            AudioMixerStreamDestroy(pMixStrm, pDevIns, true /*fImmediate*/);
     
    23412338 *                      to add.
    23422339 */
    2343 static int hdaR3MixerAddDrvStreams(PPDMDEVINS pDevIns, PHDASTATER3 pThisCC, PAUDMIXSINK pMixSink, PPDMAUDIOSTREAMCFG pCfg)
     2340static int hdaR3MixerAddDrvStreams(PPDMDEVINS pDevIns, PHDASTATER3 pThisCC, PAUDMIXSINK pMixSink, PCPDMAUDIOSTREAMCFG pCfg)
    23442341{
    23452342    AssertPtrReturn(pMixSink, VERR_INVALID_POINTER);
     
    23732370 * @interface_method_impl{HDACODECR3,pfnCbMixerAddStream}
    23742371 */
    2375 static DECLCALLBACK(int) hdaR3MixerAddStream(PPDMDEVINS pDevIns, PDMAUDIOMIXERCTL enmMixerCtl, PPDMAUDIOSTREAMCFG pCfg)
     2372static DECLCALLBACK(int) hdaR3MixerAddStream(PPDMDEVINS pDevIns, PDMAUDIOMIXERCTL enmMixerCtl, PCPDMAUDIOSTREAMCFG pCfg)
    23762373{
    23772374    PHDASTATER3 pThisCC = PDMDEVINS_2_DATA_CC(pDevIns, PHDASTATER3);
    23782375    AssertPtrReturn(pCfg,  VERR_INVALID_POINTER);
     2376
    23792377    int rc;
    2380 
    23812378    PHDAMIXERSINK pSink = hdaR3MixerControlToSink(pThisCC, enmMixerCtl);
    23822379    if (pSink)
  • trunk/src/VBox/Devices/Audio/DevHdaCodec.h

    r89213 r89810  
    916916     * @param   pCfg                Stream configuration for the new stream.
    917917     */
    918     DECLR3CALLBACKMEMBER(int,  pfnCbMixerAddStream, (PPDMDEVINS pDevIns, PDMAUDIOMIXERCTL enmMixerCtl, PPDMAUDIOSTREAMCFG pCfg));
     918    DECLR3CALLBACKMEMBER(int,  pfnCbMixerAddStream, (PPDMDEVINS pDevIns, PDMAUDIOMIXERCTL enmMixerCtl, PCPDMAUDIOSTREAMCFG pCfg));
    919919    /**
    920920     * Removes a specified mixer control from the HDA's mixer.
  • trunk/src/VBox/Devices/Audio/DevIchAc97.cpp

    r89787 r89810  
    17791779 * @param   pDrv        Driver stream to add.
    17801780 */
    1781 static int ichac97R3MixerAddDrvStream(PPDMDEVINS pDevIns, PAUDMIXSINK pMixSink, PPDMAUDIOSTREAMCFG pCfg, PAC97DRIVER pDrv)
     1781static int ichac97R3MixerAddDrvStream(PPDMDEVINS pDevIns, PAUDMIXSINK pMixSink, PCPDMAUDIOSTREAMCFG pCfg, PAC97DRIVER pDrv)
    17821782{
    17831783    AssertPtrReturn(pMixSink, VERR_INVALID_POINTER);
    1784 
    1785     PPDMAUDIOSTREAMCFG pStreamCfg = PDMAudioStrmCfgDup(pCfg); /** @todo r=bird: This seems kind of pointless... */
    1786     if (!pStreamCfg)
    1787         return VERR_NO_MEMORY;
    1788 
    1789     AssertCompile(sizeof(pStreamCfg->szName) == sizeof(pCfg->szName));
    1790     RTStrCopy(pStreamCfg->szName, sizeof(pStreamCfg->szName), pCfg->szName);
    1791 
    1792     LogFunc(("[LUN#%RU8] %s\n", pDrv->uLUN, pStreamCfg->szName));
     1784    LogFunc(("[LUN#%RU8] %s\n", pDrv->uLUN, pCfg->szName));
    17931785
    17941786    int rc;
    1795 
    1796     PAC97DRIVERSTREAM pDrvStream = ichac97R3MixerGetDrvStream(pDrv, pStreamCfg->enmDir, pStreamCfg->enmPath);
     1787    PAC97DRIVERSTREAM pDrvStream = ichac97R3MixerGetDrvStream(pDrv, pCfg->enmDir, pCfg->enmPath);
    17971788    if (pDrvStream)
    17981789    {
     
    18001791
    18011792        PAUDMIXSTREAM pMixStrm;
    1802         rc = AudioMixerSinkCreateStream(pMixSink, pDrv->pConnector, pStreamCfg, pDevIns, &pMixStrm);
    1803         LogFlowFunc(("LUN#%RU8: Created stream \"%s\" for sink, rc=%Rrc\n", pDrv->uLUN, pStreamCfg->szName, rc));
     1793        rc = AudioMixerSinkCreateStream(pMixSink, pDrv->pConnector, pCfg, pDevIns, &pMixStrm);
     1794        LogFlowFunc(("LUN#%RU8: Created stream \"%s\" for sink, rc=%Rrc\n", pDrv->uLUN, pCfg->szName, rc));
    18041795        if (RT_SUCCESS(rc))
    18051796        {
    18061797            rc = AudioMixerSinkAddStream(pMixSink, pMixStrm);
    1807             LogFlowFunc(("LUN#%RU8: Added stream \"%s\" to sink, rc=%Rrc\n", pDrv->uLUN, pStreamCfg->szName, rc));
     1798            LogFlowFunc(("LUN#%RU8: Added stream \"%s\" to sink, rc=%Rrc\n", pDrv->uLUN, pCfg->szName, rc));
    18081799            if (RT_SUCCESS(rc))
    18091800                pDrvStream->pMixStrm = pMixStrm;
     
    18151806        rc = VERR_INVALID_PARAMETER;
    18161807
    1817     PDMAudioStrmCfgFree(pStreamCfg);
    1818 
    18191808    LogFlowFuncLeaveRC(rc);
    18201809    return rc;
     
    18331822 * @param   pCfg        Stream configuration to use.
    18341823 */
    1835 static int ichac97R3MixerAddDrvStreams(PPDMDEVINS pDevIns, PAC97STATER3 pThisCC, PAUDMIXSINK pMixSink, PPDMAUDIOSTREAMCFG pCfg)
     1824static int ichac97R3MixerAddDrvStreams(PPDMDEVINS pDevIns, PAC97STATER3 pThisCC, PAUDMIXSINK pMixSink, PCPDMAUDIOSTREAMCFG pCfg)
    18361825{
    18371826    AssertPtrReturn(pMixSink, VERR_INVALID_POINTER);
  • trunk/src/VBox/Devices/Audio/DevSB16.cpp

    r89779 r89810  
    17401740 * @param   pDrv        Driver stream to add.
    17411741 */
    1742 static int sb16AddDrvStream(PPDMDEVINS pDevIns, PAUDMIXSINK pMixSink, PPDMAUDIOSTREAMCFG pCfg, PSB16DRIVER pDrv)
     1742static int sb16AddDrvStream(PPDMDEVINS pDevIns, PAUDMIXSINK pMixSink, PCPDMAUDIOSTREAMCFG pCfg, PSB16DRIVER pDrv)
    17431743{
    17441744    AssertReturn(pCfg->enmDir == PDMAUDIODIR_OUT, VERR_NOT_IMPLEMENTED); /* We don't support recording for SB16 so far. */
    1745 
    1746     PPDMAUDIOSTREAMCFG pStreamCfg = PDMAudioStrmCfgDup(pCfg);
    1747     if (!pStreamCfg)
    1748         return VERR_NO_MEMORY;
    1749 
    1750     AssertCompile(sizeof(pStreamCfg->szName) == sizeof(pCfg->szName));
    1751     RTStrCopy(pStreamCfg->szName, sizeof(pStreamCfg->szName), pCfg->szName);
    1752 
    1753     LogFunc(("[LUN#%RU8] %s\n", pDrv->uLUN, pStreamCfg->szName));
     1745    LogFunc(("[LUN#%RU8] %s\n", pDrv->uLUN, pCfg->szName));
    17541746
    17551747    int rc;
    1756 
    1757     PSB16DRIVERSTREAM pDrvStream = sb16GetDrvStream(pDrv, pStreamCfg->enmDir, pStreamCfg->enmPath);
     1748    PSB16DRIVERSTREAM pDrvStream = sb16GetDrvStream(pDrv, pCfg->enmDir, pCfg->enmPath);
    17581749    if (pDrvStream)
    17591750    {
     
    17611752
    17621753        PAUDMIXSTREAM pMixStrm;
    1763         rc = AudioMixerSinkCreateStream(pMixSink, pDrv->pConnector, pStreamCfg, pDevIns, &pMixStrm);
    1764         LogFlowFunc(("LUN#%RU8: Created stream \"%s\" for sink, rc=%Rrc\n", pDrv->uLUN, pStreamCfg->szName, rc));
     1754        rc = AudioMixerSinkCreateStream(pMixSink, pDrv->pConnector, pCfg, pDevIns, &pMixStrm);
     1755        LogFlowFunc(("LUN#%RU8: Created stream \"%s\" for sink, rc=%Rrc\n", pDrv->uLUN, pCfg->szName, rc));
    17651756        if (RT_SUCCESS(rc))
    17661757        {
    17671758            rc = AudioMixerSinkAddStream(pMixSink, pMixStrm);
    1768             LogFlowFunc(("LUN#%RU8: Added stream \"%s\" to sink, rc=%Rrc\n", pDrv->uLUN, pStreamCfg->szName, rc));
     1759            LogFlowFunc(("LUN#%RU8: Added stream \"%s\" to sink, rc=%Rrc\n", pDrv->uLUN, pCfg->szName, rc));
    17691760            if (RT_SUCCESS(rc))
    17701761                pDrvStream->pMixStrm = pMixStrm;
     
    17751766    else
    17761767        rc = VERR_INVALID_PARAMETER;
    1777 
    1778     PDMAudioStrmCfgFree(pStreamCfg);
    17791768
    17801769    LogFlowFuncLeaveRC(rc);
     
    17911780 * @param   pCfg        Stream configuration to use.
    17921781 */
    1793 static int sb16AddDrvStreams(PPDMDEVINS pDevIns, PSB16STATE pThis, PAUDMIXSINK pMixSink, PPDMAUDIOSTREAMCFG pCfg)
     1782static int sb16AddDrvStreams(PPDMDEVINS pDevIns, PSB16STATE pThis, PAUDMIXSINK pMixSink, PCPDMAUDIOSTREAMCFG pCfg)
    17941783{
    17951784    AssertPtrReturn(pMixSink, VERR_INVALID_POINTER);
Note: See TracChangeset for help on using the changeset viewer.

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