434 Commits

Author SHA1 Message Date
Anthony Minessale
f3f757072d [core] gen keyframe on new recording 2021-10-23 01:21:05 +03:00
Anthony Minessale
ae85190e0f [mod_video_filter] fix some keyframe stuff and add read:sound and write:sound options 2021-10-23 01:21:05 +03:00
Andrey Volk
16dc6107a2 [core] Improve session recording thread performance. 2021-10-23 01:20:24 +03:00
Seven Du
ef692a0e00 [Core] Add partial Asr support 2021-10-23 01:20:20 +03:00
Dragos Oancea
5aabb54f68 [core] eavesdrop: init L16 codec at right ptime in certain conditions.
[core] eavesdrop: avoid eavesdropping on itself and return error.

[core] eavesdrop: adjust buffer operations for ptime mismatch and for when ptimes are the same.

[core] eavesdrop: add buffering based on LCM (Least Common Multiple) when ptime mismatch,
and have audio write thread enabled when ptime eavesdropee < ptime eavesdropper.

[unit-tests] add unit-tests for eavesdrop.
2021-03-17 00:47:27 +03:00
Dragos Oancea
3509ae537e [core] native tap fix (pass the copy of the frame to switch_core_session_write_frame() so it does not get encoded) 2021-03-17 00:29:17 +03:00
Andrey Volk
f09ed875b9 [Core] Fix buffer race in switch_ivr_eavesdrop_session() 2021-03-16 23:14:49 +03:00
Dragos Oancea
b774c5e23f [core] eavesdrop: reduce lock contention, fix error condition + enable eavesdrop stereo 2021-03-16 20:26:56 +03:00
Andrey Volk
2b8fa12baa [Core] Fix hangup race in recording_follow_transfer. 2020-08-17 21:07:11 +04:00
Seven Du
e0aef355db [core] use switch_core_session_get_partner in sched_hangup to hangup channel also in signalling bond state 2020-05-07 02:18:56 +04:00
Andrey Volk
10aad69e1b
Merge pull request #347 from dragos-oancea/switch_ivr_async-status-val-never-read
[core] scan-build: Value stored to 'status' is never read - switch_ivr_eavesdrop_session()
2020-02-16 02:07:37 +04:00
Andrey Volk
c3ee0c17cb [Core] Fix various dead assignments. 2020-02-16 00:59:37 +04:00
Dragos Oancea
c0b833fe74 [core] scan-build: Value stored to 'status' is never read - switch_ivr_eavesdrop_session() 2020-02-15 18:10:26 +00:00
Dragos Oancea
4e8c70e33b [core] scan-build: Value stored to 'status' is never read - switch_ivr_session_echo() 2020-02-13 19:08:21 +00:00
Dragos Oancea
b446dc7370 [core] scan-build: Dereference of null pointer (loaded from variable 'result') - switch_ivr_play_and_detect_speech() 2020-02-12 10:23:32 +00:00
Andrey Volk
1428e9a94b
Merge pull request #283 from dragos-oancea/eavesdrop_callback-val-never-read
[core] scan-build: Value stored to 'frame' during its initialization is never read - eavesdrop_callback()
2020-02-01 02:32:44 +04:00
Dragos Oancea
513c441d8e [core] scan-build: Value stored to 'frame' during its initialization is never read - eavesdrop_callback() 2020-01-31 21:56:58 +00:00
Dragos Oancea
309cd1a974 [core] scan-build: Value stored to 'master' is never read - switch_ivr_broadcast() 2020-01-30 22:25:43 +00:00
Dragos Oancea
301110f596 [core] scan-build: Value stored to 'status' is never read 2020-01-28 23:18:28 +00:00
Chris Rienzo
9c3f9a9a50 [core] Add SMBF_FIRST flag which forces media bug to front of the list. Add 'f' flag to switch_ivr_displace_session to add displace as first operation on the media stream. (#76) 2019-12-31 03:14:31 +04:00
Seven Du
00967290b9 [core] support partial speech events 2019-12-31 02:14:48 +04:00
Chris Rienzo
5801df9333 FS-11970 [core] Check if detection is done in switch_ivr_play_and_detect_speech() final loop. 2019-07-29 23:08:15 -04:00
Anthony Minessale
eb31e17e6c FS-11910: [mod_dptools] add native eavesdrop mode. use app native_eavesdrop args <uuid> [read|write] ... default is read with no flag. Must be same codecs 2019-07-17 23:38:23 +04:00
Seven Du
4ce6620988 FS-11754 sync audio before resume detect to improve continuous detection 2019-07-17 23:06:00 +04:00
Andrey Volk
554519f0e4 FS-11553: [core] do not discard the file if we are appending 2019-07-16 23:21:32 +04:00
Andrey Volk
cdea1c13ae FS-11903: Fix errors reported by PVS-Studio Static Code Analyzer for switch_ivr_async.c 2019-07-15 23:41:59 +04:00
lazedo
168a3c068b FS-10968 [core] create recording vars
* moves channel vars starting with Recording-Variable- to record_helper
* uses record_helper variables for RECORD_START/STOP events
2019-03-26 22:28:13 +00:00
Mariah Yang
6ac8105944 FS-11601: Fix some core function prototype 2019-01-09 08:44:41 -05:00
Andrey Volk
82452988e2 FS-11547: [core] Fix broken record_sample_rate variable. 2018-12-21 02:17:27 +04:00
Dragos Oancea
ef123b6c2e FS-11532: fix crash (87d4a6a0) 2018-12-10 14:38:46 -05:00
lazedo
0e0d588144 FS-11312 [core] prevent double firing record_start event 2018-10-16 07:27:40 +00:00
Seven Du
b77f8444c6 FS-11406 #resolve allow displace session replace both read and write audio
uuid_displace cannot replace audio on both direction at the same time,
this patch add a w mux flag so when both rw used at the same time,
it will displace both directions, then both sides can hear the same audio.
2018-09-24 18:56:37 +00:00
Mike Jerris
b96b109501 FS-11393: [core] set record_trimmed_ms at the end of record_session if the file interface has this info available 2018-09-19 17:13:00 +00:00
Mike Jerris
8cd4b16451 Merge pull request #1453 in FS/freeswitch from ~HUNYI/freeswitch:bugfix/FS-10826-fix-sample-rate to master
* commit '87d4a6a0c8efcd1104875a972573cb489d179bd7':
  FS-10826 [core] Fix file handler sample rate after transfer
2018-09-05 22:29:03 +00:00
Seven Du
9056af8785 FS-11320 #resolve pass json string as param to ASR module 2018-08-13 19:00:39 +00:00
Mariah Yang
16c39d874e FS-11110 fix for resume detect on next detect 2018-08-13 18:58:47 +00:00
Anthony Minessale
bf6b61f911 FS-11264: [freeswitch-core] Remove old speech handle when asr failure happens #resolve 2018-07-24 07:21:58 +00:00
Anthony Minessale
611e38e8cb FS-11165: [freeswitch-core] Add more regex handling to dmachine -- squashme #resolve 2018-07-24 07:21:53 +00:00
Anthony Minessale
13e77721bc FS-11165: [freeswitch-core] Add more regex handling to dmachine #resolve 2018-07-24 07:21:53 +00:00
Seven Du
d48db7c979 FS-11110 #resolve resume detect on next detect 2018-07-24 07:21:50 +00:00
Hunyadvári Péter
87d4a6a0c8 FS-10826 [core] Fix file handler sample rate after transfer 2017-12-06 12:51:10 +01:00
Anthony Minessale
4e5219cd27 FS-10503: [mod_av] mod_av split audio to two channels #resolve 2017-08-11 13:23:15 -05:00
Anthony Minessale
d3937624c4 FS-10573: [freeswitch-core] Native recording causes segfault #resolve 2017-08-11 13:05:11 -05:00
Anthony Minessale
513b9f522a FS-10249: [mod_av] Audio gradually falls behind video in recordings 2017-05-19 18:23:42 -05:00
Anthony Minessale
e76ccc3955 FS-10249: [mod_av] Audio gradually falls behind video in recordings 2017-05-19 17:38:08 -05:00
Anthony Minessale
de8c37975b FS-10131: [freeswitch-core] Incorrect video decode flags in some places #resolve 2017-03-13 14:50:50 -05:00
Anthony Minessale
35865bd90c FS-10118: [freeswitch-core] Race conditions from lack of error checking in switch_core_session_read_lock #resolve 2017-03-09 13:22:25 -06:00
Sergey Safarov
df1ab07ca4 FS-9924: Removed extra space in source files 2017-02-09 23:59:49 -05:00
Anthony Minessale
9dba32410f FS-10015: [freeswitch-core] Add variable to allow firing of text events #resolve 2017-02-06 16:37:59 -06:00
Andy Newlands
b5266ed6b4 FS-9325 [mod_dptools] Priority flag for faster bind_digit_action matches
Add exec: flag, 'P' (for "Priority") to bind_digit_action so that a
match is returned as soon as it is found, without waiting for the
inter-digit timeout to expire.

This can be very useful where the system needs to be more responsive
to the user.

By default, if multiple bindings are enabled and one or more use a
regex, switch_ivr_dmachine_check_match waits for the inter-digit
timeout to expire before returning a match.  This ensures overlapping
patterns, such as "^\d{4}$" and "^\12{3}$" can both be reliably matched

When the 'P' flag is specified with bind_digit_action, whose action is
exec, a match is returned as soon as the condition is satisfied,
regardless of whether or not a longer match may be possible if further
digits were entered.

For example:

	<action application="bind_digit_action" data="test,~^*\d{2}$,
		exec[P]:execute_extension,myextn,self,self"/>

	<action application="bind_digit_action" data="test,~^#\d{2}$",
		exec:execute_extension,myotherextn,self,peer"/>

	The first example causes a match to be returned immediately
	after the 2nd digit is received, whereas the second example
	defaults to waiting for the inter-digit timeout to expire
	before returning.

In cases where the 'P' flag is used with a regex and string, and both
are matched, the more explicit, string match will be returned.

For example:

	<action application="bind_digit_action" data="test,~^*\d{2}$,
		exec[P]:execute_extension,myextn,self,self"/>

	<action application="bind_digit_action" data="test,*12,
		exec[P]:execute_extension,myotherextn,self,self"/>

	If "*12" is matched, myotherextn is executed, because "*12" is
	more explicit/specific than "^*\d{2}$"

If the 'P'(riority) flag is not used, behaviour is unchanged from
previous versions.  This ensures backward compatibility.

FS-9325 #resolve
2016-11-08 13:47:37 +00:00