summaryrefslogtreecommitdiff
path: root/codecs
AgeCommit message (Collapse)Author
2008-09-12Create a new config file status, CONFIG_STATUS_FILEINVALID for differentiatingTilghman Lesher
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: https://origsvn.digium.com/svn/asterisk/trunk@142992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-02Update instructions for getting libresampleRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@140566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-20Remove extraneous debugging messages.Shaun Ruffell
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@139154 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-20Fix bug where the samples were not accurate when in G723 mode, which wouldShaun Ruffell
cause the timestamp field of the RTP header to be invalid. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@139153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-09More RSW merges. This should do it for the channels/ dir.Sean Bright
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-07Updating codec_dahdi to the new transcoder interface.Shaun Ruffell
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136676 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-07More merges from resolve-shadow warnings:Sean Bright
utils/ codecs/ and a change I missed from formats/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-21Remove libresample from the Asterisk source tree. It is now available in itsRussell Bryant
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: https://origsvn.digium.com/svn/asterisk/trunk@132390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-21Enable higher quality resampling, as it doesn't have a noticeable performanceRussell Bryant
impact on my machine .. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@132388 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-11Janitor patch to change uses of sizeof to ARRAY_LENBrett Bryant
(closes issue #13054) Reported by: pabelanger Patches: ARRAY_LEN.patch2 uploaded by pabelanger (license 224) Tested by: seanbright git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@130129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-26Convert casts to unions, to fix alignment issues on SolarisTilghman Lesher
(closes issue #12932) Reported by: snuffy Patches: bug_12932_20080627.diff uploaded by snuffy (license 35) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-25Merged revisions 125132 via svnmerge from Kevin P. Fleming
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: https://origsvn.digium.com/svn/asterisk/trunk@125138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12Goodbye Zaptel, hello DAHDI. Removes Zaptel driver support with DAHDI. ↵Jeff Peeler
Configuration file and dialplan backwards compatability has been put in place where appropiate. Release announcement to follow. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-10Revision 117802 changed frame.data to frame.data.ptr however codec_ilbc.c ↵Donny Kavanagh
was not updated. This resolves that oversight. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@121599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-22Fix a few places where frame data was used directly.Jason Parker
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-22- revert change to ast_queue_hangup and create ast_queue_hangup_with_causeMichiel van Baak
- 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: https://origsvn.digium.com/svn/asterisk/trunk@117802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-05Merged revisions 115327 via svnmerge from Joshua Colp
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: https://origsvn.digium.com/svn/asterisk/trunk@115328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-28Merged revisions 111856 via svnmerge from Jason Parker
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: https://origsvn.digium.com/svn/asterisk/trunk@111857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-26Merged revisions 110880 via svnmerge from Kevin P. Fleming
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: https://origsvn.digium.com/svn/asterisk/trunk@110881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-21Merged revisions 110474 via svnmerge from Jason Parker
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: https://origsvn.digium.com/svn/asterisk/trunk@110475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-20Use the correct buffer for g722tolin16_sample. This shouldn't have caused anyRussell Bryant
problems, but Qwell noticed the typo here. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@110339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18Merged revisions 109648 via svnmerge from Jason Parker
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: https://origsvn.digium.com/svn/asterisk/trunk@109651 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11Merged revisions 107464 via svnmerge from Kevin P. Fleming
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r107464 | kpfleming | 2008-03-11 09:53:03 -0500 (Tue, 11 Mar 2008) | 2 lines fix various other problems found by gcc 4.3 ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07Merge changes from team/russell/g722-sillyness ...Russell Bryant
Fix a number of other places where the number of samples in a G722 frame was not properly handled because of various reasons. main/rtp.c: - When a G722 frame is read from the smoother, the number of samples in the frame must be divided by 2 before being sent out over the network. Even though G722 is 16 kHz, an error in some previous spec has made it so that we have to list the number of samples such as if it was 8 kHz. main/file.c: - When scheduling the next time to expect a frame, take into account that the format of the file we're reading from may not be 8 kHz. codecs/codec_g722.c: - When converting from G722 to slinear, g722_decode() expects its samples parameter to be in the silly (real samples / 2) format. Make it so. - When converting from slinear to G722, properly set the number of samples in the frame to be the number of bytes of output * 2. formats/format_pcm.c: - This format module handles G722, among a number of other formats. However, the read() and seek() functions did not account for the fact that G722 has 2 samples per byte. (closes issue #12130, reported by rickross, patched by me) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-16Merged revisions 98951 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r98951 | file | 2008-01-15 21:13:27 -0400 (Tue, 15 Jan 2008) | 4 lines Add autoconf logic for speexdsp. Later versions use a separate library for some things so we need to use it if present in codec_speex. (closes issue #11693) Reported by: yzg ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-15Merged revisions 98943 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r98943 | russell | 2008-01-15 17:26:52 -0600 (Tue, 15 Jan 2008) | 25 lines Commit a fix for some memory access errors pointed out by the valgrind2.txt output on issue #11698. The issue here is that it is possible for an instance of a translator to get destroyed while the frame allocated as a part of the translator is still being processed. Specifically, this is possible anywhere between a call to ast_read() and ast_frame_free(), which is _a lot_ of places in the code. The reason this happens is that the channel might get masqueraded during this time. During a masquerade, existing translation paths get destroyed. So, this patch fixes the issue in an API and ABI compatible way. (This one is for you, paravoid!) It changes an int in ast_frame to be used as flag bits. The 1 bit is still used to indicate that the frame contains timing information. Also, a second flag has been added to indicate that the frame came from a translator. When a frame with this flag gets released and has this flag, a function is called in translate.c to let it know that this frame is doing being processed. At this point, the flag gets cleared. Also, if the translator was requested to be destroyed while its internal frame still had this flag set, its destruction has been deffered until it finds out that the frame is no longer being processed. Admittedly, this feels like a hack. But, it does fix the issue, and I was not able to think of a better solution ... ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98944 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-11Kevin noted that the thing that I _actually_ changed here was that I convertedRussell Bryant
a value from a double, to a float, back to a double. Sure enough, when I changed my interim variable back to a double, it still blows up. Switching all of these to a float fixes the problem. This seems like a compiler bug where a double passed as an argument isn't getting properly aligned, so I'll have to see if I can replicate it with a small test program. (related to issue #11725) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-11Fix a bus error that happened when asterisk was built with optimizations on Russell Bryant
with platforms that explode on unaligned access. I'm not exactly sure why this fixes it, but it fixed it on the machine I was testing on. If it makes sense to you, feel free to enlighten me. :) (closes issue #11725, patched by me) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-11At one point during working on this module, I had the lin/lin16 versions of theRussell Bryant
framein callbacks different. However, they are now the same again, so remove the duplicate code and use the same functions for the lin/lin16 versions. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-11 - Fix the last set of places where incorrect assumptions were made about theRussell Bryant
sample length with g722. It is _2_ samples per byte, not 1. This was all over the place, and I believed it, and it is what caused me to take so long to figure out what was broken. - Update copyright information on codec_g722. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10Fix various issues in codec_g722.Russell Bryant
- The most common fix being made here is to fix all of the places where the number of output samples and output bytes gets updated in the translator state structure. - Fix a number of other places where the number of samples provided as an initialization value to a struct was incorrect. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10Fix the buffer_samples value. For signed linear, the number of samples neededRussell Bryant
to fill the buffer is half the buffer size. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10Fix this so it doesn't force codec_g722 to get relinked every timeRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97652 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10Ensure that libg722.a gets rebuilt if one of the files changesRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-09Merged revisions 97491 via svnmerge from Kevin P. Fleming
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r97491 | kpfleming | 2008-01-09 11:21:14 -0600 (Wed, 09 Jan 2008) | 2 lines report the same message whether Zaptel does not have transcoder support loaded or no transcoders were found ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97495 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-02and now just to keep the libresample party going... if the functions from ↵Kevin P. Fleming
libresample are going to be in the main Asterisk binary, it makes sense for the header that defines them to be available without any special CFLAGS and to out-of-tree modules building against /usr/include/asterisk git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-02go back to including libresample in the main Asterisk binary, but this time ↵Kevin P. Fleming
including a small hack to ensure that it does get linked in (and also modify the strip_nonapi script to leave the resample_<foo> symbols alone) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-02Instead of linking libresample into the main Asterisk binary, build it asRussell Bryant
res_resample, and mark codec_resample as dependent upon res_resample. This prevents the linker from optimizing away libresample, and also makes it so the libresample code isn't linked in to multiple places. (I have another module in a branch that needs it, too.) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-01Fix building of codec_resample on platforms other then Cygwin. On everything ↵Joshua Colp
else it actually gets built after codec_resample, so you can't exactly link it in since it doesn't exist. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-01make codec_resample build on __CYGWIN__, and make it load on FreeBSDLuigi Rizzo
(and probably other systems as well). Both need libresample.a to be specified in the linking phase, and cygwin needs <float.h> as other BSD. The checks for OS-specific headers should really be moved to some common header though. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95625 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-31Use float.h to fix the build on FreeBSD. Also, add some other platforms asRussell Bryant
they are likely the same. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-31Merge changes from team/russell/codec_resampleRussell Bryant
This commit imports libresample for use in Asterisk. It also adds a new codec module, codec_resample. This module uses libresample to re-sample signed linear audio between 8 kHz and 16 kHz. It also provides an alternative for converting between 16 kHz G.722 and 8 kHz signed linear when using G.722, which will likely be useful as some people have complained about volume issues when the current codec_g722 converts to 8 kHz signed linear. But, to test this, you will have to disable the g722-to-slin and g722-to-slin16 translators in codec_g722.c. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-27I went looking for where we downloaded the g722 implementation and came acrossRussell Bryant
these two links. So, I'm adding them so they are available for reference later. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-21codecs.conf really shouldn't be mandatory.. it never had been before, so ↵Jason Parker
let's go back to being optional. A big "thank you" to pnlarsson on IRC for allowing me access to his system to debug this. Closes issue #11584. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-17Merged revisions 93180 via svnmerge from Kevin P. Fleming
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r93180 | kpfleming | 2007-12-16 22:44:51 -0800 (Sun, 16 Dec 2007) | 23 lines In http://lists.digium.com/pipermail/asterisk-dev/2007-December/031145.html, rizzo brought up some issues related to the way that the metadata required for menuselect and the rest of the build system is extracted from the source files. Since I had a few hours to kill on an airplane today, I decided to improve this situation... so now the system caches the extracted metadata and uses it to build the menuselect 'tree' as much as it can. The result of this is that when a single source file is changed, only the metadata for that file needs to be extracted again, and the rest is used from the cache files. I also reduced the number of forked processes required to do the metadata extraction; it was actually possible to do most of what we needed in the Makefiles themselves without using any shell scripts at all! On my laptop, these changes resulted in an 80% decrease in the time required for the 'menuselect.makeopts' automatic check to occur after editing a single source file. While doing this work I also cleaned up a few minor things in the Makefiles, adding a check for 'awk' to the configure script and changed all remaining places we use 'grep' or 'awk' to use the ones found by the configure script, and changed the 'prep_tarball' script to build the menuselect metadata so that tarballs of Asterisk will include it and won't require the user to wait while it is extracted after unpacking. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14Solaris compat fixesTilghman Lesher
Reported by: snuffy Patch by: snuffy,tilghman (Closes issue #11315) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-10Put into Makefile.moddir_rules the common instructions used toLuigi Rizzo
generate loadable and embedded module lists. Individual Makefiles now are a lot simpler, possibly as simple as this: -include $(ASTTOPDIR)/menuselect.makeopts $(ASTTOPDIR)/menuselect.makedeps MODULE_PREFIX=cdr_ all: _all include $(ASTTOPDIR)/Makefile.moddir_rules and also more flexible because in a single directory we can combine various types of modules (app_, cdr_, func_, ... ) by simply listing them in the MODULE_PREFIX variable. The individual Makefiles can also create list of modules to be excluded by listing them in the variablel MODULE_EXCLUDE (see an example in channels/Makefile). With this change it becomes trivial to integrate a directory with locally created/modified sources into the main build. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-09normalize subdirs' Makefile by using ASTTOPDIR and not .. to referenceLuigi Rizzo
the top level directory. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-22remove a number of #include <fcntl.h> which are eitherLuigi Rizzo
useless or done elsewhere git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89516 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19remove some useless includes from codecsLuigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89428 65c4cc65-6c06-0410-ace0-fbb531ad65f3