Commit Graph

177 Commits

Author SHA1 Message Date
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
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
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
Anthony Minessale
dacca35a18 FS-10688: [verto.js] Add hack for IOS11 #resolve 2017-09-20 18:00:39 -05:00
Anthony Minessale
9e5b680084 FS-10688 2017-09-20 14:42:58 -05:00
Brian West
4772b73bcc revert 2017-09-20 14:37:48 -05:00
Brian West
fbd07d810d FS-10688 2017-09-20 09:29:17 -05:00
Anthony Minessale
0ef7be6327 FS-10688: [verto.js] Add hack for IOS11 #resolve 2017-09-20 09:15:56 -05:00
Victor Torres
67dad06398
FS-10654: [verto] implementing replace prototype in verto dialog 2017-09-08 14:12:31 -03:00
Mike Jerris
9127c41316 Merge pull request #1031 in FS/freeswitch from ~THEHUNMONKGROUP/freeswitch:feature/FS-9683-pass-call-recovery-status-to-verto to master
* commit '34e491ffa1dca32846d1e0fb97e71f5ac7c34d22':
  FS-9683: Pass call recovery status to Verto
2017-08-10 18:41:39 +00:00
Anthony Minessale
89e3a7bb4a FS-9979: [verto.js] When verto client rejects a call returns hangup cause NORMAL_CLEARING #comment passing neither cause or causeCode will result in normal clearing, passing either one of cause or causeCode will result in that value being passed and parsed on the server side, if the cause is valid it will be accepted otherwise it will try to validate causeCode instead, if neither are true it defaults to normal clearing #resolve 2017-07-13 12:52:04 -05:00
Chad Phillips
34e491ffa1 FS-9683: Pass call recovery status to Verto
Previously, users implementing a Verto workflow where both user login and
placing a new call are automated (eg., visiting a URL, and the videoconference
loads automatically) faced the challenge of not having a reliable way to know
that a page load will result in Verto's call recovery mechanism reconnecting
an existing detached call or not.

This adds a verto.clientReady JSON-RPC message, emitted after all calls are
re-attached, which contains a 'reattached_sessions' array, containing the
sess_id of any reattached session.

Client side, this can be caught in the onMessage handler, under the
$.verto.enum.message.clientReady key.
2017-07-06 13:54:08 -07:00
Anthony Minessale
cda7343841 FS-10420: [verto.js] Verto on Safari #resolve 2017-06-22 16:43:11 -05:00
Anthony Minessale
b6a740a4cc FS-10360: [freeswitch-core,verto.js] FireFox Screen Sharing 2017-06-02 12:34:40 -05:00
Anthony Minessale
c43fa95606 FS-10360: [freeswitch-core,verto.js] FireFox Screen Sharing -- remove strange chars 2017-06-01 18:40:02 -05:00
Anthony Minessale
58b163e08d FS-10360: [freeswitch-core,verto.js] FireFox Screen Sharing #resolve 2017-06-01 18:36:38 -05:00
Anthony Minessale
c07ad8c263 FS-10285: [verto.js] Device enumeration in Edge -- remove debug 2017-05-02 17:27:43 -05:00
Anthony Minessale
eafdc9d75b FS-10285: [verto.js] Device enumeration in Edge #resolve 2017-05-02 17:12:24 -05:00
Anthony Minessale
d5b44cc12d FS-9242: [verto.js] Update WebRTC code in verto to match latest spec -- update to latest 2017-05-02 17:12:24 -05:00
Brian West
0021530faf FS-10139: [verto.js] $.FSRTC.bestResSupported() returns true for any res #resolve 2017-03-16 10:37:31 -05:00
Anthony Minessale
da6b9e001c FS-9742: [mod_conference,mod_cv] Refactor canvas zoom code #resolve 2017-03-09 11:54:13 -06:00
StefanYohansson
10646ab9e3 [verto-communicator] - Added change server feature
When someone set any wss server and do login
VC doesn't record the settings on localStorage,
so when we reload the browser, it will try to connect on
"wss://" + window.location.hostname + ":8082" and if
this wss server is offline for any reason, user will
be stuck on splash screen by auto-login step plus reconnect
modal blocking any action.

- Added button "Change Server" on modal reconnection alert;
- Stop jsonRpcClient retry timeout and delete verto instance
to create a new one when user login with new wss server;
- Record wss server and hostname on localStorage.
2016-12-27 11:25:35 -03:00
François
aada7a56a1 FS-9728 fix dynamic media tag on verto.newCall method 2016-11-11 14:05:53 +01:00
Chad Phillips
f566467cd0 FS-9640: Allow access to Verto stream object via callback
Exposes Verto MediaStream objects via the onGranted() callback
2016-10-13 10:11:57 -07:00