Commit Graph

540 Commits

Author SHA1 Message Date
Andrey Volk
f3c52d578b FS-11874: [Verto-Communicator] Rebuild verto-min.js to reflect the latest changes to js. 2019-06-03 21:00:33 +04:00
Chad Phillips
8fdc4433e5 Fix FS-11874
Verto JS libs allow passing an attachStreams array of MediaStream objects, which are then supposed to be added to the peer connection in the order they are supplied in the array.

However, there is a faulty logic check prior to actually adding the streams, where 'options.attachStream' is checked for length instead of 'options.attachStreams'.
2019-05-31 11:07:11 -07:00
Chad Phillips
f1bc56d65b Fix FS-11873: addStream() adds audio/video tracks in random order
addStream() is a deprecated WebRTC API method, and only works via shimming on some platforms. Internally, it is inconsistent in building an offer SDP in the order which FreeSWITCH expects it, which is audio m-lines first.

This can result in intermittent m-line ordering errors on the client.

Instead addTrack() can be used to force the media tracks to be added to the peer in the order FreeSWITCH expects.
2019-05-31 10:52:18 -07:00
Mike Jerris
d754061696 Merge pull request #1665 in FS/freeswitch from ~MARCELL-G/freeswitch:bugfix/FS-11591-outdated-adapterjs to master
* commit '71599a8552363d1fee1be2f4e3e1e80983d55f0b':
  FS-11591 [verto_communicator] update adapter.js to prevent safari error due to undefined constraints
2019-01-30 14:16:26 +00:00
Mike Jerris
788a1bfa70 Merge pull request #1646 in FS/freeswitch from ~MARCELL-G/freeswitch:bugfix/FS-11370-device-id-fallback-by-its-label to master
* commit '5075e54425466b3abb3de3a2943fbc7a03dcefbc':
  FS-11370 [verto_communicator] verto may rely on device labels to assure correct mic/cam selection
2019-01-30 04:32:32 +00:00
mazuh
71599a8552 FS-11591 [verto_communicator] update adapter.js to prevent safari error due to undefined constraints 2019-01-21 15:02:20 -03:00
Marcell Guilherme Costa da Silva
5075e54425 FS-11370 [verto_communicator] verto may rely on device labels to assure correct mic/cam selection 2019-01-03 22:14:05 -03:00
netoguimaraes
6f811ca41f FS-11589 [verto_communicator]: fixing a weird typo and keeps with the old behaviour when calling login with no args 2019-01-03 13:10:31 -03:00
netoguimaraes
fd7c6a8afa FS-11589 [verto_communicator]: removing es6 use to support old browsers syntax 2019-01-02 17:36:03 -03:00
netoguimaraes
85cfd5b5ab FS-11584: [verto_communicator] make user able to login using url params 2018-12-27 09:45:09 -03:00
Mike Jerris
ce2612fbd7 Merge pull request #1613 in FS/freeswitch from ~THEHUNMONKGROUP/freeswitch:bugfix/FS-11472-remove-android-framerate.min-overconstrainederror to master
* commit '850c0f411fa710aed286837f0eb666b1b6c5a8fb':
  FS-11472: Remove Android frameRate.min OverconstrainedError hack
2018-11-20 20:39:03 +00:00
Chad Phillips
850c0f411f FS-11472: Remove Android frameRate.min OverconstrainedError hack
https://freeswitch.org/jira/browse/FS-11285 put in a temporary hack to deal with
https://bugs.chromium.org/p/chromium/issues/detail?id=862325, which has now
been fixed as of Chrome 69 (70 is current stable).
2018-10-21 15:38:14 -07:00
Chad Phillips
90bc06e564 FS-11470: WebRTC Unified plan not properly supported
Chrome is beginning to default their SDP semantics to the WebRTC standard
'Unified Plan', and Verto does not currently construct its SDP according
to this standard. For now, force the browser to use 'Plan B' semantics.
2018-10-21 14:50:04 -07:00
Mike Jerris
b2447967c6 FS-11287: [verto] update verto-min.js 2018-09-05 20:23:01 +00:00
Christopher Rienzo
1cf4981a82 Merge pull request #1553 in FS/freeswitch from ~THEHUNMONKGROUP/freeswitch:feature/FS-11287-provide-option-for-user-managed to master
* commit '96af587bf325ce35459cbd82e2e79bda0133a810':
  FS-11287: Provide option for user managed streams in Verto
2018-08-28 14:16:50 +00:00
Christopher Rienzo
928a605a8c Merge pull request #1548 in FS/freeswitch from ~THEHUNMONKGROUP/freeswitch:bugfix/FS-11284-fix-legacy-broken-video-constraints to master
* commit '31641749a737e71390016483a7e6bfbff9f77cea':
  FS-11284: Fix legacy/broken video constraints for specifying a video deviceId
2018-08-28 13:06:46 +00:00
Christopher Rienzo
abca94578b Merge pull request #1544 in FS/freeswitch from ~THEHUNMONKGROUP/freeswitch:bugfix/FS-11280-allow-overriding-permissioncallback to master
* commit '36d9f7bc5e4a1644cdcf8c00df976d5283885ea3':
  FS-11280: Allow overriding permissionCallback per Verto dialog
2018-08-28 13:05:53 +00:00
Christopher Rienzo
2fd87793b9 Merge pull request #1552 in FS/freeswitch from ~THEHUNMONKGROUP/freeswitch:feature/FS-11286-add-onremotestream-callback-to-verto to master
* commit '61cdf6361739f0ecaef8d2766aa0bd5bb45ed731':
  FS-11286: Add onRemoteStream callback to Verto dialogs
2018-08-24 13:16:54 +00:00
Christopher Rienzo
bbca34c6b2 Merge pull request #1546 in FS/freeswitch from ~THEHUNMONKGROUP/freeswitch:bugfix/FS-11282-remove-ios-controls-hack-not-needed to master
* commit '5038ca7613e71d84a706a6a5d8c8359d272778e4':
  FS-11282: Remove iOS 'controls' hack, not needed
2018-08-24 13:00:27 +00:00
Christopher Rienzo
288779cda2 Merge pull request #1545 in FS/freeswitch from ~THEHUNMONKGROUP/freeswitch:bugfix/FS-11281-verto.newcall-dialog-callback-overrides to master
* commit '5f96f669c2fe7f133164aab735b412bef794d932':
  FS-11281: Verto.newCall dialog callback overrides should be set before invite
2018-08-24 12:57:49 +00:00
Christopher Rienzo
8b58f6bdfb Merge pull request #1572 in FS/freeswitch from bugfix/FS-11276-regression-dedicated-video-layers to master
* commit 'ecdae10548188f23a59529497e040abeb9a2e6f8':
  FS-11279: Wrap verto.clientReady message callback in check for onMessage callback function
2018-08-22 22:15:13 +00:00
Chad Phillips
ecdae10548 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.
2018-08-22 18:12:13 -04:00
Christopher Rienzo
08d54933fa Merge pull request #1549 in FS/freeswitch from ~THEHUNMONKGROUP/freeswitch:bugfix/FS-11285-overconstrainederror-on-some-android to master
* commit 'ef647e3e3e0510b5b9423b95d5c474441d0d4b6b':
  FS-11285: OverconstrainedError on some Android front cameras when frameRate.min is specified
2018-08-22 22:05:33 +00:00
Christopher Rienzo
fc26aa9785 Merge pull request #1547 in FS/freeswitch from ~THEHUNMONKGROUP/freeswitch:bugfix/FS-11283-ios-doesn-t-support-beforeunload to master
* commit '954b2564b2e4582949825988f30dde3fb16d1347':
  FS-11283: iOS doesn't support beforeunload, use recommended pagehide for that platform
2018-08-22 21:41:18 +00:00
Chad Phillips
96af587bf3 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.
2018-07-26 17:03:24 -05:00
Chad Phillips
61cdf63617 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.
2018-07-26 15:34:53 -05:00
Chad Phillips
ef647e3e3e 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.
2018-07-26 15:02:29 -05:00
Chad Phillips
31641749a7 FS-11284: Fix legacy/broken video constraints for specifying a video deviceId
getMediaParams() was using a legacy version of the video constraint param to
specify a deviceId.

checkRes() was incorrectly setting video constraints such that it was not
properly testing specific video devices.
2018-07-26 14:36:02 -05:00
Chad Phillips
954b2564b2 FS-11283: iOS doesn't support beforeunload, use recommended pagehide for that platform
$.verto.unloadJobs queue leverages the 'beforeunload' event to perform work
prior to browser page unload.

However, iOS does not support that event. Its equivalent event is 'pagehide'.

This patch uses the pagehide event on iOS, and beforeunload for all others.
2018-07-26 14:19:28 -05:00
Chad Phillips
5038ca7613 FS-11282: Remove iOS 'controls' hack, not needed
iOS requires a 'playsinline' attribute to be added to video tags, however a
'controls' attribute was erroneously added, and is unneeded.

See https://github.com/webrtc/samples/issues/929#issuecomment-330816567 and
following comments for confirmation.

Removing this attribute reduces UI noise and 'click contention' on video
elements.
2018-07-26 14:06:30 -05:00
Chad Phillips
5f96f669c2 FS-11281: Verto.newCall dialog callback overrides should be set before invite
Verto.newCall() permits passing custom callback functions per call that
override the default dialog callbacks inherited from the Verto object.
However, they are currently set after calling the invite() function, and it's
possible that some of these callbacks could be called during the invite()
function's execution.

To avoid a race condition, move setting these custom callbacks on the dialog
to happen before calling invite().
2018-07-26 13:51:27 -05:00
Chad Phillips
36d9f7bc5e FS-11280: Allow overriding permissionCallback per Verto dialog
Currently the 'permissionCallback' object is only available at the Verto
instance level. This is problematic in multi-call scenarios, where an
individual call dialog needs access to the onGranted/onDenied callback
functions.

The patch adds a check for existence of onGranted/onDenied callback functions
at the dialog level, with a fallback to the original behavior of calling
onGranted/onDenied from the Verto instance if it's not available on the dialog.
This preserves backwards compatibility while allowing per-dialog overrides
going forward.
2018-07-26 13:37:32 -05:00
Chad Phillips
c037fc8c55 FS-9258: Recursive calls to $.verto.rpcClient.speedTest() don't work
Assigning the speedTest callback funtion to a local variable and unsetting
the this.speedCB instance variable prior to calling the callback function
allows the rpcClient.speedTest functionality to be used more creatively
(such as calling it recursively for multiple runs) without affecting existing
functionality.
2018-07-24 21:05:09 -05:00
Anthony Minessale
8bacb4991d FS-11224: [freeswitch-core] Fix VC build #resolve 2018-07-24 07:21:56 +00:00
Joshua Young
2450d637ce FS-10972: [Verto-Communicator] add (-y) parameter to the verto install script debian8-install.sh #resolve 2018-07-24 07:21:51 +00:00
Brian West
5fa0a04b9b update adapter.js 2018-07-24 07:21:47 +00:00
Anthony Minessale
1a2d406e86 FS-10862: [freeswitch-core] Updates on webrtc to keep up with browsers #resolve 2018-07-24 07:21:38 +00:00
Brian West
a577683797 Merge pull request #1536 in FS/freeswitch from ~MARCELL-G/freeswitch:bugfix/FS-11236-sync-tag-with-localtag-video-device-streaming to master
* commit '15227e01f27d87ec0657452412d1398373f6899c':
  FS-11236 [verto_communicator] call useCamera property on video constraints
2018-07-19 22:44:37 +00:00
Marcell Guilherme Costa da Silva
ee1418a5ca FS-11262 [verto_communicator] prevent vertojs from stop retrying socket connection by undefined socketfallbackurl 2018-07-19 15:26:45 -03:00
Marcell Guilherme Costa da Silva
15227e01f2 FS-11236 [verto_communicator] call useCamera property on video constraints 2018-07-18 18:19:21 -03:00
netoguimaraes
fc6661ccb3 FS-11229 - [verto_communicator]: deprecating use of URL.createObjectURL 2018-07-13 15:03:47 -03:00
netoguimaraes
49b8cc3a3e FS-11227 - [verto_communicator]: stops localVideoStream tracks properly 2018-07-11 15:49:02 -03:00
netoguimaraes
68e256597a FS-11211 - [verto_communicator]: Adding turnServer and socketFallbackUrl options. 2018-06-29 14:12:19 -03:00
Italo Rossi
ba7b003bc2 FS-11044 - [verto_communicator] Fix error when muting/unmuting without cam and/or mic. 2018-04-21 18:11:12 -03:00
areski
be0c10d2e4 [fix](verto_communicator) add grunt-cli dependency to packages.json 2018-01-25 16:40:58 +01:00
Italo Rossi
726e522434 FS-10858 - [verto_communicator] cancel timeout when done to avoid redirect loop 2017-12-28 17:36:35 -03:00
Italo Rossi
452b7d12d0 FS-10858 - [verto_communicator] Removing emit of res_check_done, on slow connections the emit could happen before the listening thus freezing the app on loading 2017-12-26 14:41:08 -03:00
Italo Rossi
c67b1e02cb FS-10858 - [verto_communicator] Waiting for resolution check finish before redirecting to preview screen. 2017-12-22 15:51:25 -03:00
Italo Rossi
058fb31789 FS-10814 - [verto_communicator] Do not change video resolution if auto detect video settings is off 2017-11-28 17:31:49 -03:00
StefanYohansson
90dad5af88 [verto_communicator] Fix to make video devices change without restart.
Fix menu background for lower resolutions.
2017-09-29 09:43:32 -03:00