From a7266a96e6dae393b4116bf0fde605b8118d8d82 Mon Sep 17 00:00:00 2001 From: ken Date: Mon, 19 Jun 2017 13:59:36 -0700 Subject: [PATCH] fallback promises --- main.js | 2 +- renderer.js | 49 +++++++++++++++++++++++-------------------------- 2 files changed, 24 insertions(+), 27 deletions(-) diff --git a/main.js b/main.js index 064e2c2..ff85c9c 100644 --- a/main.js +++ b/main.js @@ -24,6 +24,7 @@ function captureStream() { let p = new Promise((resolve,reject) => { ipcMain.on('defaultStreamResponse', (event, arg) => { console.log('received defaultStreamResponse') + console.log(arg) resolve(arg) }) }) @@ -46,7 +47,6 @@ const routes = { response.end() }, '/favicon.ico': function favicon() { - return 'strapp' response.end() }, '/streamlist': function streamlist(response) { diff --git a/renderer.js b/renderer.js index 7358437..d98bb50 100644 --- a/renderer.js +++ b/renderer.js @@ -3,35 +3,32 @@ const {desktopCapturer} = require('electron') let mediaStream + function getDefaultStream(event) { - console.log('getDefaultStream') - desktopCapturer.getSources({types: ['window', 'screen']}, (error, sources) => { - if (error) { - console.log(error) - return + console.log('+getDefaultStream') + let sendDefaultStream = (stream) => { + mediaStream = stream + console.log(stream) + event.sender.send('defaultStreamResponse', stream) + } + navigator.mediaDevices.getUserMedia({ + audio: false, + video: { + mandatory: { chromeMediaSource: 'desktop' } } - for (let i = 0; i < sources.length; ++i) { - if (sources[i].name === 'Screen 1') { - navigator.mediaDevices.getUserMedia({ - audio: false, - video: { - mandatory: { - chromeMediaSource: 'desktop', - chromeMediaSourceId: sources[i].id, - minWidth: 1280, - maxWidth: 1280, - minHeight: 720, - maxHeight: 720 - } - } - }).then((stream) => { - mediaStream = stream - console.log('sending defaultStreamResponse' + stream) - event.sender.send('defaultStreamResponse', stream) - }) + }).then(sendDefaultStream,(err) => { + desktopCapturer.getSources({types: ['window', 'screen']}, (error, sources) => { + if (error) { + console.log(error) + return } - } - return + navigator.mediaDevices.getUserMedia({ + audio: false, + video: { + mandatory: { chromeMediaSourceId: sources[0].id } + } + }).then(sendDefaultStream,(err) => { console.log(err) }) + }) }) } -- 2.18.0