VirtualBox

Changeset 89213 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
May 21, 2021 10:00:12 AM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
144554
Message:

Audio: Added an fImmediate indicator to the pfnStreamDestroy methods so the backend knows whether it's okay to continue draining the stream or if it must be destroyed without delay. The latter is typically only for shutdown and driver plumbing. This helps quite a bit for HDA/CoreAudio/knoppix. bugref:9890

Location:
trunk/src/VBox/Main/src-client
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-client/DrvAudioRec.cpp

    r88991 r89213  
    526526 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamDestroy}
    527527 */
    528 static DECLCALLBACK(int) drvAudioVideoRecHA_StreamDestroy(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream)
     528static DECLCALLBACK(int) drvAudioVideoRecHA_StreamDestroy(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream,
     529                                                          bool fImmediate)
    529530{
    530531    PDRVAUDIORECORDING pThis     = RT_FROM_CPP_MEMBER(pInterface, DRVAUDIORECORDING, IHostAudio);
    531532    PAVRECSTREAM       pStreamAV = (PAVRECSTREAM)pStream;
    532533    AssertPtrReturn(pStream, VERR_INVALID_POINTER);
     534    RT_NOREF(fImmediate);
    533535
    534536    int rc = VINF_SUCCESS;
  • trunk/src/VBox/Main/src-client/DrvAudioVRDE.cpp

    r88991 r89213  
    398398 * @interface_method_impl{PDMIHOSTAUDIO,pfnStreamDestroy}
    399399 */
    400 static DECLCALLBACK(int) drvAudioVrdeHA_StreamDestroy(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream)
     400static DECLCALLBACK(int) drvAudioVrdeHA_StreamDestroy(PPDMIHOSTAUDIO pInterface, PPDMAUDIOBACKENDSTREAM pStream,
     401                                                      bool fImmediate)
    401402{
    402403    PDRVAUDIOVRDE pDrv        = RT_FROM_MEMBER(pInterface, DRVAUDIOVRDE, IHostAudio);
    403404    PVRDESTREAM   pStreamVRDE = (PVRDESTREAM)pStream;
    404405    AssertPtrReturn(pStreamVRDE, VERR_INVALID_POINTER);
     406    RT_NOREF(fImmediate);
    405407
    406408    if (pStreamVRDE->Cfg.enmDir == PDMAUDIODIR_OUT)
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette