Changeset 88936 in vbox
- Timestamp:
- May 7, 2021 4:35:59 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 144271
- Location:
- trunk/src/VBox/Devices
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/DevSB16.cpp
r88918 r88936 96 96 typedef struct SB16STATE *PSB16STATE; 97 97 98 #ifdef VBOX_WITH_AUDIO_SB16_ASYNC_IO99 98 /** 100 99 * Asynchronous I/O state for an SB16 stream. … … 117 116 /** Pointer to the async I/O state for a SB16 stream. */ 118 117 typedef SB16STREAMSTATEAIO *PSB16STREAMSTATEAIO; 119 #endif /* VBOX_WITH_AUDIO_SB16_ASYNC_IO */120 118 121 119 /** … … 126 124 /** Flag indicating whether this stream is in enabled state or not. */ 127 125 bool fEnabled; 128 #ifdef VBOX_WITH_AUDIO_SB16_ASYNC_IO129 126 /** Asynchronous I/O state members. */ 130 127 SB16STREAMSTATEAIO AIO; 131 #endif132 128 /** DMA cache to read data from / write data to. */ 133 129 PRTCIRCBUF pCircBuf; … … 257 253 typedef SB16STREAM *PSB16STREAM; 258 254 259 #ifdef VBOX_WITH_AUDIO_SB16_ASYNC_IO260 255 /** 261 256 * Asynchronous I/O thread context (arguments). … … 270 265 /** Pointer to the context for an async I/O thread. */ 271 266 typedef SB16STREAMTHREADCTX *PSB16STREAMTHREADCTX; 272 #endif /* VBOX_WITH_AUDIO_SB16_ASYNC_IO */273 267 274 268 /** … … 368 362 DECLINLINE(void) sb16TimerSet(PPDMDEVINS pDevIns, PSB16STREAM pStream, uint64_t cTicksToDeadline); 369 363 370 #ifdef VBOX_WITH_AUDIO_SB16_ASYNC_IO371 364 static int sb16StreamAsyncIOCreate(PPDMDEVINS pDevIns, PSB16STATE pThis, PSB16STREAM pStream); 372 365 static int sb16StreamAsyncIODestroy(PPDMDEVINS pDevIns, PSB16STREAM pStream); 373 366 static int sb16StreamAsyncIONotify(PPDMDEVINS pDevIns, PSB16STREAM pStream); 374 #endif /* VBOX_WITH_AUDIO_SB16_ASYNC_IO */375 367 376 368 static void sb16SpeakerControl(PSB16STATE pThis, bool fOn); … … 378 370 379 371 380 #ifdef VBOX_WITH_AUDIO_SB16_ASYNC_IO381 372 /** 382 373 * @callback_method_impl{FNPDMTHREADDEV} … … 532 523 return rc; 533 524 } 534 #endif /* VBOX_WITH_AUDIO_SB16_ASYNC_IO */535 525 536 526 static void sb16SpeakerControl(PSB16STATE pThis, bool fOn) … … 1914 1904 LogFlowFunc(("fSinkActive=%RTbool\n", fSinkActive)); 1915 1905 1916 #ifdef VBOX_WITH_AUDIO_SB16_ASYNC_IO1917 1906 sb16StreamAsyncIONotify(pDevIns, pStream); 1918 #else1919 sb16StreamUpdate(pStream, pSink);1920 #endif1921 1907 1922 1908 /* Schedule the next transfer. */ … … 2283 2269 pStream->Dbg.Runtime.fEnabled = pThis->Dbg.fEnabled; 2284 2270 2285 int rc2; 2286 2287 #ifdef VBOX_WITH_AUDIO_SB16_ASYNC_IO 2288 rc2 = sb16StreamAsyncIOCreate(pThis->pDevInsR3, pThis, pStream); 2271 int rc2 = sb16StreamAsyncIOCreate(pThis->pDevInsR3, pThis, pStream); 2289 2272 AssertRCReturn(rc2, rc2); 2290 #endif2291 2273 2292 2274 if (RT_LIKELY(!pStream->Dbg.Runtime.fEnabled)) … … 2331 2313 sb16StreamClose(pDevIns, pThis, pStream); 2332 2314 2333 #ifdef VBOX_WITH_AUDIO_SB16_ASYNC_IO2334 2315 int rc = sb16StreamAsyncIODestroy(pDevIns, pStream); 2335 2316 AssertRCReturn(rc, rc); 2336 #else2337 RT_NOREF(pDevIns);2338 #endif2339 2317 2340 2318 if (pStream->State.pCircBuf) … … 2478 2456 2479 2457 rc = sb16AddDrvStreams(pDevIns, pThis, pMixerSink, &pStream->Cfg); 2480 2481 2458 if (RT_SUCCESS(rc)) 2482 2459 { … … 3238 3215 AssertRCReturn(rc, rc); 3239 3216 3240 # ifdef VBOX_WITH_AUDIO_SB16_ASYNC_IO3241 LogRel(("SB16: Asynchronous I/O enabled\n"));3242 # endif3243 3217 LogRel2(("SB16: Using port %#x, DMA%RU8, IRQ%RU8\n", 3244 3218 pStream->HwCfgRuntime.uPort, pStream->HwCfgRuntime.uDmaChanLow, pStream->HwCfgRuntime.uIrq)); -
trunk/src/VBox/Devices/Config.kmk
r88934 r88936 118 118 # AC'97 needs testing: 119 119 #VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_AC97_ASYNC_IO 120 VBOX_AUDIO_DEFS += VBOX_WITH_AUDIO_SB16_ASYNC_IO121 120 122 121 # Not yet enabled: Callbacks for the device emulation to let the backends
Note:
See TracChangeset
for help on using the changeset viewer.