@stremio/stremio-video 0.0.20-rc.3 → 0.0.20-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -39,6 +39,7 @@ function ChromecastSenderVideo(options) {
|
|
|
39
39
|
deviceNameContainerElement.appendChild(deviceNameLabelElement);
|
|
40
40
|
containerElement.appendChild(deviceNameContainerElement);
|
|
41
41
|
chromecastTransport.on('message', onMessage);
|
|
42
|
+
chromecastTransport.on('message-error', onMessageReceivedError);
|
|
42
43
|
|
|
43
44
|
var events = new EventEmitter();
|
|
44
45
|
var destroyed = false;
|
|
@@ -71,33 +72,25 @@ function ChromecastSenderVideo(options) {
|
|
|
71
72
|
extraSubtitlesOutlineColor: false
|
|
72
73
|
};
|
|
73
74
|
|
|
74
|
-
function
|
|
75
|
+
function onMessageSendError(error, action) {
|
|
75
76
|
events.emit('error', Object.assign({}, ERROR.CHROMECAST_SENDER_VIDEO.MESSAGE_SEND_FAILED, {
|
|
76
77
|
error: error,
|
|
77
78
|
action: action
|
|
78
79
|
}));
|
|
79
80
|
}
|
|
81
|
+
function onMessageReceivedError(error) {
|
|
82
|
+
events.emit('error', Object.assign({}, ERROR.CHROMECAST_SENDER_VIDEO.INVALID_MESSAGE_RECEIVED, {
|
|
83
|
+
error: error
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
80
86
|
function onMessage(message) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
parsedMessage = JSON.parse(message);
|
|
84
|
-
} catch (error) {
|
|
85
|
-
events.emit('error', Object.assign({}, ERROR.CHROMECAST_SENDER_VIDEO.INVALID_MESSAGE_RECEIVED, {
|
|
86
|
-
error: error,
|
|
87
|
-
args: message
|
|
88
|
-
}));
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
if (!parsedMessage || typeof parsedMessage.event !== 'string') {
|
|
93
|
-
events.emit('error', Object.assign({}, ERROR.CHROMECAST_SENDER_VIDEO.INVALID_MESSAGE_RECEIVED, {
|
|
94
|
-
args: message
|
|
95
|
-
}));
|
|
87
|
+
if (!message || typeof message.event !== 'string') {
|
|
88
|
+
onMessageReceivedError(new Error('Invalid message: ' + message));
|
|
96
89
|
return;
|
|
97
90
|
}
|
|
98
91
|
|
|
99
|
-
var args = Array.isArray(
|
|
100
|
-
events.emit.apply(events, [
|
|
92
|
+
var args = Array.isArray(message.args) ? message.args : [];
|
|
93
|
+
events.emit.apply(events, [message.event].concat(args));
|
|
101
94
|
}
|
|
102
95
|
function onPropChanged(propName, propValue) {
|
|
103
96
|
if (observedProps[propName]) {
|
|
@@ -164,20 +157,20 @@ function ChromecastSenderVideo(options) {
|
|
|
164
157
|
case 'observeProp': {
|
|
165
158
|
observeProp(action.propName);
|
|
166
159
|
chromecastTransport.sendMessage(action).catch(function(error) {
|
|
167
|
-
|
|
160
|
+
onMessageSendError(error, action);
|
|
168
161
|
});
|
|
169
162
|
return;
|
|
170
163
|
}
|
|
171
164
|
case 'setProp': {
|
|
172
165
|
chromecastTransport.sendMessage(action).catch(function(error) {
|
|
173
|
-
|
|
166
|
+
onMessageSendError(error, action);
|
|
174
167
|
});
|
|
175
168
|
return;
|
|
176
169
|
}
|
|
177
170
|
case 'command': {
|
|
178
171
|
command(action.commandName, action.commandArgs);
|
|
179
172
|
chromecastTransport.sendMessage(action).catch(function(error) {
|
|
180
|
-
|
|
173
|
+
onMessageSendError(error, action);
|
|
181
174
|
});
|
|
182
175
|
return;
|
|
183
176
|
}
|