Commit Graph

194 Commits

Author SHA1 Message Date
Tilghman Lesher 0e6140c564 Use a 32k file buffer on recordings, which increases the efficiency of file recording.
(closes issue #11962)
 Reported by: garlew
 Patches: 
       recording.patch uploaded by garlew (license 376)
       bug-11962.diff uploaded by snuffy (license 35)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@112564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-03 07:49:05 +00:00
Jason Parker 8b31f34e78 Merged revisions 111658 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r111658 | qwell | 2008-03-28 11:19:56 -0500 (Fri, 28 Mar 2008) | 8 lines

The file size of WAV49 does not need to be an even number.

(closes issue #12128)
Reported by: mdu113
Patches:
      12128-noevenlength.diff uploaded by qwell (license 4)
Tested by: qwell, mdu113

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111659 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-28 16:20:59 +00:00
Russell Bryant 5ca5d97673 Merge changes from team/russell/g722-sillyness ...
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-03-07 00:24:58 +00:00
Russell Bryant a82ab5369e minor formatting changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10 17:30:24 +00:00
Kevin P. Fleming a20b146df5 add a file-format driver for 16KHz signed linear... which may or may not work
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@96862 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-07 16:17:31 +00:00
Kevin P. Fleming 100ef27af9 Merged revisions 93180 via svnmerge from
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-17 07:25:35 +00:00
Luigi Rizzo 5490889153 Put into Makefile.moddir_rules the common instructions used to
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-10 03:50:38 +00:00
Luigi Rizzo d652be0930 normalize subdirs' Makefile by using ASTTOPDIR and not .. to reference
the top level directory.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-09 21:29:37 +00:00
Tilghman Lesher afac5cce50 Merged revisions 90155 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r90155 | tilghman | 2007-11-29 11:29:59 -0600 (Thu, 29 Nov 2007) | 5 lines

Use of "private" as a field name in a header file messes with C++ projects
Reported by: chewbacca
Patch by: casper
(Closes issue #11401)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-29 17:50:44 +00:00
Luigi Rizzo 2b93af99dc formatting cleanup on the header,
normalization of the assignment of descriptor fields.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-23 09:03:33 +00:00
Luigi Rizzo 3fc2646808 remove a number of #include <fcntl.h> which are either
useless or done elsewhere



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89516 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-22 01:03:02 +00:00
Luigi Rizzo 730e4eaca4 implement the split of file.h and mod_format.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-22 00:53:49 +00:00
Luigi Rizzo e0ff5fef5c remove a bunch of useless #include "options.h"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 23:09:02 +00:00
Luigi Rizzo d04697b8d3 format handlers don't need network, lock, channel and scheduler headers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 19:41:16 +00:00
Luigi Rizzo 0595b5e2aa include "logger.h" and errno.h from asterisk.h - usage shows that they
were included almost everywhere.
Remove some of the instances.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 18:52:04 +00:00
Luigi Rizzo fdb7f7ba3d Start untangling header inclusion in a way that does not affect
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: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 20:04:58 +00:00
Jason Parker 59c9ff7ef2 More changes to change return values from load_module functions.
(issue #11096)
Patches:
      codec_adpcm.c.patch uploaded by moy (license 222)
      codec_alaw.c.patch uploaded by moy (license 222)
      codec_a_mu.c.patch uploaded by moy (license 222)
      codec_g722.c.patch uploaded by moy (license 222)
      codec_g726.c.diff uploaded by moy (license 222)
      codec_gsm.c.patch uploaded by moy (license 222)
      codec_ilbc.c.patch uploaded by moy (license 222)
      codec_lpc10.c.patch uploaded by moy (license 222)
      codec_speex.c.patch uploaded by moy (license 222)
      codec_ulaw.c.patch uploaded by moy (license 222)
      codec_zap.c.patch uploaded by moy (license 222)
      format_g723.c.patch uploaded by moy (license 222)
      format_g726.c.patch uploaded by moy (license 222)
      format_g729.c.patch uploaded by moy (license 222)
      format_gsm.c.patch uploaded by moy (license 222)
      format_h263.c.patch uploaded by moy (license 222)
      format_h264.c.patch uploaded by moy (license 222)
      format_ilbc.c.patch uploaded by moy (license 222)
      format_jpeg.c.patch uploaded by moy (license 222)
      format_ogg_vorbis.c.patch uploaded by moy (license 222)
      format_pcm.c.patch uploaded by moy (license 222)
      format_sln.c.patch uploaded by moy (license 222)
      format_vox.c.patch uploaded by moy (license 222)
      format_wav.c.patch uploaded by moy (license 222)
      format_wav_gsm.c.patch uploaded by moy (license 222)
      res_adsi.c.patch uploaded by eliel (license 64)
      res_ael_share.c.patch uploaded by eliel (license 64)
      res_clioriginate.c.patch uploaded by eliel (license 64)
      res_convert.c.patch uploaded by eliel (license 64)
      res_indications.c.patch uploaded by eliel (license 64)
      res_musiconhold.c.patch uploaded by eliel (license 64)
      res_smdi.c.patch uploaded by eliel (license 64)
      res_speech.c.patch uploaded by eliel (license 64)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-31 19:24:29 +00:00
Russell Bryant c26f1ce1bf Merged revisions 72705 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r72705 | russell | 2007-06-29 15:56:18 -0500 (Fri, 29 Jun 2007) | 1 line

give format_pcm a more concise destription
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-29 20:56:50 +00:00
Kevin P. Fleming 66ec973c5c oops... somebody patched this module without compile-testing it... bad :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69394 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-14 21:58:12 +00:00
Russell Bryant 055d82cbce Add a massive set of changes for converting to use the ast_debug() macro.
(issue #9957, patches from mvanbaak, caio1982, critch, and dimas)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-14 19:39:12 +00:00
Tilghman Lesher a858c92e3f Merged revisions 60712 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r60712 | tilghman | 2007-04-08 09:12:00 -0500 (Sun, 08 Apr 2007) | 2 lines

Fix --enable-dev-mode

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@60714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-08 14:20:42 +00:00
Dwayne M. Hubbard 3c635cf6f1 removed GAIN preprocessor definition, removed needsgain from struct wav_desc, removed unnecessary gain code from wav_read() and wav_write()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@60641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-06 22:29:53 +00:00
Dwayne M. Hubbard 4f20e43614 Merged revisions 60325 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r60325 | dhubbard | 2007-04-05 17:58:01 -0500 (Thu, 05 Apr 2007) | 1 line

modified default GAIN for issue 5823, thanks jrwalliker
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@60326 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-05 23:08:07 +00:00
Olle Johansson 8a2e564df5 Issue 8246 Doxygen updates (kshumard)
THANK YOU!



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-30 16:33:02 +00:00
Kevin P. Fleming 88efcea05e Merged revisions 46154 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r46154 | kpfleming | 2006-10-24 19:26:17 -0500 (Tue, 24 Oct 2006) | 2 lines

add passthrough and file format support for G.722 16KHz audio (issue #5084, original patch by andrew, updated by mithraen)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46155 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-25 00:32:23 +00:00
Steve Murphy 184e006352 This tiny fix prevents asterisk from crashing if trying to play an OGG moh file.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43604 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-25 14:49:56 +00:00
Jason Parker 31d25ac6f3 u_intXX_t is silly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43236 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-18 22:02:04 +00:00
Kevin P. Fleming d12f54f90b GNU make already knows how to quietly ignore non-existent files in 'include' directives
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-26 23:58:47 +00:00
Kevin P. Fleming e288ef135e swap module macro arguments to proper order
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40761 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21 11:48:08 +00:00
Kevin P. Fleming 0a27d8bfe5 merge new_loader_completion branch, including (at least):
- 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: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21 02:11:39 +00:00
North Antara 1edb21b423 Fix a few doxygen warnings.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38009 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-19 22:40:36 +00:00
Tilghman Lesher 61c9c25391 H.263 frames can apparently be larger than was originally coded.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-17 16:31:43 +00:00
Tilghman Lesher 83f5766c47 Merged revisions 37765 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r37765 | tilghman | 2006-07-17 10:52:15 -0500 (Mon, 17 Jul 2006) | 2 lines

Overflow bad

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37766 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-17 15:56:16 +00:00
Kevin P. Fleming 000ba592b2 more Makefile cleanup and consistency stuff
don't reuse LIBS variable from top-level Makefile (oops)
build Asterisk binary after subdirs (preparing for embedded modules)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-15 19:59:35 +00:00
Russell Bryant 092304ffa9 pointer signedness warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37300 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-07 16:14:23 +00:00
Kevin P. Fleming 748431f7b6 move rules file to prepare for generic rules file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37222 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-06 21:04:28 +00:00
Kevin P. Fleming dbf099cdb8 update dependency information to match new names for dependencies
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-05 20:12:29 +00:00
Kevin P. Fleming a579371f43 use new (separate) dependencies file from menuselect
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-25 08:50:14 +00:00
Kevin P. Fleming e61d3d91f3 The Eurostar Commit! (it's amazing how much work you can get done on a 150 minute train ride from Paris to London <G>)
support the new location for zaptel.h and tonezone.h
use the dependency information output by menuselect to build Makefile rules for each module for header files and libraries
combine the common rules into a top-level Makefile.rules file
remove all (now) unnecessary stuff from subdir Makefiles
change translator API so that the newpvt() callback returns an int instead of a pointer (it no longer allocates memory)
alphabetize --with-<foo> options in configure script
enhance Net-SNMP support in configure script to provide a --with-netsnmp option
fix support for --with-pq so that if pg-config is not found when --with-pq is specified, an error will be generated
add 'optional package' usage to modules now that menuselect can output it
allow res_snmp to build by default, since the new loader changes coming soon will solve the function naming problem (and users can disable it via menuselect anyway)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-24 19:43:31 +00:00
Russell Bryant 48ae9f0d4f - convert the 'uninstall' target to use separate targets to process each
subdirectory instead of a for loop
- remove the FORCE target from the main Makefile and add the couple places
  I used it to the .PHONY target.  .PHONY does the same thing and is a built-in
  more efficient way of doing it.
- add a bunch more targets to .PHONY ...


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-22 15:38:13 +00:00
Russell Bryant 55e8a60363 - specify that 'depend' is a .PHONY target
- use separate targets instead of a for loop for doing 'make depend' for
  each sub directory


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-22 15:08:08 +00:00
Russell Bryant 9db0520ff9 - specify that 'all' is a .PHONY target
- add a copyright header to the build_tools Makefile
- remove 'depend' from the 'all' target in agi/ and utils/ since it is handled
  by the main Makefile already


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-22 14:09:18 +00:00
Russell Bryant c399a06450 add the 'clean', 'clean-depend', and 'dist-clean' targets as .PHONY targets
since they are targets that do not have resulting files and are never listed
as prerequisites to real targets.  Using .PHONY in this manner improves make
performance by never having to check for resulting files.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35415 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-22 11:27:03 +00:00
Tilghman Lesher 2291834bd5 Bug 7372: Wrong size for the block alignment (should have been 4 bytes;
writing 4 from a 2-byte integer caused extra (wrong) bytes set in the header)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-20 22:22:47 +00:00
Russell Bryant 9f2a6516cf don't blow up in the sub Makefiles if menuselect.makeopts is not present. This
is valid in some cases, such as "make clean".


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-19 00:14:16 +00:00
Russell Bryant b6147a21b9 remove "depend" from the "all" targets in sub Makefiles. The main Makefile
already calls "make depend" for each of the subdirectories


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-16 16:54:00 +00:00
Olle Johansson f15b38a775 Update doxygen for video formats
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-08 08:15:43 +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
Russell Bryant 503f99e2e8 remove the need to have to re-run make after a default menuselect.makeopts
file is generated.  This allows a fresh checkout of asterisk to be built
and installed with the standard "./configure && make && make install".


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07 16:03:31 +00:00
Kevin P. Fleming e856010714 use module names, not file names, in menuselect
work around XML parsing bug in menuselect for default sounds package


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32407 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-05 20:46:27 +00:00