aboutsummaryrefslogtreecommitdiffstats
path: root/main/slinfactory.c
AgeCommit message (Collapse)AuthorFilesLines
2009-06-16Merged revisions 201056,201090 via svnmerge from kpfleming1-11/+16
https://origsvn.digium.com/svn/asterisk/trunk ................ r201056 | kpfleming | 2009-06-16 13:54:30 -0500 (Tue, 16 Jun 2009) | 18 lines Merged revisions 200991 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r200991 | kpfleming | 2009-06-16 12:05:38 -0500 (Tue, 16 Jun 2009) | 11 lines Improve support for media paths that can generate multiple frames at once. There are various media paths in Asterisk (codec translators and UDPTL, primarily) that can generate more than one frame to be generated when the application calling them expects only a single frame. This patch addresses a number of those cases, at least the primary ones to solve the known problems. In addition it removes the broken TRACE_FRAMES support, fixes a number of bugs in various frame-related API functions, and cleans up various code paths affected by these changes. https://reviewboard.asterisk.org/r/175/ ........ ................ r201090 | kpfleming | 2009-06-16 14:27:12 -0500 (Tue, 16 Jun 2009) | 5 lines Another minor fix to compiler attribute checking. Defaulting to 'static' for the function scope was bad... so remove it. ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@201093 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-27Merged revisions 171622 via svnmerge from mmichelson1-0/+10
https://origsvn.digium.com/svn/asterisk/trunk ................ r171622 | mmichelson | 2009-01-27 14:11:30 -0600 (Tue, 27 Jan 2009) | 26 lines Merged revisions 171621 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r171621 | mmichelson | 2009-01-27 14:06:01 -0600 (Tue, 27 Jan 2009) | 18 lines Prevent a crash from occurring when a jitter buffer interpolated frame is removed from a slinfactory slinfactory used the "samples" field of an ast_frame in order to determine the amount of data contained within the frame. In certain cases, such as jitter buffer interpolated frames, the frame would have a non-zero value for "samples" but have NULL "data" This caused a problem when a memcpy call in ast_slinfactory_read would attempt to access invalid memory. The solution in use here is to never feed frames into the slinfactory if they have NULL "data" (closes issue #13116) Reported by: aragon Patches: 13116.diff uploaded by putnopvut (license 60) ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@171623 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-01Merged revisions 112126 via svnmerge from file1-0/+3
https://origsvn.digium.com/svn/asterisk/trunk ................ r112126 | file | 2008-04-01 13:50:37 -0300 (Tue, 01 Apr 2008) | 13 lines Merged revisions 112125 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r112125 | file | 2008-04-01 13:45:14 -0300 (Tue, 01 Apr 2008) | 5 lines Ensure that we do not exceed the hold's maximum size with a single frame. (closes issue #12047) Reported by: fabianoheringer Tested by: fabianoheringer ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@112127 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-01Add support for 16KHz signed linear.file1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@105509 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-30Merged revisions 101222 via svnmerge from file1-2/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r101222 | file | 2008-01-30 11:41:04 -0400 (Wed, 30 Jan 2008) | 4 lines Fix an issue where if a frame of higher sample size preceeded a frame of lower sample size and ast_slinfactory_read was called with a sample size of the combined values or higher a crash would happen. (closes issue #11878) Reported by: stuarth ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@101223 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-19Merged revisions 99187 via svnmerge from russell1-1/+10
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r99187 | russell | 2008-01-19 04:05:27 -0600 (Sat, 19 Jan 2008) | 4 lines Fix a couple of memory leaks with frame handling. Specifically, ast_frame_free() needed to be called on the frame that came from the translator to signed linear. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@99188 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-19another bunch of include removals (errno.h and asterisk/logger.h)rizzo1-1/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89425 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16Start untangling header inclusion in a way that does not affectrizzo1-2/+0
build times - tested, there is no measureable difference before and after this commit. In this change: use asterisk/compat.h to include a small set of system headers: inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h, stdlib.h, alloca.h, stdio.h Where available, the inclusion is conditional on HAVE_FOO_H as determined by autoconf. Normally, source files should not include any of the above system headers, and instead use either "asterisk.h" or "asterisk/compat.h" which does it better. For the time being I have left alone second-level directories (main/db1-ast, etc.). git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89333 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-08Merge audiohooks branch into trunk. This is a new API for developers to ↵file1-0/+18
listen and manipulate the audio going through a channel. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78649 f38db490-d61c-443f-a65b-d21fe96a405b
2007-05-25Minor tweak... drop translation path if one exists when we get an already ↵file1-3/+6
signed linear frame in. Chances are the stream has then switched to signed linear and we no longer need the path. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@66126 f38db490-d61c-443f-a65b-d21fe96a405b
2007-05-25Merged revisions 66074 via svnmerge from file1-3/+5
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r66074 | file | 2007-05-24 18:16:58 -0400 (Thu, 24 May 2007) | 2 lines Fix slinfactory logic when dealing with frames coming in that may already be in the signed linear format. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@66109 f38db490-d61c-443f-a65b-d21fe96a405b
2007-03-05Merged revisions 57798 via svnmerge from file1-4/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r57798 | file | 2007-03-04 23:19:53 -0500 (Sun, 04 Mar 2007) | 2 lines Don't allow a NULL pointer to reach ast_frdup. (issue #9155 reported by cmaj) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@57799 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-26Merged revisions 43695 via svnmerge from file1-6/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r43695 | file | 2006-09-26 16:09:41 -0400 (Tue, 26 Sep 2006) | 2 lines Slight overhaul of the whisper support. 1. We need to duplicate the frame from ast_translate 2. We need to ensure we always have signed linear coming in for signed linear combining. 3. We need to ensure we are always feeding signed linear out. 4. Properly store and restore write format when beeping on the channel we are whispering on. 5. Properly discontinue the stream on the channel for the beep. (issue #8019 reported by timkelly1980) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@43696 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-29Merge team/russell/frame_cachingrussell1-12/+5
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: http://svn.digium.com/svn/asterisk/trunk@41278 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21merge new_loader_completion branch, including (at least):kpfleming1-0/+157
- restructured build tree and makefiles to eliminate recursion problems - support for embedded modules - support for static builds - simpler cross-compilation support - simpler module/loader interface (no exported symbols) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40722 f38db490-d61c-443f-a65b-d21fe96a405b