提交 c1628690 authored 作者: Anthony Minessale's avatar Anthony Minessale

FS-8087 #comment fix issue in camera selection on recovery, refactor to use…

FS-8087 #comment fix issue in camera selection on recovery, refactor to use localStorage, change res detection, reload on network change
上级 5de2f7d7
...@@ -97,6 +97,7 @@ var iceTimer; ...@@ -97,6 +97,7 @@ var iceTimer;
this.enabled = true; this.enabled = true;
this.mediaData = { this.mediaData = {
SDP: null, SDP: null,
profile: {}, profile: {},
...@@ -352,10 +353,6 @@ var iceTimer; ...@@ -352,10 +353,6 @@ var iceTimer;
self.remoteSDP = params.sdp; self.remoteSDP = params.sdp;
console.debug("inbound sdp: ", params.sdp); console.debug("inbound sdp: ", params.sdp);
self.options.useCamera = params.useCamera || "any";
self.options.useMic = params.useMic || "any";
self.options.useSpeak = params.useSpeak || "any";
function onSuccess(stream) { function onSuccess(stream) {
self.localStream = stream; self.localStream = stream;
...@@ -1052,6 +1049,9 @@ var iceTimer; ...@@ -1052,6 +1049,9 @@ var iceTimer;
'validRes': $.FSRTC.validRes, 'validRes': $.FSRTC.validRes,
'bestResSupported': $.FSRTC.bestResSupported() 'bestResSupported': $.FSRTC.bestResSupported()
}; };
localStorage.setItem("res_" + cam, $.toJSON(res));
if (func) return func(res); if (func) return func(res);
return; return;
} }
...@@ -1096,6 +1096,14 @@ var iceTimer; ...@@ -1096,6 +1096,14 @@ var iceTimer;
$.FSRTC.getValidRes = function (cam, func) { $.FSRTC.getValidRes = function (cam, func) {
var used = []; var used = [];
var cached = localStorage.getItem("res_" + cam);
if (cached) {
$.FSRTC.validRes = $.parseJSON(cached);
console.log("CACHED RES FOR CAM " + cam, $.FSRTC.validRes);
return func ? func() : null;
}
$.FSRTC.validRes = []; $.FSRTC.validRes = [];
resI = 0; resI = 0;
......
...@@ -83,7 +83,10 @@ ...@@ -83,7 +83,10 @@
sessid: null sessid: null
}, options); }, options);
if (!verto.options.deviceParams.useCamera) {
if (verto.options.deviceParams.useCamera) {
$.FSRTC.getValidRes(verto.options.deviceParams.useCamera, undefined);
} else {
verto.options.deviceParams.useCamera = "any"; verto.options.deviceParams.useCamera = "any";
} }
...@@ -98,10 +101,8 @@ ...@@ -98,10 +101,8 @@
if (verto.options.sessid) { if (verto.options.sessid) {
verto.sessid = verto.options.sessid; verto.sessid = verto.options.sessid;
} else { } else {
verto.sessid = $.cookie('verto_session_uuid') || generateGUID(); verto.sessid = localStorage.getItem("verto_session_uuid") || generateGUID();
$.cookie('verto_session_uuid', verto.sessid, { localStorage.setItem("verto_session_uuid", verto.sessid);
expires: 1
});
} }
verto.dialogs = {}; verto.dialogs = {};
...@@ -1853,10 +1854,10 @@ ...@@ -1853,10 +1854,10 @@
dialog.answered = false; dialog.answered = false;
dialog.attach = params.attach || false; dialog.attach = params.attach || false;
dialog.screenShare = params.screenShare || false; dialog.screenShare = params.screenShare || false;
dialog.useCamera = params.useCamera; dialog.useCamera = dialog.params.useCamera;
dialog.useMic = params.useMic; dialog.useMic = dialog.params.useMic;
dialog.useSpeak = params.useSpeak; dialog.useSpeak = dialog.params.useSpeak;
if (dialog.params.callID) { if (dialog.params.callID) {
dialog.callID = dialog.params.callID; dialog.callID = dialog.params.callID;
} else { } else {
...@@ -1909,15 +1910,26 @@ ...@@ -1909,15 +1910,26 @@
} }
RTCcallbacks.onICESDP = function(rtc) { RTCcallbacks.onICESDP = function(rtc) {
console.log("RECV " + rtc.type + " SDP", rtc.mediaData.SDP);
if (rtc.type == "offer") { if (dialog.state == $.verto.enum.state.requesting || dialog.state == $.verto.enum.state.answering || dialog.state == $.verto.enum.state.active) {
console.log("offer", rtc.mediaData.SDP); location.reload();
return;
dialog.setState($.verto.enum.state.requesting); }
dialog.sendMethod("verto.invite", { if (rtc.type == "offer") {
sdp: rtc.mediaData.SDP if (dialog.state == $.verto.enum.state.active) {
}); dialog.setState($.verto.enum.state.requesting);
dialog.sendMethod("verto.attach", {
sdp: rtc.mediaData.SDP
});
} else {
dialog.setState($.verto.enum.state.requesting);
dialog.sendMethod("verto.invite", {
sdp: rtc.mediaData.SDP
});
}
} else { //answer } else { //answer
dialog.setState($.verto.enum.state.answering); dialog.setState($.verto.enum.state.answering);
...@@ -2022,7 +2034,7 @@ ...@@ -2022,7 +2034,7 @@
return false; return false;
} }
console.info("Dialog " + dialog.callID + ": state change from " + dialog.state.name + " to " + state.name); console.error("Dialog " + dialog.callID + ": state change from " + dialog.state.name + " to " + state.name);
dialog.lastState = dialog.state; dialog.lastState = dialog.state;
dialog.state = state; dialog.state = state;
...@@ -2308,9 +2320,18 @@ ...@@ -2308,9 +2320,18 @@
} }
dialog.params.callee_id_name = params.callee_id_name; dialog.params.callee_id_name = params.callee_id_name;
dialog.params.callee_id_number = params.callee_id_number; dialog.params.callee_id_number = params.callee_id_number;
dialog.useCamera = params.useCamera;
dialog.useMic = params.useMic; if (params.useCamera) {
dialog.useSpeak = params.useSpeak; dialog.useCamera = params.useCamera;
}
if (params.useMic) {
dialog.useMic = params.useMic;
}
if (params.useSpeak) {
dialog.useSpeak = params.useSpeak;
}
} }
dialog.rtc.createAnswer(params); dialog.rtc.createAnswer(params);
...@@ -2429,7 +2450,8 @@ ...@@ -2429,7 +2450,8 @@
}, },
requesting: { requesting: {
trying: 1, trying: 1,
hangup: 1 hangup: 1,
active: 1
}, },
recovering: { recovering: {
answering: 1, answering: 1,
...@@ -2574,9 +2596,7 @@ ...@@ -2574,9 +2596,7 @@
} }
$.verto.init = function(obj, runtime) { $.verto.init = function(obj, runtime) {
checkDevices(function() { checkDevices(runtime);
$.FSRTC.getValidRes(obj.camera, runtime);
});
} }
$.verto.genUUID = function () { $.verto.genUUID = function () {
......
This diff was suppressed by a .gitattributes entry.
...@@ -995,6 +995,7 @@ function refresh_devices() ...@@ -995,6 +995,7 @@ function refresh_devices()
$("input[type='checkbox']").checkboxradio("refresh"); $("input[type='checkbox']").checkboxradio("refresh");
//console.error($("#usecamera").find(":selected").val()); //console.error($("#usecamera").find(":selected").val());
//$.FSRTC.getValidRes($("#usecamera").find(":selected").val(), undefined);
var tmp; var tmp;
tmp = $.cookie("verto_demo_camera_selected") || "false"; tmp = $.cookie("verto_demo_camera_selected") || "false";
...@@ -1377,6 +1378,8 @@ function init() { ...@@ -1377,6 +1378,8 @@ function init() {
}); });
check_vid_res(); check_vid_res();
refresh_devices();
//console.error($("#usecamera").find(":selected"));
vertoHandle = new $.verto({ vertoHandle = new $.verto({
login: $("#login").val() + "@" + $("#hostName").val(), login: $("#login").val() + "@" + $("#hostName").val(),
...@@ -1513,7 +1516,7 @@ function init() { ...@@ -1513,7 +1516,7 @@ function init() {
$("#directory").hide(); $("#directory").hide();
} }
refresh_devices();
} }
$(window).load(function() { $(window).load(function() {
...@@ -1591,7 +1594,7 @@ $(window).load(function() { ...@@ -1591,7 +1594,7 @@ $(window).load(function() {
goto_page("enum"); goto_page("enum");
setTimeout(function() { setTimeout(function() {
$.verto.init({}, init); $.verto.init({}, init);
}, 500); }, 1000);
}); });
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论