FS-11364 Fix tile flicker when layout has 'overlap' and 'zoom' options
Usually tiles recalculated when new image comes in, however when 'overlap' option is in effect - tiles recalculated multiple times.
And when layout also has 'zoom' option - when image recalculated it each round zooms itself deeper and deeper, until new images comes and image resets to proper state.
This looks like flicker.
The fix is to always take for zoom calculations real image dimensions instead of previously recalculated.
HOWEVER!
There are too many math and corner cases in mod_conference, so i propose it to be reviewed by widest audience of people who wrote mod_conference!
FS-11201 Fix 'rtt_valid = 0;' was incorrectly placed rendering whole RTT thing void.
+ don't shoot in a leg and keep 'rtt_now' value correct (even if we clear it few lines after), because after some time it could be changed.
FS-11362 Rearrange poll() errors handling to properly report poll hangup. Handle and log case when client sent close request. Add errno to errors where applicable.
FS-11362 FS could close client verto connection due to incorrect handling of SSL function return values (when SSL layer need to communicate with client on its own, f.e. keys re-negotiation)
FS-11360 Fix FS degradation over time in DTLS layer (especially if outdoing packets rate higher that incoming)
When we handle DTLS layer in do_dtls() and there are no incoming packets yet - we still call BIO_write() with NULL buffer and it is an error and BIO_write() will stuck for a long time in libssl/libcrypto error subsystem.
(that also possibly relates to fact that libssl/libcrypto init/deinit/error-handling is broken in general in FS, however that is another big issue)
Mike Jerris [Fri, 24 Aug 2018 15:27:00 +0000 (15:27 +0000)]
Merge pull request #1574 in FS/freeswitch from fs-11189-av-fix to master
* commit 'be782776b535c52f49f0d64145ee9dc3e12e4d19':
FS-11189 add back default flags LOOP_FILTER and PSNR for H264
FS-11189 set default cpu string to cpu/2/4 if not configured
FS-11189 add helper functions and macros to dump encoder context params
FS-11189 add default av conf to vanilla
FS-11189 use AV_INPUT_BUFFER_PADDING_SIZE instead of FF_INPUT_BUFFER_PADDING_SIZE in newer ffmpeg
Chad Phillips [Thu, 26 Jul 2018 18:19:45 +0000 (13:19 -0500)]
FS-11279: Wrap verto.clientReady message callback in check for onMessage callback function
The verto.clientReady event calls the onMessage callback function passed in
the Verto object. We should check for the existence of this callback function
before trying to call it.
Piotr Gregor [Wed, 21 Mar 2018 16:58:01 +0000 (16:58 +0000)]
FS-11052: Allow alias for crypto suites
For outgoing calls send AES crypto in offer using corrected names
for keys of length 192 and 256, i.e. names containing _192_CM_
and _256_CM_ instead of _CM_192_ and CM_256_. For incoming calls
accept both naming conventions, decaying to same entry in SUITES.
+ fix after SRTP failed for 256 keys:
Tests showed loop removing '=' from keys in switch_core_media_build_crypto
shouldn't be executed for AES_CM_256_HMAC_SHA1_32 and AES_CM_256_HMAC_SHA1_80
keys and it is meaningless for AES_CM_128_HMAC_SHA1_32 AES_CM_128_HMAC_SHA1_80
keys. Tested calling from Bria.
Introduced switch_channel_var_false and changed this to:
if (switch_channel_var_false(channel, "rtp_pad_srtp_keys"))
to enter the loop if var is set to false (and not if it is _not_ set).
Seven Du [Mon, 27 Nov 2017 17:59:09 +0000 (01:59 +0800)]
FS-11333: [mod_mp4v2] improvements
update mod_mp4v2 fix record video and lipsync
refactor to use a dedicated video write thread
read frame_size from encoder to support mp3 and aac codec
fix audio only mode
control bandwidth and fps
Mike Jerris [Thu, 9 Aug 2018 06:53:04 +0000 (06:53 +0000)]
Merge pull request #1564 in FS/freeswitch from fs-11310-switch-core-file-pre-close to master
* commit '720128b61ed0fba0c45ba7caa0d3d7a4bde2ffb4':
FS-11310 #resolve add more params for conference record stop event
FS-11310 #resolve add optional switch_core_file_pre_close() to stop writing to file and possible to get file size related params
Mike Jerris [Wed, 1 Aug 2018 17:52:03 +0000 (17:52 +0000)]
Merge pull request #1560 in FS/freeswitch from ~ANDYWOLK/freeswitch:FS-11303-migrate-visual-c-components-redistribution to master
* commit '144bbec7fded8318750cfa9595631505dcdcb097':
FS-11303: [Build-System] Migrate Visual C++ components redistribution using merge modules from v140 to v141 (VS2017), minor cleanup.
Mike Jerris [Mon, 30 Jul 2018 20:11:49 +0000 (20:11 +0000)]
Merge pull request #1555 in FS/freeswitch from ~ANDYWOLK/freeswitch:bugfix/FS-11288-refactor-wix-project-to-not-miss to master
* commit 'e08406d1c40782325c96eccb3c3afb7b360c935f':
FS-11288: [Build-System] Refactor WIX project to not miss modules in msi on slow machines. Move Windows build logic from legacy util.vbs to modern props. Fix sound packages improper extraction. Fix multiprocessor build under msbuild.
FS-11288: [Build-System] Refactor WIX project to not miss modules in msi on slow machines. Move Windows build logic from legacy util.vbs to modern props. Fix sound packages improper extraction. Fix multiprocessor build under msbuild.
Chad Phillips [Thu, 26 Jul 2018 22:03:24 +0000 (17:03 -0500)]
FS-11287: Provide option for user managed streams in Verto
The Verto libs currently have total control over the streams associated with
placing any kind of call, handling both their creation and teardown
automatically.
This patch provides the option for a developer to instead pass pre-created
MediaStream objects when instantiating the Verto object, or when calling
Verto.newCall(), and the library will bypass the work of creating those
streams, and of destroying those streams when the call is torn down.
This is particularly useful if the application wants to manage its own streams,
such as re-using them in other non-Verto aspects of the application.
The patch also creates some internal convenience functions for managing the
video element related to a local video stream.
Chad Phillips [Thu, 26 Jul 2018 20:34:53 +0000 (15:34 -0500)]
FS-11286: Add onRemoteStream callback to Verto dialogs
This patch adds an onRemoteStream callback, which can be specified on the Verto
instance, or per dialog. The callback is fired when the remote stream from a
call is received, and receives two arguments, the first is the remote stream,
the second is the Verto dialog object.
Chad Phillips [Thu, 26 Jul 2018 20:02:29 +0000 (15:02 -0500)]
FS-11285: OverconstrainedError on some Android front cameras when frameRate.min is specified
As described at https://bugs.chromium.org/p/chromium/issues/detail?id=862325,
some Android devices using Chrome fail a getUserMedia() request when
frameRate.min is specified.
This is due to a bug in both the device (reporting a 0 min frameRate), and
Chrome, which fails to catch this and set a reasonable fallback value.
While a fix has gone into Chrome, it might be awhile before this fix makes it
into their stable release, so filing this with my quick hack to prevent the
error on Android devices.
Note this fix could certainly be more robust (maybe detect Chrome version, or
some test to see if min frameRate from the device returns 0), and it gets the
job done as a start.