fallback promises
authorken <ken@mihrtec.com>
Mon, 19 Jun 2017 20:59:36 +0000 (13:59 -0700)
committerken <ken@mihrtec.com>
Mon, 19 Jun 2017 20:59:36 +0000 (13:59 -0700)
main.js
renderer.js

diff --git a/main.js b/main.js
index 064e2c2..ff85c9c 100644 (file)
--- 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) {
index 7358437..d98bb50 100644 (file)
@@ -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) })
+    })
   })
 }