VirtualBox

Changeset 73241 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Jul 19, 2018 2:56:24 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
123846
Message:

Audio/PDM: Added (tweakable) parameters to the audio stream configuration and give the audio connector(s) a scheduling hint from the device emulation(s), if available.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/pdmaudioifs.h

    r73211 r73241  
    535535     *      The audio data will get handled as PDMAUDIOFRAME frames without any modification done. */
    536536    PDMAUDIOSTREAMLAYOUT     enmLayout;
    537     /** Hint about the optimal frame buffer size (in audio frames).
    538      *  0 if no hint is given. */
    539     uint32_t                 cFrameBufferHint;
     537    struct
     538    {
     539        /** Scheduling hint given from the device emulation about when this stream is being served on average.
     540         *  Can be 0 if not hint given or some other mechanism (e.g. callbacks) is being used. */
     541        uint32_t             uSchedulingHintMs;
     542    } Device;
     543    /**
     544     * Backend-specific data for the stream.
     545     * Set by the backend on return. Not all backends support all values / features.
     546     */
     547    struct
     548    {
     549        /** Period size of the stream (in audio frames).
     550         *  This value reflects the number of audio frames in between each hardware interrupt on the
     551         *  backend (host) side. 0 if not set / available by the backend. */
     552        uint32_t             cfPeriod;
     553        /** (Ring) buffer size (in audio frames). Often is a multiple of cfPeriod.
     554         *  0 if not set / available by the backend. */
     555        uint32_t             cfBufferSize;
     556        /** Pre-buffering size (in audio frames). Frames needed in buffer before the stream becomes active (pre buffering).
     557         *  The bigger this value is, the more latency for the stream will occur.
     558         *  0 if not set / available by the backend. */
     559        uint32_t             cfPreBuf;
     560    } Backend;
    540561} PDMAUDIOSTREAMCFG;
    541562AssertCompileSizeAlignment(PDMAUDIOPCMPROPS, 8);
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