Lines Matching defs:pStreamOut

398     PCOREAUDIOSTREAMOUT pStreamOut = (PCOREAUDIOSTREAMOUT)pHstStrmOut;
400 drvHostCoreAudioFiniOut(pInterface, &pStreamOut->streamOut);
402 drvHostCoreAudioInitOutput(&pStreamOut->streamOut, NULL /* pcSamples */);
403 drvHostCoreAudioControlOut(pInterface, &pStreamOut->streamOut, PDMAUDIOSTREAMCMD_ENABLE);
1002 PCOREAUDIOSTREAMOUT pStreamOut = (PCOREAUDIOSTREAMOUT)pHstStrmOut;
1004 ASMAtomicXchgU32(&pStreamOut->status, CA_STATUS_IN_INIT);
1009 if (pStreamOut->deviceID == kAudioDeviceUnknown)
1014 uSize = sizeof(pStreamOut->deviceID);
1015 err = AudioObjectGetPropertyData(kAudioObjectSystemObject, &propAdr, 0, NULL, &uSize, &pStreamOut->deviceID);
1031 err = AudioObjectGetPropertyData(pStreamOut->deviceID, &propAdr, 0, NULL, &uSize, &strTemp);
1042 err = AudioObjectGetPropertyData(pStreamOut->deviceID, &propAdr, 0, NULL, &uSize, &strTemp);
1067 err = AudioObjectGetPropertyData(pStreamOut->deviceID, &propAdr, 0, NULL, &uSize, &cFrames);
1075 err = drvHostCoreAudioSetFrameBufferSize(pStreamOut->deviceID, false /* fInput */, cFrames, &cFrames);
1097 err = OpenAComponent(cp, &pStreamOut->audioUnit);
1106 err = AudioUnitSetProperty(pStreamOut->audioUnit, kAudioOutputUnitProperty_EnableIO, kAudioUnitScope_Output,
1115 err = AudioUnitSetProperty(pStreamOut->audioUnit, kAudioOutputUnitProperty_CurrentDevice, kAudioUnitScope_Global,
1116 0, &pStreamOut->deviceID, sizeof(pStreamOut->deviceID));
1130 cb.inputProcRefCon = pStreamOut;
1132 err = AudioUnitSetProperty(pStreamOut->audioUnit, kAudioUnitProperty_SetRenderCallback, kAudioUnitScope_Input,
1141 uSize = sizeof(pStreamOut->deviceFormat);
1142 err = AudioUnitGetProperty(pStreamOut->audioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input,
1143 0, &pStreamOut->deviceFormat, &uSize);
1151 drvHostCoreAudioPCMInfoToASBDesc(&pStreamOut->streamOut.Props, &pStreamOut->streamFormat);
1154 drvHostCoreAudioPrintASBDesc("CoreAudio: Output device", &pStreamOut->deviceFormat);
1155 drvHostCoreAudioPrintASBDesc("CoreAudio: Output format", &pStreamOut->streamFormat);
1159 err = AudioUnitSetProperty(pStreamOut->audioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input,
1160 0, &pStreamOut->streamFormat, sizeof(pStreamOut->streamFormat));
1167 uSize = sizeof(pStreamOut->deviceFormat);
1168 err = AudioUnitGetProperty(pStreamOut->audioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input,
1169 0, &pStreamOut->deviceFormat, &uSize);
1181 err = AudioUnitSetProperty(pStreamOut->audioUnit, kAudioUnitProperty_MaximumFramesPerSlice, kAudioUnitScope_Global,
1190 err = AudioUnitInitialize(pStreamOut->audioUnit);
1203 err = AudioUnitGetProperty(pStreamOut->audioUnit, kAudioUnitProperty_MaximumFramesPerSlice, kAudioUnitScope_Global,
1209 AudioUnitUninitialize(pStreamOut->audioUnit);
1222 UInt32 cSamples = cFrames * pStreamOut->streamFormat.mChannelsPerFrame;
1230 rc = RTCircBufCreate(&pStreamOut->pBuf, cSamples << pHstStrmOut->Props.cShift);
1234 pStreamOut->cbPCMBuf = _4K; /** @todo Make this configurable. */
1235 pStreamOut->pvPCMBuf = RTMemAlloc(pStreamOut->cbPCMBuf);
1236 if (!pStreamOut->pvPCMBuf)
1248 err = AudioObjectAddPropertyListener(pStreamOut->deviceID, &propAdr,
1249 drvHostCoreAudioPlaybackAudioDevicePropertyChanged, (void *)pStreamOut);
1256 err = AudioObjectAddPropertyListener(pStreamOut->deviceID, &propAdr,
1257 drvHostCoreAudioPlaybackAudioDevicePropertyChanged, (void *)pStreamOut);
1265 ASMAtomicXchgU32(&pStreamOut->status, CA_STATUS_INIT);
1272 AudioUnitUninitialize(pStreamOut->audioUnit);
1274 if (pStreamOut->pBuf)
1276 RTCircBufDestroy(pStreamOut->pBuf);
1277 pStreamOut->pBuf = NULL;
1401 PCOREAUDIOSTREAMOUT pStreamOut = (PCOREAUDIOSTREAMOUT)pvUser;
1402 PPDMAUDIOHSTSTRMOUT pHstStrmOut = &pStreamOut->streamOut;
1404 if (ASMAtomicReadU32(&pStreamOut->status) != CA_STATUS_INIT)
1411 size_t cbDataAvail = RT_MIN(RTCircBufUsed(pStreamOut->pBuf), pBufData->mBuffers[0].mDataByteSize);
1424 RTCircBufAcquireReadBlock(pStreamOut->pBuf, cbDataAvail, (void **)&pbSrc, &cbToRead);
1434 RTCircBufReleaseReadBlock(pStreamOut->pBuf, cbToRead);
1458 PCOREAUDIOSTREAMOUT pStreamOut = (PCOREAUDIOSTREAMOUT)pHstStrmOut;
1461 if (ASMAtomicReadU32(&pStreamOut->status) == CA_STATUS_REINIT)
1462 drvHostCoreAudioReinitOutput(pInterface, &pStreamOut->streamOut);
1479 size_t cbBuf = RT_MIN(audioMixBufSizeBytes(&pHstStrmOut->MixBuf), pStreamOut->cbPCMBuf);
1480 size_t cbToRead = RT_MIN(cbBuf, RTCircBufFree(pStreamOut->pBuf));
1490 pStreamOut->pvPCMBuf, cbToRead, &cRead);
1498 RTCircBufAcquireWriteBlock(pStreamOut->pBuf, cbRead, (void **)&puBuf, &cbToWrite);
1501 RTCircBufReleaseWriteBlock(pStreamOut->pBuf, cbToWrite);
1508 memcpy(puBuf, pStreamOut->pvPCMBuf, cbToWrite);
1511 RTCircBufReleaseWriteBlock(pStreamOut->pBuf, cbToWrite);
1538 PCOREAUDIOSTREAMOUT pStreamOut = (PCOREAUDIOSTREAMOUT)pHstStrmOut;
1542 uint32_t uStatus = ASMAtomicReadU32(&pStreamOut->status);
1557 if (!drvHostCoreAudioIsRunning(pStreamOut->deviceID))
1559 err = AudioUnitReset(pStreamOut->audioUnit, kAudioUnitScope_Input, 0);
1565 RTCircBufReset(pStreamOut->pBuf);
1567 err = AudioOutputUnitStart(pStreamOut->audioUnit);
1580 if (drvHostCoreAudioIsRunning(pStreamOut->deviceID))
1582 err = AudioOutputUnitStop(pStreamOut->audioUnit);
1590 err = AudioUnitReset(pStreamOut->audioUnit, kAudioUnitScope_Input, 0);
1789 PCOREAUDIOSTREAMOUT pStreamOut = (PCOREAUDIOSTREAMOUT)pHstStrmOut;
1793 uint32_t status = ASMAtomicReadU32(&pStreamOut->status);
1800 int rc = drvHostCoreAudioControlOut(pInterface, &pStreamOut->streamOut, PDMAUDIOSTREAMCMD_DISABLE);
1803 ASMAtomicXchgU32(&pStreamOut->status, CA_STATUS_IN_UNINIT);
1806 if (pStreamOut->fDefDevChgListReg)
1810 err = AudioObjectRemovePropertyListener(pStreamOut->deviceID, &propAdr,
1814 pStreamOut->fDefDevChgListReg = false;
1820 err = AudioUnitUninitialize(pStreamOut->audioUnit);
1823 err = CloseComponent(pStreamOut->audioUnit);
1826 RTCircBufDestroy(pStreamOut->pBuf);
1827 pStreamOut->pBuf = NULL;
1829 pStreamOut->audioUnit = NULL;
1830 pStreamOut->deviceID = kAudioDeviceUnknown;
1832 if (pStreamOut->pvPCMBuf)
1834 RTMemFree(pStreamOut->pvPCMBuf);
1835 pStreamOut->pvPCMBuf = NULL;
1836 pStreamOut->cbPCMBuf = 0;
1839 ASMAtomicXchgU32(&pStreamOut->status, CA_STATUS_UNINIT);
1919 PCOREAUDIOSTREAMOUT pStreamOut = (PCOREAUDIOSTREAMOUT)pHstStrmOut;
1927 ASMAtomicXchgU32(&pStreamOut->status, CA_STATUS_UNINIT);
1929 pStreamOut->audioUnit = NULL;
1930 pStreamOut->deviceID = kAudioDeviceUnknown;
1933 drvAudioStreamCfgToProps(pCfg, &pStreamOut->streamOut.Props);
1941 pStreamOut->audioDeviceId = drvHostCoreAudioDeviceUIDtoID(DeviceUID.pszOutputDeviceUID);
1943 if (pStreamOut->audioDeviceId == kAudioDeviceUnknown)
1960 drvHostCoreAudioDefaultDeviceChanged, (void *)pStreamOut);
1964 pStreamOut->fDefDevChgListReg = true;