Oh, looks like the timers are also used for streaming local data in read_stream_thread(). Due to this there is always one timer active with 20ms interval.
But wait a sec, why is freeswitch periodically trying to stream /opt/freeswitch/sounds/music/8000/ponce-preludio-in-e-major.wav somewhere? Every minute or so? Did I misconfigure it? eaf wrote: > > Say, what if that thread is made to suspend on a condition variable in > case if there are no timers registered in TIMER_MATRIX? Then, if some > other thread comes up and adds its timer into the matrix, it could wake up > the timer thread and enjoy accurate timing as needed, on demand? And > in-between the calls, when there is no RTP or IVR, it will all go silent? > I mean, sitting on a wait queue in the kernel is way better than go back > and forth incrementing counters that nobody even needs at the moment? > > > Anthony Minessale-2 wrote: >> >> idle is a 4 letter word to a realtime application. >> >> The core keeps a single high-priority thread to keep 1ms timing and >> expands >> that broadcasting >> to hundreds or thousand of threads who need accurate timing. >> >> Your choppy audio is caused by linksys lying about the packet len that >> it's >> using and we set our timer >> to the wrong speed. >> >> > > -- View this message in context: http://old.nabble.com/Choppy-sound-with-PCMU-tp26594250p26620518.html Sent from the Freeswitch-users mailing list archive at Nabble.com. _______________________________________________ FreeSWITCH-users mailing list [email protected] http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
