VirtualBox

Changeset 82566 in vbox


Ignore:
Timestamp:
Dec 12, 2019 9:13:08 AM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
135440
Message:

Audio/HDA: Forward-ported / integrated r135420 (5.2: Audio/HDA: Skip the current DMA chunk if the chunk is smaller than what the current stream mapping needs to read the next associated frame). bugref:9624

File:
1 edited

Legend:

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

    r82452 r82566  
    11321132                                  m, cbDMA, cbFrame, pMap->offNext));
    11331133
     1134
     1135                        /* Skip the current DMA chunk if the chunk is smaller than what the current stream mapping needs to read
     1136                         * the next associated frame (pointed to at pMap->cbOff).
     1137                         *
     1138                         * This can happen if the guest did not come up with enough data within a certain time period, especially
     1139                         * when using multi-channel speaker (> 2 channels [stereo]) setups. */
     1140                        if (pMap->offNext > cbChunk)
     1141                        {
     1142                            Log2Func(("Mapping #%u: Skipped (cbChunk=%RU32, cbMapOff=%RU32)\n", m, cbChunk, pMap->offNext));
     1143                            continue;
     1144                        }
     1145
    11341146                        uint8_t *pbSrcBuf = abChunk;
    11351147                        size_t cbSrcOff   = pMap->offNext;
    1136                         Assert(cbChunk >= cbSrcOff);
    11371148
    11381149                        for (unsigned i = 0; i < cbDMA / cbFrame; i++)
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