Changeset 89510 in vbox for trunk/src/VBox/Main/src-client
- Timestamp:
- Jun 4, 2021 1:20:02 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 144868
- Location:
- trunk/src/VBox/Main/src-client
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-client/DrvAudioRec.cpp
r89504 r89510 543 543 544 544 /** 545 * Controls an audio output stream 546 * 547 * @returns VBox status code. 548 * @param pThis Driver instance. 549 * @param pStreamAV Audio output stream to control. 550 * @param enmStreamCmd Stream command to issue. 551 */ 552 static int avRecControlStreamOut(PDRVAUDIORECORDING pThis, PAVRECSTREAM pStreamAV, PDMAUDIOSTREAMCMD enmStreamCmd) 553 { 554 RT_NOREF(pThis, pStreamAV); 555 556 int rc; 557 switch (enmStreamCmd) 558 { 559 case PDMAUDIOSTREAMCMD_ENABLE: 560 case PDMAUDIOSTREAMCMD_DISABLE: 561 case PDMAUDIOSTREAMCMD_RESUME: 562 case PDMAUDIOSTREAMCMD_PAUSE: 563 case PDMAUDIOSTREAMCMD_DRAIN: 564 rc = VINF_SUCCESS; 565 break; 566 567 default: 568 rc = VERR_NOT_SUPPORTED; 569 break; 570 } 571 572 return rc; 573 } 574 575 576 /** 577 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamControl} 578 */ 579 static DECLCALLBACK(int) drvAudioVideoRecHA_StreamControl(PPDMIHOSTAUDIO pInterface, 580 PPDMAUDIOBACKENDSTREAM pStream, PDMAUDIOSTREAMCMD enmStreamCmd) 581 { 582 PDRVAUDIORECORDING pThis = RT_FROM_CPP_MEMBER(pInterface, DRVAUDIORECORDING, IHostAudio); 583 PAVRECSTREAM pStreamAV = (PAVRECSTREAM)pStream; 584 AssertPtrReturn(pStreamAV, VERR_INVALID_POINTER); 585 586 if (pStreamAV->Cfg.enmDir == PDMAUDIODIR_OUT) 587 return avRecControlStreamOut(pThis, pStreamAV, enmStreamCmd); 588 545 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamEnable} 546 */ 547 static DECLCALLBACK(int) drvAudioVideoRecHA_StreamEnable(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream) 548 { 549 RT_NOREF(pInterface, pStream); 550 return VINF_SUCCESS; 551 } 552 553 554 /** 555 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamDisable} 556 */ 557 static DECLCALLBACK(int) drvAudioVideoRecHA_StreamDisable(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream) 558 { 559 RT_NOREF(pInterface, pStream); 560 return VINF_SUCCESS; 561 } 562 563 564 /** 565 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamPause} 566 */ 567 static DECLCALLBACK(int) drvAudioVideoRecHA_StreamPause(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream) 568 { 569 RT_NOREF(pInterface, pStream); 570 return VINF_SUCCESS; 571 } 572 573 574 /** 575 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamResume} 576 */ 577 static DECLCALLBACK(int) drvAudioVideoRecHA_StreamResume(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream) 578 { 579 RT_NOREF(pInterface, pStream); 580 return VINF_SUCCESS; 581 } 582 583 584 /** 585 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamDrain} 586 */ 587 static DECLCALLBACK(int) drvAudioVideoRecHA_StreamDrain(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream) 588 { 589 RT_NOREF(pInterface, pStream); 589 590 return VINF_SUCCESS; 590 591 } … … 1114 1115 pThis->IHostAudio.pfnStreamDestroy = drvAudioVideoRecHA_StreamDestroy; 1115 1116 pThis->IHostAudio.pfnStreamNotifyDeviceChanged = NULL; 1116 pThis->IHostAudio.pfnStreamControl = drvAudioVideoRecHA_StreamControl; 1117 pThis->IHostAudio.pfnStreamEnable = drvAudioVideoRecHA_StreamEnable; 1118 pThis->IHostAudio.pfnStreamDisable = drvAudioVideoRecHA_StreamDisable; 1119 pThis->IHostAudio.pfnStreamPause = drvAudioVideoRecHA_StreamPause; 1120 pThis->IHostAudio.pfnStreamResume = drvAudioVideoRecHA_StreamResume; 1121 pThis->IHostAudio.pfnStreamDrain = drvAudioVideoRecHA_StreamDrain; 1117 1122 pThis->IHostAudio.pfnStreamGetState = drvAudioVideoRecHA_StreamGetState; 1118 1123 pThis->IHostAudio.pfnStreamGetPending = NULL; -
trunk/src/VBox/Main/src-client/DrvAudioVRDE.cpp
r89504 r89510 417 417 418 418 /** 419 * @ 419 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamEnable} 420 420 */ 421 421 static DECLCALLBACK(int) drvAudioVrdeHA_StreamEnable(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream) … … 451 451 452 452 /** 453 * @ 453 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamDisable} 454 454 */ 455 455 static DECLCALLBACK(int) drvAudioVrdeHA_StreamDisable(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream) … … 477 477 478 478 /** 479 * @ 479 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamPause} 480 480 */ 481 481 static DECLCALLBACK(int) drvAudioVrdeHA_StreamPause(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream) … … 495 495 496 496 /** 497 * @ 497 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamResume} 498 498 */ 499 499 static DECLCALLBACK(int) drvAudioVrdeHA_StreamResume(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream) … … 513 513 514 514 /** 515 * @ 515 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamDrain} 516 516 */ 517 517 static DECLCALLBACK(int) drvAudioVrdeHA_StreamDrain(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream) … … 520 520 LogFlowFunc(("returns VINF_SUCCESS\n")); 521 521 return VINF_SUCCESS; 522 }523 524 525 /**526 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamControl}527 */528 static DECLCALLBACK(int) drvAudioVrdeHA_StreamControl(PPDMIHOSTAUDIO pInterface,529 PPDMAUDIOBACKENDSTREAM pStream, PDMAUDIOSTREAMCMD enmStreamCmd)530 {531 /** @todo r=bird: I'd like to get rid of this pfnStreamControl method,532 * replacing it with individual StreamXxxx methods. That would save us533 * potentally huge switches and more easily see which drivers implement534 * which operations (grep for pfnStreamXxxx). */535 switch (enmStreamCmd)536 {537 case PDMAUDIOSTREAMCMD_ENABLE:538 return drvAudioVrdeHA_StreamEnable(pInterface, pStream);539 case PDMAUDIOSTREAMCMD_DISABLE:540 return drvAudioVrdeHA_StreamDisable(pInterface, pStream);541 case PDMAUDIOSTREAMCMD_PAUSE:542 return drvAudioVrdeHA_StreamPause(pInterface, pStream);543 case PDMAUDIOSTREAMCMD_RESUME:544 return drvAudioVrdeHA_StreamResume(pInterface, pStream);545 case PDMAUDIOSTREAMCMD_DRAIN:546 return drvAudioVrdeHA_StreamDrain(pInterface, pStream);547 548 case PDMAUDIOSTREAMCMD_END:549 case PDMAUDIOSTREAMCMD_32BIT_HACK:550 case PDMAUDIOSTREAMCMD_INVALID:551 /* no default*/552 break;553 }554 return VERR_NOT_SUPPORTED;555 522 } 556 523 … … 776 743 pThis->IHostAudio.pfnStreamDestroy = drvAudioVrdeHA_StreamDestroy; 777 744 pThis->IHostAudio.pfnStreamNotifyDeviceChanged = NULL; 778 pThis->IHostAudio.pfnStreamControl = drvAudioVrdeHA_StreamControl; 745 pThis->IHostAudio.pfnStreamEnable = drvAudioVrdeHA_StreamEnable; 746 pThis->IHostAudio.pfnStreamDisable = drvAudioVrdeHA_StreamDisable; 747 pThis->IHostAudio.pfnStreamPause = drvAudioVrdeHA_StreamPause; 748 pThis->IHostAudio.pfnStreamResume = drvAudioVrdeHA_StreamResume; 749 pThis->IHostAudio.pfnStreamDrain = drvAudioVrdeHA_StreamDrain; 779 750 pThis->IHostAudio.pfnStreamGetState = drvAudioVrdeHA_StreamGetState; 780 751 pThis->IHostAudio.pfnStreamGetPending = NULL;
Note:
See TracChangeset
for help on using the changeset viewer.