Bug report:Tonegen clears tone count only once all tones played out

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Developers,

Using PJSIP v1.7, I found that the current PJMEDIA tonegen only clears
the count of tones once *all* queued tones have been played out.
Therefore, the tone queue can fill up quickly, once full it prevents
further tones being queued for playout, even though there are less than
the maximum tones allowed that are remaining to be played out,
effectively blocking tone generation for PJMEDIA_TONEGEN_MAX_DIGITS (e.g
32) tones worth of time. 

Fix:
- Tone queue is now circular. Added "next" field to use as the 
  insert index. 
- cur_digit is used as playout index.
  No more tones to play once cur_digit == next.
- tonegen->count now stores the actual count of tones in the queue.
- Added function to query number of tones queued.

See attach diff files. Please excuse the formatting change in c file.

-- 
BRgds, 
Steve King

Design Engineer
Zetron Australasia
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tonegen.h.diff
Type: text/x-patch
Size: 537 bytes
Desc: not available
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20110216/25586a80/attachment.diff>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tonegen.c.diff
Type: text/x-patch
Size: 14439 bytes
Desc: not available
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20110216/25586a80/attachment-0001.diff>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux