[Freeswitch-users] mod_portaudio send 3rtppacket/60msinsteadof1packet/20ms
Anthony Minessale
anthony.minessale at gmail.com
Fri May 9 13:51:05 EDT 2008
I think that is where i have to draw the line and say get some better
hardware........
I did my best but if the box sucks that badly at timing i am not sure what
else to do because it's working flawlessly on mine which proves it depends
on the box and i dont 'even like portaudio
On Fri, May 9, 2008 at 6:34 AM, Sluschny, Thomas <
Thomas.Sluschny at siemens.com> wrote:
> ok,
> now it looks better, i. e. the switch_core_timer_check() times the
> ReadAudioStream function,
> but not perfect, now i see packets with differences of 15, 30, 45, 0 ms,
> e. g. 15, 15, 30, 15, 15, 15, 31, 16, 15, 31, 15, 16, 16, 29 ms and so on
>
> Looks like we already stuck with time resolution, but the switch_yield(1000)
> in ReadAudioStream() seems to work properly, strange ...
> I don't have the time to go deeper into and i next read my emails on
> tuesday :(
>
> I don't want to hijack this thread from Csaba, should we make a jira entry,
> Csaba? (for Anthonys clients sake :) )
>
> Thomas
>
> ------------------------------
> *Von:* freeswitch-users-bounces at lists.freeswitch.org [mailto:
> freeswitch-users-bounces at lists.freeswitch.org] *Im Auftrag von *Anthony
> Minessale
> *Gesendet:* Donnerstag, 8. Mai 2008 18:22
>
> *An:* freeswitch-users at lists.freeswitch.org
> *Betreff:* Re: [Freeswitch-users] mod_portaudio send
> 3rtppacket/60msinsteadof1packet/20ms
>
> r8305 is now exclusively using the timer to clock the audio stream. This
> is silly because you would think the darn sound card could at least provide
> timing at a lousy 8khz.
>
> please tell me this fixes it..... if the thread gets any bigger my client
> will crash.....
>
> On Thu, May 8, 2008 at 3:12 AM, Sluschny, Thomas <
> Thomas.Sluschny at siemens.com> wrote:
>
>> i tested with 8296 now in all combinations, but allways the same as
>> before, 3 RTP packets all 60ms:
>> now 2 frames accumulated (1 frame = 320 bytes always readable), but switch_core_timer_sync()
>> is not waiting 20ms.
>> I think its because at the beginning we get late by 2 frames, as you
>> described (2 timeouts at the beginning), so
>> the timer is lag behind the buffer.
>>
>> there the log for 20ms in portaudio.xml and vars.xml:
>>
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 177664138 ms :
>> Beginning (320 Bytes readable) ...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664138 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664139 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664139 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664141 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664141 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664143 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664143 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664145 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664145 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664147 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664147 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664149 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664149 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664151 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664151 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664153 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664153 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664155 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664155 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664157 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664157 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664159 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664159 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664161 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664161 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664163 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664163 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664165 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664165 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664167 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664167 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664169 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664169 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664171 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664171 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664173 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664173 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664175 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:174 ReadAudioStream() 177664175 ms :
>> timer timed out (320 Bytes readable)!
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:192 ReadAudioStream() 177664175 ms :
>> Return with 0 Bytes read (320 Bytes readable), exit.
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 177664176 ms :
>> Beginning (320 Bytes readable) ...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664177 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664178 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664178 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664180 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664180 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664182 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664182 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664184 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664184 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664186 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664186 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664188 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664188 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664190 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664190 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664192 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664192 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664194 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664194 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664196 ms :
>> after Wait... (1280 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:188 ReadAudioStream() 177664196 ms :
>> after switch_core_timer_sync()... (960 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:192 ReadAudioStream() 177664196 ms :
>> Return with 160 Bytes read (960 Bytes readable), exit.
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 177664196 ms :
>> Beginning (960 Bytes readable) ...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:188 ReadAudioStream() 177664196 ms :
>> after switch_core_timer_sync()... (640 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:192 ReadAudioStream() 177664196 ms :
>> Return with 160 Bytes read (640 Bytes readable), exit.
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 177664197 ms :
>> Beginning (640 Bytes readable) ...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:188 ReadAudioStream() 177664197 ms :
>> after switch_core_timer_sync()... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:192 ReadAudioStream() 177664197 ms :
>> Return with 160 Bytes read (320 Bytes readable), exit.
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 177664197 ms :
>> Beginning (320 Bytes readable) ...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664197 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664198 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664198 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664200 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664200 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664202 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664202 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664204 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664204 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664206 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664206 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664208 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664208 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664210 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664210 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664212 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664212 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664214 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664214 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664216 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664216 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664217 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664218 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664219 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664220 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664221 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664221 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664223 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664223 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664225 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664225 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664227 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664227 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664229 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664229 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664231 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664231 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664233 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664233 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664235 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664235 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664237 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:174 ReadAudioStream() 177664237 ms :
>> timer timed out (320 Bytes readable)!
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:192 ReadAudioStream() 177664237 ms :
>> Return with 0 Bytes read (320 Bytes readable), exit.
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 177664239 ms :
>> Beginning (320 Bytes readable) ...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664239 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664241 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664241 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664243 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664243 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664245 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664245 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664247 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664247 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664249 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664249 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664251 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664251 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664253 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664253 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664255 ms :
>> after Wait... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:177 ReadAudioStream() 177664255 ms :
>> before Wait...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:180 ReadAudioStream() 177664257 ms :
>> after Wait... (1280 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:188 ReadAudioStream() 177664257 ms :
>> after switch_core_timer_sync()... (960 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:192 ReadAudioStream() 177664257 ms :
>> Return with 160 Bytes read (960 Bytes readable), exit.
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 177664257 ms :
>> Beginning (960 Bytes readable) ...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:188 ReadAudioStream() 177664257 ms :
>> after switch_core_timer_sync()... (640 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:192 ReadAudioStream() 177664257 ms :
>> Return with 160 Bytes read (640 Bytes readable), exit.
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 177664257 ms :
>> Beginning (640 Bytes readable) ...
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:188 ReadAudioStream() 177664257 ms :
>> after switch_core_timer_sync()... (320 Bytes readable)
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:192 ReadAudioStream() 177664257 ms :
>> Return with 160 Bytes read (320 Bytes readable), exit.
>> 2008-05-08 10:08:18 [DEBUG] pablio.c:155 ReadAudioStream() 177664257 ms :
>> Beginning (320 Bytes readable) ...
>> Thomas
>>
>> ------------------------------
>> *Von:* freeswitch-users-bounces at lists.freeswitch.org [mailto:
>> freeswitch-users-bounces at lists.freeswitch.org] *Im Auftrag von *Anthony
>> Minessale
>> *Gesendet:* Mittwoch, 7. Mai 2008 18:50
>>
>> *An:* freeswitch-users at lists.freeswitch.org
>> *Betreff:* Re: [Freeswitch-users] mod_portaudio send
>> 3rtppacket/60msinsteadof1 packet/20ms
>>
>> ok,
>> please try 8295 at all combinations of codec-ms etc.
>> I changed the code to snoop the ringbuffer and make sure 2 frames worth of
>> audio as accumulated before i read from it.
>>
>>
>> On Wed, May 7, 2008 at 10:13 AM, Sluschny, Thomas <
>> Thomas.Sluschny at siemens.com> wrote:
>>
>>> I get always 3 RTP packets at once with 60ms setting, i also test with
>>> PCMU at 60i in vars.xml but i always get 20ms packets with 160byres packet
>>> size.
>>>
>>> Anthony, you are right with you "timeout assumption". To illustrate, here
>>> a log from my patch without waiting, i. e. no functional difference:
>>>
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594577 ms :
>>> Beginning (0 Bytes readable) ...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594577 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594577 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594579 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594579 ms :
>>> after Wait... (960 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:184 ReadAudioStream() 115594581 ms :
>>> all 320 Bytes read (640 Bytes readable), exit.
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594582 ms :
>>> Beginning (640 Bytes readable) ...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:184 ReadAudioStream() 115594582 ms :
>>> all 320 Bytes read (320 Bytes readable), exit.
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594582 ms :
>>> Beginning (320 Bytes readable) ...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:184 ReadAudioStream() 115594582 ms :
>>> all 320 Bytes read (0 Bytes readable), exit.
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594582 ms :
>>> Beginning (0 Bytes readable) ...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594582 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594582 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594583 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594583 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594585 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594585 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594587 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594587 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594589 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594589 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:167 ReadAudioStream() 115594591 ms :
>>> timer timed out (0 Bytes readable)!
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594593 ms :
>>> Beginning (0 Bytes readable) ...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594593 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594593 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594595 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594595 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594597 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594597 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594599 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594599 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594601 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594601 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594603 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594603 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594605 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594605 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:167 ReadAudioStream() 115594607 ms :
>>> timer timed out (0 Bytes readable)!
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594609 ms :
>>> Beginning (0 Bytes readable) ...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594609 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594609 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594611 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594611 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594613 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594613 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594615 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594615 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594617 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594617 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594618 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594618 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594620 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594620 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:167 ReadAudioStream() 115594622 ms :
>>> timer timed out (0 Bytes readable)!
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594624 ms :
>>> Beginning (0 Bytes readable) ...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594624 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594624 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594626 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594626 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594628 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594628 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594630 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594630 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594632 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594632 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594634 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594634 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594636 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594636 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594638 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594638 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594640 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594640 ms :
>>> after Wait... (960 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:184 ReadAudioStream() 115594642 ms :
>>> all 320 Bytes read (640 Bytes readable), exit.
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594642 ms :
>>> Beginning (640 Bytes readable) ...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:184 ReadAudioStream() 115594642 ms :
>>> all 320 Bytes read (320 Bytes readable), exit.
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594642 ms :
>>> Beginning (320 Bytes readable) ...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:184 ReadAudioStream() 115594642 ms :
>>> all 320 Bytes read (0 Bytes readable), exit.
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:156 ReadAudioStream() 115594642 ms :
>>> Beginning (0 Bytes readable) ...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594642 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594642 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594644 ms :
>>> before Wait...
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:172 ReadAudioStream() 115594644 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 16:53:48 [DEBUG] pablio.c:170 ReadAudioStream() 115594646 ms :
>>> before Wait...
>>> So i want use the timer to prevent these buffer read bursts all 60ms.
>>> 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).
>>>
>>> And if you like logs ;), here are the behavior with 60ms in
>>> portaudio.xml:
>>>
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:156 ReadAudioStream() 116511260 ms :
>>> Beginning (0 Bytes readable) ...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511260 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511260 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511262 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511262 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511264 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511264 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511266 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511266 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511268 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511268 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511270 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511270 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511272 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511272 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511274 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511274 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511276 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511276 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511278 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511278 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511279 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511279 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511281 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511281 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511283 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511283 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511285 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511285 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511287 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511287 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511289 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511289 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511291 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511291 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511293 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511293 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:167 ReadAudioStream() 116511295 ms :
>>> timer timed out (0 Bytes readable)!
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:156 ReadAudioStream() 116511297 ms :
>>> Beginning (0 Bytes readable) ...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511297 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511297 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511299 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511299 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511301 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511301 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511303 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511303 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511305 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511305 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511307 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511307 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511309 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511309 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511311 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511311 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511313 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511313 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511315 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511315 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511317 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511317 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511318 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511318 ms :
>>> after Wait... (960 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:184 ReadAudioStream() 116511321 ms :
>>> all 960 Bytes read (0 Bytes readable), exit.
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:156 ReadAudioStream() 116511321 ms :
>>> Beginning (0 Bytes readable) ...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511321 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511321 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511322 ms :
>>> before Wait...
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:172 ReadAudioStream() 116511322 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:04 [DEBUG] pablio.c:170 ReadAudioStream() 116511324 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511324 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511326 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511326 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511328 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511328 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511330 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511330 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511332 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511332 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511334 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511334 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511336 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511336 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511338 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511338 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511340 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511340 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511342 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511342 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511344 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511344 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511346 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511346 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511348 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511348 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511350 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511350 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511352 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511352 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511354 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511354 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511356 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511356 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:167 ReadAudioStream() 116511358 ms :
>>> timer timed out (0 Bytes readable)!
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:156 ReadAudioStream() 116511359 ms :
>>> Beginning (0 Bytes readable) ...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511360 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511360 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511361 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511361 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511363 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511363 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511365 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511365 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511367 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511367 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511369 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511369 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511371 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511371 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511373 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511373 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511375 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511375 ms :
>>> after Wait... (0 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:170 ReadAudioStream() 116511377 ms :
>>> before Wait...
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:172 ReadAudioStream() 116511377 ms :
>>> after Wait... (960 Bytes readable)
>>> 2008-05-07 17:09:05 [DEBUG] pablio.c:184 ReadAudioStream() 116511379 ms :
>>> all 960 Bytes read (0 Bytes readable), exit.
>>> Strange timeout after 35...40ms, or should it be?
>>>
>>> Thomas
>>>
>>> ------------------------------
>>> *Von:* freeswitch-users-bounces at lists.freeswitch.org [mailto:
>>> freeswitch-users-bounces at lists.freeswitch.org] *Im Auftrag von *Csaba
>>> Zelei
>>> *Gesendet:* Mittwoch, 7. Mai 2008 16:46
>>> *An:* freeswitch-users at lists.freeswitch.org
>>> *Betreff:* Re: [Freeswitch-users] mod_portaudio send 3
>>> rtppacket/60msinsteadof1 packet/20ms
>>>
>>> I tried it with the latest trunk.
>>> If I set it to 60ms sometimes I still get <1ms rtp packet delta, if I set
>>> it to 120ms then there is none
>>> 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.
>>>
>>>
>>> Anthony Minessale wrote:
>>>
>>> Have you tried setting the codec-ms in the portaudio.conf.xml to 60 or
>>> 120 ms?
>>> Maybe the soundcard is not able to do 20ms intervals and portaudio is
>>> doing the least common multiple and chopping it up for us.
>>> 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:
>>>
>>> 20ms (timeout..... flush buffer)
>>> 20ms (timeout..... flush buffer)
>>> 20ms (get 60ms worth of audio at once [3 20ms packets] but we have
>>> already read 2 filler frames from the timeouts)
>>>
>>> So now we have read 5 packets instead of 3 and erased some of our buffer
>>> because of perceived timeouts.
>>> The code is using the assumption that if the device will obey the chosen
>>> frame size and sample rate requests down to the interval.
>>>
>>> If you find and edit conf/autoload_configs/portaudio.conf.xml
>>>
>>> look for this:
>>>
>>> <param name="codec-ms" value="20"/>
>>>
>>> and change 20 to 60
>>>
>>> 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
>>> 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.
>>>
>>> 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 at 60i to disable
>>> buffering if you are in a reliable network.
>>>
>>> The same should be true for setting the codec-ms to 120
>>>
>>>
>>> On Wed, May 7, 2008 at 3:27 AM, Sluschny, Thomas <
>>> Thomas.Sluschny at siemens.com> wrote:
>>>
>>>> Hi Anthony,
>>>>
>>>> i also tested your patch with no success.
>>>> As i already described below, the problem with all 60ms 3 packets comes
>>>> from the soundcard.
>>>> The hardware delivers its samples all 60 ms.
>>>> Our problem is (like Csaba said) that we read out the buffer after
>>>> 60ms, 3 times, each with samples for 20ms, AND WITH NO DELAY!
>>>> 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.
>>>>
>>>> In my patch i wait appr.20 ms if last method call was no longer than 4ms
>>>> ago,
>>>> but i think we can do better with switch_core_timer_check() method, but
>>>> i don't know exactly how.
>>>>
>>>> You are absolutly right with your demand for a better timing resolution
>>>> under Windows,
>>>> but this 60ms mystery is caused by the soundcard.
>>>>
>>>> Thomas
>>>>
>>>> ------------------------------
>>>>
>>>
>>>
>>> _______________________________________________
>>> Freeswitch-users mailing list
>>> Freeswitch-users at lists.freeswitch.org
>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>> http://www.freeswitch.org
>>>
>>>
>>
>>
>> --
>> Anthony Minessale II
>>
>> FreeSWITCH http://www.freeswitch.org/
>> ClueCon http://www.cluecon.com/
>>
>> AIM: anthm
>> MSN:anthony_minessale at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
>> IRC: irc.freenode.net #freeswitch
>>
>> FreeSWITCH Developer Conference
>> sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
>> iax:guest at conference.freeswitch.org/888
>> googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
>> pstn:213-799-1400
>>
>> _______________________________________________
>> Freeswitch-users mailing list
>> Freeswitch-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>>
>>
>
>
> --
> Anthony Minessale II
>
> FreeSWITCH http://www.freeswitch.org/
> ClueCon http://www.cluecon.com/
>
> AIM: anthm
> MSN:anthony_minessale at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
> IRC: irc.freenode.net #freeswitch
>
> FreeSWITCH Developer Conference
> sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
> iax:guest at conference.freeswitch.org/888
> googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
> pstn:213-799-1400
>
> _______________________________________________
> Freeswitch-users mailing list
> Freeswitch-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
--
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
AIM: anthm
MSN:anthony_minessale at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
iax:guest at conference.freeswitch.org/888
googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
pstn:213-799-1400
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20080509/12d15be0/attachment-0001.html
More information about the Freeswitch-users
mailing list