Changeset 73241 in vbox
- Timestamp:
- Jul 19, 2018 2:56:24 PM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 123846
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/pdmaudioifs.h
r73211 r73241 535 535 * The audio data will get handled as PDMAUDIOFRAME frames without any modification done. */ 536 536 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; 540 561 } PDMAUDIOSTREAMCFG; 541 562 AssertCompileSizeAlignment(PDMAUDIOPCMPROPS, 8); -
trunk/src/VBox/Devices/Audio/DevIchAc97.cpp
r73214 r73241 312 312 #endif 313 313 /** The stream's current configuration. */ 314 PDMAUDIOSTREAMCFG Cfg; //+96 314 PDMAUDIOSTREAMCFG Cfg; //+100 315 uint32_t Padding; 315 316 #ifdef VBOX_WITH_AUDIO_AC97_ASYNC_IO 316 317 /** Asynchronous I/O state members. */ … … 1687 1688 AssertCompile(sizeof(pCfg->szName) >= 8); 1688 1689 1690 /* Set scheduling hint (if available). */ 1691 if (pThis->cTimerTicks) 1692 pCfg->Device.uSchedulingHintMs = 1000 /* ms */ / (TMTimerGetFreq(pThis->pTimerR3) / pThis->cTimerTicks); 1693 1689 1694 switch (pStream->u8SD) 1690 1695 { -
trunk/src/VBox/Devices/Audio/DevSB16.cpp
r73205 r73241 2144 2144 if (RT_FAILURE(rc)) 2145 2145 return rc; 2146 2147 /* Set scheduling hint (if available). */ 2148 if (pThis->cTimerTicksIO) 2149 pThis->Out.Cfg.Device.uSchedulingHintMs = 1000 /* ms */ / (TMTimerGetFreq(pThis->pTimerIO) / pThis->cTimerTicksIO); 2146 2150 2147 2151 PSB16DRIVER pDrv; -
trunk/src/VBox/Devices/Audio/HDAStream.cpp
r73213 r73241 194 194 return rc; 195 195 } 196 197 /* Set scheduling hint (if available). */ 198 if (pThis->u16TimerHz) 199 pCfg->Device.uSchedulingHintMs = 1000 /*ms */ / pThis->u16TimerHz; 196 200 197 201 /* (Re-)Allocate the stream's internal DMA buffer, based on the PCM properties we just got above. */ -
trunk/src/VBox/Devices/Audio/HDAStream.h
r71754 r73241 165 165 * Should match SDFMT. */ 166 166 PDMAUDIOSTREAMCFG Cfg; 167 uint32_t aPadding3; 167 168 #ifdef HDA_USE_DMA_ACCESS_HANDLER 168 169 /** List of DMA handlers. */ … … 175 176 uint16_t cbDMALeft; 176 177 /** Unused, padding. */ 177 uint8_t abPadding 3[2+4];178 uint8_t abPadding4[2+4]; 178 179 } HDASTREAMSTATE; 179 180 AssertCompileSizeAlignment(HDASTREAMSTATE, 8);
Note:
See TracChangeset
for help on using the changeset viewer.