........
r1384 | jaroslavl1 | 2010-01-24 12:44:15 +0100 (Sun, 24 Jan 2010) | 1 line
Fixed = operator in server_t not freeing old string.
........
r1401 | jaroslavl1 | 2010-02-24 22:52:26 +0100 (Wed, 24 Feb 2010) | 1 line
Fixed problem in portaudio when synchronous reading from stream could
block indefinitely due to repeating timeout and inability to specify
function call timeout. This can happen if wrong recording device is
selected in Windows 7 like USB TV tuner instead of microphone. Now we will
return paTimedOut after some time. Problems occur because TV tuner is
activated only by special program and until then we cannot record from it
(windows recorder doesn't record either).
........
http://code.google.com/p/sipxtapi/source/detail?r=1417
Modified:
/branches/sipxtapi-3.2.1
/branches/sipxtapi-3.2.1/sipXmediaLib/contrib/portaudio_v19/src/hostapi/wmme/pa_win_wmme.c
/branches/sipxtapi-3.2.1/sipXtackLib/src/net/SipSrvLookup.cpp
=======================================
---
/branches/sipxtapi-3.2.1/sipXmediaLib/contrib/portaudio_v19/src/hostapi/wmme/pa_win_wmme.c
Sat Jan 15 07:34:29 2011
+++
/branches/sipxtapi-3.2.1/sipXmediaLib/contrib/portaudio_v19/src/hostapi/wmme/pa_win_wmme.c
Sat Jan 15 07:37:25 2011
@@ -3607,6 +3607,7 @@
DWORD waitResult;
DWORD timeout = (unsigned long)(stream->allBuffersDurationMs * 0.5);
unsigned int channel, i;
+ unsigned int bufferTimeoutCounter = 0;
if( PA_IS_INPUT_STREAM_(stream) )
{
@@ -3630,6 +3631,7 @@
do{
if( CurrentInputBuffersAreDone( stream ) )
{
+ bufferTimeoutCounter = 0;
if( NoBuffersAreQueued( &stream->input ) )
{
/** @todo REVIEW: consider what to do if the input
overflows.
@@ -3681,12 +3683,17 @@
}
else if( waitResult == WAIT_TIMEOUT )
{
+ bufferTimeoutCounter++;
/* if a timeout is encountered, continue,
perhaps we should give up eventually
*/
+ if (bufferTimeoutCounter >= 10)
+ {
+ return paTimedOut;
+ }
}
}
- }while( framesRead < frames );
+ }while(framesRead < frames);
}
else
{
=======================================
--- /branches/sipxtapi-3.2.1/sipXtackLib/src/net/SipSrvLookup.cpp Fri Jan
25 13:27:59 2008
+++ /branches/sipxtapi-3.2.1/sipXtackLib/src/net/SipSrvLookup.cpp Sat Jan
15 07:37:25 2011
@@ -920,7 +920,12 @@
return *this;
}
- // Copy the host strign, if present.
+ if (host)
+ {
+ free(host);
+ host = NULL;
+ }
+ // Copy the host string, if present.
host = SAFE_STRDUP(rhs.host);
// Copy the other fields.
type = rhs.type;