Changeset 89510 in vbox for trunk/include
- Timestamp:
- Jun 4, 2021 1:20:02 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/pdmaudioifs.h
r89500 r89510 1300 1300 1301 1301 /** 1302 * Controls an audio stream. 1303 * 1304 * @returns VBox status code. 1305 * @retval VERR_AUDIO_STREAM_NOT_READY if stream is not ready for required operation (yet). 1306 * @param pInterface Pointer to the interface structure containing the called function pointer. 1307 * @param pStream Pointer to audio stream. 1308 * @param enmStreamCmd The stream command to issue. 1309 */ 1310 DECLR3CALLBACKMEMBER(int, pfnStreamControl, (PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream, 1311 PDMAUDIOSTREAMCMD enmStreamCmd)); 1312 1302 * Enables (starts) the stream. 1303 * 1304 * @returns VBox status code. 1305 * @param pInterface Pointer to this interface. 1306 * @param pStream Pointer to the audio stream to enable. 1307 * @sa PDMAUDIOSTREAMCMD_ENABLE 1308 */ 1309 DECLR3CALLBACKMEMBER(int, pfnStreamEnable, (PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream)); 1310 1311 /** 1312 * Disables (stops) the stream immediately. 1313 * 1314 * @returns VBox status code. 1315 * @param pInterface Pointer to this interface. 1316 * @param pStream Pointer to the audio stream to disable. 1317 * @sa PDMAUDIOSTREAMCMD_DISABLE 1318 */ 1319 DECLR3CALLBACKMEMBER(int, pfnStreamDisable, (PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream)); 1320 1321 /** 1322 * Pauses the stream - called when the VM is suspended. 1323 * 1324 * @returns VBox status code. 1325 * @param pInterface Pointer to this interface. 1326 * @param pStream Pointer to the audio stream to pause. 1327 * @sa PDMAUDIOSTREAMCMD_PAUSE 1328 */ 1329 DECLR3CALLBACKMEMBER(int, pfnStreamPause, (PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream)); 1330 1331 /** 1332 * Resumes a paused stream - called when the VM is resumed. 1333 * 1334 * @returns VBox status code. 1335 * @param pInterface Pointer to this interface. 1336 * @param pStream Pointer to the audio stream to resume. 1337 * @sa PDMAUDIOSTREAMCMD_RESUME 1338 */ 1339 DECLR3CALLBACKMEMBER(int, pfnStreamResume, (PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream)); 1340 1341 /** 1342 * Drain the stream, that is, play what's in the buffers and then stop. 1343 * 1344 * There will be no more samples written after this command is issued. 1345 * PDMIHOSTAUDIO::pfnStreamPlay with a zero sized buffer will provide the 1346 * backend with a way to drive it forwards. These calls will come at a 1347 * frequency set by the device and be on an asynchronous I/O thread. 1348 * 1349 * The PDMIHOSTAUDIO::pfnStreamDisable method maybe called if the device/mixer 1350 * wants to re-enable the stream while it's still draining or if it gets 1351 * impatient and thinks the draining has been going on too long, in which case 1352 * the stream should stop immediately. 1353 * 1354 * @note This should not wait for the stream to finish draining, just change 1355 * the state. (The caller could be an EMT and it must not block for 1356 * hundreds of milliseconds of buffer to finish draining.) 1357 * 1358 * @note Does not apply to input streams. Backends should refuse such 1359 * requests. 1360 * 1361 * @returns VBox status code. 1362 * @retval VERR_WRONG_ORDER if not output stream. 1363 * @param pInterface Pointer to this interface. 1364 * @param pStream Pointer to the audio stream to drain. 1365 * @sa PDMAUDIOSTREAMCMD_DRAIN 1366 */ 1367 DECLR3CALLBACKMEMBER(int, pfnStreamDrain, (PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream)); 1313 1368 1314 1369 /** … … 1329 1384 * @returns Number of pending bytes. 1330 1385 * @param pInterface Pointer to this interface. 1331 * @param pStream Pointer to audio stream.1386 * @param pStream Pointer to the audio stream. 1332 1387 * 1333 1388 * @todo This is no longer not used by DrvAudio and can probably be removed. … … 1389 1444 1390 1445 /** PDMIHOSTAUDIO interface ID. */ 1391 #define PDMIHOSTAUDIO_IID " 2d57627f-6f47-4669-a2fa-93a5f1cb6e51"1446 #define PDMIHOSTAUDIO_IID "c0875b91-a4f9-48be-8595-31d27048432d" 1392 1447 1393 1448
Note:
See TracChangeset
for help on using the changeset viewer.