aboutsummaryrefslogtreecommitdiffstats
path: root/codecs
AgeCommit message (Collapse)AuthorFilesLines
2008-12-19(closes issue #13480)jpeeler1-18/+4
Reported by: tzafrir Replace a bunch of if defined checks for Zaptel/DAHDI through several new defines in dahdi_compat.h. This removes a lot of code duplication. Example from bug: #ifdef HAVE_ZAPTEL fd = open("/dev/zap/pseudo", O_RDWR); #else fd = open("/dev/dahdi/pseudo", O_RDWR); #endif is replaced with: fd = open(DAHDI_FILE_PSEUDO, O_RDRW); git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@165991 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-19the gcc optimizer frequently finds broken code (use of uninitalized ↵kpfleming1-1/+1
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/branches/1.4@157859 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-20Fix bug where the samples were not accurate when in G723 mode, which would sruffell1-6/+16
cause the timestamp field of the RTP header to be invalid. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@139151 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-18look for transcoder in proper place based on build against Zaptel or DAHDIkpfleming1-2/+16
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@138663 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-14add support for Zaptel versions that contain the new transcoder interfacekpfleming1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@137677 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-07Updated codec_dahdi to use the new transcoder interface in the first DAHDIsruffell1-123/+80
release. Codec dahdi no longer functions with the transcoder interface in zaptel at this time (which the last zaptel release was 1.4.11). NOTE: Still needs an update to the configure script to make sure that codec_dahdi is only built if the new transcoder interface is present in the drivers. (Issue: DAHDI-42) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@136544 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-29build against the now-typedef-free dahdi/user.hkpfleming1-5/+5
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@134254 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-12Adds DAHDI support alongside Zaptel. DAHDI usage favored, but all Zap stuff ↵jpeeler1-17/+18
should continue working. Release announcement to follow. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@122314 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-05Make sure that either the main speex library contains preprocess functions ↵file1-0/+1
or that speexdsp does. If both fail then speex stuff can not be built. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@115327 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-28Allow gsm to compile correctly on x86 with gcc4 optimizations.qwell1-3/+3
(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/branches/1.4@111856 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-26Merged revisions 110869 via svnmerge from kpfleming50-7360/+5
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/branches/1.4@110880 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-21Don't attempt to do optimizations of gsm on mips platforms either.qwell1-3/+3
(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/branches/1.4@110474 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-18Allow codecs that use log2comp (g726) to compile correctly on x86 with gcc4 ↵qwell1-1/+1
optimizations. (closes issue #12253) Reported by: fossil Patches: log2comp.patch uploaded by fossil (license 140) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@109648 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-11fix various other problems found by gcc 4.3kpfleming1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@107464 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-16Add autoconf logic for speexdsp. Later versions use a separate library for ↵file1-0/+1
some things so we need to use it if present in codec_speex. (closes issue #11693) Reported by: yzg git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@98951 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-15Commit a fix for some memory access errors pointed out by the valgrind2.txtrussell1-17/+18
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: http://svn.digium.com/svn/asterisk/branches/1.4@98943 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-11Add another exception (which doesn't work) for -march optimization flag.tilghman1-1/+1
Reported by: thomasmebes Patch by: tilghman (Closes issue #11563) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@98266 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-09report the same message whether Zaptel does not have transcoder support ↵kpfleming1-2/+4
loaded or no transcoders were found git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@97491 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-17fix some copy-and-paste leftoverskpfleming1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@93183 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-17In http://lists.digium.com/pipermail/asterisk-dev/2007-December/031145.html,kpfleming1-2/+8
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: http://svn.digium.com/svn/asterisk/branches/1.4@93180 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-12emit a warning message when we drop a G.729B CNG frame destined for the ↵kpfleming1-0/+5
transcoder git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@92656 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-07even though Asterisk explicitly requests that endpoints using G.729 do *not* ↵kpfleming1-0/+9
use Annex B (silence detection and comfort noise generation) some do anyway; the transcoder card interface does not currently work properly with CNG frames, so trim off the CNG before sending the data git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@91870 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06Correctly set the total number of channels from a zaptel transcoder board.qwell1-2/+1
SPD-49, patch by Matthew Nicholson. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@89046 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-29clean up (and ignore) assembler and preprocessor intermediate files if any ↵kpfleming2-2/+2
are created during the build git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@87463 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-18Execute the RELEASE operation on transcoder channels in the destroy callback.russell1-0/+5
(patch from jsloan) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@86296 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-11(closes issue #10679)file2-2/+8
Reported by: andrew Build under dev mode when K6OPTS is enabled. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@82265 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-31add missing "transcoder show" (and deprecated "show transcoder") CLI ↵kpfleming1-0/+70
commands that were in 1.2 but never added to 1.4 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@81405 f38db490-d61c-443f-a65b-d21fe96a405b
2007-05-24Fix handling of zero-length frames when a codec is capable of native PLC.qwell2-0/+2
Issue 9183, patch by Mihai. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@65877 f38db490-d61c-443f-a65b-d21fe96a405b
2007-05-14Properly set datalen field when doing PLC in codec_speex. (issue #9722 ↵file1-0/+1
reported by mihai) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@64278 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-27Merged revisions 62173 via svnmerge from qwell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r62173 | qwell | 2007-04-27 11:16:16 -0500 (Fri, 27 Apr 2007) | 3 lines This transcoder message needn't be a NOTICE. I've seen it cause confusion more than a few times. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@62174 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-06Merged revisions 60398 via svnmerge from kpfleming1-1/+0
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r60398 | kpfleming | 2007-04-06 09:41:37 -0500 (Fri, 06 Apr 2007) | 2 lines remove undocumented 'cardsmode' parameter and stop searching for transcoders during reload() ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@60399 f38db490-d61c-443f-a65b-d21fe96a405b
2007-02-24update to match zaptel 1.4 API change that was committed a few minutes agokpfleming1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@56548 f38db490-d61c-443f-a65b-d21fe96a405b
2007-02-17Filter out yet another architecture that does not work with the optimizationsrussell1-2/+2
in the built-in libgsm. (issue 8637, ovi) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@55050 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-30When we are checking for a system installed version of libgsm, we need to checkrussell1-0/+4
for gsm.h as well. Furthermore, when checking for this header, it may be located in a gsm/ sub directory, so check for that, as well. (issue #8773) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@52997 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-19Add a couple more processors that need optimizations excluded.russell1-3/+3
(issue #8637) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@51331 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-05Make codec_zap and chan_zap also depend on zaptel.qwell1-0/+1
This fixes an issue (8727) with zaptel being in a different directory, using --with-zaptel. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@49705 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-04make building of codec_gsm against the system GSM library actually workkpfleming1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@49457 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-01check specifically for VLDTMF and transcoding support in the system's Zaptel ↵kpfleming1-1/+1
installation, and make only the modules that need those features dependent on them (this will allow building the other Zaptel-using parts of Asterisk against older versions of Zaptel or those on other platforms that haven't caught up yet to the Linux version) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@49102 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-18remove some now-unnecessary explicit includes of autoconfig.hkpfleming3-2/+3
clean up per-file dependencies during 'make clean' git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@48554 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-01Fixes for cross-compilation on mips russell1-3/+3
(issue #8058, ywalther, with some modifications) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@46847 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-13And file said... let the compiler warnings STOP!file33-562/+562
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@45079 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-30fix two recent build problems:rizzo1-15/+19
- with AST_DEVMODE, building codecs/lpc10 fails because of lots of warnings, and the configure step in editline fails as well. Fix this by removing the -Werror in these steps. - on FreeBSD (but probably on other platforms as well), the final link of asterisk fails because AST_LIBS was not exported to the subdirs Makefiles. Add a proper fix in the top-level Makefile (a possible alternative way is to add "export AST_LIBS" near the beginning of the file). With this fix, i believe that some of the platform-specific conditionals in main/Makefile are redundant (because they should be already dealt with in the top level Makefile) but i don't have a platform to check. Merging to head will happen in a moment. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@44080 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-29fix a few build system bugs, and convert Makefiles to be compatible with GNU ↵kpfleming4-6/+16
make 3.80 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@44055 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-29don't abuse CFLAGS and LDFLAGS for build of Asterisk components, because ↵kpfleming2-9/+4
they are also then used for non-Asterisk components (like menuselect); use our own variables instead git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@44008 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-19be a little more consistent with our variable usageqwell1-5/+5
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@43257 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-08minor performance improvementkpfleming4-18/+22
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@42477 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-30Fix transcoding performance issuemarkster1-17/+38
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41318 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-26GNU make already knows how to quietly ignore non-existent files in 'include' ↵kpfleming1-4/+1
directives git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41209 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-24fix codec_gsm build for powerpcrussell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40993 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21merge new_loader_completion branch, including (at least):kpfleming12-200/+156
- 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