aboutsummaryrefslogtreecommitdiffstats
path: root/codecs
AgeCommit message (Collapse)AuthorFilesLines
2010-11-05Merged revisions 293969 via svnmerge from sruffell1-4/+4
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r293969 | sruffell | 2010-11-04 19:06:02 -0500 (Thu, 04 Nov 2010) | 25 lines Merged revisions 293968 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r293968 | sruffell | 2010-11-04 19:02:53 -0500 (Thu, 04 Nov 2010) | 17 lines codecs/codec_dahdi: Prevent "choppy" audio when receiving unexpected frame sizes. dahdi-linux 2.4.0 (specifically commit 9034) added the capability for the wctc4xxp to return more than a single packet of data in response to a read. However, when decoding packets, codec_dahdi was still assuming that the default number of samples was in each read. In other words, each packet your provider sent you, regardless of size, would result in 20 ms of decoded data (30 ms if decoding G723). If your provider was sending 60 ms packets then codec_dahdi would end up stripping 40 ms of data from each transcoded frame resulting in "choppy" audio. This would only affect systems where G729 packets are arriving in sizes greater than 20ms or G723 packets arriving in sizes greater than 30ms. DAHDI-744. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@293970 f38db490-d61c-443f-a65b-d21fe96a405b
2010-09-09Merged revisions 285818 via svnmerge from pabelanger1-0/+8
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r285818 | pabelanger | 2010-09-09 18:49:19 -0400 (Thu, 09 Sep 2010) | 15 lines Merged revisions 285817 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r285817 | pabelanger | 2010-09-09 18:34:35 -0400 (Thu, 09 Sep 2010) | 8 lines GCC 4.2.x optimizations result in improper behavior of GSM codec (closes issue #17688) Reported by: pprindeville Patches: asterisk-trunk-bugid11243.patch uploaded by pprindeville (license 347) Tested by: mkeuter, pprindeville ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@285819 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-21add speex 16khz sample frame so codec cost can be calculateddvossel2-5/+36
(closes issue #17534) Reported by: fabled Patches: speex-wb-sample.diff uploaded by fabled (license 448) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@271625 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-17adds speex 16khz audio supportdvossel1-17/+65
(closes issue #17501) Reported by: fabled Patches: asterisk-trunk-speex-wideband-v2.patch uploaded by fabled (license 448) Tested by: malcolmd, fabled, dvossel git-svn-id: http://svn.digium.com/svn/asterisk/trunk@271231 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-03Make compile again.rmudgett1-2/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@267622 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-03Remove unnecessary code relating to PLC.mmichelson8-215/+0
The logic for handling generic PLC is now handled in ast_write in channel.c instead of in translation code. Review: https://reviewboard.asterisk.org/r/683/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@267492 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-23Change per-file debug and verbose levels to be per-module, the waykpfleming1-0/+1
users expect them to work. 'core set debug' and 'core set verbose' can optionally change the level for a specific filename; however, this is actually for a specific source file name, not the module that source file is included in. With examples like chan_sip, chan_iax2, chan_misdn and others consisting of multiple source files, this will not lead to the behavior that users expect. If they want to set the debug level for chan_sip, they want it set for all of chan_sip, and not to have to also set it for reqresp_parser and other files that comprise the chan_sip module. This patch changes this functionality to be module-name based instead of file-name based. To make this work, some Makefile modifications were required to ensure that the AST_MODULE definition is present in each object file produced for each module as well. Review: https://reviewboard.asterisk.org/r/574/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@253917 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-16OSARCH is not inherited to this directorytilghman1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@252760 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-15Make the Makefile logic more explicit and move the Snow Leopard logic down ↵tilghman1-10/+12
to where it's not executed on non-Darwin systems. (closes issue #17028) Reported by: pabelanger Patches: issue17028_20100315.patch uploaded by seanbright (license 71) 20100315__issue17028.diff.txt uploaded by tilghman (license 14) Tested by: tilghman, pabelanger git-svn-id: http://svn.digium.com/svn/asterisk/trunk@252488 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-09Build system modifications to ensure that Asterisk properly builds on Mac OS ↵tilghman1-0/+5
X 10.6. (closes issue #16997) Reported by: jquinn Patches: 20100309__issue16997__2.diff.txt uploaded by tilghman (license 14) Tested by: tilghman, russell git-svn-id: http://svn.digium.com/svn/asterisk/trunk@251475 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-10Merged revisions 229281 via svnmerge from file1-42/+0
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r229281 | file | 2009-11-10 16:03:14 -0400 (Tue, 10 Nov 2009) | 8 lines Remove broken support for direct transcoding between G.726 RFC3551 and G.726 AAL2. On some systems the translation core would actually consider g726aal2 -> g726 -> signed linear to be a quicker path then g726aal2 -> signed linear which exposed this problem. (closes issue #15504) Reported by: globalnetinc ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@229282 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-06Fixes merging issue from 1.4, frame data is held in data.ptr in trunkdvossel1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@228441 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-06Merged revisions 228418 via svnmerge from dvossel1-0/+5
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r228418 | dvossel | 2009-11-06 11:07:13 -0600 (Fri, 06 Nov 2009) | 13 lines fixes segfault in iLBC For reasons not yet known, it appears possible for an ast_frame to have a datalen greater than zero while the actual data is NULL during Packet Loss Concealment. Most codecs don't support PLC so this doesn't affect them. This patch catches the malformed frame and prevents the crash from occuring. Additional efforts to determine why it is possible for a frame to look like this are still being investigated. (issue #16979) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@228420 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-04Expand codec bitfield from 32 bits to 64 bits.tilghman11-17/+42
Reviewboard: https://reviewboard.asterisk.org/r/416/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@227580 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-21Merged revisions 224931 via svnmerge from russell1-8/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r224931 | russell | 2009-10-20 21:59:54 -0500 (Tue, 20 Oct 2009) | 5 lines Isolate frames returned from a DSP instance or codec translator. The reasoning for these changes are the same as what I wrote in the commit message for rev 222878. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@224932 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-10AST-2009-005tilghman1-4/+4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@211539 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-30Fixes numerous spelling errors. Patch submitted by alecdavis.dbrooks1-1/+1
(closes issue #15595) Reported by: alecdavis git-svn-id: http://svn.digium.com/svn/asterisk/trunk@209554 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-21Merged revisions 207647 via svnmerge from kpfleming3-3/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r207647 | kpfleming | 2009-07-21 08:04:44 -0500 (Tue, 21 Jul 2009) | 12 lines Ensure that user-provided CFLAGS and LDFLAGS are honored. This commit changes the build system so that user-provided flags (in ASTCFLAGS and ASTLDFLAGS) are supplied to the compiler/linker *after* all flags provided by the build system itself, so that the user can effectively override the build system's flags if desired. In addition, ASTCFLAGS and ASTLDFLAGS can now be provided *either* in the environment before running 'make', or as variable assignments on the 'make' command line. As a result, the use of COPTS and LDOPTS is no longer necessary, so they are no longer documented, but are still supported so as not to break existing build systems that supply them when building Asterisk. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@207680 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-15Merged revisions 206635 via svnmerge from seanbright1-3/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r206635 | seanbright | 2009-07-15 11:57:51 -0400 (Wed, 15 Jul 2009) | 1 line Only print debug info in codec_dahdi if we are asking for it. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@206636 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-18fixes some memory leaks and redundant conditionsdvossel1-1/+1
(closes issue #15269) Reported by: contactmayankjain Patches: patch.txt uploaded by contactmayankjain (license 740) memory_leak_stuff.trunk.diff uploaded by dvossel (license 671) Tested by: contactmayankjain, dvossel git-svn-id: http://svn.digium.com/svn/asterisk/trunk@201678 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-15Shuttle some bits around to address some gain issues with G.722.russell2-6/+6
(closes AST-209) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@194722 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-15Further simplify codec_g722 build.russell2-26/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@194718 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-15Actually force running make for g722.russell1-3/+3
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@194714 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-17Several changes to codec_dahdi to play nice with G723.sruffell1-84/+325
This commit brings in the changes that were living out on the svn/asterisk/team/sruffell/asterisk-trunk-transcoder branch. codec_dahdi.c now always uses signed linear as the simple codec so that a soft g729 codec will not end up being preferred to the hardware codec. There are also changes to allow codec_dahdi.c to feed packets to the hardware in the native sample size of the codec. This solves problems with choppy audio when using G723. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@176760 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-20Merged revisions 157859 via svnmerge from kpfleming1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r157859 | kpfleming | 2008-11-19 15:34:47 -0600 (Wed, 19 Nov 2008) | 7 lines the gcc optimizer frequently finds broken code (use of uninitalized variables, unreachable code, etc.), which is good. however, developers usually compile with the optimizer turned off, because if they need to debug the resulting code, optimized code makes that process very difficult. this means that we get code changes committed that weren't adequately checked over for these sorts of problems. with this build system change, if (and only if) --enable-dev-mode was used and DONT_OPTIMIZE is turned on, when a source file is compiled it will actually be preprocessed (into a .i or .ii file), then compiled once with optimization (with the result sent to /dev/null) and again without optimization (but only if the first compile succeeded, of course). while making these changes, i did some cleanup work in Makefile.rules to move commonly-used combinations of flag variables into their own variables, to make the file easier to read and maintain ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@157974 f38db490-d61c-443f-a65b-d21fe96a405b
2008-10-30fix a few small things found by using sparsekpfleming1-1/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@152809 f38db490-d61c-443f-a65b-d21fe96a405b
2008-10-17Merge codec_consistency branch. This should make sample usage much happier.qwell36-1052/+358
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@150729 f38db490-d61c-443f-a65b-d21fe96a405b
2008-10-15When using MALLOC_DEBUG, codec_lpc10 leaks memory, because it matches a librarytilghman1-1/+1
malloc() with an ast_free (which, of course, doesn't match up with known allocated memory, so the free fails). (closes issue #13702) Reported by: eliel Patches: codec_lpc10_lpcini.c uploaded by eliel (license 64) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@149637 f38db490-d61c-443f-a65b-d21fe96a405b
2008-09-12Create a new config file status, CONFIG_STATUS_FILEINVALID for differentiatingtilghman9-27/+9
when a file is invalid from when a file is missing. This is most important when we have two configuration files. Consider the following example: Old system: sip.conf users.conf Old result New result ======== ========== ========== ========== Missing Missing SIP doesn't load SIP doesn't load Missing OK SIP doesn't load SIP doesn't load Missing Invalid SIP doesn't load SIP doesn't load OK Missing SIP loads SIP loads OK OK SIP loads SIP loads OK Invalid SIP loads incompletely SIP doesn't load Invalid Missing SIP doesn't load SIP doesn't load Invalid OK SIP doesn't load SIP doesn't load Invalid Invalid SIP doesn't load SIP doesn't load So in the case when users.conf doesn't load because there's a typo that disrupts the syntax, we may only partially load users, instead of failing with an error, which may cause some calls not to get processed. Worse yet, the old system would do this with no indication that anything was even wrong. (closes issue #10690) Reported by: dtyoo Patches: 20080716__bug10690.diff.txt uploaded by Corydon76 (license 14) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@142992 f38db490-d61c-443f-a65b-d21fe96a405b
2008-09-02Update instructions for getting libresamplerussell1-1/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@140566 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-20Remove extraneous debugging messages.sruffell1-2/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@139154 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-20Fix bug where the samples were not accurate when in G723 mode, which wouldsruffell1-5/+8
cause the timestamp field of the RTP header to be invalid. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@139153 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-09More RSW merges. This should do it for the channels/ dir.seanbright1-4/+4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@136917 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-07Updating codec_dahdi to the new transcoder interface.sruffell1-108/+80
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@136676 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-07More merges from resolve-shadow warnings:seanbright2-5/+5
utils/ codecs/ and a change I missed from formats/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@136408 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-21Remove libresample from the Asterisk source tree. It is now available in itsrussell1-1/+8
own repository, and must be installed like any other library for Asterisk to use. The two modules that require it are codec_resample and app_jack. To install libresample: $ svn co http://svn.digium.com/svn/libresample/trunk libresample $ cd libresample $ ./configure $ make $ sudo make install This code is currently in our own repository because the build system did not include the appropriate targets for building a dynamic library or for installing the library. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@132390 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-21Enable higher quality resampling, as it doesn't have a noticeable performancerussell1-1/+1
impact on my machine .. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@132388 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-11Janitor patch to change uses of sizeof to ARRAY_LENbbryant3-6/+6
(closes issue #13054) Reported by: pabelanger Patches: ARRAY_LEN.patch2 uploaded by pabelanger (license 224) Tested by: seanbright git-svn-id: http://svn.digium.com/svn/asterisk/trunk@130129 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-26Convert casts to unions, to fix alignment issues on Solaristilghman11-24/+24
(closes issue #12932) Reported by: snuffy Patches: bug_12932_20080627.diff uploaded by snuffy (license 35) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@125386 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-25Merged revisions 125132 via svnmerge from kpfleming1-1/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r125132 | kpfleming | 2008-06-25 17:21:30 -0500 (Wed, 25 Jun 2008) | 10 lines allow tonezone to live in a different place than DAHDI/Zaptel, since dahdi-tools and dahdi-linux are now separate packages and can be installed in different places don't include tonezone.h in dahdi_compat.h, because only a couple of modules need it get app_rpt building again after the DAHDI changes (closes issue #12911) Reported by: tzafrir ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@125138 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-12Goodbye Zaptel, hello DAHDI. Removes Zaptel driver support with DAHDI. ↵jpeeler1-67/+66
Configuration file and dialplan backwards compatability has been put in place where appropiate. Release announcement to follow. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@122234 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-10Revision 117802 changed frame.data to frame.data.ptr however codec_ilbc.c ↵juggie1-4/+4
was not updated. This resolves that oversight. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@121599 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-22Fix a few places where frame data was used directly.qwell1-4/+4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@117828 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-22- revert change to ast_queue_hangup and create ast_queue_hangup_with_causemvanbaak10-44/+44
- make data member of the ast_frame struct a named union instead of a void Recently the ast_queue_hangup function got a new parameter, the hangupcause Feedback came in that this is no good and that instead a new function should be created. This I did. The hangupcause was stored in the seqno member of the ast_frame struct. This is not very elegant, and since there's already a data member that one should be used. Problem is, this member was a void *. Now it's a named union so it can hold a pointer, an uint32 and there's a padding in case someone wants to store another type in there in the future. This commit is so massive, because all ast_frame.data uses have to be altered to ast_frame.data.data Thanks russellb and kpfleming for the feedback. (closes issue #12674) Reported by: mvanbaak git-svn-id: http://svn.digium.com/svn/asterisk/trunk@117802 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-05Merged revisions 115327 via svnmerge from file1-0/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r115327 | file | 2008-05-05 19:10:05 -0300 (Mon, 05 May 2008) | 2 lines Make sure that either the main speex library contains preprocess functions or that speexdsp does. If both fail then speex stuff can not be built. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@115328 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-28Merged revisions 111856 via svnmerge from qwell1-3/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r111856 | qwell | 2008-03-28 16:45:35 -0500 (Fri, 28 Mar 2008) | 12 lines Allow gsm to compile correctly on x86 with gcc4 optimizations. (closes issue #11243) Reported by: whiskerp Patches: 11243-maybe-asm.diff uploaded by qwell (license 4) Tested by: Seggy (IRC) Note: While I did write this patch, I would not have found this if fossil had not reported and fixed issue #12253. A huge thanks to him for helping to (indirectly) find the problem here. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@111857 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-26Merged revisions 110880 via svnmerge from kpfleming50-7359/+5
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r110880 | kpfleming | 2008-03-26 09:42:35 -0700 (Wed, 26 Mar 2008) | 10 lines Merged revisions 110869 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r110869 | kpfleming | 2008-03-26 08:53:46 -0700 (Wed, 26 Mar 2008) | 2 lines due to licensing restrictions, we cannot distribute the source code for iLBC encoding and decoding... so remove it, and add instructions on how the user can obtain it themselves ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@110881 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-21Merged revisions 110474 via svnmerge from qwell1-3/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r110474 | qwell | 2008-03-21 09:32:52 -0500 (Fri, 21 Mar 2008) | 7 lines Don't attempt to do optimizations of gsm on mips platforms either. (closes issue #12270) Reported by: zandbelt Patches: 026-gsm-mips.patch uploaded by zandbelt (license 33) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@110475 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-20Use the correct buffer for g722tolin16_sample. This shouldn't have caused anyrussell1-3/+3
problems, but Qwell noticed the typo here. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@110339 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-18Merged revisions 109648 via svnmerge from qwell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r109648 | qwell | 2008-03-18 14:23:44 -0500 (Tue, 18 Mar 2008) | 7 lines Allow codecs that use log2comp (g726) to compile correctly on x86 with gcc4 optimizations. (closes issue #12253) Reported by: fossil Patches: log2comp.patch uploaded by fossil (license 140) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@109651 f38db490-d61c-443f-a65b-d21fe96a405b