summaryrefslogtreecommitdiff
path: root/res/res_musiconhold.c
AgeCommit message (Collapse)Author
2011-11-23Resume playing existing hold music for cached realtime MOHTerry Wilson
As a result of the fix for ASTERISK-18039, realtime caching MOH no longer properly resumes playing back a file between different holds in the same call. This is because scanning for new files causes the existing file array to be emptied and we were just comparing that the saved pointer to the filename matched the pointer to the filename in a particular position in the array. An easy fix is to save the filename instead of a pointer to it and then do a strcmp instead of comparing the addresses. (closes issue ASTERISK-18912) Review: https://reviewboard.asterisk.org/r/1596/ ........ Merged revisions 346030 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 346031 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346033 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-12Don't forget to rescan MOH files for cached realtime classesTerry Wilson
Realtime MOH class caching was implemented because without it, you would build a completely new MOH class and would start the music over at the beginning each time hold was pressed in a conversation. Unfortunately, this broke re-scanning for file changes for realtime MOH classes. This patch corrects that issue. (closes issue ASTERISK-18039) Review: https://reviewboard.asterisk.org/r/1579/ ........ Merged revisions 344899 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 344900 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@344901 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-19Merged revisions 336717 via svnmerge from Jonathan Rose
https://origsvn.digium.com/svn/asterisk/branches/10 ................ r336717 | jrose | 2011-09-19 15:16:23 -0500 (Mon, 19 Sep 2011) | 14 lines Merged revisions 336716 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r336716 | jrose | 2011-09-19 15:07:36 -0500 (Mon, 19 Sep 2011) | 7 lines Document applications that play audio and do not answer unanswered calls. This patch is part of an effort to document early media and its usage. If you are interested in contributing to this documentation effort, there are probably other applications worth documenting as well as an Asterisk wiki article at https://wiki.asterisk.org/wiki/display/AST/Early+Media+and+the+Progress+Application ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@336732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-02Merged revisions 334357 via svnmerge from Richard Mudgett
https://origsvn.digium.com/svn/asterisk/branches/10 ................ r334357 | rmudgett | 2011-09-02 16:08:16 -0500 (Fri, 02 Sep 2011) | 26 lines Merged revisions 334355 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r334355 | rmudgett | 2011-09-02 15:59:49 -0500 (Fri, 02 Sep 2011) | 19 lines MusicOnHold has extra unref which may lead to memory corruption and crash. The problem happens when a call is disconnected and you had started a MOH class that does not use the files mode. If you define REF_DEBUG and recreate the problem, it will announce itself with the following warning: Attempt to unref mohclass 0xb70722e0 (default) when only 1 ref remained, and class is still in a container! * Fixed moh_alloc() and moh_release() functions not handling the state->class reference consistently. (closes issue ASTERISK-18346) Reported by: Mark Murawski Patches: jira_asterisk_18346_v1.8.patch (license #5621) patch uploaded by rmudgett Tested by: rmudgett, Mark Murawski Review: https://reviewboard.asterisk.org/r/1404/ ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334358 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-08Merged revisions 331039 via svnmerge from Kinsey Moore
https://origsvn.digium.com/svn/asterisk/branches/10 ................ r331039 | kmoore | 2011-08-08 15:53:30 -0500 (Mon, 08 Aug 2011) | 18 lines Merged revisions 331038 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r331038 | kmoore | 2011-08-08 15:52:45 -0500 (Mon, 08 Aug 2011) | 11 lines In-queue MOH stops after a periodic announcement If the seek value is past the end of file when resuming G.722 MOH, MOH will cease to function for the duration of the MOH session through all starts and stops until saved state is cleared. Adjusting the code to guarantee a single valid read (which is already assumed) fixes the bug. (closes issue ASTERISK-18077) Review: https://reviewboard.asterisk.org/r/1328/ Tested-by: Jonathan Rose <jrose@digium.com> ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331040 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-14Merged revisions 328247 via svnmerge from Leif Madsen
https://origsvn.digium.com/svn/asterisk/branches/1.10 ................ r328247 | lmadsen | 2011-07-14 16:25:31 -0400 (Thu, 14 Jul 2011) | 14 lines Merged revisions 328209 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r328209 | lmadsen | 2011-07-14 16:13:06 -0400 (Thu, 14 Jul 2011) | 6 lines Introduce <support_level> tags in MODULEINFO. This change introduces MODULEINFO into many modules in Asterisk in order to show the community support level for those modules. This is used by changes committed to menuselect by Russell Bryant recently (r917 in menuselect). More information about the support level types and what they mean is available on the wiki at https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-30Merged revisions 325821 via svnmerge from Jonathan Rose
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r325821 | jrose | 2011-06-30 14:17:32 -0500 (Thu, 30 Jun 2011) | 10 lines Fixes an issue with Music on Hold classes losing files in playlist when realtime is used. The bug occurs rather intermittently and I relied on the reporters to test the patch. After a sanity check and some testing, I'm giving it an OK. (closes issue ASTERISK-17875) Reported by: David Cunningham Patches: res_musiconhold.c.mohrt17875_v1 uploaded by Igor Goncharovsky (license #5009) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-28Merged revisions 325152 via svnmerge from Jonathan Rose
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r325152 | jrose | 2011-06-28 10:46:29 -0500 (Tue, 28 Jun 2011) | 5 lines Fixes moh reload breaking custom mode moh classes when the config file is untouched (closes issue ASTERISK-17730) Reported by: sdolloff ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-03Merged revisions 316265 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r316265 | russell | 2011-05-03 14:55:49 -0500 (Tue, 03 May 2011) | 5 lines Fix a bunch of compiler warnings generated by gcc 4.6.0. Most of these are -Wunused-but-set-variable, but there were a few others mixed in here, as well. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-21New HD ConfBridge conferencing application.David Vossel
Includes a new highly optimized and customizable ConfBridge application capable of mixing audio at sample rates ranging from 8khz-192khz. Review: https://reviewboard.asterisk.org/r/1147/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@314598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-04Replace ast_log(LOG_DEBUG, ...) with ast_debug()Paul Belanger
(closes issue #18556) Reported by: kkm Review: https://reviewboard.asterisk.org/r/1071/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-03Asterisk media architecture conversion - no more format bitfieldsDavid Vossel
This patch is the foundation of an entire new way of looking at media in Asterisk. The code present in this patch is everything required to complete phase1 of my Media Architecture proposal. For more information about this project visit the link below. https://wiki.asterisk.org/wiki/display/AST/Media+Architecture+Proposal The primary function of this patch is to convert all the usages of format bitfields in Asterisk to use the new format and format_cap APIs. Functionally no change in behavior should be present in this patch. Thanks to twilson and russell for all the time they spent reviewing these changes. Review: https://reviewboard.asterisk.org/r/1083/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-01Merged revisions 305473 via svnmerge from Jason Parker
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r305473 | qwell | 2011-02-01 11:04:23 -0600 (Tue, 01 Feb 2011) | 23 lines Merged revisions 305472 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r305472 | qwell | 2011-02-01 11:02:09 -0600 (Tue, 01 Feb 2011) | 16 lines Merged revisions 305471 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r305471 | qwell | 2011-02-01 11:00:55 -0600 (Tue, 01 Feb 2011) | 9 lines Close file descriptor for timing source when a MOH class gets destroyed. (closes issue #18457) Reported by: mcallist Patches: 18457-closetimer.diff uploaded by qwell (license 4) 18457-closetimer_trunk.diff uploaded by qwell (license 4) Tested by: qwell, loloski ........ ................ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@305474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-31Merged revisions 305198 via svnmerge from Jason Parker
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r305198 | qwell | 2011-01-31 15:30:44 -0600 (Mon, 31 Jan 2011) | 2 lines Fix compile error. pseudofd no longer exists. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@305203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-31Merged revisions 305131 via svnmerge from Jason Parker
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r305131 | qwell | 2011-01-31 15:00:25 -0600 (Mon, 31 Jan 2011) | 16 lines Merged revisions 305130 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r305130 | qwell | 2011-01-31 14:59:37 -0600 (Mon, 31 Jan 2011) | 9 lines Merged revisions 305129 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r305129 | qwell | 2011-01-31 14:56:25 -0600 (Mon, 31 Jan 2011) | 2 lines Set file descriptors to -1 on creation, so that we don't see weirdness later. ........ ................ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@305132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-20Merged revisions 292376 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r292376 | tilghman | 2010-10-19 19:40:29 -0500 (Tue, 19 Oct 2010) | 5 lines Oops. This module uses the generic timer and no longer uses DAHDI. This causes a problem with the Solaris and other system builds that have gcc 4.1 (where optional_api is non-optional). ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@292377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-16Merged revisions 292050 via svnmerge from Tzafrir Cohen
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r292050 | tzafrir | 2010-10-16 12:47:00 +0200 (ש', 16 אוק 2010) | 22 lines Merged revisions 292049 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r292049 | tzafrir | 2010-10-16 12:03:04 +0200 (ש', 16 אוק 2010) | 15 lines Base directory for MOH should be ASTDATADIR If the directive 'directory' is relative, make it relative to the datadir, rather than to the varlibdir. In the sample configuration it is relative ('moh'). This has no effect unless you have actively set the datadir explicitly (at build time or at run time). (closes issue #16906) Patches: moh_datadir uploaded by tzafrir (license 46) Review: https://reviewboard.asterisk.org/r/974/ ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@292052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-09Merged revisions 285640 via svnmerge from Brett Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r285640 | bbryant | 2010-09-09 13:23:28 -0400 (Thu, 09 Sep 2010) | 21 lines Merged revisions 285639 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r285639 | bbryant | 2010-09-09 13:22:25 -0400 (Thu, 09 Sep 2010) | 14 lines Merged revisions 285638 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r285638 | bbryant | 2010-09-09 13:20:17 -0400 (Thu, 09 Sep 2010) | 7 lines Fixes an issue with MOH where it doesn't recover cleanly when it can't play a file and would just stop, instead of continuing to find the next playable file in the MOH class. (closes issue #17807) Reported by: kshumard Review: https://reviewboard.asterisk.org/r/910/ ........ ................ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-08Merged revisions 285530 via svnmerge from Jason Parker
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r285530 | qwell | 2010-09-08 15:43:10 -0500 (Wed, 08 Sep 2010) | 9 lines Merged revisions 285529 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r285529 | qwell | 2010-09-08 15:42:44 -0500 (Wed, 08 Sep 2010) | 1 line Follow coding guidelines in moh rescan fix. Also fix the documentation that got me in trouble. ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-08Merged revisions 285527 via svnmerge from Jason Parker
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r285527 | qwell | 2010-09-08 15:32:13 -0500 (Wed, 08 Sep 2010) | 15 lines Merged revisions 285526 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r285526 | qwell | 2010-09-08 15:31:43 -0500 (Wed, 08 Sep 2010) | 8 lines Fixes issue where moh files were no longer rescanned during a reload. (closes issue #16744) Reported by: pj Patches: 16744-reload.diff uploaded by qwell (license 4) Tested by: qwell ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-26Merged revisions 283770 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r283770 | tilghman | 2010-08-26 18:47:02 -0500 (Thu, 26 Aug 2010) | 8 lines Convert MOH to use generic timers. (closes issue #17726) Reported by: lmadsen Patches: 20100825__issue17726__2.diff.txt uploaded by tilghman (license 14) Tested by: tilghman ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@283771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-20Add load priority order, such that preload becomes unnecessary in most casesTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16Add documentation for MOH realtime fieldsTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-23If there is realtime configuration, it does not get re-read on reload unless ↵Tilghman Lesher
the config file also changes. (closes issue #16982) Reported by: dmitri Patches: res_musiconhold.patch uploaded by dmitri (license 1001) Tested by: atis git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-14Merged revisions 270331 via svnmerge from Paul Belanger
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r270331 | pabelanger | 2010-06-14 17:31:59 -0400 (Mon, 14 Jun 2010) | 14 lines Properly play first file in sort list. When using sort=alpha we would always skip the first file in the list first time through. We now check for that properly. (closes issue #17470) Reported by: pabelanger Patches: sort.aplha.patch uploaded by pabelanger (license 224) Tested by: lmadsen Review: https://reviewboard.asterisk.org/r/703/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@270332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-09fixes crash in moh when cachertclasses flag is usedDavid Vossel
The result for moh_register was not verified to guarantee the mohclass as added to the container. (closes issue #16993) Reported by: dmitri Patches: res_musiconhold_rtclass2.patch uploaded by dmitri (license 1001) moh_crash2.diff uploaded by dvossel (license 671) Tested by: dmitri git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@269271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26Remove unrelated MOH change from previous commit.Mark Michelson
Thanks Kevin! git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266094 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26Fix misspelling of macro args.Mark Michelson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-30Merged revisions 260345 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r260345 | mmichelson | 2010-04-30 15:08:15 -0500 (Fri, 30 Apr 2010) | 18 lines Fix potential crash from race condition due to accessing channel data without the channel locked. In res_musiconhold.c, there are several places where a channel's stream's existence is checked prior to calling ast_closestream on it. The issue here is that in several cases, the channel was not locked while checking the stream. The result was that if two threads checked the state of the channel's stream at approximately the same time, then there could be a situation where both threads attempt to call ast_closestream on the channel's stream. The result here is that the refcount for the stream would go below 0, resulting in a crash. I have added proper channel locking to res_musiconhold.c to ensure that we do not try to check chan->stream without the channel locked. A Digium customer has been using this patch for several weeks and has not had any crashes since applying the patch. ABE-2147 ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@260346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-05Merged revisions 250786 via svnmerge from Jeff Peeler
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r250786 | jpeeler | 2010-03-04 19:02:58 -0600 (Thu, 04 Mar 2010) | 9 lines Fix not being able to specify a URL in MOH class directory. Don't attempt to chdir on a URL! (closes issue #16875) Reported by: raarts Patches: moh-http.patch uploaded by raarts (license 937) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@250787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-16Get MoH building on OpenSolaris.Sean Bright
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@240667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-08Add the class actually used in the MusicOnHold start event.Tilghman Lesher
(closes issue #16499) Reported by: syspert Patches: mohclass.patch uploaded by syspert (license 938) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@238795 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-10Missed a case that emits a WARNING where none is warranted.Tilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@234210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-08Find another ref leak and change how we manage module references.Tilghman Lesher
(closes issue #16388, closes issue #16279, closes issue #16390) Reported by: parisioa Patches: 20091208__issue16388.diff.txt uploaded by tilghman (license 14) Tested by: parisioa, tilghman Review: https://reviewboard.asterisk.org/r/442/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@233718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-03Remove debugging lineTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@232661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-03Fix multiple issues with musiconhold, which led to classes not getting ↵Tilghman Lesher
destroyed properly. * Classes are now tracked past removal from the core container, and module removal is actively prevented until all references are freed. * A hanging reference stored in the channel has been removed. This could have caused a mismatch and the music state not properly cleared, if two or more reloads occurred between MOH being stopped and MOH being restarted. * In certain circumstances, duplicate classes were possible. * A race existed at reload time between a process being killed and the thread responsible for reading from the related pipe respawning that process. * Several reference counts have also been corrected. At least one could have caused deleted classes to stick around forever, consuming resources. This originally manifested as MOH external processes that were not killed at reload time. (closes issue #16279, closes issue #16207) Reported by: parisioa, dcabot Patches: 20091202__issue16279__2.diff.txt uploaded by tilghman (license 14) Tested by: parisioa, tilghman git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@232660 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-13Display a list of channel variables in each channel-oriented event.Tilghman Lesher
(Closes AST-33) Reviewboard: https://reviewboard.asterisk.org/r/368/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@230111 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-04Expand codec bitfield from 32 bits to 64 bits.Tilghman Lesher
Reviewboard: https://reviewboard.asterisk.org/r/416/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@227580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-06Recorded merge of revisions 222152 via svnmerge from Kevin P. Fleming
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r222152 | kpfleming | 2009-10-05 20:16:36 -0500 (Mon, 05 Oct 2009) | 20 lines Fix ao2_iterator API to hold references to containers being iterated. See Mantis issue for details of what prompted this change. Additional notes: This patch changes the ao2_iterator API in two ways: F_AO2I_DONTLOCK has become an enum instead of a macro, with a name that fits our naming policy; also, it is now necessary to call ao2_iterator_destroy() on any iterator that has been created. Currently this only releases the reference to the container being iterated, but in the future this could also release other resources used by the iterator, if the iterator implementation changes to use additional resources. (closes issue #15987) Reported by: kpfleming Review: https://reviewboard.asterisk.org/r/383/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@222176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10Sets the correct musicclass after an announcementMatthias Nick
(closes issue #15279) Reported by: mbeckwell Patches: patch.txt uploaded by mnick (license ) Tested by: mnick (closes issue #15832) Reported by: mbeckwell Patches: patch.txt uploaded by mnick (license 874) Tested by: mnick git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@217730 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-28Remove unnecessary define for SolarisTilghman Lesher
(closes issue #15358) Reported by: snuffy Patches: bug_res_moh_remove_unneeded_include.diff uploaded by snuffy (license 35) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@214611 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-10AST-2009-005Tilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@211539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-27Honor channel's music class when using realtime music on hold.Mark Michelson
(closes issue #15051) Reported by: alexh Patches: 15051.patch uploaded by mmichelson (license 60) Tested by: alexh git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-18Merged revisions 201600 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r201600 | russell | 2009-06-18 10:24:31 -0500 (Thu, 18 Jun 2009) | 29 lines Fix memory corruption and leakage related reloads of non files mode MoH classes. For Music on Hold classes that are not files mode, meaning that we are executing an application that will feed us audio data, we use a thread to monitor the external application and read audio from it. This thread also makes use of the MoH class object. In the MoH class destructor, we used pthread_cancel() to ask the thread to exit. Unfortunately, the code did not wait to ensure that the thread actually went away. What needed to be done is a pthread_join() to ensure that the thread fully cleans up before we proceed. By adding this one line, we resolve two significant problems: 1) Since the thread was never joined, it never fully goes away. So, on every reload of non-files mode MoH, an unused thread was sticking around. 2) There was a race condition here where the application monitoring thread could still try to access the MoH class, even though the thread executing the MoH reload has already destroyed it. (issue #15109) Reported by: jvandal (issue #15123) Reported by: axisinternet (issue #15195) Reported by: amorsen (issue AST-208) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@201610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-06Move music on hold related applications documentation to XML.Eliel C. Sardanons
Move MusicOnHold, SetMusicOnHold, StartMusicOnHold, StopMusicOnHold static documentation to the new AstXML form. (issue #15245) Reported by: eliel Patches: res_musiconhold_static_conversion.txt uploaded by lmadsen (license 10) (with some fixes and formatting by me) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-21Const-ify the world (or at least a good part of it)Kevin P. Fleming
This patch adds 'const' tags to a number of Asterisk APIs where they are appropriate (where the API already demanded that the function argument not be modified, but the compiler was not informed of that fact). The list includes: - CLI command handlers - CLI command handler arguments - AGI command handlers - AGI command handler arguments - Dialplan application handler arguments - Speech engine API function arguments In addition, various file-scope and function-scope constant arrays got 'const' and/or 'static' qualifiers where they were missing. Review: https://reviewboard.asterisk.org/r/251/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-13Fix another crash related to cached realtime music on hold.Mark Michelson
This was another off-by-one problem caused by moh_register. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188102 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09Use safe macro practices even though they really aren't necessary.Mark Michelson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09Fix a crash in res_musiconhold when using cached realtime moh.Mark Michelson
The moh_register function links an mohclass and then immediately unrefs the class since the container now has a reference. The problem with using realtime music on hold is that the class is allocated, registered, and started in one fell swoop. The refcounting logic resulted in the count being off by one. The same problem did not happen when using a static config because the allocation and registration of an mohclass is a separate operation from starting moh. This also did not affect non-cached realtime moh because the classes are not registered at all. I also have modified res_musiconhold to use the _t_ variants of the ao2_ functions so that more info can be gleaned when attempting to trace the refcounts. I found this to be incredibly helpful for debugging this issue and there's no good reason to remove it. (closes issue #14661) Reported by: sum git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-08Merged revisions 187045 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r187045 | mmichelson | 2009-04-08 11:52:03 -0500 (Wed, 08 Apr 2009) | 10 lines Fix a small logical error when loading moh classes. We were unconditionally incrementing the number of mohclasses registered. However, we should actually only increment if the call to moh_register was successful. While this probably has never caused problems, I noticed it and decided to fix it anyway. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187046 65c4cc65-6c06-0410-ace0-fbb531ad65f3