VirtualBox

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


Ignore:
Timestamp:
Jun 15, 2021 11:34:15 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
145175
Message:

DevIchAc97: Some small code cleanups. bugref:9890

File:
1 edited

Legend:

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

    r89723 r89724  
    682682static uint16_t             ichac97MixerGet(PAC97STATE pThis, uint32_t uMixerIdx);
    683683#ifdef IN_RING3
    684 static void                 ichac97R3StreamLock(PAC97STREAMR3 pStreamCC);
    685 static void                 ichac97R3StreamUnlock(PAC97STREAMR3 pStreamCC);
    686 
     684DECLINLINE(void)            ichac97R3StreamLock(PAC97STREAMR3 pStreamCC);
     685DECLINLINE(void)            ichac97R3StreamUnlock(PAC97STREAMR3 pStreamCC);
    687686static void                 ichac97R3DbgPrintBdl(PPDMDEVINS pDevIns, PAC97STATE pThis, PAC97STREAM pStream,
    688687                                                 PCDBGFINFOHLP pHlp, const char *pszPrefix);
     
    17941793 * Adds a driver stream to a specific mixer sink.
    17951794 *
     1795 * Called by ichac97R3MixerAddDrvStreams() and ichac97R3MixerAddDrv().
     1796 *
    17961797 * @returns VBox status code.
    17971798 * @param   pDevIns     The device instance.
     
    18421843}
    18431844
     1845
    18441846/**
    18451847 * Adds all current driver streams to a specific mixer sink.
     1848 *
     1849 * Called by ichac97R3StreamOpen().
    18461850 *
    18471851 * @returns VBox status code.
     
    18811885}
    18821886
    1883 /**
    1884  * Adds a specific AC'97 driver to the driver chain.
    1885  *
    1886  * Only called from ichac97R3Attach().
    1887  *
    1888  * @returns VBox status code.
    1889  * @param   pDevIns     The device instance.
    1890  * @param   pThisCC     The ring-3 AC'97 device state.
    1891  * @param   pDrv        The AC'97 driver to add.
    1892  */
    1893 static int ichac97R3MixerAddDrv(PPDMDEVINS pDevIns, PAC97STATER3 pThisCC, PAC97DRIVER pDrv)
    1894 {
    1895     int rc = VINF_SUCCESS;
    1896 
    1897     if (AudioHlpStreamCfgIsValid(&pThisCC->aStreams[AC97SOUNDSOURCE_PI_INDEX].State.Cfg))
    1898         rc = ichac97R3MixerAddDrvStream(pDevIns, pThisCC->pSinkLineIn,
    1899                                         &pThisCC->aStreams[AC97SOUNDSOURCE_PI_INDEX].State.Cfg, pDrv);
    1900 
    1901     if (AudioHlpStreamCfgIsValid(&pThisCC->aStreams[AC97SOUNDSOURCE_PO_INDEX].State.Cfg))
    1902     {
    1903         int rc2 = ichac97R3MixerAddDrvStream(pDevIns, pThisCC->pSinkOut,
    1904                                              &pThisCC->aStreams[AC97SOUNDSOURCE_PO_INDEX].State.Cfg, pDrv);
    1905         if (RT_SUCCESS(rc))
    1906             rc = rc2;
    1907     }
    1908 
    1909     if (AudioHlpStreamCfgIsValid(&pThisCC->aStreams[AC97SOUNDSOURCE_MC_INDEX].State.Cfg))
    1910     {
    1911         int rc2 = ichac97R3MixerAddDrvStream(pDevIns, pThisCC->pSinkMicIn,
    1912                                              &pThisCC->aStreams[AC97SOUNDSOURCE_MC_INDEX].State.Cfg, pDrv);
    1913         if (RT_SUCCESS(rc))
    1914             rc = rc2;
    1915     }
    1916 
    1917     return rc;
    1918 }
    1919 
    1920 /**
    1921  * Removes a specific AC'97 driver from the driver chain and destroys its
    1922  * associated streams.
    1923  *
    1924  * Only called from ichac97R3Detach().
    1925  *
    1926  * @param   pDevIns     The device instance.
    1927  * @param   pThisCC     The ring-3 AC'97 device state.
    1928  * @param   pDrv        AC'97 driver to remove.
    1929  */
    1930 static void ichac97R3MixerRemoveDrv(PPDMDEVINS pDevIns, PAC97STATER3 pThisCC, PAC97DRIVER pDrv)
    1931 {
    1932     if (pDrv->MicIn.pMixStrm)
    1933     {
    1934         AudioMixerSinkRemoveStream(pThisCC->pSinkMicIn,  pDrv->MicIn.pMixStrm);
    1935         AudioMixerStreamDestroy(pDrv->MicIn.pMixStrm, pDevIns, true /*fImmediate*/);
    1936         pDrv->MicIn.pMixStrm = NULL;
    1937     }
    1938 
    1939     if (pDrv->LineIn.pMixStrm)
    1940     {
    1941         AudioMixerSinkRemoveStream(pThisCC->pSinkLineIn, pDrv->LineIn.pMixStrm);
    1942         AudioMixerStreamDestroy(pDrv->LineIn.pMixStrm, pDevIns, true /*fImmediate*/);
    1943         pDrv->LineIn.pMixStrm = NULL;
    1944     }
    1945 
    1946     if (pDrv->Out.pMixStrm)
    1947     {
    1948         AudioMixerSinkRemoveStream(pThisCC->pSinkOut,    pDrv->Out.pMixStrm);
    1949         AudioMixerStreamDestroy(pDrv->Out.pMixStrm, pDevIns, true /*fImmediate*/);
    1950         pDrv->Out.pMixStrm = NULL;
    1951     }
    1952 
    1953     RTListNodeRemove(&pDrv->Node);
    1954 }
    19551887
    19561888/**
    19571889 * Removes a driver stream from a specific mixer sink.
     1890 *
     1891 * Worker for ichac97R3MixerRemoveDrvStreams.
    19581892 *
    19591893 * @param   pDevIns     The device instance.
     
    19811915/**
    19821916 * Removes all driver streams from a specific mixer sink.
     1917 *
     1918 * Called by ichac97R3StreamOpen() and ichac97R3StreamsDestroy().
    19831919 *
    19841920 * @param   pDevIns     The device instance.
     
    40213957
    40223958/**
     3959 * Adds a specific AC'97 driver to the driver chain.
     3960 *
     3961 * Only called from ichac97R3Attach().
     3962 *
     3963 * @returns VBox status code.
     3964 * @param   pDevIns     The device instance.
     3965 * @param   pThisCC     The ring-3 AC'97 device state.
     3966 * @param   pDrv        The AC'97 driver to add.
     3967 */
     3968static int ichac97R3MixerAddDrv(PPDMDEVINS pDevIns, PAC97STATER3 pThisCC, PAC97DRIVER pDrv)
     3969{
     3970    int rc = VINF_SUCCESS;
     3971
     3972    if (AudioHlpStreamCfgIsValid(&pThisCC->aStreams[AC97SOUNDSOURCE_PI_INDEX].State.Cfg))
     3973        rc = ichac97R3MixerAddDrvStream(pDevIns, pThisCC->pSinkLineIn,
     3974                                        &pThisCC->aStreams[AC97SOUNDSOURCE_PI_INDEX].State.Cfg, pDrv);
     3975
     3976    if (AudioHlpStreamCfgIsValid(&pThisCC->aStreams[AC97SOUNDSOURCE_PO_INDEX].State.Cfg))
     3977    {
     3978        int rc2 = ichac97R3MixerAddDrvStream(pDevIns, pThisCC->pSinkOut,
     3979                                             &pThisCC->aStreams[AC97SOUNDSOURCE_PO_INDEX].State.Cfg, pDrv);
     3980        if (RT_SUCCESS(rc))
     3981            rc = rc2;
     3982    }
     3983
     3984    if (AudioHlpStreamCfgIsValid(&pThisCC->aStreams[AC97SOUNDSOURCE_MC_INDEX].State.Cfg))
     3985    {
     3986        int rc2 = ichac97R3MixerAddDrvStream(pDevIns, pThisCC->pSinkMicIn,
     3987                                             &pThisCC->aStreams[AC97SOUNDSOURCE_MC_INDEX].State.Cfg, pDrv);
     3988        if (RT_SUCCESS(rc))
     3989            rc = rc2;
     3990    }
     3991
     3992    return rc;
     3993}
     3994
     3995
     3996/**
    40233997 * Worker for ichac97R3Construct() and ichac97R3Attach().
    40243998 *
     
    41054079
    41064080    return rc;
     4081}
     4082
     4083
     4084/**
     4085 * Removes a specific AC'97 driver from the driver chain and destroys its
     4086 * associated streams.
     4087 *
     4088 * Only called from ichac97R3Detach().
     4089 *
     4090 * @param   pDevIns     The device instance.
     4091 * @param   pThisCC     The ring-3 AC'97 device state.
     4092 * @param   pDrv        AC'97 driver to remove.
     4093 */
     4094static void ichac97R3MixerRemoveDrv(PPDMDEVINS pDevIns, PAC97STATER3 pThisCC, PAC97DRIVER pDrv)
     4095{
     4096    if (pDrv->MicIn.pMixStrm)
     4097    {
     4098        AudioMixerSinkRemoveStream(pThisCC->pSinkMicIn,  pDrv->MicIn.pMixStrm);
     4099        AudioMixerStreamDestroy(pDrv->MicIn.pMixStrm, pDevIns, true /*fImmediate*/);
     4100        pDrv->MicIn.pMixStrm = NULL;
     4101    }
     4102
     4103    if (pDrv->LineIn.pMixStrm)
     4104    {
     4105        AudioMixerSinkRemoveStream(pThisCC->pSinkLineIn, pDrv->LineIn.pMixStrm);
     4106        AudioMixerStreamDestroy(pDrv->LineIn.pMixStrm, pDevIns, true /*fImmediate*/);
     4107        pDrv->LineIn.pMixStrm = NULL;
     4108    }
     4109
     4110    if (pDrv->Out.pMixStrm)
     4111    {
     4112        AudioMixerSinkRemoveStream(pThisCC->pSinkOut,    pDrv->Out.pMixStrm);
     4113        AudioMixerStreamDestroy(pDrv->Out.pMixStrm, pDevIns, true /*fImmediate*/);
     4114        pDrv->Out.pMixStrm = NULL;
     4115    }
     4116
     4117    RTListNodeRemove(&pDrv->Node);
    41074118}
    41084119
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