asterisk/apps
Sean Bright 64906c4c9b audiohook.c: Substitute silence for unavailable audio frames
There are 4 scenarios to consider when capturing audio from a channel
with an audiohook:

 1. There is no rx and no tx audio, so return nothing.
 2. There is rx but no tx audio, so return rx.
 3. There is tx but no rx audio, so return tx.
 4. There is rx and tx audio, so mix them and return.

The file passed as the primary argument to MixMonitor will be written to
in scenarios 2, 3, and 4. However, if you pass the r() and t() options
to MixMonitor, a frame will only be written to the r() file if there was
rx audio and a frame will only be written to the t() file if there was
tx audio.

If you subsequently take the r() and t() files and try to mix them, the
sides of the conversation will 'drift' and be non-representative of the
user experience.

This patch adds a new 'S' option to MixMonitor that injects a frame of
silence on either the r() side or the t() side of the channel so that
when later mixed, there is no such drift.

Change-Id: Ibf5ed73a811087727bd561a89a59f4447b4ee20e
2019-08-20 08:44:00 -05:00
..
confbridge app_confbridge: Attended transfer event fixup 2019-06-13 14:07:16 -06:00
Makefile app_voicemail.c: Build all three variants for app_voicemail at the same time 2019-06-28 07:32:03 -06:00
app_adsiprog.c Fixes for GCC 9 2019-05-10 10:22:55 -06:00
app_agent_pool.c various modules: json integer overflow 2019-08-01 15:31:48 -06:00
app_alarmreceiver.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
app_amd.c app_amd: issue with silence suppression fixed 2019-06-20 23:45:03 -06:00
app_attended_transfer.c app_attended_transfer: new application AttendedTransfer 2019-06-11 08:17:06 -06:00
app_authenticate.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_blind_transfer.c app_blind_transfer: new application BlindTransfer 2019-06-07 08:26:37 -06:00
app_bridgeaddchan.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
app_bridgewait.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
app_cdr.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
app_celgenuserevent.c loader: Convert reload_classes to built-in modules. 2018-03-14 05:20:12 -04:00
app_chanisavail.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_channelredirect.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
app_chanspy.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_confbridge.c app_confbridge: Attended transfer event fixup 2019-06-13 14:07:16 -06:00
app_controlplayback.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_dahdiras.c module: Remove deprecated modules and update support levels. 2018-07-18 18:15:53 +00:00
app_db.c module: Remove deprecated modules and update support levels. 2018-07-18 18:15:53 +00:00
app_dial.c app_dial.c: RINGTIME, PROGRESSTIME and ms resolution dial timings 2019-04-24 06:27:41 -06:00
app_dictate.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_directed_pickup.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
app_directory.c Replace direct checks of option_debug with DEBUG_ATLEAST macro. 2018-03-07 16:03:01 -06:00
app_disa.c asterisk: Audit locking of channel when manipulating flags. 2017-05-16 14:25:23 +00:00
app_dumpchan.c asterisk: Audit locking of channel when manipulating flags. 2017-05-16 14:25:23 +00:00
app_echo.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_exec.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
app_externalivr.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_fax.c Complete deprecating legacy modules. 2018-03-08 13:53:09 -06:00
app_festival.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_flash.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_followme.c Fixes for GCC 9 2019-05-10 10:22:55 -06:00
app_forkcdr.c loader: Convert reload_classes to built-in modules. 2018-03-14 05:20:12 -04:00
app_getcpeid.c module: Remove deprecated modules and update support levels. 2018-07-18 18:15:53 +00:00
app_ices.c module: Remove deprecated modules and update support levels. 2018-07-18 18:15:53 +00:00
app_image.c module: Remove deprecated modules and update support levels. 2018-07-18 18:15:53 +00:00
app_ivrdemo.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_jack.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_macro.c app_macro: Prevent infinite loop in find_matching_priority. 2018-05-07 07:58:12 -06:00
app_meetme.c app_meetme: Don't mute joining admins if conference is muted 2019-03-08 10:44:00 -06:00
app_milliwatt.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_minivm.c mwi core: Move core MWI functionality into its own files 2019-04-23 17:40:15 -05:00
app_mixmonitor.c audiohook.c: Substitute silence for unavailable audio frames 2019-08-20 08:44:00 -05:00
app_morsecode.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_mp3.c app_mp3: remove 10 seconds of silence after mp3 playback 2018-06-15 06:24:37 -06:00
app_nbscat.c module: Remove deprecated modules and update support levels. 2018-07-18 18:15:53 +00:00
app_originate.c app_originate: Add async option. 2018-03-22 13:22:23 +00:00
app_osplookup.c app_osplookup: Move header defines into the app. 2018-03-07 02:45:24 -05:00
app_page.c app_page: Add dependency against app_confbridge. 2018-10-01 13:11:41 -04:00
app_playback.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_playtones.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
app_privacy.c app_privacy: remove unused header asterisk/image.h 2017-08-02 17:08:48 -04:00
app_queue.c various modules: json integer overflow 2019-08-01 15:31:48 -06:00
app_read.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_readexten.c app_readexten: new option 'p' to stop reading on '#' key 2019-05-23 08:37:08 -06:00
app_record.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_saycounted.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_sayunixtime.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_senddtmf.c AMI PlayDTMF Action: Make not compete with channel's media thread. 2018-06-19 15:02:52 -05:00
app_sendtext.c app_sendtext: Allow content types other than text/plain 2018-06-04 13:20:34 -06:00
app_skel.c astobj2: Remove legacy ao2_container_alloc routine. 2018-11-21 09:56:16 -05:00
app_sms.c Fix GCC 8 build issues. 2018-05-11 09:48:58 -04:00
app_softhangup.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_speech_utils.c loader: Add dependency fields to module structures. 2018-01-15 13:25:51 -05:00
app_stack.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
app_stasis.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
app_statsd.c Add missing OPTIONAL_API and ARI dependences. 2018-01-22 12:16:58 -05:00
app_stream_echo.c app_stream_echo: Don't echo declined streams 2017-09-23 12:33:54 -05:00
app_system.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_talkdetect.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_test.c Fix GCC 8 build issues. 2018-05-11 09:48:58 -04:00
app_transfer.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_url.c module: Remove deprecated modules and update support levels. 2018-07-18 18:15:53 +00:00
app_userevent.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_verbose.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
app_voicemail.c app_voicemail/IMAP: check mailstream not NULL in leave_voicemail 2019-08-15 09:47:24 -05: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_voicemail_imap.c app_voicemail.c: Build all three variants for app_voicemail at the same time 2019-06-28 07:32:03 -06:00
app_voicemail_imap.exports.in app_voicemail.c: Build all three variants for app_voicemail at the same time 2019-06-28 07:32:03 -06:00
app_voicemail_odbc.c app_voicemail.c: Build all three variants for app_voicemail at the same time 2019-06-28 07:32:03 -06:00
app_voicemail_odbc.exports.in app_voicemail.c: Build all three variants for app_voicemail at the same time 2019-06-28 07:32:03 -06:00
app_waitforring.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_waitforsilence.c app_waitforsilence: Cleanup & don't treat missing frames as 'noise' 2017-09-06 16:16:19 -05:00
app_waituntil.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
app_while.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
app_zapateller.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
enter.h Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
leave.h Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00