VirtualBox

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


Ignore:
Timestamp:
Feb 5, 2018 1:13:37 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
120690
Message:

Audio/DrvHostDSound.cpp: Compacted dsoundWaveFmtFromCfg().

File:
1 edited

Legend:

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

    r70841 r70864  
    265265    pFmt->wFormatTag      = WAVE_FORMAT_PCM;
    266266    pFmt->nChannels       = pCfg->Props.cChannels;
     267    pFmt->wBitsPerSample  = pCfg->Props.cBits;
    267268    pFmt->nSamplesPerSec  = pCfg->Props.uHz;
    268     pFmt->nAvgBytesPerSec = pCfg->Props.uHz << (pCfg->Props.cChannels == 2 ? 1: 0);
    269     pFmt->nBlockAlign     = 1 << (pCfg->Props.cChannels == 2 ? 1 : 0);
     269    pFmt->nBlockAlign     = pFmt->nChannels * pFmt->wBitsPerSample / 8;
     270    pFmt->nAvgBytesPerSec = pFmt->nSamplesPerSec * pFmt->nBlockAlign;
    270271    pFmt->cbSize          = 0; /* No extra data specified. */
    271 
    272     switch (pCfg->Props.cBits)
    273     {
    274         case 8:
    275             pFmt->wBitsPerSample = 8;
    276             break;
    277 
    278         case 16:
    279             pFmt->wBitsPerSample = 16;
    280             pFmt->nAvgBytesPerSec <<= 1;
    281             pFmt->nBlockAlign <<= 1;
    282             break;
    283 
    284         case 32:
    285             pFmt->wBitsPerSample = 32;
    286             pFmt->nAvgBytesPerSec <<= 2;
    287             pFmt->nBlockAlign <<= 2;
    288             break;
    289 
    290         default:
    291             AssertMsgFailed(("Wave format for %RU8 bits not supported\n", pCfg->Props.cBits));
    292             return VERR_NOT_SUPPORTED;
    293     }
    294272
    295273    return VINF_SUCCESS;
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