Lines Matching defs:pThisStrmOut

563     PPULSEAUDIOSTREAM pThisStrmOut = (PPULSEAUDIOSTREAM)pHstStrmOut;
567 pThisStrmOut->pDrainOp = NULL;
569 pThisStrmOut->SampleSpec.format = drvHostPulseAudioFmtToPulse(pCfg->enmFormat);
570 pThisStrmOut->SampleSpec.rate = pCfg->uHz;
571 pThisStrmOut->SampleSpec.channels = pCfg->cChannels;
575 pThisStrmOut->BufAttr.tlength = (pa_bytes_per_second(&pThisStrmOut->SampleSpec)
577 pThisStrmOut->BufAttr.maxlength = (pThisStrmOut->BufAttr.tlength * 3) / 2;
578 pThisStrmOut->BufAttr.prebuf = -1; /* Same as tlength */
579 pThisStrmOut->BufAttr.minreq = -1; /* Pulse should set something sensible for minreq on it's own */
582 int rc = drvHostPulseAudioOpen(false /* fIn */, "pa.out", &pThisStrmOut->SampleSpec, &pThisStrmOut->BufAttr,
583 &pThisStrmOut->pStream);
588 rc = drvHostPulseAudioPulseToFmt(pThisStrmOut->SampleSpec.format,
592 LogRel(("PulseAudio: Cannot find audio output format %ld\n", pThisStrmOut->SampleSpec.format));
596 streamCfg.uHz = pThisStrmOut->SampleSpec.rate;
597 streamCfg.cChannels = pThisStrmOut->SampleSpec.channels;
602 uint32_t cbBuf = RT_MIN(pThisStrmOut->BufAttr.tlength * 2,
603 pThisStrmOut->BufAttr.maxlength); /** @todo Make this configurable! */
606 pThisStrmOut->pvPCMBuf = RTMemAllocZ(cbBuf);
607 if (pThisStrmOut->pvPCMBuf)
609 pThisStrmOut->cbPCMBuf = cbBuf;
819 PPULSEAUDIOSTREAM pThisStrmOut = (PPULSEAUDIOSTREAM)pHstStrmOut;
838 size_t cbWriteable = pa_stream_writable_size(pThisStrmOut->pStream);
841 rc = drvHostPulseAudioError(pThisStrmOut->pDrv, "Failed to determine output data size");
854 rc = audioMixBufReadCirc(&pHstStrmOut->MixBuf, pThisStrmOut->pvPCMBuf,
855 RT_MIN(cbToRead, pThisStrmOut->cbPCMBuf), &cRead);
863 if (pa_stream_write(pThisStrmOut->pStream, pThisStrmOut->pvPCMBuf, cbRead, NULL /* Cleanup callback */,
866 rc = drvHostPulseAudioError(pThisStrmOut->pDrv, "Failed to write to output stream");
942 PPULSEAUDIOSTREAM pThisStrmOut = (PPULSEAUDIOSTREAM)pHstStrmOut;
943 if (pThisStrmOut->pStream)
946 pa_stream_disconnect(pThisStrmOut->pStream);
947 pa_stream_unref(pThisStrmOut->pStream);
950 pThisStrmOut->pStream = NULL;
953 if (pThisStrmOut->pvPCMBuf)
955 RTMemFree(pThisStrmOut->pvPCMBuf);
956 pThisStrmOut->pvPCMBuf = NULL;
958 pThisStrmOut->cbPCMBuf = 0;
970 PPULSEAUDIOSTREAM pThisStrmOut = (PPULSEAUDIOSTREAM)pHstStrmOut;
981 if ( pThisStrmOut->pDrainOp
982 && pa_operation_get_state(pThisStrmOut->pDrainOp) != PA_OPERATION_DONE)
984 pa_operation_cancel(pThisStrmOut->pDrainOp);
985 pa_operation_unref(pThisStrmOut->pDrainOp);
987 pThisStrmOut->pDrainOp = NULL;
992 rc = drvHostPulseAudioWaitFor(pa_stream_cork(pThisStrmOut->pStream, 0,
993 drvHostPulseAudioCbSuccess, pThisStrmOut),
1006 if (!pThisStrmOut->pDrainOp)
1009 rc = drvHostPulseAudioWaitFor(pa_stream_trigger(pThisStrmOut->pStream,
1010 drvHostPulseAudioCbSuccess, pThisStrmOut),
1013 pThisStrmOut->pDrainOp = pa_stream_drain(pThisStrmOut->pStream,
1014 drvHostPulseAudioCbStreamDrain, pThisStrmOut);