Lines Matching defs:pHstStrmOut

84     PPDMAUDIOHSTSTRMOUT pHstStrmOut;
90 rc = drvAudioAllocHstOut(pThis, pszName, pCfg, &pHstStrmOut);
97 pHstStrmOut = drvAudioFindSpecificOut(pThis, NULL, pCfg);
98 if (!pHstStrmOut)
100 rc = drvAudioAllocHstOut(pThis, pszName, pCfg, &pHstStrmOut);
102 pHstStrmOut = drvAudioFindAnyHstOut(pThis, NULL /* pHstStrmOut */);
105 rc = pHstStrmOut ? VINF_SUCCESS : rc;
109 *ppHstStrmOut = pHstStrmOut;
373 int drvAudioDestroyHstOut(PDRVAUDIO pThis, PPDMAUDIOHSTSTRMOUT pHstStrmOut)
376 AssertPtrReturn(pHstStrmOut, VERR_INVALID_POINTER);
378 LogFlowFunc(("%s\n", pHstStrmOut->MixBuf.pszName));
381 if (RTListIsEmpty(&pHstStrmOut->lstGstStrmOut))
383 rc = pThis->pHostDrvAudio->pfnFiniOut(pThis->pHostDrvAudio, pHstStrmOut);
386 drvAudioHstOutFreeRes(pHstStrmOut);
389 RTListNodeRemove(&pHstStrmOut->Node);
391 RTMemFree(pHstStrmOut);
399 LogFlowFunc(("[%s] Still is being used, rc=%Rrc\n", pHstStrmOut->MixBuf.pszName, rc));
413 if (pGstStrmOut->pHstStrmOut)
421 drvAudioDestroyHstOut(pThis, pGstStrmOut->pHstStrmOut);
508 pGstStrmOut->pHstStrmOut = pHostStrmOut;
535 PPDMAUDIOHSTSTRMOUT pHstStrmOut = (PPDMAUDIOHSTSTRMOUT)RTMemAllocZ(pThis->BackendCfg.cbStreamOut);
536 if (!pHstStrmOut)
548 RTListInit(&pHstStrmOut->lstGstStrmOut);
551 rc = pThis->pHostDrvAudio->pfnInitOut(pThis->pHostDrvAudio, pHstStrmOut, pCfg, &cSamples);
567 rc = audioMixBufInit(&pHstStrmOut->MixBuf, pszTemp, &pHstStrmOut->Props, cSamples);
570 RTListPrepend(&pThis->lstHstStrmOut, &pHstStrmOut->Node);
582 int rc2 = pThis->pHostDrvAudio->pfnFiniOut(pThis->pHostDrvAudio, pHstStrmOut);
586 drvAudioHstOutFreeRes(pHstStrmOut);
587 RTMemFree(pHstStrmOut);
590 *ppHstStrmOut = pHstStrmOut;
631 PPDMAUDIOHSTSTRMOUT pHstStrmOut;
632 int rc = drvAudioAddHstOut(pThis, pszName, pBackendCfg, &pHstStrmOut);
645 rc = drvAudioGstOutInit(pGstStrmOut, pHstStrmOut, pszName, pCfg);
648 RTListPrepend(&pHstStrmOut->lstGstStrmOut, &pGstStrmOut->Node);
876 PPDMAUDIOHSTSTRMOUT pHstStrmOut = pGstStrmOut->pHstStrmOut;
877 AssertPtrReturn(pHstStrmOut, VERR_INVALID_POINTER);
879 AssertMsg(pGstStrmOut->pHstStrmOut->fEnabled,
881 pHstStrmOut->MixBuf.pszName));
913 pGstStrmOut->MixBuf.pszName, pHstStrmOut->MixBuf.pszName, pvBuf, cbBuf, cWritten,
918 PPDMAUDIOHSTSTRMOUT drvAudioFindAnyHstOut(PDRVAUDIO pThis, PPDMAUDIOHSTSTRMOUT pHstStrmOut)
920 if (pHstStrmOut)
922 if (RTListNodeIsLast(&pThis->lstHstStrmOut, &pHstStrmOut->Node))
925 return RTListNodeGetNext(&pHstStrmOut->Node, PDMAUDIOHSTSTRMOUT, Node);
942 PPDMAUDIOHSTSTRMOUT drvAudioFindSpecificOut(PDRVAUDIO pThis, PPDMAUDIOHSTSTRMOUT pHstStrmOut,
945 while ((pHstStrmOut = drvAudioFindAnyHstOut(pThis, pHstStrmOut)))
947 if (drvAudioPCMPropsAreEqual(&pHstStrmOut->Props, pCfg))
948 return pHstStrmOut;
1034 PPDMAUDIOHSTSTRMOUT pHstStrmOut = NULL;
1035 while ((pHstStrmOut = drvAudioHstFindAnyEnabledOut(pThis, pHstStrmOut)))
1038 cSamplesLive = drvAudioHstOutSamplesLive(pHstStrmOut, &cStreamsLive);
1044 if ( pHstStrmOut->fPendingDisable
1048 int rc2 = pThis->pHostDrvAudio->pfnControlOut(pThis->pHostDrvAudio, pHstStrmOut,
1052 pHstStrmOut->fEnabled = false;
1053 pHstStrmOut->fPendingDisable = false;
1055 LogFunc(("[%s] Disabling stream\n", pHstStrmOut->MixBuf.pszName));
1058 LogFunc(("[%s] Backend vetoed against closing output stream, rc=%Rrc\n", pHstStrmOut->MixBuf.pszName, rc2));
1063 LogFlowFunc(("[%s] cSamplesLive=%RU32\n", pHstStrmOut->MixBuf.pszName, cSamplesLive));
1074 RTListForEach(&pHstStrmOut->lstGstStrmOut, pGstStrmOut, PDMAUDIOGSTSTRMOUT, Node)
1148 PPDMAUDIOHSTSTRMOUT pHstStrmOut = NULL;
1149 while ((pHstStrmOut = drvAudioHstFindAnyEnabledOut(pThis, pHstStrmOut)))
1153 uint32_t cSamplesLive = drvAudioHstOutSamplesLive(pHstStrmOut, &cStreamsLive);
1159 if ( pHstStrmOut->fPendingDisable
1163 int rc2 = pThis->pHostDrvAudio->pfnControlOut(pThis->pHostDrvAudio, pHstStrmOut,
1167 pHstStrmOut->fEnabled = false;
1168 pHstStrmOut->fPendingDisable = false;
1170 LogFunc(("\t%p: Disabling stream\n", pHstStrmOut));
1174 pHstStrmOut, rc2));
1181 int rc2 = pThis->pHostDrvAudio->pfnPlayOut(pThis->pHostDrvAudio, pHstStrmOut,
1186 LogFlowFunc(("\t[%s] cSamplesPlayed=%RU32, rc=%Rrc\n", pHstStrmOut->MixBuf.pszName, cSamplesPlayed, rc2));
1191 RTListForEach(&pHstStrmOut->lstGstStrmOut, pGstStrmOut, PDMAUDIOGSTSTRMOUT, Node)
1206 RTListForEach(&pHstStrmOut->lstGstStrmOut, pGstStrmOut, PDMAUDIOGSTSTRMOUT, Node)
1295 PPDMAUDIOHSTSTRMOUT pHstStrmOut = NULL;
1296 while ((pHstStrmOut = drvAudioHstFindAnyEnabledOut(pThis, pHstStrmOut)))
1297 pThis->pHostDrvAudio->pfnControlOut(pThis->pHostDrvAudio, pHstStrmOut, enmCmd);
1456 PPDMAUDIOHSTSTRMOUT pHstStrmOut = pGstStrmOut->pHstStrmOut;
1457 AssertPtr(pHstStrmOut);
1465 pHstStrmOut->fPendingDisable = false;
1466 if (!pHstStrmOut->fEnabled)
1468 pHstStrmOut->fEnabled = true;
1469 pThis->pHostDrvAudio->pfnControlOut(pThis->pHostDrvAudio, pHstStrmOut,
1476 if (pHstStrmOut->fEnabled)
1481 RTListForEach(&pHstStrmOut->lstGstStrmOut, pIter, PDMAUDIOGSTSTRMOUT, Node)
1487 pHstStrmOut->fPendingDisable = cGstStrmsActive == 1;
1682 PPDMAUDIOHSTSTRMOUT pHstStrmOut = pGstStrmOut->pHstStrmOut;
1683 AssertPtr(pHstStrmOut);
1687 rc = drvAudioGstOutInit(pGstStrmOut, pHstStrmOut, pszName, pCfg);
1788 PPDMAUDIOHSTSTRMOUT pHstStrmOut = NULL;
1789 while ((pHstStrmOut = drvAudioFindAnyHstOut(pThis, pHstStrmOut)))
1791 pThis->pHostDrvAudio->pfnControlOut(pThis->pHostDrvAudio, pHstStrmOut, PDMAUDIOSTREAMCMD_DISABLE);
1792 pThis->pHostDrvAudio->pfnFiniOut(pThis->pHostDrvAudio, pHstStrmOut);