<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3314" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff>
<DIV dir=ltr align=left><SPAN class=513385614-07052008><FONT face=Arial
color=#0000ff size=2>I get always 3 RTP packets at once with 60ms setting, i
also test with <A href="mailto:PCMU@60i">PCMU@60i</A> in vars.xml but i always
get 20ms packets with 160byres packet size.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=513385614-07052008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=513385614-07052008><FONT face=Arial
color=#0000ff size=2>Anthony, you are right with you "timeout assumption". To
illustrate, here a log from my patch without waiting, i. e. no functional
difference:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=513385614-07052008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=513385614-07052008><FONT face=Arial
color=#0000ff size=2>2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream()
115594577 ms : Beginning (0 Bytes readable) ...<BR>2008-05-07 16:53:48 [DEBUG]
pablio.c:170 ReadAudioStream() 115594577 ms : before Wait...<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594577 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream()
115594579 ms : before Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172
ReadAudioStream() 115594579 ms : after Wait... (960 Bytes
readable)<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:184 ReadAudioStream()
115594581 ms : all 320 Bytes read (640 Bytes readable), exit.<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594582 ms : Beginning (640
Bytes readable) ...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:184
ReadAudioStream() 115594582 ms : all 320 Bytes read (320 Bytes readable),
exit.<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594582 ms
: Beginning (320 Bytes readable) ...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:184
ReadAudioStream() 115594582 ms : all 320 Bytes read (0 Bytes readable),
exit.<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594582 ms
: Beginning (0 Bytes readable) ...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:170
ReadAudioStream() 115594582 ms : before Wait...<BR>2008-05-07 16:53:48 [DEBUG]
pablio.c:172 ReadAudioStream() 115594582 ms : after Wait... (0 Bytes
readable)<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream()
115594583 ms : before Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172
ReadAudioStream() 115594583 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594585 ms : before
Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594585
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG]
pablio.c:170 ReadAudioStream() 115594587 ms : before Wait...<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594587 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream()
115594589 ms : before Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172
ReadAudioStream() 115594589 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:167 ReadAudioStream() 115594591 ms : timer timed out
(0 Bytes readable)!<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:156
ReadAudioStream() 115594593 ms : Beginning (0 Bytes readable) ...<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594593 ms : before
Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594593
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG]
pablio.c:170 ReadAudioStream() 115594595 ms : before Wait...<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594595 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream()
115594597 ms : before Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172
ReadAudioStream() 115594597 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594599 ms : before
Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594599
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG]
pablio.c:170 ReadAudioStream() 115594601 ms : before Wait...<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594601 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream()
115594603 ms : before Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172
ReadAudioStream() 115594603 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594605 ms : before
Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594605
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG]
pablio.c:167 ReadAudioStream() 115594607 ms : timer timed out (0 Bytes
readable)!<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream()
115594609 ms : Beginning (0 Bytes readable) ...<BR>2008-05-07 16:53:48 [DEBUG]
pablio.c:170 ReadAudioStream() 115594609 ms : before Wait...<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594609 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream()
115594611 ms : before Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172
ReadAudioStream() 115594611 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594613 ms : before
Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594613
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG]
pablio.c:170 ReadAudioStream() 115594615 ms : before Wait...<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594615 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream()
115594617 ms : before Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172
ReadAudioStream() 115594617 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594618 ms : before
Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594618
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG]
pablio.c:170 ReadAudioStream() 115594620 ms : before Wait...<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594620 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:167 ReadAudioStream()
115594622 ms : timer timed out (0 Bytes readable)!<BR>2008-05-07 16:53:48
[DEBUG] pablio.c:156 ReadAudioStream() 115594624 ms : Beginning (0 Bytes
readable) ...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream()
115594624 ms : before Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172
ReadAudioStream() 115594624 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594626 ms : before
Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594626
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG]
pablio.c:170 ReadAudioStream() 115594628 ms : before Wait...<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594628 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream()
115594630 ms : before Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172
ReadAudioStream() 115594630 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594632 ms : before
Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594632
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG]
pablio.c:170 ReadAudioStream() 115594634 ms : before Wait...<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594634 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream()
115594636 ms : before Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172
ReadAudioStream() 115594636 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594638 ms : before
Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594638
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG]
pablio.c:170 ReadAudioStream() 115594640 ms : before Wait...<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594640 ms : after Wait...
(960 Bytes readable)<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:184
ReadAudioStream() 115594642 ms : all 320 Bytes read (640 Bytes readable),
exit.<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594642 ms
: Beginning (640 Bytes readable) ...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:184
ReadAudioStream() 115594642 ms : all 320 Bytes read (320 Bytes readable),
exit.<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594642 ms
: Beginning (320 Bytes readable) ...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:184
ReadAudioStream() 115594642 ms : all 320 Bytes read (0 Bytes readable),
exit.<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594642 ms
: Beginning (0 Bytes readable) ...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:170
ReadAudioStream() 115594642 ms : before Wait...<BR>2008-05-07 16:53:48 [DEBUG]
pablio.c:172 ReadAudioStream() 115594642 ms : after Wait... (0 Bytes
readable)<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream()
115594644 ms : before Wait...<BR>2008-05-07 16:53:48 [DEBUG] pablio.c:172
ReadAudioStream() 115594644 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594646 ms : before
Wait...<BR></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=513385614-07052008><FONT face=Arial
color=#0000ff size=2>So i want use the timer to prevent these buffer read bursts
all 60ms.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=513385614-07052008><FONT face=Arial
color=#0000ff size=2>All 3 x 320 bytes are used for RTP packets, so samples are
not lost (only during the first 2 timeouts, but this is
irrelevant).</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=513385614-07052008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=513385614-07052008><FONT face=Arial
color=#0000ff size=2>And if you like logs ;), here are the behavior with 60ms in
portaudio.xml:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=513385614-07052008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=513385614-07052008><FONT face=Arial
color=#0000ff size=2>2008-05-07 17:09:04 [DEBUG] pablio.c:156 ReadAudioStream()
116511260 ms : Beginning (0 Bytes readable) ...<BR>2008-05-07 17:09:04 [DEBUG]
pablio.c:170 ReadAudioStream() 116511260 ms : before Wait...<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511260 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream()
116511262 ms : before Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172
ReadAudioStream() 116511262 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511264 ms : before
Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511264
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG]
pablio.c:170 ReadAudioStream() 116511266 ms : before Wait...<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511266 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream()
116511268 ms : before Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172
ReadAudioStream() 116511268 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511270 ms : before
Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511270
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG]
pablio.c:170 ReadAudioStream() 116511272 ms : before Wait...<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511272 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream()
116511274 ms : before Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172
ReadAudioStream() 116511274 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511276 ms : before
Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511276
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG]
pablio.c:170 ReadAudioStream() 116511278 ms : before Wait...<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511278 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream()
116511279 ms : before Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172
ReadAudioStream() 116511279 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511281 ms : before
Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511281
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG]
pablio.c:170 ReadAudioStream() 116511283 ms : before Wait...<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511283 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream()
116511285 ms : before Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172
ReadAudioStream() 116511285 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511287 ms : before
Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511287
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG]
pablio.c:170 ReadAudioStream() 116511289 ms : before Wait...<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511289 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream()
116511291 ms : before Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172
ReadAudioStream() 116511291 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511293 ms : before
Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511293
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG]
pablio.c:167 ReadAudioStream() 116511295 ms : timer timed out (0 Bytes
readable)!<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:156 ReadAudioStream()
116511297 ms : Beginning (0 Bytes readable) ...<BR>2008-05-07 17:09:04 [DEBUG]
pablio.c:170 ReadAudioStream() 116511297 ms : before Wait...<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511297 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream()
116511299 ms : before Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172
ReadAudioStream() 116511299 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511301 ms : before
Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511301
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG]
pablio.c:170 ReadAudioStream() 116511303 ms : before Wait...<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511303 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream()
116511305 ms : before Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172
ReadAudioStream() 116511305 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511307 ms : before
Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511307
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG]
pablio.c:170 ReadAudioStream() 116511309 ms : before Wait...<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511309 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream()
116511311 ms : before Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172
ReadAudioStream() 116511311 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511313 ms : before
Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511313
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG]
pablio.c:170 ReadAudioStream() 116511315 ms : before Wait...<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511315 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream()
116511317 ms : before Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172
ReadAudioStream() 116511317 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511318 ms : before
Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511318
ms : after Wait... (960 Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG]
pablio.c:184 ReadAudioStream() 116511321 ms : all 960 Bytes read (0 Bytes
readable), exit.<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:156 ReadAudioStream()
116511321 ms : Beginning (0 Bytes readable) ...<BR>2008-05-07 17:09:04 [DEBUG]
pablio.c:170 ReadAudioStream() 116511321 ms : before Wait...<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511321 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream()
116511322 ms : before Wait...<BR>2008-05-07 17:09:04 [DEBUG] pablio.c:172
ReadAudioStream() 116511322 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511324 ms : before
Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511324
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG]
pablio.c:170 ReadAudioStream() 116511326 ms : before Wait...<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511326 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream()
116511328 ms : before Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172
ReadAudioStream() 116511328 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511330 ms : before
Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511330
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG]
pablio.c:170 ReadAudioStream() 116511332 ms : before Wait...<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511332 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream()
116511334 ms : before Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172
ReadAudioStream() 116511334 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511336 ms : before
Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511336
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG]
pablio.c:170 ReadAudioStream() 116511338 ms : before Wait...<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511338 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream()
116511340 ms : before Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172
ReadAudioStream() 116511340 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511342 ms : before
Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511342
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG]
pablio.c:170 ReadAudioStream() 116511344 ms : before Wait...<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511344 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream()
116511346 ms : before Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172
ReadAudioStream() 116511346 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511348 ms : before
Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511348
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG]
pablio.c:170 ReadAudioStream() 116511350 ms : before Wait...<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511350 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream()
116511352 ms : before Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172
ReadAudioStream() 116511352 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511354 ms : before
Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511354
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG]
pablio.c:170 ReadAudioStream() 116511356 ms : before Wait...<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511356 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:167 ReadAudioStream()
116511358 ms : timer timed out (0 Bytes readable)!<BR>2008-05-07 17:09:05
[DEBUG] pablio.c:156 ReadAudioStream() 116511359 ms : Beginning (0 Bytes
readable) ...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream()
116511360 ms : before Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172
ReadAudioStream() 116511360 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511361 ms : before
Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511361
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG]
pablio.c:170 ReadAudioStream() 116511363 ms : before Wait...<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511363 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream()
116511365 ms : before Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172
ReadAudioStream() 116511365 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511367 ms : before
Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511367
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG]
pablio.c:170 ReadAudioStream() 116511369 ms : before Wait...<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511369 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream()
116511371 ms : before Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172
ReadAudioStream() 116511371 ms : after Wait... (0 Bytes readable)<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511373 ms : before
Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511373
ms : after Wait... (0 Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG]
pablio.c:170 ReadAudioStream() 116511375 ms : before Wait...<BR>2008-05-07
17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511375 ms : after Wait... (0
Bytes readable)<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream()
116511377 ms : before Wait...<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:172
ReadAudioStream() 116511377 ms : after Wait... (960 Bytes
readable)<BR>2008-05-07 17:09:05 [DEBUG] pablio.c:184 ReadAudioStream()
116511379 ms : all 960 Bytes read (0 Bytes readable),
exit.<BR></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=513385614-07052008><FONT face=Arial
color=#0000ff size=2>Strange timeout after 35...40ms, or should it
be?</DIV></FONT></SPAN>
<DIV dir=ltr align=left><SPAN class=513385614-07052008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=513385614-07052008><FONT face=Arial
color=#0000ff size=2>Thomas</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=de dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>Von:</B>
freeswitch-users-bounces@lists.freeswitch.org
[mailto:freeswitch-users-bounces@lists.freeswitch.org] <B>Im Auftrag von
</B>Csaba Zelei<BR><B>Gesendet:</B> Mittwoch, 7. Mai 2008 16:46<BR><B>An:</B>
freeswitch-users@lists.freeswitch.org<BR><B>Betreff:</B> Re: [Freeswitch-users]
mod_portaudio send 3 rtppacket/60msinsteadof1 packet/20ms<BR></FONT><BR></DIV>
<DIV></DIV>I tried it with the latest trunk.<BR>If I set it to 60ms sometimes I
still get <1ms rtp packet delta, if I set it to 120ms then there is
none<BR>The rtp packet delta is still random within 50-70ms with sometimes too
low 15-30ms, sometimes too high 100-150ms delta (with codec-ms = 60ms), and with
15-20ms jitter.<BR><BR><BR>Anthony Minessale wrote:
<BLOCKQUOTE cite=mid:191c3a030805070618m3d4ef8e2i8033588a2db83aa4@mail.gmail.com
type="cite">Have you tried setting the codec-ms in the portaudio.conf.xml to
60 or 120 ms?<BR>Maybe the soundcard is not able to do 20ms intervals and
portaudio is doing the least common multiple and chopping it up for us.<BR>I
think what's happening is the timer in the module is set to the interval from
the config file (20ms) and during every 60ms period there is no audio until
the last ms. so in each 60 ms:<BR><BR>20ms (timeout..... flush
buffer)<BR>20ms (timeout..... flush buffer)<BR>20ms (get 60ms worth of audio
at once [3 20ms packets] but we have already read 2 filler frames from the
timeouts)<BR><BR>So now we have read 5 packets instead of 3 and erased some of
our buffer because of perceived timeouts.<BR>The code is using the assumption
that if the device will obey the chosen frame size and sample rate requests
down to the interval.<BR><BR>If you find and edit
conf/autoload_configs/portaudio.conf.xml<BR><BR>look for
this:<BR><BR> <param name="codec-ms" value="20"/><BR><BR>and change
20 to 60<BR><BR>Setting this to 60 will change the frame size of all the
packets from 320 to 960 and set the timer to clock at an interval of
60ms<BR>Since the card seems to be able to reliably produce 3 20ms packets
every 60ms it should also be able to produce 1 60ms packet.<BR><BR>FreeSWITCH
should then buffer the audio and still deliver it over SIP at 20ms if you want
but you can opt to set the codec PCMU@60i to disable buffering if you are in a
reliable network.<BR><BR>The same should be true for setting the codec-ms to
120<BR><BR><BR>
<DIV class=gmail_quote>On Wed, May 7, 2008 at 3:27 AM, Sluschny, Thomas <<A
href="mailto:Thomas.Sluschny@siemens.com"
moz-do-not-send="true">Thomas.Sluschny@siemens.com</A>> wrote:<BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
<DIV>
<DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>Hi
Anthony,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff
size=2>i also tested your patch with no success.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>As i
already described below, the problem with all 60ms 3 packets comes from the
soundcard.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>The
hardware delivers its samples all 60 ms.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>Our
problem is (like <FONT face="Times New Roman" size=3>Csaba said</FONT>) that
we read out the buffer after 60ms, 3 times, each with samples for 20ms, AND
WITH NO DELAY!</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>So we
get: 60ms wait and 3 RTP packets within <1ms to send, and after that we
already wait 60 ms for the next samples.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>In my
patch i wait appr.20 ms if last method call was no longer than 4ms
ago,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>but i
think we can do better with switch_core_timer_check<SPAN>() method, but i
don't know exactly how.</SPAN></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff
size=2><SPAN></SPAN></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff
size=2><SPAN>You are absolutly right with your demand for a better timing
resolution under Windows,</SPAN></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff
size=2><SPAN>but this 60ms mystery is caused by the
soundcard.</SPAN></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff
size=2><SPAN></SPAN></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff
size=2><SPAN>Thomas</SPAN></FONT></SPAN></DIV><BR>
<DIV lang=de dir=ltr align=left>
<HR>
</DIV></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE><BR></BODY></HTML>