Commit Graph

78 Commits

Author SHA1 Message Date
Russell Bryant
d90285f4f5 In case we have some processing threads that free more frames than they allocate,
do not let the frame cache grow forever.

(closes issue #13160)
Reported by: tavius
Tested by: tavius, russell


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@134814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-31 16:45:31 +00:00
Russell Bryant
89497599be Merged revisions 75444 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75444 | russell | 2007-07-17 15:45:27 -0500 (Tue, 17 Jul 2007) | 5 lines

Ensure that when encoding the contents of an ast_frame into an iax_frame, that
the size of the destination buffer is known in the iax_frame so that code
won't write past the end of the allocated buffer when sending outgoing frames.
(ASA-2007-014)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75445 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 20:48:21 +00:00
Joshua Colp
7572eb866a Add TXMEDIA to list so that it is properly displayed during iax2 packet output.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-13 19:58:59 +00:00
Joshua Colp
bfeb3bcf18 Copy len variable as well, should fix remaining IAX2 DTMF issues.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@59076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-20 20:42:46 +00:00
Kevin P. Fleming
24bb7d865e don't mark these allocations as 'cache' allocations when caching has been disabled
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@49536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-04 21:58:42 +00:00
Kevin P. Fleming
6b1817c0d1 if we're going to decrement the frame count when we free a frame, we should inrement it when we create one :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@49523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-04 21:06:02 +00:00
Kevin P. Fleming
497dd42772 only do IAX2 frame caching for voice and video frames
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@49465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-04 18:31:55 +00:00
Kevin P. Fleming
f7a47b38eb don't define this type either if LOW_MEMORY is enabled
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@49460 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-04 18:16:40 +00:00
Kevin P. Fleming
74258ab85e don't do frame caching in LOW_MEMORY mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@49458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-04 18:06:51 +00:00
Kevin P. Fleming
b2c8abbc6d allow 'show memory' and 'show memory summary' to distinguish memory allocations that were done for caching purposes, so they don't look like memory leaks
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@48987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-27 18:29:13 +00:00
Russell Bryant
7dfc749551 there is no need for __iax_frame_free ...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 21:50:07 +00:00
Russell Bryant
0c6932eeb4 there is no need to use iax_frame_free here, as it will actually just end up
having a bunch of erroneous messages about attempting to double free frames
spammed to the console.  Problem reported to me by file ...


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41629 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 20:39:12 +00:00
Joshua Colp
c6977b9983 Merge in VLDTMF support with Zaptel/Core done by the ever great Darumkilla Russell Bryant and the RTP portion done by myself, Muffinlicious Joshua Colp. This has gone through so many discussions/revisions it's not funny but we finally have it!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 01:59:02 +00:00
Russell Bryant
f7e7161607 Merge team/russell/frame_caching
There are some situations in Asterisk where ast_frame and/or iax_frame
structures are rapidly allocatted and freed (at least 50 times per second
for one call).

This code significantly improves the performance of ast_frame_header_new(), 
ast_frdup(), ast_frfree(), iax_frame_new(), and iax_frame_free() by keeping
a thread-local cache of these structures and using frames from the cache 
whenever possible instead of calling malloc/free every time.

This commit also converts the ast_frame and iax_frame structures to use the
linked list macros.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-29 20:50:36 +00:00
Russell Bryant
93682ec72e make the counting of ingress, outgress, and total frames thread-safe
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38587 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-31 17:27:42 +00:00
Russell Bryant
ca9ba719b6 Merge a new implementation of ast_inet_ntoa, our thread safe replacement for
inet_ntoa, which uses thread specific data (aka thread local storage) instead
of stack allocatted buffers to store the result.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-21 17:31:28 +00:00
Mark Spencer
4c90cf59b7 Support hold/unhold in Zap, update IAX2 parser to know about modern commands, forward hold/unhold in dial, add hold device state
and implement holding in the SLA.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-08 02:24:07 +00:00
Kevin P. Fleming
472c1ca282 simplify autoconfig include mechanism (make tholo happy he can use lint again :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07 18:54:56 +00:00
Kevin P. Fleming
a16ae226b6 use string fields for some stuff in ast_channel
const-ify some more APIs
remove 'type' field from ast_channel, in favor of the one in the channel's tech structure
allow string field module users to specify the 'chunk size' for pool allocations
update chan_alsa to be compatible with recent const-ification patches


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@9060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-01 23:05:28 +00:00
Russell Bryant
a725468381 update doxygen docs to specify authors
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-30 21:18:06 +00:00
Kevin P. Fleming
2c65582b66 remove extraneous svn:executable properties
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29 18:24:39 +00:00
Kevin P. Fleming
1740d40182 issue #5693
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7058 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-10 23:42:45 +00:00
Kevin P. Fleming
033cd4d58f revert strncpy->ast_copy_string changes where the semantics are subtly different
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6914 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 23:28:30 +00:00
Russell Bryant
395f81d734 strncpy to ast_copy_string
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-27 02:42:05 +00:00
Russell Bryant
6324072247 more doxygenification (issue #5513)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 13:03:17 +00:00
Mark Spencer
8087701923 iax2 parser cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-21 12:47:03 +00:00
Kevin P. Fleming
5da915dcfd update MANY more files with proper copyright/license info (thanks Ian!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 20:46:50 +00:00
Russell Bryant
943e527d0a don't use a signed buffer for data that the protocol specifies as unsigned.
This fixes an issues with RSA authentication (issue #5148)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-09 01:07:25 +00:00
Kevin P. Fleming
6a260b78fe use unsigned char for data elements and native-signed char for strings (issue #5104)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6508 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-02 19:17:19 +00:00
Kevin P. Fleming
81c127758b ensure buffer is adequately sized for frames with lots of elements (issue #4974)
various minor formatting/cleanup changes


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 17:38:58 +00:00
Mark Spencer
3916b7e41b Fix IAX2 encryption (really, bug #4500 for reference)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 14:46:20 +00:00
Mark Spencer
fb12b92a43 Various IAX2 fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5901 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-13 08:48:17 +00:00
Kevin P. Fleming
2b8338cb52 more file version tags
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 22:12:19 +00:00
Kevin P. Fleming
005e436b57 another round of version tag updates, along with 'show version files' pattern filtering
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 21:09:59 +00:00
Russell Bryant
9644f1dcfe various code cleanups (bug #4353)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-25 10:57:15 +00:00
Russell Bryant
9f9fcca6c0 print out the IAX DATETIME IE in 'iax2 debug' in human readable form
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-17 19:41:09 +00:00
Kevin P. Fleming
1f9ab2380a use double-quotes instead of angle-brackets for non-system include files (bug #4058)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-21 06:02:45 +00:00
Kevin P. Fleming
bbc8c2ce6f fix breakage from slin endianness commit earlier today (sorry :-()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-04 02:13:40 +00:00
Kevin P. Fleming
b96ae79baa handle AST_FORMAT_SLINEAR endianness properly on big-endian systems (bug #3865)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-03 22:57:18 +00:00
Mark Spencer
f966e5e186 Simplify endianness and fix for unaligned reads (bug #3867)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-29 04:49:24 +00:00
Mark Spencer
f9cfe60312 Add support for Solaris/x86 (bug #3064)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5199 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 23:12:15 +00:00
Mark Spencer
34e8ed636d Fix queue URL passing (bug #3543)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-28 06:06:42 +00:00
Mark Spencer
2b914b7ebf Add support for receiver reports (bug #3236, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-12 18:52:14 +00:00
Russell Bryant
0c30452423 update copyright headers for 2005
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 07:06:25 +00:00
Mark Spencer
4038178ccb Merge experimental codec preferences for IAX2 (bug #2971)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 10:32:53 +00:00
Mark Spencer
90197dbbdc Minor IAX2 fixes, add incomplete-but-very-basically-functional IAX2 encryption
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 23:02:21 +00:00
Mark Spencer
83728dbd79 Merge Tilghman's cause codes patch (bug #3032)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-26 22:33:25 +00:00
Mark Spencer
9d40b8ee80 Merge slimey's Solaris compatibility (with small mods) (bug #2740)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-14 23:36:30 +00:00
Mark Spencer
cd4ff4ecb1 Add sampling rate handling
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-19 21:52:25 +00:00
James Golovich
8009d53690 Pass format string
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 06:44:37 +00:00