Commit e5b61a04 by Иван Кубота

message test

parent 5296a306
...@@ -2,7 +2,21 @@ ...@@ -2,7 +2,21 @@
let content, remoteVideoEl; let content, remoteVideoEl;
const store = window.store = new Store({ const store = window.store = new Store({
conference_id: 'SelfieBarracuda_con', conference_id: 'SelfieBarracuda_con',
connection: false connection: false,
webcam1: 'Center',
webcam2: 'Right',
webcamtypes: [
{text: 'Left', value: 'Left'},
{text: 'Right', value: 'Right'},
{text: 'Center', value: 'Center'},
],
userRoles: [
{text: 'Remote User', value: 'RemoteUser'},
{text: 'Office User Left', value: 'OfficeUserLeft'},
{text: 'Office User Right', value: 'OfficeUserRight'},
],
userRole1: 'RemoteUser',
userRole2: 'OfficeUserRight'
}); });
const Input = function(cfg, bind) { const Input = function(cfg, bind) {
...@@ -94,6 +108,8 @@ D.div({cls: 'top-bar', renderTo: document.body}, ...@@ -94,6 +108,8 @@ D.div({cls: 'top-bar', renderTo: document.body},
D.div({cls: 'block'}, D.div({cls: 'block'},
D.div({cls: 'header'}, 'Cameras'), D.div({cls: 'header'}, 'Cameras'),
Select({values: 'videoinput', bind: store.bind('videoinput1'), label: 'Camera 1'}), Select({values: 'videoinput', bind: store.bind('videoinput1'), label: 'Camera 1'}),
Select({values: 'webcamtypes', bind: store.bind('webcam1'), label: 'WebCam'}),
Select({values: 'userRoles', bind: store.bind('userRole1'), label: 'User role'}),
camera1canvas = D.h('canvas', { camera1canvas = D.h('canvas', {
cls: "output_canvas", cls: "output_canvas",
width: "640px", width: "640px",
...@@ -110,6 +126,8 @@ D.div({cls: 'top-bar', renderTo: document.body}, ...@@ -110,6 +126,8 @@ D.div({cls: 'top-bar', renderTo: document.body},
), ),
D.div({cls: [{hidden: single}]}, D.div({cls: [{hidden: single}]},
Select({values: 'videoinput', bind: store.bind('videoinput2'), label: 'Camera 2'}), Select({values: 'videoinput', bind: store.bind('videoinput2'), label: 'Camera 2'}),
Select({values: 'webcamtypes', bind: store.bind('webcam2'), label: 'WebCam'}),
Select({values: 'userRoles', bind: store.bind('userRole2'), label: 'User role'}),
camera2canvas = D.h('canvas', { camera2canvas = D.h('canvas', {
cls: "output_canvas", cls: "output_canvas",
width: "640px", width: "640px",
...@@ -250,7 +268,7 @@ var handleError = function(e) { ...@@ -250,7 +268,7 @@ var handleError = function(e) {
console.log('Error', e) console.log('Error', e)
} }
var RTC = function(parent, canvas, devname) { var RTC = function(parent, canvas, devname, id) {
let callApp; let callApp;
console.log("init callapp"); console.log("init callapp");
if (parent == null) { if (parent == null) {
...@@ -260,6 +278,9 @@ var RTC = function(parent, canvas, devname) { ...@@ -260,6 +278,9 @@ var RTC = function(parent, canvas, devname) {
awrtc.SLog.SetLogLevel(awrtc.SLogLevel.Info); awrtc.SLog.SetLogLevel(awrtc.SLogLevel.Info);
callApp = new apps.VideoInputApp(); callApp = new apps.VideoInputApp();
const media = new awrtc.Media(); const media = new awrtc.Media();
awrtc.Media.SharedInstance.VideoInput.AddCanvasDevice(canvas, devname, canvas.width / 2, canvas.height / 2, 30); awrtc.Media.SharedInstance.VideoInput.AddCanvasDevice(canvas, devname, canvas.width / 2, canvas.height / 2, 30);
...@@ -269,15 +290,18 @@ var RTC = function(parent, canvas, devname) { ...@@ -269,15 +290,18 @@ var RTC = function(parent, canvas, devname) {
//apps.VideoInputApp.sVideoDevice = devname; //apps.VideoInputApp.sVideoDevice = devname;
callApp.sVideoDevice = devname; callApp.sVideoDevice = devname;
callApp.setupUi(parent); callApp.setupUi(parent);
this.callApp = callApp;
callApp.___id = id;
this.id = id;
} }
store.sub('appLoaded', function(loaded) { store.sub('appLoaded', function(loaded) {
if(!loaded) if(!loaded)
return; return;
let instance = new RTC(document.querySelector("#videoinputapp1"), camera1canvas, 'canvas1'); let instance = new RTC(document.querySelector("#videoinputapp1"), camera1canvas, 'canvas1', 1);
instance.mUiRemoteVideoParent = remoteVideoEl; instance.mUiRemoteVideoParent = remoteVideoEl;
let instance2 = new RTC(document.querySelector("#videoinputapp1"), camera2canvas, 'canvas2'); let instance2 = new RTC(document.querySelector("#videoinputapp1"), camera2canvas, 'canvas2', 2);
instance2.mUiRemoteVideoParent = remoteVideoEl; instance2.mUiRemoteVideoParent = remoteVideoEl;
const selfieSegmentation1 = new SelfieSegmentation( { const selfieSegmentation1 = new SelfieSegmentation( {
......
-----BEGIN CERTIFICATE-----
MIIDazCCAlOgAwIBAgIUXh+iPwPcKyq6o4sOPt9sc1t11rgwDQYJKoZIhvcNAQEL
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTA5MTUwMTQzNTNaFw0zMTA5
MTMwMTQzNTNaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQCmaz2F06WDP8tEQ/fQH3nrjqmVTfsyBx2ngkR6s2p+
CVEWQLjcEP7B7q9mI83nTwCWHdOBa4Xs1e5BivUSOniGJcPKL6X3M9c9sKVO6V9x
7yMBSc1NpBbOvT46znDQXV6uGjwFOxeVijX1RiS3QQH5XAiZA47TScyWXDIO4fZ/
ZvQp4LLdGeWmnJwTp2Mn9qxni7fVKjjfjAwP+ba1t8QckQicOsfv+THrvvHNrImy
h14Bp7l7A8pYZnXUXggSDONStZlKroAMJ1vu4CejmiQqt4vWNQFZ/hknJ8GTp+40
2RBoflYEnGwJLNpU6rIwDF+W7Nnv+5o6ZWHIN/EHmcPbAgMBAAGjUzBRMB0GA1Ud
DgQWBBS4FuRfsr87fWho9wUnpOrv/CwsiDAfBgNVHSMEGDAWgBS4FuRfsr87fWho
9wUnpOrv/CwsiDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBA
/dHAbjLewomJeDUkJyAiVzD6qmmzulEtEnV61HXNI3n2YMmQCtYQYJha7qqmkW8y
ivqXkc/Gz3I3xxsWulZ4TUTFWPSit7Fs/EHdNl77/4CwUaMEowZx5J9GfRuXoima
cLNkluTbzE7VUwKTsd20/gWcma7Z/I5FhtwFE4/UfYcgXZLxADhKb/1O05JYLQXF
aECyteOKtcxw0KOPMzBBsqJKomOhONtvPe5BscUMyJd4IMGengN/F296g0bl+5PH
0xx+zKc5mANUM2PuZTjmTXVXzxQZixNV5iThVRp6rO95sr0k3orG5vzA1dejGZ9O
iGBcXTbdRuE54TY542NX
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmaz2F06WDP8tE
Q/fQH3nrjqmVTfsyBx2ngkR6s2p+CVEWQLjcEP7B7q9mI83nTwCWHdOBa4Xs1e5B
ivUSOniGJcPKL6X3M9c9sKVO6V9x7yMBSc1NpBbOvT46znDQXV6uGjwFOxeVijX1
RiS3QQH5XAiZA47TScyWXDIO4fZ/ZvQp4LLdGeWmnJwTp2Mn9qxni7fVKjjfjAwP
+ba1t8QckQicOsfv+THrvvHNrImyh14Bp7l7A8pYZnXUXggSDONStZlKroAMJ1vu
4CejmiQqt4vWNQFZ/hknJ8GTp+402RBoflYEnGwJLNpU6rIwDF+W7Nnv+5o6ZWHI
N/EHmcPbAgMBAAECggEAa+0EezPlFRdcNat2nUysfu2IYUGvdKRUwPukeYa9u3tD
UREsUdvbu92VdsIlmKsNkE1Li5U1x4B+AZeik+3DmAwJy6fXFFhUcLeMnX6P3Y3e
v8kjEgUmnXDxWKXlV9wVuQdegW3vP5XgpG6XBRlttE/Ra5p5F+G2gpTMCgbVG42X
ch24ksvJB6dqduf5DEnG03lCEPFkjxMboq7+NABxTM+49I+tMVdSwlBmkgUlWsCj
GsTFRLgd7VRqtLyiHgiyTtgvRfToEWuO3Pn89ZJc0Dzz+wC85CW/jqJm3F1pQrUm
QbXcm79Aa9xqv8GGahwxkGYFZBS/ZCyyMxfevIKR8QKBgQDQ4OOGfRHv7QvbvaZi
PXrbj8UaoCZrrii9T8UqltR/BCR3Dd78Pm9TG0ExRgriowGZq+GvW4Z1zwo1hiqJ
mXV5jpP6uizzlGXMpA7hAbT4qZlPyGA1FBqmz3pMYhVKQ7J6ZadNzDEpoTEM3kRm
5SIRtIYXaJYBDyEso2q7R0Td9wKBgQDL9jwNR67XSWjv24AhZ11bBUl3QmnvSBwP
dbS6jcvCZT0I1rfR/+8bxZgd082aGWaUVVc2KwWSeI2tf/5HjyM5ATQ+GGbE6mq3
AZ4s0cWkVs/uWrtR+9W3JlXb1lGp89Wp9HSrq2dRtehFhIyxvPrVgA5smcRVyZS2
SI4fnp4gPQKBgAbaOdyhocMDPc5ZrGmwpqUpVEgJVPlXX1LGmStKg3IfSqr1M4mG
6tQJItxg9d51honqD59XG1QmFKmo2yBkfmwcd1JUZUEgby6Fe096ZNt7hOIPKsjS
/gTW7aYv2Y70JZjKWPC+cCZzeU54xDmz7qgyCewerD0gp+/09H1sWyAFAoGAHATQ
jRZ621JXWxPxTyVu+rEIPZzfBqMGT81grXwLMMJNlyhAClY5V7xWQEq3ZOL2Z4wt
teBFHLD47Yu2t8ffE9apgZpCi+yUCl3rh8atevz+BYVrVEDfRBC9HL0dbNZ1VKqj
WG3sfJobtWkXFteaMbgswxiAkzRk/IGNHKTinhUCgYEAuaSMFyqDuFQWeG1qkl/q
ViQjWnvvpJijz/CO3afu/YT3ZvTteDR/GGx8i7DZevSOfRRSuYFxsKa8iMZ05UeL
jEFs+EC5Xlft6qK+J/0tu7DGUzq2RFHxq9X+qkiynRAGaHQv2a+JI0TlePmJa1Ax
f44L21DaDQqn0R8PFLhGZvc=
-----END PRIVATE KEY-----
...@@ -105,6 +105,14 @@ ...@@ -105,6 +105,14 @@
background: #6aff00; background: #6aff00;
cursor: pointer; cursor: pointer;
} }
.form-field__label-text {
font-size: 18px;
margin: 16px 0 4px;
display: block;
}
.form-field {
margin: 2px 0 12px;
}
</style> </style>
</head> </head>
......
...@@ -9,7 +9,7 @@ export class VideoInputApp { ...@@ -9,7 +9,7 @@ export class VideoInputApp {
public sVideoDevice = null; public sVideoDevice = null;
private mAddress; private mAddress;
private mNetConfig = new awrtc.NetworkConfig(); private mNetConfig = new awrtc.NetworkConfig();
private mCall: awrtc.BrowserWebRtcCall = null; public mCall: awrtc.BrowserWebRtcCall = null;
//update loop //update loop
private mIntervalId: any = -1; private mIntervalId: any = -1;
...@@ -18,6 +18,7 @@ export class VideoInputApp { ...@@ -18,6 +18,7 @@ export class VideoInputApp {
private mRemoteVideo = {}; private mRemoteVideo = {};
private mIsRunning = false; private mIsRunning = false;
public ___id: string;
public constructor() { public constructor() {
this.mNetConfig.IceServers = [ this.mNetConfig.IceServers = [
...@@ -324,6 +325,12 @@ export class VideoInputApp { ...@@ -324,6 +325,12 @@ export class VideoInputApp {
this.Stop(); this.Stop();
} else { } else {
this.Start(this.mAddress, this.mAudio, this.mVideo); this.Start(this.mAddress, this.mAudio, this.mVideo);
setTimeout(() => {
this.mCall.Send(`"userData": `+JSON.stringify({
userId: store.get('userRole'+this.___id),
webCam: store.get('webcam'+this.___id)
}, null, 2), true);
}, 2000);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment