VirtualBox

Changeset 61417 in vbox for trunk/src/VBox/Devices/Audio


Ignore:
Timestamp:
Jun 2, 2016 4:16:21 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
107734
Message:

Audio/DevIchHda.cpp: Saved state fixes.

File:
1 edited

Legend:

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

    r61386 r61417  
    17511751}
    17521752
    1753 static int hdaStreamSetActive(PHDASTATE pThis, PHDASTREAM pStream, bool fActive)
     1753static bool hdaStreamIsActive(PHDASTATE pThis, PHDASTREAM pStream)
    17541754{
    17551755    AssertPtrReturn(pThis,   VERR_INVALID_POINTER);
    17561756    AssertPtrReturn(pStream, VERR_INVALID_POINTER);
    17571757
     1758    bool fActive = false;
     1759
     1760    AssertPtr(pStream->pMixSink);
     1761    if (pStream->pMixSink->pMixSink)
     1762        fActive = AudioMixerSinkHasData(pStream->pMixSink->pMixSink);
     1763
     1764    LogFlowFunc(("SD=%RU8, fActive=%RTbool\n", pStream->u8SD, fActive));
     1765    return fActive;
     1766}
     1767
     1768static int hdaStreamSetActive(PHDASTATE pThis, PHDASTREAM pStream, bool fActive)
     1769{
     1770    AssertPtrReturn(pThis,   VERR_INVALID_POINTER);
     1771    AssertPtrReturn(pStream, VERR_INVALID_POINTER);
     1772
     1773    if (!pStream->pMixSink) /* No mixer sink assigned? Bail out early. */
     1774    {
     1775        LogFlowFunc(("u8Strm=%RU8 has no mixer sink assigned\n", pStream->u8SD));
     1776        return VINF_SUCCESS;
     1777    }
     1778
    17581779    AUDMIXSINKCMD enmCmd = fActive
    17591780                         ? AUDMIXSINKCMD_ENABLE : AUDMIXSINKCMD_DISABLE;
    17601781
    17611782    /* First, enable or disable the stream's sink, if any. */
    1762     AssertPtr(pStream->pMixSink);
    17631783    if (pStream->pMixSink->pMixSink)
    17641784        AudioMixerSinkCtl(pStream->pMixSink->pMixSink, enmCmd);
     
    17831803
    17841804    LogFlowFunc(("u8Strm=%RU8, fActive=%RTbool, cStreamsActive=%RU8\n", pStream->u8SD, fActive, pThis->cStreamsActive));
    1785 
    17861805    return VINF_SUCCESS;
    17871806}
     
    39433962        Assert(uSD < HDA_MAX_STREAMS);
    39443963
    3945         PHDASTREAM pStream = hdaStreamFromSD(pThis, pSink->uSD);
     3964        PHDASTREAM pStream = hdaStreamFromSD(pThis, uSD);
    39463965        if (pStream)
    39473966        {
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