VirtualBox

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


Ignore:
Timestamp:
May 24, 2016 6:12:08 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
107463
Message:

Audio: Bugfixes.

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

Legend:

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

    r61167 r61177  
    392392    AssertRCReturn(rc, rc);
    393393
     394    /* Apply the sink's direction for the configuration to use to
     395     * create the stream. */
     396    if (pSink->enmDir == AUDMIXSINKDIR_INPUT)
     397    {
     398        CfgSink.DestSource.Source = PDMAUDIORECSOURCE_UNKNOWN;
     399        CfgSink.enmDir            = PDMAUDIODIR_IN;
     400    }
     401    else
     402    {
     403        CfgSink.DestSource.Dest = PDMAUDIOPLAYBACKDEST_UNKNOWN;
     404        CfgSink.enmDir          = PDMAUDIODIR_OUT;
     405    }
     406
    394407    /* Always use the sink's PCM audio format as the host side when creating a stream for it. */
    395408    PPDMAUDIOSTREAM pStream;
     
    968981bool AudioMixerStreamIsActive(PAUDMIXSTREAM pMixStream)
    969982{
     983    if (   !pMixStream
     984        && !pMixStream->pConn)
     985    {
     986        return false;
     987    }
     988
     989    bool fIsActive =
     990        (pMixStream->pConn->pfnStreamGetStatus(pMixStream->pConn, pMixStream->pStream) & PDMAUDIOSTRMSTS_FLAG_ENABLED);
     991
     992    return fIsActive;
     993}
     994
     995bool AudioMixerStreamIsValid(PAUDMIXSTREAM pMixStream)
     996{
    970997    if (!pMixStream)
    971998        return false;
    972999
    973     return (pMixStream->pConn->pfnStreamGetStatus(pMixStream->pConn, pMixStream->pStream) & PDMAUDIOSTRMSTS_FLAG_ENABLED);
    974 }
    975 
    976 bool AudioMixerStreamIsValid(PAUDMIXSTREAM pMixStream)
    977 {
    978     if (!pMixStream)
    979         return false;
    980 
    9811000    uint32_t fStatus = pMixStream->pConn->pfnStreamGetStatus(pMixStream->pConn, pMixStream->pStream);
    9821001
  • trunk/src/VBox/Devices/Audio/DrvAudio.cpp

    r61167 r61177  
    14971497        /* Make sure that both configurations actually intend the same thing. */
    14981498        if (pCfgHost->enmDir != pCfgGuest->enmDir)
     1499        {
     1500            AssertMsgFailed(("Stream configuration directions do not match\n"));
    14991501            RC_BREAK(VERR_INVALID_PARAMETER);
     1502        }
    15001503
    15011504        /* Note: cbHstStrm will contain sizeof(PDMAUDIOSTREAM) + additional data
     
    16101613    if (RT_FAILURE(rc))
    16111614    {
    1612         if (pHstStrm->enmCtx == PDMAUDIOSTREAMCTX_HOST)
     1615        if (   pHstStrm
     1616            && pHstStrm->enmCtx == PDMAUDIOSTREAMCTX_HOST)
    16131617        {
    16141618            if (pHstStrm->fStatus & PDMAUDIOSTRMSTS_FLAG_INITIALIZED)
  • trunk/src/VBox/Devices/Audio/DrvAudioCommon.cpp

    r61168 r61177  
    174174    switch (enmRecSrc)
    175175    {
    176         case PDMAUDIORECSOURCE_MIC:   return "Microphone In";
    177         case PDMAUDIORECSOURCE_CD:    return "CD";
    178         case PDMAUDIORECSOURCE_VIDEO: return "Video";
    179         case PDMAUDIORECSOURCE_AUX:   return "AUX";
    180         case PDMAUDIORECSOURCE_LINE:  return "Line In";
    181         case PDMAUDIORECSOURCE_PHONE: return "Phone";
     176        case PDMAUDIORECSOURCE_UNKNOWN: return "Unknown";
     177        case PDMAUDIORECSOURCE_MIC:     return "Microphone In";
     178        case PDMAUDIORECSOURCE_CD:      return "CD";
     179        case PDMAUDIORECSOURCE_VIDEO:   return "Video";
     180        case PDMAUDIORECSOURCE_AUX:     return "AUX";
     181        case PDMAUDIORECSOURCE_LINE:    return "Line In";
     182        case PDMAUDIORECSOURCE_PHONE:   return "Phone";
    182183        default:
    183184            break;
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