Changeset 89504 in vbox for trunk/src/VBox/Main/src-client
- Timestamp:
- Jun 4, 2021 11:30:46 AM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 144861
- Location:
- trunk/src/VBox/Main/src-client
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-client/DrvAudioRec.cpp
r89487 r89504 592 592 593 593 /** 594 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamGetReadable}595 */596 static DECLCALLBACK(uint32_t) drvAudioVideoRecHA_StreamGetReadable(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream)597 {598 RT_NOREF(pInterface, pStream);599 return 0; /* Video capturing does not provide any input. */600 }601 602 603 /**604 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamGetWritable}605 */606 static DECLCALLBACK(uint32_t) drvAudioVideoRecHA_StreamGetWritable(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream)607 {608 RT_NOREF(pInterface, pStream);609 return UINT32_MAX;610 }611 612 613 /**614 594 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamGetState} 615 595 */ … … 620 600 AssertPtrReturn(pStream, PDMHOSTAUDIOSTREAMSTATE_INVALID); 621 601 return PDMHOSTAUDIOSTREAMSTATE_OKAY; 602 } 603 604 605 /** 606 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamGetWritable} 607 */ 608 static DECLCALLBACK(uint32_t) drvAudioVideoRecHA_StreamGetWritable(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream) 609 { 610 RT_NOREF(pInterface, pStream); 611 return UINT32_MAX; 622 612 } 623 613 … … 791 781 LogFlowFunc(("csReadTotal=%RU32, rc=%Rrc\n", cbWrittenTotal, rc)); 792 782 return rc; 783 } 784 785 786 /** 787 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamGetReadable} 788 */ 789 static DECLCALLBACK(uint32_t) drvAudioVideoRecHA_StreamGetReadable(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream) 790 { 791 RT_NOREF(pInterface, pStream); 792 return 0; /* Video capturing does not provide any input. */ 793 793 } 794 794 … … 1115 1115 pThis->IHostAudio.pfnStreamNotifyDeviceChanged = NULL; 1116 1116 pThis->IHostAudio.pfnStreamControl = drvAudioVideoRecHA_StreamControl; 1117 pThis->IHostAudio.pfnStreamGetState = drvAudioVideoRecHA_StreamGetState; 1118 pThis->IHostAudio.pfnStreamGetPending = NULL; 1119 pThis->IHostAudio.pfnStreamGetWritable = drvAudioVideoRecHA_StreamGetWritable; 1120 pThis->IHostAudio.pfnStreamPlay = drvAudioVideoRecHA_StreamPlay; 1117 1121 pThis->IHostAudio.pfnStreamGetReadable = drvAudioVideoRecHA_StreamGetReadable; 1118 pThis->IHostAudio.pfnStreamGetWritable = drvAudioVideoRecHA_StreamGetWritable;1119 pThis->IHostAudio.pfnStreamGetPending = NULL;1120 pThis->IHostAudio.pfnStreamGetState = drvAudioVideoRecHA_StreamGetState;1121 pThis->IHostAudio.pfnStreamPlay = drvAudioVideoRecHA_StreamPlay;1122 1122 pThis->IHostAudio.pfnStreamCapture = drvAudioVideoRecHA_StreamCapture; 1123 1123 -
trunk/src/VBox/Main/src-client/DrvAudioVRDE.cpp
r89489 r89504 557 557 558 558 /** 559 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamGetReadable} 560 */ 561 static DECLCALLBACK(uint32_t) drvAudioVrdeHA_StreamGetReadable(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream) 562 { 563 RT_NOREF(pInterface); 564 PVRDESTREAM pStreamVRDE = (PVRDESTREAM)pStream; 565 566 if (pStreamVRDE->Cfg.enmDir == PDMAUDIODIR_IN) 567 { 568 /* Return frames instead of bytes here 569 * (since we specified PDMAUDIOSTREAMLAYOUT_RAW as the audio data layout). */ 570 return PDMAudioPropsBytesToFrames(&pStreamVRDE->Cfg.Props, (uint32_t)RTCircBufUsed(pStreamVRDE->In.pCircBuf)); 571 } 572 return 0; 559 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamGetState} 560 */ 561 static DECLCALLBACK(PDMHOSTAUDIOSTREAMSTATE) drvAudioVrdeHA_StreamGetState(PPDMIHOSTAUDIO pInterface, 562 PPDMAUDIOBACKENDSTREAM pStream) 563 { 564 PDRVAUDIOVRDE pDrv = RT_FROM_MEMBER(pInterface, DRVAUDIOVRDE, IHostAudio); 565 AssertPtrReturn(pStream, PDMHOSTAUDIOSTREAMSTATE_INVALID); 566 567 return pDrv->cClients > 0 ? PDMHOSTAUDIOSTREAMSTATE_OKAY : PDMHOSTAUDIOSTREAMSTATE_INACTIVE; 573 568 } 574 569 … … 586 581 return _16K * sizeof(int64_t) * 2; 587 582 return 0; 588 }589 590 591 /**592 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamGetState}593 */594 static DECLCALLBACK(PDMHOSTAUDIOSTREAMSTATE) drvAudioVrdeHA_StreamGetState(PPDMIHOSTAUDIO pInterface,595 PPDMAUDIOBACKENDSTREAM pStream)596 {597 PDRVAUDIOVRDE pDrv = RT_FROM_MEMBER(pInterface, DRVAUDIOVRDE, IHostAudio);598 AssertPtrReturn(pStream, PDMHOSTAUDIOSTREAMSTATE_INVALID);599 600 return pDrv->cClients > 0 ? PDMHOSTAUDIOSTREAMSTATE_OKAY : PDMHOSTAUDIOSTREAMSTATE_INACTIVE;601 583 } 602 584 … … 641 623 Assert(*pcbWritten == cbBuf); 642 624 return VINF_SUCCESS; 625 } 626 627 628 /** 629 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamGetReadable} 630 */ 631 static DECLCALLBACK(uint32_t) drvAudioVrdeHA_StreamGetReadable(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream) 632 { 633 RT_NOREF(pInterface); 634 PVRDESTREAM pStreamVRDE = (PVRDESTREAM)pStream; 635 636 if (pStreamVRDE->Cfg.enmDir == PDMAUDIODIR_IN) 637 { 638 /* Return frames instead of bytes here 639 * (since we specified PDMAUDIOSTREAMLAYOUT_RAW as the audio data layout). */ 640 return PDMAudioPropsBytesToFrames(&pStreamVRDE->Cfg.Props, (uint32_t)RTCircBufUsed(pStreamVRDE->In.pCircBuf)); 641 } 642 return 0; 643 643 } 644 644 … … 777 777 pThis->IHostAudio.pfnStreamNotifyDeviceChanged = NULL; 778 778 pThis->IHostAudio.pfnStreamControl = drvAudioVrdeHA_StreamControl; 779 pThis->IHostAudio.pfnStreamGetState = drvAudioVrdeHA_StreamGetState; 780 pThis->IHostAudio.pfnStreamGetPending = NULL; 781 pThis->IHostAudio.pfnStreamGetWritable = drvAudioVrdeHA_StreamGetWritable; 782 pThis->IHostAudio.pfnStreamPlay = drvAudioVrdeHA_StreamPlay; 779 783 pThis->IHostAudio.pfnStreamGetReadable = drvAudioVrdeHA_StreamGetReadable; 780 pThis->IHostAudio.pfnStreamGetWritable = drvAudioVrdeHA_StreamGetWritable;781 pThis->IHostAudio.pfnStreamGetPending = NULL;782 pThis->IHostAudio.pfnStreamGetState = drvAudioVrdeHA_StreamGetState;783 pThis->IHostAudio.pfnStreamPlay = drvAudioVrdeHA_StreamPlay;784 784 pThis->IHostAudio.pfnStreamCapture = drvAudioVrdeHA_StreamCapture; 785 785
Note:
See TracChangeset
for help on using the changeset viewer.