add frontend build
This commit is contained in:
@@ -15,11 +15,9 @@ on:
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
# This workflow contains a single job called "build"
|
||||
build:
|
||||
build-backend:
|
||||
runs-on: ubuntu-22.04
|
||||
container: "debian:stable-slim"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-go@v4
|
||||
@@ -31,3 +29,19 @@ jobs:
|
||||
apt-get install --yes --no-install-recommends make gcc libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
|
||||
- name: Build
|
||||
run: make build
|
||||
- uses: ncipollo/release-action@v1
|
||||
with:
|
||||
artifacts: "release.tar.gz,foo/*.txt"
|
||||
build-frontend:
|
||||
runs-on: ubuntu-22.04
|
||||
container: "debian:stable-slim"
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18
|
||||
cache: 'yarn'
|
||||
- name: Prepare
|
||||
run: yarn --cwd static
|
||||
- name: Build
|
||||
run: yarn --cwd static build
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
|
||||
# newer versions of the distribution.
|
||||
deb http://archive.ubuntu.com/ubuntu/ jammy main restricted
|
||||
# deb-src http://archive.ubuntu.com/ubuntu/ jammy main restricted
|
||||
|
||||
## Major bug fix updates produced after the final release of the
|
||||
## distribution.
|
||||
deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted
|
||||
# deb-src http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted
|
||||
|
||||
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
|
||||
## team. Also, please note that software in universe WILL NOT receive any
|
||||
## review or updates from the Ubuntu security team.
|
||||
deb http://archive.ubuntu.com/ubuntu/ jammy universe
|
||||
# deb-src http://archive.ubuntu.com/ubuntu/ jammy universe
|
||||
deb http://archive.ubuntu.com/ubuntu/ jammy-updates universe
|
||||
# deb-src http://archive.ubuntu.com/ubuntu/ jammy-updates universe
|
||||
|
||||
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
|
||||
## team, and may not be under a free licence. Please satisfy yourself as to
|
||||
## your rights to use the software. Also, please note that software in
|
||||
## multiverse WILL NOT receive any review or updates from the Ubuntu
|
||||
## security team.
|
||||
deb http://archive.ubuntu.com/ubuntu/ jammy multiverse
|
||||
# deb-src http://archive.ubuntu.com/ubuntu/ jammy multiverse
|
||||
deb http://archive.ubuntu.com/ubuntu/ jammy-updates multiverse
|
||||
# deb-src http://archive.ubuntu.com/ubuntu/ jammy-updates multiverse
|
||||
|
||||
## N.B. software from this repository may not have been tested as
|
||||
## extensively as that contained in the main release, although it includes
|
||||
## newer versions of some applications which may provide useful features.
|
||||
## Also, please note that software in backports WILL NOT receive any review
|
||||
## or updates from the Ubuntu security team.
|
||||
deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
|
||||
# deb-src http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
|
||||
|
||||
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted
|
||||
# deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted
|
||||
deb http://security.ubuntu.com/ubuntu/ jammy-security universe
|
||||
# deb-src http://security.ubuntu.com/ubuntu/ jammy-security universe
|
||||
deb http://security.ubuntu.com/ubuntu/ jammy-security multiverse
|
||||
# deb-src http://security.ubuntu.com/ubuntu/ jammy-security multiverse
|
||||
@@ -5,6 +5,7 @@
|
||||
/tmp
|
||||
/out-tsc
|
||||
/bazel-out
|
||||
/dist
|
||||
|
||||
# Node
|
||||
/node_modules
|
||||
|
||||
Vendored
+5
-6
@@ -1,13 +1,12 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!DOCTYPE html><html lang="en"><head>
|
||||
<meta charset="utf-8">
|
||||
<title>Webrtc</title>
|
||||
<base href="/">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
||||
<link rel="stylesheet" href="styles.css"></head>
|
||||
<style>html,body{width:100%;height:100%;margin:0}body{background-color:#2e2e2e}</style><link rel="stylesheet" href="styles.89648d27bd81920d.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.89648d27bd81920d.css"></noscript></head>
|
||||
<body>
|
||||
<app-root></app-root>
|
||||
<script src="runtime.js" type="module"></script><script src="polyfills.js" type="module"></script><script src="vendor.js" type="module"></script><script src="main.js" type="module"></script></body>
|
||||
</html>
|
||||
<script src="runtime.804386e0627e7ced.js" type="module"></script><script src="polyfills.9a39e8075838916d.js" type="module"></script><script src="main.c84ccd032e40feb3.js" type="module"></script>
|
||||
|
||||
</body></html>
|
||||
Vendored
-421
@@ -1,421 +0,0 @@
|
||||
"use strict";
|
||||
(self["webpackChunkwebrtc"] = self["webpackChunkwebrtc"] || []).push([["main"],{
|
||||
|
||||
/***/ 5041:
|
||||
/*!**********************************!*\
|
||||
!*** ./src/app/app.component.ts ***!
|
||||
\**********************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "AppComponent": () => (/* binding */ AppComponent)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var _projects_PRIVATE_webrtc_gst_static_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 1670);
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 2560);
|
||||
/* harmony import */ var _components_video_video_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/video/video.component */ 5465);
|
||||
/* harmony import */ var _components_audio_audio_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/audio/audio.component */ 210);
|
||||
/* harmony import */ var _services_signaling_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./services/signaling.service */ 1759);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const _c0 = ["vc"];
|
||||
class AppComponent {
|
||||
onClick(_) {
|
||||
var _this = this;
|
||||
return (0,_projects_PRIVATE_webrtc_gst_static_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
||||
if (!_this.selfAudioRunning) {
|
||||
yield _this.startAudio();
|
||||
}
|
||||
for (const el of _this.audioList) {
|
||||
el.instance.toggleMute();
|
||||
}
|
||||
})();
|
||||
}
|
||||
startAudio() {
|
||||
var _this2 = this;
|
||||
return (0,_projects_PRIVATE_webrtc_gst_static_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
||||
const stream = yield navigator.mediaDevices.getUserMedia({
|
||||
audio: true,
|
||||
video: false
|
||||
});
|
||||
_this2.pc.addTrack(stream.getAudioTracks()[0]);
|
||||
_this2.selfAudioRunning = true;
|
||||
})();
|
||||
}
|
||||
constructor(signaling) {
|
||||
var _this3 = this;
|
||||
this.signaling = signaling;
|
||||
this.audioList = [];
|
||||
this.selfAudioRunning = false;
|
||||
//this.pc = new RTCPeerConnection({iceServers: [{urls: 'stun:stun.l.google.com:19302'}]});
|
||||
this.pc = new RTCPeerConnection();
|
||||
// Once remote track media arrives, show it in remote element.
|
||||
this.pc.ontrack = event => {
|
||||
const [remoteStream] = event.streams;
|
||||
if (event.track.kind === 'video') {
|
||||
const video = this.vcr.createComponent(_components_video_video_component__WEBPACK_IMPORTED_MODULE_1__.VideoComponent, {});
|
||||
video.instance.setStream(remoteStream);
|
||||
video.instance.play();
|
||||
console.log(video);
|
||||
} else if (event.track.kind === 'audio') {
|
||||
const audio = this.vcr.createComponent(_components_audio_audio_component__WEBPACK_IMPORTED_MODULE_2__.AudioComponent, {});
|
||||
audio.instance.setStream(remoteStream);
|
||||
console.log(audio);
|
||||
this.audioList.push(audio);
|
||||
}
|
||||
};
|
||||
this.pc.oniceconnectionstatechange = e => {
|
||||
console.log(e);
|
||||
};
|
||||
// Send any ice candidates to the other peer.
|
||||
this.pc.onicecandidate = ({
|
||||
candidate
|
||||
}) => {
|
||||
console.log(candidate);
|
||||
if (candidate == null) {
|
||||
signaling.next(this.pc.localDescription);
|
||||
}
|
||||
};
|
||||
// Offer to receive 1 audio, and 1 video track
|
||||
this.pc.addTransceiver('audio', {
|
||||
direction: 'sendrecv'
|
||||
});
|
||||
this.pc.addTransceiver('video', {
|
||||
direction: 'recvonly'
|
||||
});
|
||||
this.pc.createOffer().then(d => this.pc.setLocalDescription(d)).catch(e => {
|
||||
console.error(e);
|
||||
});
|
||||
// Let the "negotiationneeded" event trigger offer generation.
|
||||
this.pc.onnegotiationneeded = /*#__PURE__*/function () {
|
||||
var _ref = (0,_projects_PRIVATE_webrtc_gst_static_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (e) {
|
||||
try {
|
||||
yield _this3.pc.setLocalDescription();
|
||||
signaling.next(_this3.pc.localDescription);
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
}
|
||||
});
|
||||
return function (_x) {
|
||||
return _ref.apply(this, arguments);
|
||||
};
|
||||
}();
|
||||
this.signaling.subscribe( /*#__PURE__*/function () {
|
||||
var _ref2 = (0,_projects_PRIVATE_webrtc_gst_static_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (x) {
|
||||
console.log(x);
|
||||
if (x.type === 'answer') {
|
||||
console.log('Received answer');
|
||||
try {
|
||||
// the answer
|
||||
yield _this3.pc.setRemoteDescription(x);
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
});
|
||||
return function (_x2) {
|
||||
return _ref2.apply(this, arguments);
|
||||
};
|
||||
}());
|
||||
}
|
||||
ngOnInit() {
|
||||
return (0,_projects_PRIVATE_webrtc_gst_static_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {})();
|
||||
}
|
||||
}
|
||||
AppComponent.ɵfac = function AppComponent_Factory(t) {
|
||||
return new (t || AppComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_services_signaling_service__WEBPACK_IMPORTED_MODULE_3__.SignalingService));
|
||||
};
|
||||
AppComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineComponent"]({
|
||||
type: AppComponent,
|
||||
selectors: [["app-root"]],
|
||||
viewQuery: function AppComponent_Query(rf, ctx) {
|
||||
if (rf & 1) {
|
||||
_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵviewQuery"](_c0, 7, _angular_core__WEBPACK_IMPORTED_MODULE_4__.ViewContainerRef);
|
||||
}
|
||||
if (rf & 2) {
|
||||
let _t;
|
||||
_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵloadQuery"]()) && (ctx.vcr = _t.first);
|
||||
}
|
||||
},
|
||||
hostBindings: function AppComponent_HostBindings(rf, ctx) {
|
||||
if (rf & 1) {
|
||||
_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function AppComponent_click_HostBindingHandler($event) {
|
||||
return ctx.onClick($event.target);
|
||||
}, false, _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵresolveDocument"]);
|
||||
}
|
||||
},
|
||||
decls: 2,
|
||||
vars: 0,
|
||||
consts: [["vc", ""]],
|
||||
template: function AppComponent_Template(rf, ctx) {
|
||||
if (rf & 1) {
|
||||
_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementContainer"](0, null, 0);
|
||||
}
|
||||
},
|
||||
styles: ["[_nghost-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n height: 100%;\n width: 100%;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvYXBwLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0FBQUYiLCJzb3VyY2VzQ29udGVudCI6WyJcbjpob3N0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiJdLCJzb3VyY2VSb290IjoiIn0= */"]
|
||||
});
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 6747:
|
||||
/*!*******************************!*\
|
||||
!*** ./src/app/app.module.ts ***!
|
||||
\*******************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "AppModule": () => (/* binding */ AppModule)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/platform-browser */ 4497);
|
||||
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/common/http */ 8987);
|
||||
/* harmony import */ var _app_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./app.component */ 5041);
|
||||
/* harmony import */ var _services_signaling_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./services/signaling.service */ 1759);
|
||||
/* harmony import */ var _components_video_video_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/video/video.component */ 5465);
|
||||
/* harmony import */ var _components_audio_audio_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/audio/audio.component */ 210);
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 2560);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class AppModule {}
|
||||
AppModule.ɵfac = function AppModule_Factory(t) {
|
||||
return new (t || AppModule)();
|
||||
};
|
||||
AppModule.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineNgModule"]({
|
||||
type: AppModule,
|
||||
bootstrap: [_app_component__WEBPACK_IMPORTED_MODULE_0__.AppComponent]
|
||||
});
|
||||
AppModule.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineInjector"]({
|
||||
providers: [_services_signaling_service__WEBPACK_IMPORTED_MODULE_1__.SignalingService],
|
||||
imports: [_angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__.BrowserModule, _angular_common_http__WEBPACK_IMPORTED_MODULE_6__.HttpClientModule]
|
||||
});
|
||||
(function () {
|
||||
(typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsetNgModuleScope"](AppModule, {
|
||||
declarations: [_app_component__WEBPACK_IMPORTED_MODULE_0__.AppComponent, _components_video_video_component__WEBPACK_IMPORTED_MODULE_2__.VideoComponent, _components_audio_audio_component__WEBPACK_IMPORTED_MODULE_3__.AudioComponent],
|
||||
imports: [_angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__.BrowserModule, _angular_common_http__WEBPACK_IMPORTED_MODULE_6__.HttpClientModule]
|
||||
});
|
||||
})();
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 210:
|
||||
/*!*****************************************************!*\
|
||||
!*** ./src/app/components/audio/audio.component.ts ***!
|
||||
\*****************************************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "AudioComponent": () => (/* binding */ AudioComponent)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 2560);
|
||||
|
||||
|
||||
const _c0 = ["audio"];
|
||||
class AudioComponent {
|
||||
ngOnInit() {
|
||||
this.elem.nativeElement.muted = true;
|
||||
}
|
||||
setStream(stream) {
|
||||
this.elem.nativeElement.srcObject = stream;
|
||||
}
|
||||
play() {
|
||||
this.elem.nativeElement.play();
|
||||
}
|
||||
pause() {
|
||||
this.elem.nativeElement.pause();
|
||||
}
|
||||
toggleMute() {
|
||||
this.elem.nativeElement.muted = !this.elem.nativeElement.muted;
|
||||
console.log('toggle mute to', this.elem.nativeElement.muted);
|
||||
if (!this.elem.nativeElement.muted) {
|
||||
this.play();
|
||||
}
|
||||
}
|
||||
}
|
||||
AudioComponent.ɵfac = function AudioComponent_Factory(t) {
|
||||
return new (t || AudioComponent)();
|
||||
};
|
||||
AudioComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
|
||||
type: AudioComponent,
|
||||
selectors: [["app-audio"]],
|
||||
viewQuery: function AudioComponent_Query(rf, ctx) {
|
||||
if (rf & 1) {
|
||||
_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵviewQuery"](_c0, 7, _angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef);
|
||||
}
|
||||
if (rf & 2) {
|
||||
let _t;
|
||||
_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵloadQuery"]()) && (ctx.elem = _t.first);
|
||||
}
|
||||
},
|
||||
decls: 2,
|
||||
vars: 0,
|
||||
consts: [["audio", ""]],
|
||||
template: function AudioComponent_Template(rf, ctx) {
|
||||
if (rf & 1) {
|
||||
_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](0, "audio", null, 0);
|
||||
}
|
||||
},
|
||||
styles: ["\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZVJvb3QiOiIifQ== */"]
|
||||
});
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 5465:
|
||||
/*!*****************************************************!*\
|
||||
!*** ./src/app/components/video/video.component.ts ***!
|
||||
\*****************************************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "VideoComponent": () => (/* binding */ VideoComponent)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 2560);
|
||||
|
||||
|
||||
const _c0 = ["video"];
|
||||
class VideoComponent {
|
||||
setStream(stream) {
|
||||
this.elem.nativeElement.srcObject = stream;
|
||||
this.elem.nativeElement.muted = true;
|
||||
}
|
||||
play() {
|
||||
this.elem.nativeElement.play();
|
||||
}
|
||||
pause() {
|
||||
this.elem.nativeElement.pause();
|
||||
}
|
||||
toggleMute() {
|
||||
this.elem.nativeElement.muted = !this.elem.nativeElement.muted;
|
||||
console.log('toggle mute to', this.elem.nativeElement.muted);
|
||||
}
|
||||
}
|
||||
VideoComponent.ɵfac = function VideoComponent_Factory(t) {
|
||||
return new (t || VideoComponent)();
|
||||
};
|
||||
VideoComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
|
||||
type: VideoComponent,
|
||||
selectors: [["app-video"]],
|
||||
viewQuery: function VideoComponent_Query(rf, ctx) {
|
||||
if (rf & 1) {
|
||||
_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵviewQuery"](_c0, 7, _angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef);
|
||||
}
|
||||
if (rf & 2) {
|
||||
let _t;
|
||||
_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵloadQuery"]()) && (ctx.elem = _t.first);
|
||||
}
|
||||
},
|
||||
decls: 2,
|
||||
vars: 0,
|
||||
consts: [["video", ""]],
|
||||
template: function VideoComponent_Template(rf, ctx) {
|
||||
if (rf & 1) {
|
||||
_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](0, "video", null, 0);
|
||||
}
|
||||
},
|
||||
styles: ["[_nghost-%COMP%] {\n max-height: 90%;\n max-width: 80%;\n height: 90%;\n width: auto;\n}\n\nvideo[_ngcontent-%COMP%] {\n height: 100%;\n width: 100%;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvY29tcG9uZW50cy92aWRlby92aWRlby5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtFQUNFLGVBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7QUFBRjs7QUFHQTtFQUNFLFlBQUE7RUFDQSxXQUFBO0FBQUYiLCJzb3VyY2VzQ29udGVudCI6WyJcbjpob3N0IHtcbiAgbWF4LWhlaWdodDogOTAlO1xuICBtYXgtd2lkdGg6IDgwJTtcbiAgaGVpZ2h0OiA5MCU7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG52aWRlbyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59Il0sInNvdXJjZVJvb3QiOiIifQ== */"]
|
||||
});
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 1759:
|
||||
/*!***********************************************!*\
|
||||
!*** ./src/app/services/signaling.service.ts ***!
|
||||
\***********************************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "SignalingService": () => (/* binding */ SignalingService)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var rxjs_webSocket__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rxjs/webSocket */ 3526);
|
||||
/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uuid */ 2535);
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 2560);
|
||||
|
||||
|
||||
|
||||
class SignalingService extends rxjs_webSocket__WEBPACK_IMPORTED_MODULE_0__.WebSocketSubject {
|
||||
constructor() {
|
||||
const config = {
|
||||
url: `${location.origin.replace("http", "ws")}/signaling/${(0,uuid__WEBPACK_IMPORTED_MODULE_1__["default"])()}`
|
||||
};
|
||||
super(config);
|
||||
}
|
||||
}
|
||||
SignalingService.ɵfac = function SignalingService_Factory(t) {
|
||||
return new (t || SignalingService)();
|
||||
};
|
||||
SignalingService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({
|
||||
token: SignalingService,
|
||||
factory: SignalingService.ɵfac,
|
||||
providedIn: 'root'
|
||||
});
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 2340:
|
||||
/*!*****************************************!*\
|
||||
!*** ./src/environments/environment.ts ***!
|
||||
\*****************************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "environment": () => (/* binding */ environment)
|
||||
/* harmony export */ });
|
||||
// This file can be replaced during build by using the `fileReplacements` array.
|
||||
// `ng build` replaces `environment.ts` with `environment.prod.ts`.
|
||||
// The list of file replacements can be found in `angular.json`.
|
||||
const environment = {
|
||||
production: false
|
||||
};
|
||||
/*
|
||||
* For easier debugging in development mode, you can import the following file
|
||||
* to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
|
||||
*
|
||||
* This import should be commented out in production mode because it will have a negative impact
|
||||
* on performance if an error is thrown.
|
||||
*/
|
||||
// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 4431:
|
||||
/*!*********************!*\
|
||||
!*** ./src/main.ts ***!
|
||||
\*********************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/platform-browser */ 4497);
|
||||
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 2560);
|
||||
/* harmony import */ var _app_app_module__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./app/app.module */ 6747);
|
||||
/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./environments/environment */ 2340);
|
||||
|
||||
|
||||
|
||||
|
||||
if (_environments_environment__WEBPACK_IMPORTED_MODULE_1__.environment.production) {
|
||||
(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.enableProdMode)();
|
||||
}
|
||||
_angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__.platformBrowser().bootstrapModule(_app_app_module__WEBPACK_IMPORTED_MODULE_0__.AppModule).catch(err => console.error(err));
|
||||
|
||||
/***/ })
|
||||
|
||||
},
|
||||
/******/ __webpack_require__ => { // webpackRuntimeModules
|
||||
/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
|
||||
/******/ __webpack_require__.O(0, ["vendor"], () => (__webpack_exec__(4431)));
|
||||
/******/ var __webpack_exports__ = __webpack_require__.O();
|
||||
/******/ }
|
||||
]);
|
||||
//# sourceMappingURL=main.js.map
|
||||
Vendored
-1
File diff suppressed because one or more lines are too long
Vendored
-2797
File diff suppressed because it is too large
Load Diff
Vendored
-1
File diff suppressed because one or more lines are too long
Vendored
-163
@@ -1,163 +0,0 @@
|
||||
/******/ (() => { // webpackBootstrap
|
||||
/******/ "use strict";
|
||||
/******/ var __webpack_modules__ = ({});
|
||||
/************************************************************************/
|
||||
/******/ // The module cache
|
||||
/******/ var __webpack_module_cache__ = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/ // Check if module is in cache
|
||||
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
||||
/******/ if (cachedModule !== undefined) {
|
||||
/******/ return cachedModule.exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = __webpack_module_cache__[moduleId] = {
|
||||
/******/ // no module.id needed
|
||||
/******/ // no module.loaded needed
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = __webpack_modules__;
|
||||
/******/
|
||||
/************************************************************************/
|
||||
/******/ /* webpack/runtime/chunk loaded */
|
||||
/******/ (() => {
|
||||
/******/ var deferred = [];
|
||||
/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => {
|
||||
/******/ if(chunkIds) {
|
||||
/******/ priority = priority || 0;
|
||||
/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
|
||||
/******/ deferred[i] = [chunkIds, fn, priority];
|
||||
/******/ return;
|
||||
/******/ }
|
||||
/******/ var notFulfilled = Infinity;
|
||||
/******/ for (var i = 0; i < deferred.length; i++) {
|
||||
/******/ var [chunkIds, fn, priority] = deferred[i];
|
||||
/******/ var fulfilled = true;
|
||||
/******/ for (var j = 0; j < chunkIds.length; j++) {
|
||||
/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
|
||||
/******/ chunkIds.splice(j--, 1);
|
||||
/******/ } else {
|
||||
/******/ fulfilled = false;
|
||||
/******/ if(priority < notFulfilled) notFulfilled = priority;
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ if(fulfilled) {
|
||||
/******/ deferred.splice(i--, 1)
|
||||
/******/ var r = fn();
|
||||
/******/ if (r !== undefined) result = r;
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ return result;
|
||||
/******/ };
|
||||
/******/ })();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/compat get default export */
|
||||
/******/ (() => {
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = (module) => {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ () => (module['default']) :
|
||||
/******/ () => (module);
|
||||
/******/ __webpack_require__.d(getter, { a: getter });
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/ })();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/define property getters */
|
||||
/******/ (() => {
|
||||
/******/ // define getter functions for harmony exports
|
||||
/******/ __webpack_require__.d = (exports, definition) => {
|
||||
/******/ for(var key in definition) {
|
||||
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
||||
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/ })();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
||||
/******/ (() => {
|
||||
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
||||
/******/ })();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/make namespace object */
|
||||
/******/ (() => {
|
||||
/******/ // define __esModule on exports
|
||||
/******/ __webpack_require__.r = (exports) => {
|
||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||
/******/ }
|
||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||
/******/ };
|
||||
/******/ })();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/jsonp chunk loading */
|
||||
/******/ (() => {
|
||||
/******/ // no baseURI
|
||||
/******/
|
||||
/******/ // object to store loaded and loading chunks
|
||||
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
|
||||
/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
|
||||
/******/ var installedChunks = {
|
||||
/******/ "runtime": 0
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // no chunk on demand loading
|
||||
/******/
|
||||
/******/ // no prefetching
|
||||
/******/
|
||||
/******/ // no preloaded
|
||||
/******/
|
||||
/******/ // no HMR
|
||||
/******/
|
||||
/******/ // no HMR manifest
|
||||
/******/
|
||||
/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
|
||||
/******/
|
||||
/******/ // install a JSONP callback for chunk loading
|
||||
/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
|
||||
/******/ var [chunkIds, moreModules, runtime] = data;
|
||||
/******/ // add "moreModules" to the modules object,
|
||||
/******/ // then flag all "chunkIds" as loaded and fire callback
|
||||
/******/ var moduleId, chunkId, i = 0;
|
||||
/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
|
||||
/******/ for(moduleId in moreModules) {
|
||||
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
|
||||
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ if(runtime) var result = runtime(__webpack_require__);
|
||||
/******/ }
|
||||
/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
|
||||
/******/ for(;i < chunkIds.length; i++) {
|
||||
/******/ chunkId = chunkIds[i];
|
||||
/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
|
||||
/******/ installedChunks[chunkId][0]();
|
||||
/******/ }
|
||||
/******/ installedChunks[chunkId] = 0;
|
||||
/******/ }
|
||||
/******/ return __webpack_require__.O(result);
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ var chunkLoadingGlobal = self["webpackChunkwebrtc"] = self["webpackChunkwebrtc"] || [];
|
||||
/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
|
||||
/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
|
||||
/******/ })();
|
||||
/******/
|
||||
/************************************************************************/
|
||||
/******/
|
||||
/******/
|
||||
/******/ })()
|
||||
;
|
||||
//# sourceMappingURL=runtime.js.map
|
||||
Vendored
-1
File diff suppressed because one or more lines are too long
Vendored
-15
@@ -1,15 +0,0 @@
|
||||
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||||
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[6].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[6].rules[1].use[1]!./src/styles.scss?ngGlobalStyle ***!
|
||||
\***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||||
/* You can add global styles to this file, and also import other style files */
|
||||
html, body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: rgb(46, 46, 46);
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=styles.css.map*/
|
||||
Vendored
-1
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"styles.css","mappings":";;;AAAA;AAEA;EACE;EACA;EACA;AAAF;;AAGA;EACE;AAAF,C","sources":["./src/styles.scss"],"sourcesContent":["/* You can add global styles to this file, and also import other style files */\n\nhtml, body {\n width: 100%;\n height: 100%;\n margin: 0;\n}\n\nbody {\n background-color: rgb(46, 46, 46);\n}"],"names":[],"sourceRoot":"webpack:///","x_google_ignoreList":[]}
|
||||
Vendored
-42535
File diff suppressed because one or more lines are too long
Vendored
-1
File diff suppressed because one or more lines are too long
Generated
-20464
File diff suppressed because it is too large
Load Diff
+6256
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user