Commit Graph

58 Commits

Author SHA1 Message Date
Russell Bryant 8ab22f5dd0 Set a module load priority for format modules.
A recent change to app_voicemail made it such that the module now assumes that
all format modules are available while processing voicemail configuration.
However, when autoloading modules, it was possible that app_voicemail was
loaded before the format modules.  Since format modules don't depend on
anything, set a module load priority on them to ensure that they get loaded
first when autoloading.

This fix applies to trunk, 1.6.1, and 1.6.2.  The fix for 1.4 and 1.6.0 will
require a different approach since the module load priority functionality is
not present in the module API.

(issue #16412)
Reported by: jiddings


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@233692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-08 18:00:16 +00:00
Tilghman Lesher d8e0c58437 Expand codec bitfield from 32 bits to 64 bits.
Reviewboard: https://reviewboard.asterisk.org/r/416/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@227580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-04 14:05:12 +00:00
Joshua Colp ca38e81892 Add alw as a valid file extension for alaw and ulw as a valid file extension for ulaw.
(closes issue #14001)
Reported by: henrikw
Patches:
      alw.diff uploaded by henrikw (license 627)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-08 21:41:50 +00:00
Sean Bright 2b06ef2040 Merged revisions 143903 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r143903 | seanbright | 2008-09-22 18:49:00 -0400 (Mon, 22 Sep 2008) | 8 lines

Use the advertised header size in .au files instead of just assuming they
are 24 bytes (the minimum).

(closes issue #13450)
Reported by: jamessan
Patches:
      pcm-header.diff uploaded by jamessan (license 246)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@143904 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-22 22:50:07 +00:00
Sean Bright b7a4db0ced Start moving in changes from my resolve-shadow-warnings branch. Going to do
this in pieces so the diffs are a little bit smaller and more reviewable.

pbx/ and formats/ first.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-07 00:44:55 +00:00
Brett Bryant d185405755 Janitor project to convert sizeof to ARRAY_LEN macro.
(closes issue #13002)
Reported by: caio1982
Patches:
      janitor_arraylen5.diff uploaded by caio1982 (license 22)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@129045 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-08 16:40:28 +00:00
Michiel van Baak f1e9371da8 - revert change to ast_queue_hangup and create ast_queue_hangup_with_cause
- 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-22 16:29:54 +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
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 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 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 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
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 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
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
Luigi Rizzo e43bc6634d This rather large commit changes the way modules are loaded.
As partly documented in loader.c and include/asterisk/module.h,
modules are now expected to return all of their methods and flags
into a structure 'mod_data', and are normally loaded with RTLD_NOW
| RTLD_LOCAL, so symbols are resolved immediately and conflicts
should be less likely.  Only in a small number of cases (res_*,
typically) modules are loaded RTLD_GLOBAL, so they can export
symbols.
 
The core of the change is only the two files loader.c and
include/asterisk/module.h, all the rest is simply adaptation of the
existing modules to the new API, a rather mechanical (but believe
me, time and finger-consuming!) process whose detail you can figure
out by svn diff'ing any single module.

Expect some minor compilation issue after this change, please
report it on mantis http://bugs.digium.com/view.php?id=6968
so we collect all the feedback in one place.

I am just sorry that this change missed SVN version number 20000!



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-14 14:08:19 +00:00
Luigi Rizzo 957fff010c rename FR_SET_BUF to AST_FRAME_SET_BUFFER
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18639 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-09 22:31:38 +00:00
Kevin P. Fleming f10f427d49 since the module API is changing, it's a good time to const-ify the description() and key() return values
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-08 22:01:19 +00:00
Luigi Rizzo 4beb6deeaa Largely simplify format handlers (for file copy etc.)
collecting common functions in a single place and removing
them from the individual handlers.
The full description is on mantis,
http://bugs.digium.com/view.php?id=6375
and only the ogg_vorbis handler needs to be converted to
the new structure.

As a result of this change, format_au.c and format_pcm_alaw.c
should go away (in a separate commit) as their functionality
(trivial) has been merged in another file.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17243 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-04 12:59:25 +00:00
Kevin P. Fleming 98dbc95533 silence some more compiler warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-23 18:00:50 +00:00
Tilghman Lesher aa20c556f7 Bug 5984 - Convert file offsets to 64 bit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-20 23:35:12 +00:00
Matthew Fredrickson 52fe16259b Fix for formats so they give better output on failure conditions. (#6141)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-20 21:36:33 +00:00
Kevin P. Fleming b157f30e51 Merged revisions 7819 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r7819 | kpfleming | 2006-01-05 14:52:38 -0600 (Thu, 05 Jan 2006) | 2 lines

ensure that variable is initialized

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-05 20:53:21 +00:00
Kevin P. Fleming 1e9180d0a8 Merged revisions 7807 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r7807 | kpfleming | 2006-01-04 18:18:46 -0600 (Wed, 04 Jan 2006) | 2 lines

doh... fseek() has no useful return value

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-05 00:19:18 +00:00
Kevin P. Fleming cb2f9640ba Merged revisions 7805 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r7805 | kpfleming | 2006-01-04 17:51:03 -0600 (Wed, 04 Jan 2006) | 2 lines

use proper fwrite() parameters and return value

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-04 23:51:23 +00:00
Kevin P. Fleming e8f9ee8f6a Merged revisions 7803 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r7803 | kpfleming | 2006-01-04 17:45:34 -0600 (Wed, 04 Jan 2006) | 2 lines

return properly after extending file

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-04 23:45:58 +00:00
Kevin P. Fleming c3ce1852bc Merged revisions 7799-7800 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r7799 | kpfleming | 2006-01-04 17:02:38 -0600 (Wed, 04 Jan 2006) | 2 lines

make monitoring more tolerant of peers that deliver frames in bursts

........
r7800 | kpfleming | 2006-01-04 17:27:57 -0600 (Wed, 04 Jan 2006) | 2 lines

ensure that ulaw/alaw sound files are filled with silence when extended (not zeroes)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-04 23:29:37 +00:00
Kevin P. Fleming 2c65582b66 remove extraneous svn:executable properties
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29 18:24:39 +00:00
Russell Bryant 31a804b97c issue #5605
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6979 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 15:09:47 +00:00
Russell Bryant 6324072247 more doxygenification (issue #5513)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 13:03:17 +00:00
Mark Spencer d499a85f05 Use FILE * instead of fd for files to support buffering
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-16 16:12:51 +00:00
Kevin P. Fleming 5da915dcfd update MANY more files with proper copyright/license info (thanks Ian!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 20:46:50 +00:00
Kevin P. Fleming 6a0fdb312f don't take locks when reading usecounts, they are not necessary (bug #4585)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5983 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-23 17:30:56 +00:00
Kevin P. Fleming e5e64bfd41 header ordering fixes for FreeBSD (pending a global merge into asterisk.h) (bug #4484)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5876 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-07 17:06:33 +00:00
Kevin P. Fleming 2b8338cb52 more file version tags
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 22:12:19 +00:00
Kevin P. Fleming 1f9ab2380a use double-quotes instead of angle-brackets for non-system include files (bug #4058)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-21 06:02:45 +00:00
Mark Spencer f966e5e186 Simplify endianness and fix for unaligned reads (bug #3867)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-29 04:49:24 +00:00
Mark Spencer b3a0ef24ed Fix comment issues (bug #3089)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-18 22:04:07 +00:00
Mark Spencer 9d40b8ee80 Merge slimey's Solaris compatibility (with small mods) (bug #2740)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-14 23:36:30 +00:00
Mark Spencer dd43338425 Updates from char * to const char * + german syntax + enumeration (bug #2780)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-13 16:13:07 +00:00
Anthony Minessale II 03cd30b746 fixed a use count bug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3657 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-25 18:30:51 +00:00
James Golovich 8801247d76 Remove pthread.h from source. We should be using asterisk/lock.h everywhere instead (except in asterisk/lock.h).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-22 18:49:00 +00:00
Mark Spencer 727abcdec7 Merge FreeBSD locking fixes (bug #1411)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-09 01:45:08 +00:00
Mark Spencer a3d9d7b58b Do proper bounds checking in formats (bug #1356)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2694 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-15 16:02:42 +00:00
Mark Spencer 479a67e629 BSD portability enhancements (bug #234)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-08 16:48:07 +00:00
Martin Pycko f14004abfd Fix synchronization of recorded files when using Monitor application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-28 20:02:10 +00:00