• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/IOAudioFamily-197.4.2/

Lines Matching refs:clientBuffer

1184 IOReturn IOAudioStream::addClient(IOAudioClientBuffer *clientBuffer)
1188 audioDebugIOLog(3, "+ IOAudioStream[%p]::addClient(%p)\n", this, clientBuffer);
1190 if (clientBuffer) {
1191 assert(clientBuffer->audioStream == this);
1197 if ((clientBuffer->nextClip == NULL) && (clientBuffer->previousClip == NULL) && (clientBuffer != clientBufferListStart) && (clientBuffer->nextClient == NULL) && (clientBuffer != userClientList)) {
1199 // <rdar://11731381> Make sure that the clientBuffer is not at the end of the list.
1201 while (tmpClientBuffer && (tmpClientBuffer != clientBuffer)) {
1205 audioDebugIOLog(3, " clientBuffer %p is already in the list.\n", tmpClientBuffer);
1210 audioDebugIOLog(3, " unexpected clientBuffer values (%p, %p, %p, %p, %p, %p)\n", clientBuffer->nextClip, clientBuffer->previousClip, clientBuffer, clientBufferListStart, clientBuffer->nextClient, userClientList );
1223 clientBuffer->nextClient = userClientList;
1224 userClientList = clientBuffer;
1228 clientBuffer->mixedPosition.fLoopCount = 0;
1229 clientBuffer->mixedPosition.fSampleFrame = 0;
1231 clientBuffer->previousClip = NULL;
1232 clientBuffer->nextClip = NULL;
1251 audioDebugIOLog(3, " clientBuffer invalid (%d, %d, %d).\n", format.fIsMixable, numClients, getDirection());
1263 audioDebugIOLog(3, "- IOAudioStream[%p]::addClient(%p) returns 0x%lX\n", this, clientBuffer, (long unsigned int)result );
1267 void IOAudioStream::removeClient(IOAudioClientBuffer *clientBuffer)
1269 audioDebugIOLog(3, "+ IOAudioStream[%p]::removeClient(%p)\n", this, clientBuffer);
1271 if (clientBuffer) {
1274 assert(clientBuffer->audioStream == this);
1279 while (tmpClientBuffer && (tmpClientBuffer != clientBuffer)) {
1299 if ((clientBuffer->nextClip != NULL) || (clientBuffer->previousClip != NULL) || (clientBuffer == clientBufferListStart)) {
1305 if (clientBuffer->previousClip != NULL) {
1306 clientBuffer->previousClip->nextClip = clientBuffer->nextClip;
1309 if (clientBuffer->nextClip != NULL) {
1310 clientBuffer->nextClip->previousClip = clientBuffer->previousClip;
1313 if (clientBufferListEnd == clientBuffer) {
1314 assert(clientBuffer->nextClip == NULL);
1315 clientBufferListEnd = clientBuffer->previousClip;
1318 if (clientBufferListStart == clientBuffer) {
1319 assert(clientBuffer->previousClip == NULL);
1320 clientBufferListStart = clientBuffer->nextClip;
1329 clientBuffer->previousClip = NULL;
1330 clientBuffer->nextClip = NULL;
1331 clientBuffer->nextClient = NULL;
1335 audioDebugIOLog(3, "- IOAudioStream[%p]::removeClient(%p)\n", this, clientBuffer);
1370 IOReturn IOAudioStream::readInputSamples(IOAudioClientBuffer *clientBuffer, UInt32 firstSampleFrame)
1378 if (clientBuffer) {
1385 if ((firstSampleFrame + clientBuffer->numSampleFrames) > numSampleFramesPerBuffer) {
1386 numWrappedFrames = clientBuffer->numSampleFrames - (numSampleFramesPerBuffer - firstSampleFrame);
1394 result = audioIOFunctions[functionNum](sampleBuffer, clientBuffer->sourceBuffer, firstSampleFrame, clientBuffer->numSampleFrames - numWrappedFrames, &format, this);
1404 result = audioIOFunctions[functionNum](sampleBuffer, &((float *)clientBuffer->sourceBuffer)[(numSampleFramesPerBuffer - firstSampleFrame) * format.fNumChannels], 0, numWrappedFrames, &format, this);
1412 numReadFrames = clientBuffer->numSampleFrames - numWrappedFrames;
1414 result = audioEngine->convertInputSamplesVBR(sampleBuffer, clientBuffer->sourceBuffer, firstSampleFrame, numReadFrames, &format, this);
1422 result = audioEngine->convertInputSamplesVBR(sampleBuffer, &((float *)clientBuffer->sourceBuffer)[(numSampleFramesPerBuffer - firstSampleFrame) * format.fNumChannels], 0, numReadFrames, &format, this);
1425 result = audioEngine->convertInputSamplesVBR(sampleBuffer, ((UInt8 *)clientBuffer->sourceBuffer) + ((numSampleFramesPerBuffer - firstSampleFrame) * format.fNumChannels * (format.fBitWidth / 8)), 0, numReadFrames, &format, this);
1437 IOReturn IOAudioStream::processOutputSamples(IOAudioClientBuffer *clientBuffer, UInt32 firstSampleFrame, UInt32 loopCount, bool samplesAvailable)
1441 //audioDebugIOLog(6, "IOAudioStream[%p]::processOutputSamples(%p, 0x%lx)\n", this, clientBuffer, firstSampleFrame);
1442 //audioDebugIOLog(6, "m(%lx,%lx,%lx)\n", loopCount, firstSampleFrame, clientBuffer->numSampleFrames);
1445 if (clientBuffer) {
1460 if (IOAUDIOENGINEPOSITION_IS_ZERO(&clientBuffer->mixedPosition)) {
1461 clientBuffer->mixedPosition.fSampleFrame = firstSampleFrame;
1462 clientBuffer->mixedPosition.fLoopCount = loopCount;
1466 if ((clientBuffer->mixedPosition.fSampleFrame != firstSampleFrame) || (clientBuffer->mixedPosition.fLoopCount != loopCount)) {
1469 clientBuffer,
1472 (long unsigned int)clientBuffer->mixedPosition.fLoopCount,
1473 (long unsigned int)clientBuffer->mixedPosition.fSampleFrame);
1474 clientBuffer->mixedPosition.fLoopCount = loopCount;
1475 clientBuffer->mixedPosition.fSampleFrame = firstSampleFrame;
1483 if ((clientBuffer != clientBufferListEnd) &&
1485 ((clientBufferListEnd->mixedPosition.fLoopCount > (clientBuffer->mixedPosition.fLoopCount + 1)) ||
1486 ((clientBufferListEnd->mixedPosition.fLoopCount == (clientBuffer->mixedPosition.fLoopCount + 1)) &&
1487 (clientBufferListEnd->mixedPosition.fSampleFrame > clientBuffer->mixedPosition.fSampleFrame)))) {
1489 if (clientBuffer->mixedPosition.fSampleFrame > clientBufferListEnd->mixedPosition.fSampleFrame) {
1490 clientBuffer->mixedPosition.fLoopCount = clientBufferListEnd->mixedPosition.fLoopCount - 1;
1492 clientBuffer->mixedPosition.fLoopCount = clientBufferListEnd->mixedPosition.fLoopCount;
1496 clientBuffer,
1499 (long unsigned int)clientBuffer->mixedPosition.fLoopCount,
1508 if (clientBuffer->mixedPosition.fLoopCount == clippedPosition.fLoopCount) {
1509 if (clientBuffer->mixedPosition.fSampleFrame < clippedPosition.fSampleFrame) {
1510 audioEngine->resetClipPosition(this, clientBuffer->mixedPosition.fSampleFrame);
1514 samplesMissed = clippedPosition.fSampleFrame - clientBuffer->mixedPosition.fSampleFrame;
1517 clientBuffer,
1520 (long unsigned int)clientBuffer->mixedPosition.fLoopCount,
1521 (long unsigned int)clientBuffer->mixedPosition.fSampleFrame,
1525 clippedPosition = clientBuffer->mixedPosition;
1527 } else if (clientBuffer->mixedPosition.fLoopCount < clippedPosition.fLoopCount) {
1528 audioEngine->resetClipPosition(this, clientBuffer->mixedPosition.fSampleFrame);
1532 samplesMissed = (clippedPosition.fLoopCount - clientBuffer->mixedPosition.fLoopCount - 1) * numSampleFramesPerBuffer;
1533 samplesMissed += clippedPosition.fSampleFrame + numSampleFramesPerBuffer - clientBuffer->mixedPosition.fSampleFrame;
1536 clientBuffer,
1539 (long unsigned int)clientBuffer->mixedPosition.fLoopCount,
1540 (long unsigned int)clientBuffer->mixedPosition.fSampleFrame,
1544 clippedPosition = clientBuffer->mixedPosition;
1553 numSamplesToMix = clientBuffer->numSampleFrames;
1561 if ((firstSampleFrame + clientBuffer->numSampleFrames) > currentSampleFrame) {
1562 //audioDebugIOLog(6, "IOAudioStream[%p]::processOutputSamples(%p) - Error: Some samples already played: first=%lx num=%lx curr=%lx\n", this, clientBuffer, firstSampleFrame, clientBuffer->numSampleFrames, currentSampleFrame);
1563 audioDebugIOLog(6, "mix() missed first=%lx num=%lx curr=%lx\n", firstSampleFrame, clientBuffer->numSampleFrames, currentSampleFrame);
1566 if ((clientBuffer->numSampleFrames + firstSampleFrame) > (currentSampleFrame + numSampleFramesPerBuffer)) {
1567 //audioDebugIOLog(6, "IOAudioStream[%p]::processOutputSamples(%p) - Error: Some samples already played: first=%lx num=%lx curr=%lx\n", this, clientBuffer, firstSampleFrame, clientBuffer->numSampleFrames, currentSampleFrame);
1568 audioDebugIOLog(6, "mix() missed first=%lx num=%lx curr=%lx\n", firstSampleFrame, clientBuffer->numSampleFrames, currentSampleFrame);
1578 result = mixOutputSamples (clientBuffer->sourceBuffer, mixBuffer, firstSampleFrame, numSamplesToMix, &format, this);
1580 result = audioEngine->mixOutputSamples(clientBuffer->sourceBuffer, mixBuffer, firstSampleFrame, numSamplesToMix, &format, this);
1590 result = mixOutputSamples (clientBuffer->sourceBuffer, mixBuffer, firstSampleFrame, numSampleFramesPerBuffer - firstSampleFrame, &format, this);
1592 result = audioEngine->mixOutputSamples(clientBuffer->sourceBuffer, mixBuffer, firstSampleFrame, numSampleFramesPerBuffer - firstSampleFrame, &format, this);
1598 IOLog("IOAudioStream[%p]::processOutputSamples(%p) - Error: 0x%x returned from audioEngine->mixOutputSamples(%p, %p, 0x%lx, 0x%lx, %p, %p)\n", this, clientBuffer, result, clientBuffer->sourceBuffer, mixBuffer, (long unsigned int)firstSampleFrame,(long unsigned int) numSampleFramesPerBuffer - firstSampleFrame, &format, this);
1603 result = mixOutputSamples (((float *)clientBuffer->sourceBuffer) + ((numSampleFramesPerBuffer - firstSampleFrame) * format.fNumChannels), mixBuffer, 0, nextSampleFrame, &format, this);
1605 result = audioEngine->mixOutputSamples(((float *)clientBuffer->sourceBuffer) + ((numSampleFramesPerBuffer - firstSampleFrame) * format.fNumChannels), mixBuffer, 0, nextSampleFrame, &format, this);
1618 (clientBuffer->mixedPosition.fLoopCount < startingPosition.fLoopCount) ||
1619 ((clientBuffer->mixedPosition.fLoopCount == startingPosition.fLoopCount) && (firstSampleFrame < startingPosition.fSampleFrame))) {
1621 startingPosition.fLoopCount = clientBuffer->mixedPosition.fLoopCount;
1626 IOLog("IOAudioStream[%p]::processOutputSamples(%p) - Error: 0x%lx returned from audioEngine->mixOutputSamples(%p, %p, 0x%lx, 0x%lx, %p, %p)\n", this, clientBuffer, (long unsigned int)result, clientBuffer->sourceBuffer, mixBuffer, (long unsigned int)firstSampleFrame,(long unsigned int) numSampleFramesPerBuffer - firstSampleFrame, &format, this);
1630 clientBuffer->mixedPosition.fLoopCount++;
1632 clientBuffer->mixedPosition.fSampleFrame = nextSampleFrame;
1635 clientBuffer->mixedPosition.fSampleFrame += clientBuffer->numSampleFrames;
1636 if (clientBuffer->mixedPosition.fSampleFrame >= numSampleFramesPerBuffer) {
1637 clientBuffer->mixedPosition.fSampleFrame -= numSampleFramesPerBuffer;
1638 clientBuffer->mixedPosition.fLoopCount++;
1643 if ((clientBuffer->nextClip == NULL) && (clientBuffer->previousClip == NULL) && (clientBuffer != clientBufferListStart)) {
1646 if ((clientBufferListStart != NULL) && (CMP_IOAUDIOENGINEPOSITION(&clientBuffer->mixedPosition, &clientBufferListStart->mixedPosition) > 0)) {
1650 tmpBuf = clientBuffer;
1655 assert(clientBuffer->nextClip == NULL);
1656 assert(clientBuffer->previousClip == NULL);
1658 clientBuffer->nextClip = clientBufferListStart;
1659 clientBufferListStart = clientBuffer;
1661 if (clientBuffer->nextClip == NULL) {
1662 clientBufferListEnd = clientBuffer;
1664 clientBuffer->nextClip->previousClip = clientBuffer;
1668 while ((tmpBuf->nextClip != NULL) && (CMP_IOAUDIOENGINEPOSITION(&clientBuffer->mixedPosition, &tmpBuf->nextClip->mixedPosition) > 0)) {
1672 if (tmpBuf != clientBuffer) {
1675 if (clientBuffer->previousClip != NULL) {
1676 clientBuffer->previousClip->nextClip = clientBuffer->nextClip;
1677 } else if (clientBuffer == clientBufferListStart) { // If we don't have a previous clip set, we may be the starting entry
1678 clientBufferListStart = clientBuffer->nextClip;
1681 if (clientBuffer->nextClip != NULL) {
1682 clientBuffer->nextClip->previousClip = clientBuffer->previousClip;
1683 } else if (clientBuffer == clientBufferListEnd) { // If we don't have a next clip set, we may be the last entry
1686 clientBufferListEnd = clientBuffer->previousClip;
1690 clientBuffer->nextClip = tmpBuf->nextClip;
1691 clientBuffer->previousClip= tmpBuf;
1692 tmpBuf->nextClip = clientBuffer;
1693 if (clientBuffer->nextClip) {
1694 clientBuffer->nextClip->previousClip = clientBuffer;
1696 if (clientBuffer->nextClip == NULL) {
1698 clientBufferListEnd = clientBuffer;
1712 mixBuffer = clientBuffer->sourceBuffer;
1726 IOLog("IOAudioStream[%p]::processOutputSamples(%p) - Internal Error: No mix buffer\n", this, clientBuffer);