Changeset 73467 in vbox for trunk/include
- Timestamp:
- Aug 3, 2018 9:49:55 AM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 124094
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/pdmaudioifs.h
r73433 r73467 348 348 /** Size (in bytes) of the host backend's audio input stream structure. */ 349 349 size_t cbStreamIn; 350 /** Number of concurrent output streams supported on the host.350 /** Number of concurrent output (playback) streams supported on the host. 351 351 * UINT32_MAX for unlimited concurrent streams, 0 if no concurrent input streams are supported. */ 352 352 uint32_t cMaxStreamsOut; 353 /** Number of concurrent input streams supported on the host.353 /** Number of concurrent input (recording) streams supported on the host. 354 354 * UINT32_MAX for unlimited concurrent streams, 0 if no concurrent input streams are supported. */ 355 355 uint32_t cMaxStreamsIn; … … 953 953 954 954 /** 955 * Audio stream context.956 */957 typedef enum PDMAUDIOSTREAMCTX958 {959 /** No context set / invalid. */960 PDMAUDIOSTREAMCTX_UNKNOWN = 0,961 /** Host stream, connected to a backend. */962 PDMAUDIOSTREAMCTX_HOST,963 /** Guest stream, connected to the device emulation. */964 PDMAUDIOSTREAMCTX_GUEST,965 /** Hack to blow the type up to 32-bit. */966 PDMAUDIOSTREAMCTX_32BIT_HACK = 0x7fffffff967 } PDMAUDIOSTREAMCTX;968 969 /**970 955 * Structure for keeping audio input stream specifics. 971 956 * Do not use directly. Instead, use PDMAUDIOSTREAM. … … 1015 1000 } PDMAUDIOSTREAMOUT, *PPDMAUDIOSTREAMOUT; 1016 1001 1002 /** Pointer to an audio stream. */ 1017 1003 typedef struct PDMAUDIOSTREAM *PPDMAUDIOSTREAM; 1018 1004 1019 1005 /** 1020 * Structure for maintaining an nput/output audio stream. 1006 * Audio stream context. 1007 * Needed for separating data from the guest and host side (per stream). 1008 */ 1009 typedef struct PDMAUDIOSTREAMCTX 1010 { 1011 /** The stream's audio configuration. */ 1012 PDMAUDIOSTREAMCFG Cfg; 1013 /** This stream's mixing buffer. */ 1014 PDMAUDIOMIXBUF MixBuf; 1015 } PDMAUDIOSTREAMCTX; 1016 1017 /** Pointer to an audio stream context. */ 1018 typedef struct PDMAUDIOSTREAM *PPDMAUDIOSTREAMCTX; 1019 1020 /** 1021 * Structure for maintaining an input/output audio stream. 1021 1022 */ 1022 1023 typedef struct PDMAUDIOSTREAM … … 1024 1025 /** List node. */ 1025 1026 RTLISTNODE Node; 1026 /** Pointer to the other pair of this stream.1027 * This might be the host or guest side. */1028 PPDMAUDIOSTREAM pPair;1029 1027 /** Name of this stream. */ 1030 1028 char szName[64]; … … 1032 1030 * destroyed if the reference count is reaching 0. */ 1033 1031 uint32_t cRefs; 1034 /** The stream's audio configuration. */1035 PDMAUDIOSTREAMCFG Cfg;1036 1032 /** Stream status flag. */ 1037 1033 PDMAUDIOSTREAMSTS fStatus; 1038 /** This stream's mixing buffer. */1039 PDMAUDIOMIXBUF MixBuf;1040 1034 /** Audio direction of this stream. */ 1041 1035 PDMAUDIODIR enmDir; 1042 /** Context of this stream. */ 1043 PDMAUDIOSTREAMCTX enmCtx; 1036 /** The guest side of the stream. */ 1037 PDMAUDIOSTREAMCTX Guest; 1038 /** The host side of the stream. */ 1039 PDMAUDIOSTREAMCTX Host; 1040 /** Union for input/output specifics (based on enmDir). */ 1041 union 1042 { 1043 PDMAUDIOSTREAMIN In; 1044 PDMAUDIOSTREAMOUT Out; 1045 } RT_UNION_NM(u); 1044 1046 /** Timestamp (in ns) since last iteration. */ 1045 1047 uint64_t tsLastIteratedNs; … … 1054 1056 * data to actually start reading audio. */ 1055 1057 bool fThresholdReached; 1056 /** Union for input/output specifics. */1057 union1058 {1059 PDMAUDIOSTREAMIN In;1060 PDMAUDIOSTREAMOUT Out;1061 } RT_UNION_NM(u);1062 1058 /** Data to backend-specific stream data. 1063 1059 * This data block will be casted by the backend to access its backend-dependent data.
Note:
See TracChangeset
for help on using the changeset viewer.