fallback promises
[henge/kiak.git] / renderer.js
1 const ipcRenderer = require('electron').ipcRenderer
2 const {desktopCapturer} = require('electron')
3
4 let mediaStream
5
6
7 function getDefaultStream(event) {
8 console.log('+getDefaultStream')
9 let sendDefaultStream = (stream) => {
10 mediaStream = stream
11 console.log(stream)
12 event.sender.send('defaultStreamResponse', stream)
13 }
14 navigator.mediaDevices.getUserMedia({
15 audio: false,
16 video: {
17 mandatory: { chromeMediaSource: 'desktop' }
18 }
19 }).then(sendDefaultStream,(err) => {
20 desktopCapturer.getSources({types: ['window', 'screen']}, (error, sources) => {
21 if (error) {
22 console.log(error)
23 return
24 }
25 navigator.mediaDevices.getUserMedia({
26 audio: false,
27 video: {
28 mandatory: { chromeMediaSourceId: sources[0].id }
29 }
30 }).then(sendDefaultStream,(err) => { console.log(err) })
31 })
32 })
33 }
34
35 ipcRenderer.on('defaultStreamRequest', (event, message) => {
36 console.log('defaultStreamRequest received, grabbing media stream for screen1')
37 getDefaultStream(event)
38 })