You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1 lines
33 KiB

{"version":3,"sources":["webpack://plugin-webrtc/webpack/universalModuleDefinition","webpack://plugin-webrtc/webpack/bootstrap","webpack://plugin-webrtc/./node_modules/@soda/get-current-script/index.js","webpack://plugin-webrtc/./src/App.vue?3d9b","webpack://plugin-webrtc/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://plugin-webrtc/./src/App.vue?a7f3","webpack://plugin-webrtc/./src/components/Player.vue?9faa","webpack://plugin-webrtc/src/components/Player.vue","webpack://plugin-webrtc/./src/components/Player.vue?42e4","webpack://plugin-webrtc/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://plugin-webrtc/./src/components/Player.vue","webpack://plugin-webrtc/src/App.vue","webpack://plugin-webrtc/./src/App.vue?8b47","webpack://plugin-webrtc/./src/App.vue","webpack://plugin-webrtc/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","getCurrentScript","document","currentScript","Error","err","pageSource","inlineScriptSourceRegExp","inlineScriptSource","ieStackRegExp","ffStackRegExp","stackDetails","exec","stack","scriptLocation","line","currentLocation","location","href","replace","hash","scripts","getElementsByTagName","documentElement","outerHTML","RegExp","trim","length","readyState","src","innerHTML","window","match","render","_vm","_h","$createElement","_c","_self","$parent","titleTabActive","attrs","model","callback","$$v","streamPath","expression","remoteSDP","on","stopSession","_v","publish","remoteSDPURL","_e","localSDPURL","ref","domProps","stream","scopedSlots","_u","fn","scope","$event","preview","_s","localSDP","previewStreamPath","staticRenderFns","_g","_b","onClosePreview","$attrs","$listeners","slot","pc","iceConnectionState","methods","RTCPeerConnection","onsignalingstatechange","e","console","log","oniceconnectionstatechange","$toast","info","onicecandidate","event","result","ajax","url","dataType","errmsg","error","sdp","URL","createObjectURL","Blob","type","ontrack","streams","id","setRemoteDescription","RTCSessionDescription","setLocalDescription","createAnswer","localDescription","processData","data","JSON","stringify","close","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","component","config","iceServers","components","WebrtcPlayer","remoteDescription","addStream","createOffer","row","$nextTick","$refs","player","play","StreamPath","titleTabs","navigator","mediaDevices","getUserMedia","video","audio","message"],"mappings":"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","file":"plugin-webrtc.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"plugin-webrtc\"] = factory();\n\telse\n\t\troot[\"plugin-webrtc\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n if (document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*<script>([\\\\d\\\\D]*?)<\\\\/script>[\\\\d\\\\D]*', 'i');\n inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();\n }\n \n for (var i = 0; i < scripts.length; i++) {\n // If ready state is interactive, return the script tag\n if (scripts[i].readyState === 'interactive') {\n return scripts[i];\n }\n \n // If src matches, return the script tag\n if (scripts[i].src === scriptLocation) {\n return scripts[i];\n }\n \n // If inline source matches, return the script tag\n if (\n scriptLocation === currentLocation &&\n scripts[i].innerHTML &&\n scripts[i].innerHTML.trim() === inlineScriptSource\n ) {\n return scripts[i];\n }\n }\n \n // If no match, return null\n return null;\n }\n };\n\n return getCurrentScript\n}));\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=b8166bc0&scoped=true&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=b8166bc0&scoped=true&lang=css&\"","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.$parent.titleTabActive == 0)?_c('div',[_c('mu-text-field',{attrs:{\"label\":\"streamPath\"},model:{value:(_vm.streamPath),callback:function ($$v) {_vm.streamPath=$$v},expression:\"streamPath\"}}),(!_vm.remoteSDP)?_c('m-button',{on:{\"click\":_vm.publish}},[_vm._v(\"Publish\")]):_c('m-button',{on:{\"click\":_vm.stopSession}},[_vm._v(\"Stop\")]),(_vm.remoteSDP)?_c('a',{attrs:{\"href\":_vm.remoteSDPURL,\"download\":\"remoteSDP.txt\"}},[_vm._v(\"remoteSDP\")]):_vm._e(),_c('span'),(_vm.localSDP)?_c('a',{attrs:{\"href\":_vm.localSDPURL,\"download\":\"localSDP.txt\"}},[_vm._v(\"localSDP\")]):_vm._e(),_c('br'),_c('video',{ref:\"video1\",attrs:{\"width\":\"640\",\"height\":\"480\",\"autoplay\":\"\",\"muted\":\"\"},domProps:{\"srcObject\":_vm.stream,\"muted\":true}})],1):(_vm.$parent.titleTabActive == 1)?_c('stream-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('m-button',{on:{\"click\":function($event){return _vm.preview(scope)}}},[_vm._v(\"Play\")]),void 0]}}])}):(_vm.$parent.titleTabActive == 2)?_c('pre',[_vm._v(_vm._s(_vm.localSDP))]):(_vm.$parent.titleTabActive == 3)?_c('pre',[_vm._v(_vm._s(_vm.remoteSDP))]):_vm._e(),_c('webrtc-player',{ref:\"player\",model:{value:(_vm.previewStreamPath),callback:function ($$v) {_vm.previewStreamPath=$$v},expression:\"previewStreamPath\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',_vm._g(_vm._b({attrs:{\"draggable\":\"\",\"title\":_vm.streamPath},on:{\"on-ok\":_vm.onClosePreview,\"on-cancel\":_vm.onClosePreview}},'Modal',_vm.$attrs,false),_vm.$listeners),[_c('video',{ref:\"webrtc\",attrs:{\"width\":\"488\",\"height\":\"275\",\"autoplay\":\"\",\"muted\":\"\",\"controls\":\"\"},domProps:{\"srcObject\":_vm.stream,\"muted\":true}}),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[(_vm.remoteSDP)?_c('a',{attrs:{\"href\":_vm.remoteSDPURL,\"download\":\"remoteSDP.txt\"}},[_vm._v(\"remoteSDP\")]):_vm._e(),_c('span'),(_vm.localSDP)?_c('a',{attrs:{\"href\":_vm.localSDPURL,\"download\":\"localSDP.txt\"}},[_vm._v(\"localSDP\")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <Modal\r\n v-bind=\"$attrs\"\r\n draggable\r\n v-on=\"$listeners\"\r\n :title=\"streamPath\"\r\n @on-ok=\"onClosePreview\"\r\n @on-cancel=\"onClosePreview\"\r\n >\r\n <video ref=\"webrtc\" :srcObject.prop=\"stream\" width=\"488\" height=\"275\" autoplay muted controls></video>\r\n <div slot=\"footer\">\r\n <a v-if=\"remoteSDP\" :href=\"remoteSDPURL\" download=\"remoteSDP.txt\">remoteSDP</a>\r\n <span>&nbsp;&nbsp;</span>\r\n <a v-if=\"localSDP\" :href=\"localSDPURL\" download=\"localSDP.txt\">localSDP</a>\r\n </div>\r\n </Modal>\r\n</template>\r\n<script>\r\nlet pc = null\r\nexport default {\r\n data() {\r\n return {\r\n iceConnectionState: pc && pc.iceConnectionState,\r\n stream: null,\r\n localSDP: \"\",\r\n remoteSDP: \"\",\r\n remoteSDPURL: \"\",\r\n localSDPURL: \"\",\r\n streamPath: \"\"\r\n };\r\n },\r\n methods: {\r\n async play(streamPath) {\r\n pc = new RTCPeerConnection();\r\n this.streamPath = streamPath;\r\n pc.onsignalingstatechange = e => {\r\n console.log(e);\r\n };\r\n pc.oniceconnectionstatechange = e => {\r\n this.$toast.info(pc.iceConnectionState);\r\n this.iceConnectionState = pc.iceConnectionState;\r\n };\r\n pc.onicecandidate = event => {};\r\n const result = await this.ajax({\r\n url: \"/webrtc/preparePlay?streamPath=\" + this.streamPath,\r\n dataType: \"json\"\r\n });\r\n if (result.errmsg) {\r\n this.$toast.error(result.errmsg);\r\n return;\r\n } else {\r\n this.remoteSDP = result.sdp;\r\n this.remoteSDPURL = URL.createObjectURL(new Blob([this.remoteSDP], { type: \"text/plain\" }));\r\n }\r\n pc.ontrack = event => {\r\n console.log(event);\r\n if (event.streams[0].id == \"monibuca\")\r\n this.stream = event.streams[0];\r\n };\r\n await pc.setRemoteDescription(new RTCSessionDescription(result));\r\n await pc.setLocalDescription(await pc.createAnswer());\r\n this.localSDP = pc.localDescription.sdp;\r\n this.localSDPURL = URL.createObjectURL(\r\n new Blob([this.localSDP], { type: \"text/plain\" })\r\n );\r\n result = await this.ajax({\r\n type: \"POST\",\r\n processData: false,\r\n data: JSON.stringify(pc.localDescription),\r\n url: \"/webrtc/play?streamPath=\" + this.streamPath,\r\n dataType: \"json\"\r\n });\r\n if (result != \"success\") {\r\n this.$toast.error(result.errmsg || result);\r\n }\r\n },\r\n onClosePreview() {\r\n pc.close();\r\n }\r\n }\r\n};\r\n</script>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Player.vue?vue&type=template&id=213e71c4&\"\nimport script from \"./Player.vue?vue&type=script&lang=js&\"\nexport * from \"./Player.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div>\r\n <div v-if=\"$parent.titleTabActive == 0\">\r\n <mu-text-field v-model=\"streamPath\" label=\"streamPath\"></mu-text-field>\r\n <m-button @click=\"publish\" v-if=\"!remoteSDP\">Publish</m-button>\r\n <m-button @click=\"stopSession\" v-else>Stop</m-button>\r\n <a v-if=\"remoteSDP\" :href=\"remoteSDPURL\" download=\"remoteSDP.txt\">remoteSDP</a>\r\n <span>&nbsp;&nbsp;</span>\r\n <a v-if=\"localSDP\" :href=\"localSDPURL\" download=\"localSDP.txt\">localSDP</a>\r\n <br />\r\n <video ref=\"video1\" :srcObject.prop=\"stream\" width=\"640\" height=\"480\" autoplay muted></video>\r\n </div>\r\n <stream-table v-else-if=\"$parent.titleTabActive == 1\">\r\n <template v-slot=\"scope\">\r\n <m-button @click=\"preview(scope)\">Play</m-button>\r\n <template>\r\n </stream-table>\r\n <pre v-else-if=\"$parent.titleTabActive == 2\">{{localSDP}}</pre>\r\n <pre v-else-if=\"$parent.titleTabActive == 3\">{{remoteSDP}}</pre>\r\n <webrtc-player ref=\"player\" v-model=\"previewStreamPath\"></webrtc-player>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport WebrtcPlayer from \"./components/Player\"\r\nconst config = { iceServers: []};\r\nlet pc = new RTCPeerConnection(config);\r\nvar stream = null\r\nvar streamPath = \"live/rtc\";\r\nexport default {\r\n components:{\r\n WebrtcPlayer\r\n },\r\n data() {\r\n return {\r\n localSDP: pc && pc.localDescription && pc.localDescription.sdp,\r\n remoteSDP: pc && pc.remoteDescription && pc.remoteDescription.sdp,\r\n streamPath,\r\n iceConnectionState: pc && pc.iceConnectionState,\r\n stream,\r\n previewStreamPath:false,\r\n localSDPURL:\"\",\r\n remoteSDPURL:\"\"\r\n };\r\n },\r\n methods: {\r\n async publish() {\r\n pc.addStream(stream);\r\n await pc.setLocalDescription(await pc.createOffer());\r\n this.localSDP = pc.localDescription.sdp;\r\n this.localSDPURL = URL.createObjectURL(new Blob([ this.localSDP ],{type:'text/plain'}))\r\n const result = await this.ajax({\r\n type: \"POST\",\r\n processData: false,\r\n data: JSON.stringify(pc.localDescription),\r\n url: \"/webrtc/publish?streamPath=\" + this.streamPath,\r\n dataType: \"json\"\r\n });\r\n if (result!=\"success\") {\r\n this.$toast.error(result.errmsg||result);\r\n return;\r\n } else {\r\n streamPath = this.streamPath;\r\n }\r\n this.remoteSDP = result.sdp;\r\n this.remoteSDPURL = URL.createObjectURL(new Blob([ this.remoteSDP ],{type:'text/plain'}))\r\n pc.setRemoteDescription(new RTCSessionDescription(result));\r\n },\r\n stopSession() {\r\n pc.close();\r\n pc = new RTCPeerConnection(config);\r\n this.remoteSDP = \"\";\r\n this.localSDP = \"\";\r\n // this.connectICE().catch(err => this.$toast.error(err.message));\r\n },\r\n preview({row}) {\r\n this.previewStreamPath = true\r\n this.$nextTick(() =>this.$refs.player.play(row.StreamPath));\r\n },\r\n },\r\n async mounted() {\r\n pc.onsignalingstatechange = e => {\r\n console.log(e);\r\n };\r\n pc.oniceconnectionstatechange = e => {\r\n this.$toast.info(pc.iceConnectionState);\r\n this.iceConnectionState = pc.iceConnectionState;\r\n };\r\n pc.onicecandidate = event => {};\r\n this.$parent.titleTabs = [\"publish\",\"play\"];\r\n try {\r\n if (!this.stream)\r\n this.stream = stream = await navigator.mediaDevices.getUserMedia(\r\n { video: true, audio: true }\r\n );\r\n } catch (err) {\r\n this.$toast.error(err.message);\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n@keyframes blink {\r\n 0% {\r\n opacity: 0.2;\r\n }\r\n 50% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0.2;\r\n }\r\n}\r\n.blink {\r\n animation: blink 1s infinite;\r\n}\r\n</style>","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=b8166bc0&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=b8166bc0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b8166bc0\",\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""}