<!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>
<DIV dir=ltr align=left><SPAN class=836505207-08052008><FONT face=Arial 
color=#0000ff size=2>i tested with 8296 now in all combinations, but allways the 
same as before, 3 RTP packets all 60ms:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=836505207-08052008><FONT face=Arial 
color=#0000ff size=2>now 2 frames accumulated (1 frame = 320 bytes always 
readable), but <FONT size=2>switch_core_timer_sync() is not waiting 
20ms.</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=836505207-08052008><FONT face=Arial 
color=#0000ff size=2>I think its because at the beginning we get late by 2 
frames, as you described (2 timeouts at the beginning), so</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=836505207-08052008><FONT face=Arial 
color=#0000ff size=2>the timer is lag behind the buffer.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=836505207-08052008><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=836505207-08052008><FONT face=Arial 
color=#0000ff size=2>there the log for 20ms in portaudio.xml and 
vars.xml:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=836505207-08052008><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=836505207-08052008><FONT face=Arial 
color=#0000ff size=2>2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 
177664138 ms : Beginning (320 Bytes readable) ...<BR>2008-05-08 10:08:18 [DEBUG] 
pablio.c:177 ReadAudioStream() 177664138 ms : before Wait...<BR>2008-05-08 
10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664139 ms : after Wait... 
(320 Bytes readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 
ReadAudioStream() 177664139 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] 
pablio.c:180 ReadAudioStream() 177664141 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664141 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664143 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664143 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664145 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664145 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664147 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664147 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664149 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664149 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664151 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664151 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664153 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664153 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664155 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664155 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664157 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664157 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664159 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664159 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664161 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664161 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664163 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664163 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664165 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664165 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664167 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664167 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664169 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664169 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664171 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664171 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664173 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664173 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664175 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:174 ReadAudioStream() 
177664175 ms : timer timed out (320 Bytes readable)!<BR>2008-05-08 10:08:18 
[DEBUG] pablio.c:192 ReadAudioStream() 177664175 ms : Return with 0 Bytes read 
(320 Bytes readable), exit.<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:155 
ReadAudioStream() 177664176 ms : Beginning (320 Bytes readable) 
...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664177 ms : 
before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 
177664178 ms : after Wait... (320 Bytes readable)<BR>2008-05-08 10:08:18 [DEBUG] 
pablio.c:177 ReadAudioStream() 177664178 ms : before Wait...<BR>2008-05-08 
10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664180 ms : after Wait... 
(320 Bytes readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 
ReadAudioStream() 177664180 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] 
pablio.c:180 ReadAudioStream() 177664182 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664182 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664184 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664184 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664186 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664186 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664188 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664188 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664190 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664190 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664192 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664192 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664194 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664194 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664196 ms : after Wait... (1280 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:188 ReadAudioStream() 
177664196 ms : after switch_core_timer_sync()... (960 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:192 ReadAudioStream() 
177664196 ms : Return with 160 Bytes read (960 Bytes readable), 
exit.<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 177664196 ms 
: Beginning (960 Bytes readable) ...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:188 
ReadAudioStream() 177664196 ms : after switch_core_timer_sync()... (640 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:192 ReadAudioStream() 
177664196 ms : Return with 160 Bytes read (640 Bytes readable), 
exit.<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 177664197 ms 
: Beginning (640 Bytes readable) ...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:188 
ReadAudioStream() 177664197 ms : after switch_core_timer_sync()... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:192 ReadAudioStream() 
177664197 ms : Return with 160 Bytes read (320 Bytes readable), 
exit.<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 177664197 ms 
: Beginning (320 Bytes readable) ...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 
ReadAudioStream() 177664197 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] 
pablio.c:180 ReadAudioStream() 177664198 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664198 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664200 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664200 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664202 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664202 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664204 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664204 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664206 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664206 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664208 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664208 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664210 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664210 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664212 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664212 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664214 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664214 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664216 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664216 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664217 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664218 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664219 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664220 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664221 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664221 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664223 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664223 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664225 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664225 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664227 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664227 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664229 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664229 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664231 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664231 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664233 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664233 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664235 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664235 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664237 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:174 ReadAudioStream() 
177664237 ms : timer timed out (320 Bytes readable)!<BR>2008-05-08 10:08:18 
[DEBUG] pablio.c:192 ReadAudioStream() 177664237 ms : Return with 0 Bytes read 
(320 Bytes readable), exit.<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:155 
ReadAudioStream() 177664239 ms : Beginning (320 Bytes readable) 
...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664239 ms : 
before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 
177664241 ms : after Wait... (320 Bytes readable)<BR>2008-05-08 10:08:18 [DEBUG] 
pablio.c:177 ReadAudioStream() 177664241 ms : before Wait...<BR>2008-05-08 
10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664243 ms : after Wait... 
(320 Bytes readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 
ReadAudioStream() 177664243 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] 
pablio.c:180 ReadAudioStream() 177664245 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664245 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664247 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664247 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664249 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664249 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664251 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664251 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664253 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664253 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664255 ms : after Wait... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 
177664255 ms : before Wait...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:180 
ReadAudioStream() 177664257 ms : after Wait... (1280 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:188 ReadAudioStream() 
177664257 ms : after switch_core_timer_sync()... (960 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:192 ReadAudioStream() 
177664257 ms : Return with 160 Bytes read (960 Bytes readable), 
exit.<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 177664257 ms 
: Beginning (960 Bytes readable) ...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:188 
ReadAudioStream() 177664257 ms : after switch_core_timer_sync()... (640 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:192 ReadAudioStream() 
177664257 ms : Return with 160 Bytes read (640 Bytes readable), 
exit.<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 177664257 ms 
: Beginning (640 Bytes readable) ...<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:188 
ReadAudioStream() 177664257 ms : after switch_core_timer_sync()... (320 Bytes 
readable)<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:192 ReadAudioStream() 
177664257 ms : Return with 160 Bytes read (320 Bytes readable), 
exit.<BR>2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 177664257 ms 
: Beginning (320 Bytes readable) ...<BR></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=836505207-08052008><FONT face=Arial 
color=#0000ff size=2>Thomas</DIV></FONT></SPAN><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>Anthony Minessale<BR><B>Gesendet:</B> Mittwoch, 7. Mai 2008 
18:50<BR><B>An:</B> freeswitch-users@lists.freeswitch.org<BR><B>Betreff:</B> Re: 
[Freeswitch-users] mod_portaudio send 3rtppacket/60msinsteadof1 
packet/20ms<BR></FONT><BR></DIV>
<DIV></DIV>ok,<BR>please try 8295 at all combinations of codec-ms etc.<BR>I 
changed the code to snoop the ringbuffer and make sure 2 frames worth of audio 
as accumulated before i read from it.<BR><BR><BR>
<DIV class=gmail_quote>On Wed, May 7, 2008 at 10:13 AM, Sluschny, Thomas &lt;<A 
href="mailto:Thomas.Sluschny@siemens.com">Thomas.Sluschny@siemens.com</A>&gt; 
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 bgcolor="#ffffff" text="#000000">
  <DIV dir=ltr align=left><SPAN><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" target=_blank>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><FONT face=Arial color=#0000ff 
  size=2></FONT></SPAN>&nbsp;</DIV>
  <DIV dir=ltr align=left><SPAN><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><FONT face=Arial color=#0000ff 
  size=2></FONT></SPAN>&nbsp;</DIV>
  <DIV dir=ltr align=left><SPAN><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><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><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><FONT face=Arial color=#0000ff 
  size=2></FONT></SPAN>&nbsp;</DIV>
  <DIV dir=ltr align=left><SPAN><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><FONT face=Arial color=#0000ff 
  size=2></FONT></SPAN>&nbsp;</DIV>
  <DIV dir=ltr align=left><SPAN><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><FONT face=Arial color=#0000ff size=2>Strange 
  timeout after 35...40ms, or should it be?</FONT></SPAN></DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
  size=2></FONT></SPAN>&nbsp;</DIV>
  <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
  size=2>Thomas</FONT></SPAN></DIV><BR>
  <DIV lang=de dir=ltr align=left>
  <HR>
  <FONT face=Tahoma size=2><B>Von:</B> <A 
  href="mailto:freeswitch-users-bounces@lists.freeswitch.org" 
  target=_blank>freeswitch-users-bounces@lists.freeswitch.org</A> [mailto:<A 
  href="mailto:freeswitch-users-bounces@lists.freeswitch.org" 
  target=_blank>freeswitch-users-bounces@lists.freeswitch.org</A>] <B>Im Auftrag 
  von </B>Csaba Zelei<BR><B>Gesendet:</B> Mittwoch, 7. Mai 2008 16:46
  <DIV class=Ih2E3d><BR><B>An:</B> <A 
  href="mailto:freeswitch-users@lists.freeswitch.org" 
  target=_blank>freeswitch-users@lists.freeswitch.org</A><BR><B>Betreff:</B> Re: 
  [Freeswitch-users] mod_portaudio send 3 rtppacket/60msinsteadof1 
  packet/20ms<BR></DIV></FONT><BR></DIV>
  <DIV>
  <DIV></DIV>
  <DIV class=Wj3C7c>
  <DIV></DIV>I tried it with the latest trunk.<BR>If I set it to 60ms sometimes 
  I still get &lt;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 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.&nbsp; 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>&nbsp;&lt;param name="codec-ms" value="20"/&gt;<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 
    &lt;<A href="mailto:Thomas.Sluschny@siemens.com" 
    target=_blank>Thomas.Sluschny@siemens.com</A>&gt; 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>&nbsp;</DIV>
      <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
      size=2>i&nbsp;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 &lt;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>&nbsp;</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>&nbsp;</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>&nbsp;</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></DIV></DIV></DIV><BR>_______________________________________________<BR>Freeswitch-users 
  mailing list<BR><A 
  href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</A><BR><A 
  href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" 
  target=_blank>http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</A><BR>UNSUBSCRIBE:<A 
  href="http://lists.freeswitch.org/mailman/options/freeswitch-users" 
  target=_blank>http://lists.freeswitch.org/mailman/options/freeswitch-users</A><BR><A 
  href="http://www.freeswitch.org" 
  target=_blank>http://www.freeswitch.org</A><BR><BR></BLOCKQUOTE></DIV><BR><BR 
clear=all><BR>-- <BR>Anthony Minessale II<BR><BR>FreeSWITCH <A 
href="http://www.freeswitch.org/">http://www.freeswitch.org/</A><BR>ClueCon <A 
href="http://www.cluecon.com/">http://www.cluecon.com/</A><BR><BR>AIM: 
anthm<BR><A 
href="mailto:MSN%3Aanthony_minessale@hotmail.com">MSN:anthony_minessale@hotmail.com</A><BR>GTALK/JABBER/<A 
href="mailto:PAYPAL%3Aanthony.minessale@gmail.com">PAYPAL:anthony.minessale@gmail.com</A><BR>IRC: 
<A href="http://irc.freenode.net">irc.freenode.net</A> 
#freeswitch<BR><BR>FreeSWITCH Developer Conference<BR><A 
href="mailto:sip%3A888@conference.freeswitch.org">sip:888@conference.freeswitch.org</A><BR><A 
href="http://iax:guest@conference.freeswitch.org/888">iax:guest@conference.freeswitch.org/888</A><BR><A 
href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org">googletalk:conf+888@conference.freeswitch.org</A><BR>pstn:213-799-1400 
</BODY></HTML>