aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_oss.c
AgeCommit message (Collapse)AuthorFilesLines
2008-05-22- revert change to ast_queue_hangup and create ast_queue_hangup_with_causemvanbaak1-6/+6
- 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-04-24Pass the hangup cause all the way to the calling app/channel.mvanbaak1-1/+1
(closes issue #11328) Reported by: rain Patches: 20071207__pass_cause_in_hangup_control_frame.diff.txt uploaded by Corydon76 (license 14) brought up-to-date to trunk by me git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114637 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-14Merged revisions 108796 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r108796 | russell | 2008-03-14 15:09:22 -0500 (Fri, 14 Mar 2008) | 5 lines Fix a channel name issue. chan_oss registers the "Console" channel type, but it created channels with an "OSS" prefix. (closes issue #12194, reported by davidw, patched by me) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@108797 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-05Merged revisions 106235 via svnmerge from file1-0/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r106235 | file | 2008-03-05 18:32:10 -0400 (Wed, 05 Mar 2008) | 4 lines Add a control frame to indicate the source of media has changed. Depending on the underlying technology it may need to change some things. (closes issue #12148) Reported by: jcomellas ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@106239 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-09make get_video_desc() return the active console ifrizzo1-2/+3
passed a null argument (channel). git-svn-id: http://svn.digium.com/svn/asterisk/trunk@97389 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-03eliminiate sound_thread() and other stuff from chan_oss since Asterisk ↵kpfleming1-235/+14
indications can handle it remove gentone and all the headers containing tones that are no longer needed git-svn-id: http://svn.digium.com/svn/asterisk/trunk@96270 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-27remove useless castsrizzo1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@95068 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-22Build console_video support by linking in, as opposed to including,rizzo1-34/+30
console_video.c This will ease the task of splitting console_video.c into its components (V4L and X11 grabbers, various video codecs and packetizers, SDL), as well as ease future extensions (e.g. additional video sources, codecs and rendering engines). For the time being nothing changes for users: video support is off by default, and requires -DHAVE_VIDEO_CONSOLE on the command line to be included (if SDL and FFMPEG are available). git-svn-id: http://svn.digium.com/svn/asterisk/trunk@94615 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-20add some macros to simplify parsing the config file,rizzo1-45/+17
see description in config.h . They are a variant of the set of macros i used in chan_oss.c, structured in a way to be more robust to the presence of spurious ';' - basically, they define wrappers for 'do {' and '} while (0)', plus some helper functions to deal with simple cases such as ast_copy_string, ast_malloc, strtoul, ast_true ... The prefix (CV_ as 'Config Variable') tries to be easy to remember and has been chosen to not conflict with other existing macros in the tree. For the time being, I have only updated the three source files in the tree that used the old M_* macros. Hopefully, more files will be converted. NOTE: I understand that inventing my own dialect of C is generally wrong; however, the lack of adequate support in the language encourages lazy programming practices (such as ignoring errors, bounds, etc.) and this increases the chance of vulnerability in the code, especially because we are parsing user input here. Hopefully, these macros and the use of ast_parse_arg (in config.h) should encourage the programmer to write more robust code. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@94191 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-17surprising as it may be, chan_oss compiles correctly under cygwin as well,rizzo1-2/+1
provided you look for soundcard.h in the right place... git-svn-id: http://svn.digium.com/svn/asterisk/trunk@93380 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-17make the configure script detect that it is running on a Windows platform, ↵kpfleming1-0/+1
and report that information so that menuselect can use it (all information that is used to decide whether to build modules or not must be fed to menuselect so the user knows what will be built and why... don't make module build decisions in the makefiles, please) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@93211 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-15remove some redundant headersrizzo1-12/+4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@93143 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-23put in the necessary hooks for video support in the console.rizzo1-2/+80
This is a NOP as far as the current code is concerned, but there is already support in ./configure and the Makefiles for the various libraries used by console_video.c (not yet in the tree) so addition is trivial. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89533 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21remove another set of redundant #include "asterisk/options.h"rizzo1-1/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89512 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-19include "logger.h" and errno.h from asterisk.h - usage shows that theyrizzo1-2/+0
were included almost everywhere. Remove some of the instances. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89424 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16Start untangling header inclusion in a way that does not affectrizzo1-4/+0
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: http://svn.digium.com/svn/asterisk/trunk@89333 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16move the inner part of config file parsing to a separate function,rizzo1-22/+27
so it can be reused in the implementation of cli commands when they have a similar syntax. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89320 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-14make the 'name' and 'value' fields in ast_variable const char *rizzo1-4/+4
This prevents modifying the strings in the stored variables, and catched a few instances where this was actually done. Given the differences between trunk and 1.4 (and the fact that this is effectively an API change) it is better to fix 1.4 independently. These are chan_sip.c::sip_register() chan_skinny.c:: near line 2847 config.c:: near line 1774 logger.c::make_components() res_adsi.c:: near line 1049 I may have missed some instances for modules that do not build here. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89268 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-22Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former ↵qwell1-10/+10
didn't make much sense git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86820 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-19Convert NEW_CLI to AST_CLI.qwell1-10/+10
Closes issue #11039, as suggested by seanbright. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86536 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-11Merge a ton of NEW_CLI conversions. Thanks to everyone that helped out! :)russell1-51/+67
(closes issue #10724) Reported by: eliel Patches: chan_skinny.c.patch uploaded by eliel (license 64) chan_oss.c.patch uploaded by eliel (license 64) chan_mgcp.c.patch2 uploaded by eliel (license 64) pbx_config.c.patch uploaded by seanbright (license 71) iax2-provision.c.patch uploaded by eliel (license 64) chan_gtalk.c.patch uploaded by eliel (license 64) pbx_ael.c.patch uploaded by seanbright (license 71) file.c.patch uploaded by seanbright (license 71) image.c.patch uploaded by seanbright (license 71) cli.c.patch uploaded by moy (license 222) astobj2.c.patch uploaded by moy (license 222) asterisk.c.patch uploaded by moy (license 222) res_limit.c.patch uploaded by seanbright (license 71) res_convert.c.patch uploaded by seanbright (license 71) res_crypto.c.patch uploaded by seanbright (license 71) app_osplookup.c.patch uploaded by seanbright (license 71) app_rpt.c.patch uploaded by seanbright (license 71) app_mixmonitor.c.patch uploaded by seanbright (license 71) channel.c.patch uploaded by seanbright (license 71) translate.c.patch uploaded by seanbright (license 71) udptl.c.patch uploaded by seanbright (license 71) threadstorage.c.patch uploaded by seanbright (license 71) db.c.patch uploaded by seanbright (license 71) cdr.c.patch uploaded by moy (license 222) pbd_dundi.c.patch uploaded by moy (license 222) app_osplookup-rev83558.patch uploaded by moy (license 222) res_clioriginate.c.patch uploaded by moy (license 222) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85460 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-16Don't reload a configuration file if nothing has changed.tilghman1-1/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79747 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-13Merged revisions 79174 via svnmerge from file1-2/+0
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r79174 | file | 2007-08-13 11:18:04 -0300 (Mon, 13 Aug 2007) | 4 lines (closes issue #10437) Reported by: haklin Don't set the callerid name and number a second time on a newly created channel. ast_channel_alloc itself already sets it and setting it twice would cause a memory leak. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79175 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-08Add support for using epoll instead of poll. This should increase ↵file1-2/+2
scalability and is done in such a way that we should be able to add support for other poll() replacements. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78683 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-26Do a massive conversion for using the ast_verb() macrorussell1-6/+3
(closes issue #10277, patches by mvanbaak) Basically, this changes ... if (option_verbose > 2) ast_verbose(VERBOSE_PREFIX_3, "Something\n"); to ... ast_verb(3, "Something\n"); git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77299 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-06Issue 9869 - replace malloc and memset with ast_calloc, and other coding ↵tilghman1-5/+5
guidelines changes git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67864 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-13Merged revisions 61644 via svnmerge from murf1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r61644 | murf | 2007-04-13 11:01:02 -0600 (Fri, 13 Apr 2007) | 1 line A fix for chan_oss that resulted from the CDR changes; it helps to use the right info. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@61646 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-10Merged revisions 60989 via svnmerge from murf1-5/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r60989 | murf | 2007-04-09 12:32:07 -0600 (Mon, 09 Apr 2007) | 1 line This is a big improvement over the current CDR fixes. It may still need refinement, but this won't have as many folks bothered. This also adds the mods from 1.4/r.61136; ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@61152 f38db490-d61c-443f-a65b-d21fe96a405b
2007-02-18add -Wundef to the --enable-dev-mode flags, so that mistyped macro names in ↵kpfleming1-1/+1
#if expressions will be caught convert various #if expressions to #ifdef for macros that may not be defined (and where the value is not important) Note: two of these changes are in bison generated files which is going to be inconvenient when they are regenerated git-svn-id: http://svn.digium.com/svn/asterisk/trunk@55329 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-23Merged revisions 51788 via svnmerge from file1-0/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r51788 | file | 2007-01-23 17:46:31 -0500 (Tue, 23 Jan 2007) | 2 lines Update channel drivers to use module referencing so that unloading them while in use will not result in crashes. (issue #8897 reported by junky) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51801 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-19Merged revisions 51311 via svnmerge from russell1-3/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r51311 | russell | 2007-01-19 11:49:38 -0600 (Fri, 19 Jan 2007) | 23 lines Merge the changes from the /team/group/vldtmf_fixup branch. The main bug being addressed here is a problem introduced when two SIP channels using SIP INFO dtmf have their media directly bridged. So, when a DTMF END frame comes into Asterisk from an incoming INFO message, Asterisk would try to emulate a digit of some length by first sending a DTMF BEGIN frame and sending a DTMF END later timed off of incoming audio. However, since there was no audio coming in, the DTMF_END was never generated. This caused DTMF based features to no longer work. To fix this, the core now knows when a channel doesn't care about DTMF BEGIN frames (such as a SIP channel sending INFO dtmf). If this is the case, then Asterisk will not emulate a digit of some length, and will instead just pass through the single DTMF END event. Channel drivers also now get passed the length of the digit to their digit_end callback. This improves SIP INFO support even further by enabling us to put the real digit duration in the INFO message instead of a hard coded 250ms. Also, for an incoming INFO message, the duration is read from the frame and passed into the core instead of just getting ignored. (issue #8597, maybe others...) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51314 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-15Feature: allow soundcard to be used in both modes (autoanswer and not),tilghman1-3/+28
selectable by how it is called in the dialplan. This allows a speaker system hooked up to the soundcard to be used for both ring notification, as well as paging. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@50847 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-29Convert various comments to doxygen format.russell1-54/+60
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@49056 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-24Merged revisions 48948 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r48948 | russell | 2006-12-24 16:19:37 -0500 (Sun, 24 Dec 2006) | 3 lines Fix a typo in an error message that indicated that the MGCP channel type could not be registered, instead of the correct type, OSS. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48949 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-06Constify a bunch of usage strings for CLI commands.russell1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48306 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-18prevent the sound thread from consuming all the available CPUrizzo1-12/+16
doing busy-wait on the output audio device. As it is set now, it tries to push a frame every 10ms, which is still too frequent but avoids deep restructuring of the code (which i should do, though). Note, this is only for ring tones, regular audio coming from the network is still delivered as soon as it is available. Eventually this could well end up in the 1.4 branch, but since i am probably the only user of chan_oss there isn't much urgency to do that. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47822 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-17remove an unused functionrizzo1-7/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47789 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-17use the regexp cli support on some of the commandrizzo1-13/+11
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47788 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-16convert two entries to new stylerizzo1-33/+22
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47779 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-16convert some handlers to new style.rizzo1-101/+117
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47772 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-16fix indentationrizzo1-42/+46
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47770 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-15fix indentationrizzo1-15/+15
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47669 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-07A fair number of changes for the sake of bug 7506murf1-4/+6
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47290 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-31remove old/useless usecount management code.rizzo1-12/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@46683 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-04Merged revisions 44378 via svnmerge from kpfleming1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r44378 | kpfleming | 2006-10-04 14:47:22 -0500 (Wed, 04 Oct 2006) | 4 lines update thread creation code a bit reduce standard thread stack size slightly to allow the pthreads library to allocate the stack+data and not overflow a power-of-2 allocation in the kernel and waste memory/address space add a new stack size for 'background' threads (those that don't handle PBX calls) when LOW_MEMORY is defined ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@44379 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-21Merged revisions 43456 via svnmerge from file1-20/+20
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r43456 | file | 2006-09-21 18:21:40 -0400 (Thu, 21 Sep 2006) | 2 lines Some more clean up in the load function for chan_oss (issue #8002 reported by Mithraen with minor mods by moi) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@43457 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-21Lots more removal of deprecated thingstilghman1-291/+11
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@43452 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-18merge qwell's CLI verbification workkpfleming1-49/+380
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@43212 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-08Formatting fixes for chan_oss (issue #7808 reported by Mithraen)file1-241/+211
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@42389 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-31everything that loads a config that needs a config file to runmogorman1-1/+1
now reports AST_MODULE_LOAD_DECLINE when loading if config file is not there, also fixed an error in res_config_pgsql where it had a non static function when it should. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41633 f38db490-d61c-443f-a65b-d21fe96a405b