@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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stremio/stremio-video",
3
- "version": "0.0.20-rc.3",
3
+ "version": "0.0.20-rc.4",
4
4
  "description": "Abstraction layer on top of different media players",
5
5
  "author": "Smart Code OOD",
6
6
  "main": "src/index.js",
@@ -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 onTransportError(error, action) {
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
- var parsedMessage;
82
- try {
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(parsedMessage.args) ? parsedMessage.args : [];
100
- events.emit.apply(events, [parsedMessage.event].concat(args));
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
- onTransportError(error, action);
160
+ onMessageSendError(error, action);
168
161
  });
169
162
  return;
170
163
  }
171
164
  case 'setProp': {
172
165
  chromecastTransport.sendMessage(action).catch(function(error) {
173
- onTransportError(error, action);
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
- onTransportError(error, action);
173
+ onMessageSendError(error, action);
181
174
  });
182
175
  return;
183
176
  }