asterisk/apps
Mark Michelson ee21eee7e0 Cache string values of formats on ast_format_cap() to save processing.
Channel snapshots have string representations of the channel's native formats.
Prior to this change, the format strings were re-created on ever channel snapshot
creation. Since channel native formats rarely change, this was very wasteful.
Now, string representations of formats may optionally be stored on the ast_format_cap
for cases where string representations may be requested frequently. When formats
are altered, the string cache is marked as invalid. When strings are requested, the
cache validity is checked. If the cache is valid, then the cached strings are copied.
If the cache is invalid, then the string cache is rebuilt and copied, and the cache
is marked as being valid again.

Review: https://reviewboard.asterisk.org/r/2879
........

Merged revisions 400356 from http://svn.asterisk.org/svn/asterisk/branches/12


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@400363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-03 14:58:16 +00:00
..
confbridge Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
Makefile Moved core logic from app_stasis to res_stasis 2013-04-15 16:43:47 +00:00
app_adsiprog.c Doxygen Updates - Title update 2012-10-14 21:45:16 +00:00
app_agent_pool.c Restore Dial, Queue, and FollowMe 'I' option support. 2013-09-13 22:19:23 +00:00
app_alarmreceiver.c Fix XML Document Validation Failure 2012-10-18 20:31:05 +00:00
app_amd.c Doxygen Updates - Title update 2012-10-14 21:45:16 +00:00
app_authenticate.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00:00
app_bridgewait.c Bridge API: Set a cause code on a channel when it is ejected from a bridge. 2013-08-22 21:09:52 +00:00
app_cdr.c app_cdr and res_parking: Fix some resource leaks. 2013-09-27 21:58:05 +00:00
app_celgenuserevent.c Add transfer support to CEL 2013-07-20 13:10:22 +00:00
app_chanisavail.c app_chanisavail: Fix use of uninitialized variable. 2012-03-14 23:29:32 +00:00
app_channelredirect.c Merge in the bridge_construction branch to make the system use the Bridging API. 2013-05-21 18:00:22 +00:00
app_chanspy.c Add SayAlphaCase and similar functionality for AGI 2013-08-22 22:33:48 +00:00
app_confbridge.c Cache string values of formats on ast_format_cap() to save processing. 2013-10-03 14:58:16 +00:00
app_controlplayback.c Add ControlPlayback manager action 2013-01-22 15:16:20 +00:00
app_dahdibarge.c Opaquify ast_channel typedefs, fd arrays, and softhangup flag 2012-03-01 22:09:18 +00:00
app_dahdiras.c Opaquify ast_channel typedefs, fd arrays, and softhangup flag 2012-03-01 22:09:18 +00:00
app_db.c Don't throw a spurious error when using DBdeltree 2013-02-14 03:49:52 +00:00
app_dial.c Reduce channel snapshot creation and publishing by up to 50%. 2013-10-02 16:23:34 +00:00
app_dictate.c Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
app_directed_pickup.c Remove dead code from features.c; refactor pickup code into pickup.c 2013-08-02 02:32:44 +00:00
app_directory.c Add SayAlphaCase and similar functionality for AGI 2013-08-22 22:33:48 +00:00
app_disa.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00:00
app_dumpchan.c Verbose logging discrepancies 2013-08-29 22:49:24 +00:00
app_echo.c Prevent Echo() from relaying control, null, and modem frames 2012-03-20 20:42:34 +00:00
app_exec.c Merged revisions 328247 via svnmerge from 2011-07-14 20:28:54 +00:00
app_externalivr.c Remove declaration of eivr_connect_socket because it no longer exists. 2012-06-20 11:47:12 +00:00
app_fax.c Resolve a merge conflict 2013-05-29 02:26:17 +00:00
app_festival.c Doxygen Updates - Title update 2012-10-14 21:45:16 +00:00
app_flash.c Opaquify ast_channel typedefs, fd arrays, and softhangup flag 2012-03-01 22:09:18 +00:00
app_followme.c Minor tweaks with ast_moh_start() callers. 2013-08-22 23:15:14 +00:00
app_forkcdr.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00:00
app_getcpeid.c Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
app_ices.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
app_image.c Merged revisions 328247 via svnmerge from 2011-07-14 20:28:54 +00:00
app_ivrdemo.c ast_channel opaquification of pointers and integral types 2012-02-20 23:43:27 +00:00
app_jack.c Multiple revisions 375993-375994 2012-11-07 19:15:26 +00:00
app_macro.c Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
app_meetme.c Cache string values of formats on ast_format_cap() to save processing. 2013-10-03 14:58:16 +00:00
app_milliwatt.c Replace GNU old-style field designator extensions to fix clang warnings 2012-04-04 18:08:28 +00:00
app_minivm.c ARI: Add recording controls 2013-08-06 14:44:45 +00:00
app_mixmonitor.c Fix memory leaks 2013-08-30 16:27:57 +00:00
app_morsecode.c Merged revisions 336717 via svnmerge from 2011-09-19 20:23:29 +00:00
app_mp3.c Opaquification for ast_format structs in struct ast_channel 2012-02-24 00:32:20 +00:00
app_nbscat.c Opaquification for ast_format structs in struct ast_channel 2012-02-24 00:32:20 +00:00
app_originate.c Cache string values of formats on ast_format_cap() to save processing. 2013-10-03 14:58:16 +00:00
app_osplookup.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00:00
app_page.c app_page and app_confbridge: Fix custom announcement on entering conference. 2013-02-05 19:11:33 +00:00
app_playback.c Check result of ast_var_assign() calls for memory allocation failure. 2013-08-06 08:36:15 +00:00
app_playtones.c ast_channel opaquification of pointers and integral types 2012-02-20 23:43:27 +00:00
app_privacy.c Opaquify ast_channel structs and lists 2012-02-29 16:52:47 +00:00
app_queue.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
app_read.c ast_channel opaquification of pointers and integral types 2012-02-20 23:43:27 +00:00
app_readexten.c Opaquify ast_channel structs and lists 2012-02-29 16:52:47 +00:00
app_readfile.c Merged revisions 328247 via svnmerge from 2011-07-14 20:28:54 +00:00
app_record.c Multiple revisions 375993-375994 2012-11-07 19:15:26 +00:00
app_saycounted.c Merged revisions 336717 via svnmerge from 2011-09-19 20:23:29 +00:00
app_sayunixtime.c ast_channel opaquification of pointers and integral types 2012-02-20 23:43:27 +00:00
app_senddtmf.c Add pause one second W dial modifier. 2012-09-28 18:27:02 +00:00
app_sendtext.c ast_channel opaquification of pointers and integral types 2012-02-20 23:43:27 +00:00
app_setcallerid.c Opaquify ast_channel structs and lists 2012-02-29 16:52:47 +00:00
app_skel.c Add CLI configuration documentation 2013-02-15 13:38:12 +00:00
app_sms.c Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
app_softhangup.c ast_channel opaquification of pointers and integral types 2012-02-20 23:43:27 +00:00
app_speech_utils.c app_speech_utils: Fix unresolved symbol ast_speech_get_setting(). 2013-09-16 18:00:32 +00:00
app_stack.c MALLOC_DEBUG: Fix some misuses of free() when MALLOC_DEBUG is enabled. 2013-10-02 17:12:49 +00:00
app_stasis.c Fix menuselect display for stasis modules. 2013-06-24 21:40:52 +00:00
app_system.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
app_talkdetect.c Finalize ast_channel opaquification 2012-03-13 18:20:34 +00:00
app_test.c Opaquification for ast_format structs in struct ast_channel 2012-02-24 00:32:20 +00:00
app_transfer.c Fix the display of documentation for Transfer 2012-04-03 20:14:01 +00:00
app_url.c Merged revisions 339777 via svnmerge from 2011-10-07 19:37:33 +00:00
app_userevent.c Refactor code and fix a reference leak 2013-05-31 19:00:51 +00:00
app_verbose.c Verbose logging discrepancies 2013-08-29 22:49:24 +00:00
app_voicemail.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
app_voicemail.exports.in Remove some symbol exports that got missed in the removal of global symbols. 2012-06-15 15:33:41 +00:00
app_waitforring.c Multiple revisions 375993-375994 2012-11-07 19:15:26 +00:00
app_waitforsilence.c Opaquification for ast_format structs in struct ast_channel 2012-02-24 00:32:20 +00:00
app_waituntil.c Merged revisions 328247 via svnmerge from 2011-07-14 20:28:54 +00:00
app_while.c Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
app_zapateller.c Opaquify ast_channel structs and lists 2012-02-29 16:52:47 +00:00
enter.h remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00
leave.h remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00