Changeset 89379 in vbox for trunk/include
- Timestamp:
- May 30, 2021 2:33:49 PM (4 years ago)
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/pdmaudioifs.h
r89372 r89379 503 503 504 504 /** 505 * Audio stream (data) layout.506 */507 typedef enum PDMAUDIOSTREAMLAYOUT508 {509 /** Invalid zero value as per usual (guards against using unintialized values). */510 PDMAUDIOSTREAMLAYOUT_INVALID = 0,511 /** Unknown access type; do not use (hdaR3StreamMapReset uses it). */512 PDMAUDIOSTREAMLAYOUT_UNKNOWN,513 /** Non-interleaved access, that is, consecutive access to the data.514 * @todo r=bird: For plain stereo this is actually interleaves left/right. What515 * I guess non-interleaved means, is that there are no additional516 * information interleaved next to the interleaved stereo.517 * https://stackoverflow.com/questions/17879933/whats-the-interleaved-audio */518 PDMAUDIOSTREAMLAYOUT_NON_INTERLEAVED,519 /** Interleaved access, where the data can be mixed together with data of other audio streams. */520 PDMAUDIOSTREAMLAYOUT_INTERLEAVED,521 /** Complex layout, which does not fit into the interleaved / non-interleaved layouts. */522 PDMAUDIOSTREAMLAYOUT_COMPLEX,523 /** Raw (pass through) data, with no data layout processing done.524 *525 * This means that this stream will operate on PDMAUDIOFRAME data526 * directly. Don't use this if you don't have to.527 *528 * @deprecated Replaced by S64 (signed, 64-bit sample size). */529 PDMAUDIOSTREAMLAYOUT_RAW,530 /** End of valid values. */531 PDMAUDIOSTREAMLAYOUT_END,532 /** Hack to blow the type up to 32-bit. */533 PDMAUDIOSTREAMLAYOUT_32BIT_HACK = 0x7fffffff534 } PDMAUDIOSTREAMLAYOUT;535 536 /**537 505 * Stream channel data block. 538 506 */ … … 718 686 /** The stream's PCM properties. */ 719 687 PDMAUDIOPCMPROPS Props; 720 /** The stream's audio data layout.721 * This indicates how the audio data buffers to/from the backend is being layouted.722 *723 * Currently, the following layouts are supported by the audio connector:724 *725 * PDMAUDIOSTREAMLAYOUT_NON_INTERLEAVED:726 * One stream at once. The consecutive audio data is exactly in the format and frame width727 * like defined in the PCM properties. This is the default.728 *729 * PDMAUDIOSTREAMLAYOUT_RAW:730 * Can be one or many streams at once, depending on the stream's mixing buffer setup.731 * The audio data will get handled as PDMAUDIOFRAME frames without any modification done.732 *733 * @todo r=bird: See PDMAUDIOSTREAMLAYOUT comments. */734 PDMAUDIOSTREAMLAYOUT enmLayout;735 688 /** Device emulation-specific data needed for the audio connector. */ 736 689 struct … … 760 713 uint32_t cFramesPreBuffering; 761 714 } Backend; 762 uint32_t u32Padding;763 715 /** Friendly name of the stream. */ 764 716 char szName[64]; … … 1185 1137 1186 1138 /** PDMIAUDIOCONNECTOR interface ID. */ 1187 #define PDMIAUDIOCONNECTOR_IID " 36fee65e-cbb3-4bb7-a028-e88e6acc1c46"1139 #define PDMIAUDIOCONNECTOR_IID "ae82616d-0da7-489a-aa4c-3e74d112ca9c" 1188 1140 1189 1141 … … 1479 1431 1480 1432 /** PDMIHOSTAUDIO interface ID. */ 1481 #define PDMIHOSTAUDIO_IID " da3c9d33-e532-415b-9156-db31521f59ef"1433 #define PDMIHOSTAUDIO_IID "b942d1cd-ffbf-490b-a296-74f30884bbd6" 1482 1434 1483 1435 … … 1564 1516 1565 1517 /** PDMIHOSTAUDIOPORT interface ID. */ 1566 #define PDMIHOSTAUDIOPORT_IID " 9f91ec59-95ba-4925-92dc-e75be1c63352"1518 #define PDMIHOSTAUDIOPORT_IID "d42144e9-867e-4d1c-86d4-acb92b47f013" 1567 1519 1568 1520 /** @} */ -
trunk/include/VBox/vmm/pdmaudioinline.h
r89342 r89379 946 946 return pCfg1->enmDir == pCfg2->enmDir 947 947 && pCfg1->enmPath == pCfg2->enmPath 948 && pCfg1->enmLayout == pCfg2->enmLayout949 948 && pCfg1->Device.cMsSchedulingHint == pCfg2->Device.cMsSchedulingHint 950 949 && pCfg1->Backend.cFramesPeriod == pCfg2->Backend.cFramesPeriod … … 980 979 { 981 980 AssertPtrReturn(pCfg, false); 982 AssertMsgReturn(pCfg->enmDir >= PDMAUDIODIR_UNKNOWN && pCfg->enmDir < PDMAUDIODIR_END, 983 ("%d\n", pCfg->enmDir), false); 984 AssertMsgReturn(pCfg->enmLayout >= PDMAUDIOSTREAMLAYOUT_UNKNOWN && pCfg->enmLayout < PDMAUDIOSTREAMLAYOUT_END, 985 ("%d\n", pCfg->enmLayout), false); 981 AssertMsgReturn(pCfg->enmDir >= PDMAUDIODIR_UNKNOWN && pCfg->enmDir < PDMAUDIODIR_END, ("%d\n", pCfg->enmDir), false); 986 982 return PDMAudioPropsAreValid(&pCfg->Props); 987 983 }
Note:
See TracChangeset
for help on using the changeset viewer.