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