Fix Cast lazy loading
Move all the heavy initialization, which takes ~300ms, from require('./lib/cast') to Cast.init()
This commit is contained in:
@@ -13,9 +13,8 @@ module.exports = {
|
|||||||
setRate
|
setRate
|
||||||
}
|
}
|
||||||
|
|
||||||
var airplayer = require('airplayer')()
|
// Lazy load these for a ~300ms improvement in startup time
|
||||||
var chromecasts = require('chromecasts')()
|
var airplayer, chromecasts, dlnacasts
|
||||||
var dlnacasts = require('dlnacasts')()
|
|
||||||
|
|
||||||
var config = require('../../config')
|
var config = require('../../config')
|
||||||
|
|
||||||
@@ -33,6 +32,11 @@ function init (appState, callback) {
|
|||||||
state = appState
|
state = appState
|
||||||
update = callback
|
update = callback
|
||||||
|
|
||||||
|
// Load modules, scan the network for devices
|
||||||
|
airplayer = require('airplayer')()
|
||||||
|
chromecasts = require('chromecasts')()
|
||||||
|
dlnacasts = require('dlnacasts')()
|
||||||
|
|
||||||
state.devices.chromecast = chromecastPlayer()
|
state.devices.chromecast = chromecastPlayer()
|
||||||
state.devices.dlna = dlnaPlayer()
|
state.devices.dlna = dlnaPlayer()
|
||||||
state.devices.airplay = airplayPlayer()
|
state.devices.airplay = airplayPlayer()
|
||||||
|
|||||||
@@ -249,7 +249,7 @@ function dispatch (action, ...args) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var handler = dispatchHandlers[action]
|
var handler = dispatchHandlers[action]
|
||||||
if (handler) handler.apply(null, args)
|
if (handler) handler(...args)
|
||||||
else console.error('Missing dispatch handler: ' + action)
|
else console.error('Missing dispatch handler: ' + action)
|
||||||
|
|
||||||
// Update the virtual-dom, unless it's just a mouse move event
|
// Update the virtual-dom, unless it's just a mouse move event
|
||||||
|
|||||||
Reference in New Issue
Block a user