[sipxtapi] r1417 committed - Merged revisions 1384,1401 via svnmerge from ...

1 view
Skip to first unread message

codesite...@google.com

unread,
Jan 15, 2011, 10:40:57 AM1/15/11
to sipxtapi...@googlegroups.com
Revision: 1417
Author: jaroslavl1
Date: Sat Jan 15 07:37:25 2011
Log: Merged revisions 1384,1401 via svnmerge from
https://sipxtapi.googlecode.com/svn/trunk

........
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;

Reply all
Reply to author
Forward
0 new messages