VirtualBox

Changeset 87965 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Mar 4, 2021 11:43:30 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
143068
Message:

DevHDA: Use pStreamR3->State.Mapping.PCMProps instead of pStreamShared->State.Cfg.Prop for the guest facing side (gst:5.1 -> host:stereo). bugref:9890

File:
1 edited

Legend:

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

    r87964 r87965  
    530530            pStreamShared->State.cbTransferSize  = cbTransferHeuristics;
    531531            pStreamShared->State.cbTransferChunk = cbTransferHeuristics; /* no chunking */
    532             ASSERT_GUEST_LOGREL_MSG(DrvAudioHlpBytesIsAligned(cbTransferHeuristics, &pCfg->Props),
     532            ASSERT_GUEST_LOGREL_MSG(DrvAudioHlpBytesIsAligned(cbTransferHeuristics, &pStreamR3->State.Mapping.PCMProps),
    533533                                    ("We arrived at a misaligned transfer size for stream #%RU8: %#x (%u)\n",
    534534                                     uSD, cbTransferHeuristics, cbTransferHeuristics));
     
    536536            /* Convert to timer ticks. */
    537537            uint64_t const cTimerTicksPerSec = PDMDevHlpTimerGetFreq(pDevIns, pStreamShared->hTimer);
    538             uint64_t const cbTransferPerSec  = RT_MAX(pStreamShared->State.Cfg.Props.uHz * pStreamR3->State.Mapping.cbFrameSize,
     538            uint64_t const cbTransferPerSec  = RT_MAX(pStreamR3->State.Mapping.PCMProps.uHz * pStreamR3->State.Mapping.cbFrameSize,
    539539                                                      4096 /* zero div prevention: min is 6kHz, picked 4k in case I'm mistaken */);
     540
    540541            pStreamShared->State.cTicksPerByte = (cTimerTicksPerSec + cbTransferPerSec / 2) / cbTransferPerSec;
    541542            AssertStmt(pStreamShared->State.cTicksPerByte, pStreamShared->State.cTicksPerByte = 4096);
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