1 const electron
= require('electron')
2 const http
= require('http')
3 const path
= require('path')
4 const url
= require('url')
5 const fs
= require('fs')
6 const app
= electron
.app
7 const BrowserWindow
= electron
.BrowserWindow
8 const ipcMain
= electron
.ipcMain
12 function beginRendererProcess() {
13 mainWindow
= new BrowserWindow({show
: true, webPreferences
: { webSecurity
: false, experimentalFeatures
: true}})
14 mainWindow
.loadURL(url
.format({
15 pathname
: path
.join(__dirname
, 'renderer.html'),
19 mainWindow
.webContents
.openDevTools()
22 function captureStream() {
23 mainWindow
.webContents
.send('defaultStreamRequest', 'slr')
24 let p
= new Promise((resolve
,reject
) => {
25 ipcMain
.on('defaultStreamResponse', (event
, arg
) => {
26 console
.log('received defaultStreamResponse')
36 '/': function root(response
) {
37 response
.write(fs
.readFileSync('admin.html'))
40 '/admin.js': function js(response
) {
41 response
.write(fs
.readFileSync('admin.js'))
44 '/admin.css': function css(response
) {
45 response
.write(fs
.readFileSync('admin.css'))
48 '/favicon.ico': function favicon() {
52 '/streamlist': function streamlist(response
) {
53 let mediaStream
= captureStream().then((stream
) => {
57 //response.write(mediaStream)
61 app
.on('ready', function() {
62 beginRendererProcess()
65 http
.createServer(function(request
, response
) {
66 const url
= request
.url
67 console
.log('routing to ' + url
);