testing beware
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8294 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
79433a61f8
commit
885c4e54c8
|
@ -552,7 +552,7 @@ static switch_status_t channel_read_frame(switch_core_session_t *session, switch
|
||||||
globals.read_frame.datalen = samples * 2;
|
globals.read_frame.datalen = samples * 2;
|
||||||
globals.read_frame.samples = samples;
|
globals.read_frame.samples = samples;
|
||||||
|
|
||||||
switch_core_timer_check(&globals.timer, SWITCH_TRUE);
|
//switch_core_timer_check(&globals.timer, SWITCH_TRUE);
|
||||||
*frame = &globals.read_frame;
|
*frame = &globals.read_frame;
|
||||||
|
|
||||||
if (!switch_test_flag((&globals), GFLAG_MOUTH)) {
|
if (!switch_test_flag((&globals), GFLAG_MOUTH)) {
|
||||||
|
|
|
@ -145,20 +145,36 @@ long ReadAudioStream(PABLIO_Stream * aStream, void *data, long numFrames, switch
|
||||||
{
|
{
|
||||||
long bytesRead;
|
long bytesRead;
|
||||||
char *p = (char *) data;
|
char *p = (char *) data;
|
||||||
long numBytes = aStream->bytesPerFrame * numFrames;
|
long avail, readBytes = 0, numBytes = aStream->bytesPerFrame * numFrames;
|
||||||
|
|
||||||
while (numBytes > 0) {
|
while (numBytes > 0) {
|
||||||
bytesRead = PaUtil_ReadRingBuffer(&aStream->inFIFO, p, numBytes);
|
avail = PaUtil_GetRingBufferReadAvailable(&aStream->inFIFO);
|
||||||
numBytes -= bytesRead;
|
|
||||||
|
if (avail >= numBytes * 10) {
|
||||||
|
PaUtil_FlushRingBuffer(&aStream->inFIFO);
|
||||||
|
avail = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (avail >= numBytes) {
|
||||||
|
bytesRead = PaUtil_ReadRingBuffer(&aStream->inFIFO, p, numBytes);
|
||||||
|
numBytes -= bytesRead;
|
||||||
|
readBytes += bytesRead;
|
||||||
|
}
|
||||||
|
|
||||||
if (numBytes > 0) {
|
if (numBytes > 0) {
|
||||||
if (switch_core_timer_check(timer, SWITCH_TRUE) == SWITCH_STATUS_SUCCESS) {
|
if (switch_core_timer_check(timer, SWITCH_TRUE) == SWITCH_STATUS_SUCCESS) {
|
||||||
PaUtil_FlushRingBuffer(&aStream->inFIFO);
|
break;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
switch_yield(1000);
|
switch_yield(1000);
|
||||||
|
p += bytesRead;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return numFrames;
|
|
||||||
|
if (readBytes) {
|
||||||
|
switch_core_timer_sync(timer);
|
||||||
|
}
|
||||||
|
|
||||||
|
return readBytes / aStream->bytesPerFrame;
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************
|
/************************************************************
|
||||||
|
|
Loading…
Reference in New Issue