VirtualBox

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


Ignore:
Timestamp:
Sep 15, 2016 9:42:45 AM (8 years ago)
Author:
vboxsync
Message:

Audio/AudioMixer.cpp: If the sink is running, make sure that an just added audio stream also is running (enabled).

File:
1 edited

Legend:

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

    r63844 r63845  
    476476        /** @todo Check if stream already is assigned to (another) sink. */
    477477
    478         /* Apply the sink's combined volume to the stream. */
    479         AssertPtr(pStream->pConn);
    480         rc = pStream->pConn->pfnStreamSetVolume(pStream->pConn, pStream->pStream, &pSink->VolumeCombined);
    481 
    482         /* Save pointer to sink the stream is attached to. */
    483         pStream->pSink = pSink;
    484 
    485         /* Append stream to sink's list. */
    486         RTListAppend(&pSink->lstStreams, &pStream->Node);
    487         pSink->cStreams++;
     478        /* If the sink is running, make sure that the added stream also is enabled. */
     479        if (pSink->fStatus & AUDMIXSINK_STS_RUNNING)
     480            rc = audioMixerStreamCtlInternal(pStream, PDMAUDIOSTREAMCMD_ENABLE, AUDMIXSTRMCTL_FLAG_NONE);
     481
     482        if (RT_SUCCESS(rc))
     483        {
     484            /* Apply the sink's combined volume to the stream. */
     485            rc = pStream->pConn->pfnStreamSetVolume(pStream->pConn, pStream->pStream, &pSink->VolumeCombined);
     486            AssertRC(rc);
     487        }
     488
     489        if (RT_SUCCESS(rc))
     490        {
     491            /* Save pointer to sink the stream is attached to. */
     492            pStream->pSink = pSink;
     493
     494            /* Append stream to sink's list. */
     495            RTListAppend(&pSink->lstStreams, &pStream->Node);
     496            pSink->cStreams++;
     497        }
    488498    }
    489499
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