VirtualBox

Ignore:
Timestamp:
Mar 12, 2021 8:41:05 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
143255
Message:

Audio,DevHDA: Made PDMAUDIOPCMPROPS_F2B and PDMAUDIOPCMPROPS_B2F work for 5.1 and other frame sizes that aren't a power of two. Rewrote hdaR3StreamDoDmaOutput. Mapping is now done using converter functions rather than the complexity in hdaR3StreamTransfer. Probably fixes some recent goofs in the DMA period heuristics for non-stereo guest streams, I've renamed the members to make it clear what's what. bugref:9890

File:
1 edited

Legend:

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

    r88094 r88112  
    132132     *  Can be 0 if no next transfer is scheduled. */
    133133    uint64_t                tsTransferNext;
    134     /** Total transfer size (in bytes) of a transfer period. */
     134    /** Total transfer size (in bytes) of a transfer period.
     135     * @note This is in host side frames, in case we're doing any mapping. */
    135136    uint32_t                cbTransferSize;
    136     /** Transfer chunk size (in bytes) of a transfer period. */
     137    /** Unused, same as cbTransferSize. */
    137138    uint32_t                cbTransferChunk;
    138139    /** How many interrupts are pending due to
     
    157158    /** The stream's period. Need for timing. */
    158159    HDASTREAMPERIOD         Period;
    159     /** The stream's current configuration.
    160      *  Should match SDFMT. */
     160    /** The stream's current host side configuration.
     161     * This should match the SDnFMT in all respects but maybe the channel count as
     162     * we may need to expand mono or into/from into stereo.  The unmodified SDnFMT
     163     * properties can be found in HDASTREAMR3::Mapping::PCMProps. */
    161164    PDMAUDIOSTREAMCFG       Cfg;
    162165    /** Timestamp (real time, in ns) of last DMA transfer. */
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