@micromag/element-video 0.3.586 → 0.3.587

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.
Files changed (2) hide show
  1. package/es/index.js +53 -53
  2. package/package.json +2 -2
package/es/index.js CHANGED
@@ -64,7 +64,7 @@ var defaultProps = {
64
64
  playsInline: true,
65
65
  preload: 'auto',
66
66
  disablePictureInPicture: true,
67
- disableHls: false,
67
+ disableHls: true,
68
68
  shouldLoad: true,
69
69
  withoutCors: false,
70
70
  className: null,
@@ -196,60 +196,60 @@ var Video = function Video(_ref) {
196
196
  useEffect(function () {
197
197
  setHlsTsOffset(0);
198
198
  setHlsFailed(false);
199
- if (shouldLoad && _ref16.current !== null && hlsSources !== null && hlsSources.length > 0) {
200
- var hls = new Hls({
201
- maxBufferLength: 15,
202
- // seconds. prevents loading too much per screen.
203
- startLevel: qualityStartLevel !== null ? qualityStartLevel : -1
204
- });
205
- hls.on(Hls.Events.LEVEL_SWITCHED, function (_, _ref5) {
206
- var level = _ref5.level;
207
- if (onQualityLevelChange !== null) {
208
- onQualityLevelChange(level, _ref16.current);
209
- }
210
- });
211
- hls.on(Hls.Events.ERROR, function (_, _ref6) {
212
- var isFatal = _ref6.fatal,
213
- errorType = _ref6.type;
214
- if (isFatal) {
215
- switch (errorType) {
216
- case Hls.ErrorTypes.MEDIA_ERROR:
217
- // automatically try to recover from media errors
218
- hls.recoverMediaError();
219
- break;
220
- case Hls.ErrorTypes.NETWORK_ERROR:
221
- // happens when all retries and media options have been exhausted. in that case, fallback to mp4/webm playback
222
- setHlsJs(null);
223
- setHlsFailed(true);
224
- break;
225
- }
226
- }
227
- });
228
-
229
- // compute hls timestamp offset when we get the first video fragment
230
- var _onHlsBufferAppended = function onHlsBufferAppended(_, _ref7) {
231
- var frag = _ref7.frag;
232
- var fragStart = frag.start,
233
- fragType = frag.type,
234
- _frag$sn = frag.sn,
235
- fragSn = _frag$sn === void 0 ? null : _frag$sn,
236
- _frag$elementaryStrea = frag.elementaryStreams.video,
237
- videoStream = _frag$elementaryStrea === void 0 ? null : _frag$elementaryStrea;
238
- var _ref8 = videoStream || {},
239
- _ref8$startPTS = _ref8.startPTS,
240
- videoStartPTS = _ref8$startPTS === void 0 ? null : _ref8$startPTS;
241
- if (fragType === 'main' && fragSn !== 'initSegment' && videoStartPTS !== null) {
242
- var tOffset = videoStartPTS - fragStart;
243
- hls.off(Hls.Events.BUFFER_APPENDED, _onHlsBufferAppended);
244
- setHlsTsOffset(tOffset);
245
- }
246
- };
247
- hls.on(Hls.Events.BUFFER_APPENDED, _onHlsBufferAppended);
248
- hls.loadSource(hlsSources[0].url);
249
- setHlsJs(hls);
250
- } else {
199
+ if (!shouldLoad || _ref16.current === null || hlsSources === null || hlsSources.length === 0) {
251
200
  setHlsJs(null);
201
+ return;
252
202
  }
203
+ var hls = new Hls({
204
+ maxBufferLength: 15,
205
+ // seconds. prevents loading too much per screen.
206
+ startLevel: qualityStartLevel !== null ? qualityStartLevel : -1
207
+ });
208
+ hls.on(Hls.Events.LEVEL_SWITCHED, function (_, _ref5) {
209
+ var level = _ref5.level;
210
+ if (onQualityLevelChange !== null) {
211
+ onQualityLevelChange(level, _ref16.current);
212
+ }
213
+ });
214
+ hls.on(Hls.Events.ERROR, function (_, _ref6) {
215
+ var isFatal = _ref6.fatal,
216
+ errorType = _ref6.type;
217
+ if (isFatal) {
218
+ switch (errorType) {
219
+ case Hls.ErrorTypes.MEDIA_ERROR:
220
+ // automatically try to recover from media errors
221
+ hls.recoverMediaError();
222
+ break;
223
+ case Hls.ErrorTypes.NETWORK_ERROR:
224
+ // happens when all retries and media options have been exhausted. in that case, fallback to mp4/webm playback
225
+ setHlsJs(null);
226
+ setHlsFailed(true);
227
+ break;
228
+ }
229
+ }
230
+ });
231
+
232
+ // compute hls timestamp offset when we get the first video fragment
233
+ var _onHlsBufferAppended = function onHlsBufferAppended(_, _ref7) {
234
+ var frag = _ref7.frag;
235
+ var fragStart = frag.start,
236
+ fragType = frag.type,
237
+ _frag$sn = frag.sn,
238
+ fragSn = _frag$sn === void 0 ? null : _frag$sn,
239
+ _frag$elementaryStrea = frag.elementaryStreams.video,
240
+ videoStream = _frag$elementaryStrea === void 0 ? null : _frag$elementaryStrea;
241
+ var _ref8 = videoStream || {},
242
+ _ref8$startPTS = _ref8.startPTS,
243
+ videoStartPTS = _ref8$startPTS === void 0 ? null : _ref8$startPTS;
244
+ if (fragType === 'main' && fragSn !== 'initSegment' && videoStartPTS !== null) {
245
+ var tOffset = videoStartPTS - fragStart;
246
+ hls.off(Hls.Events.BUFFER_APPENDED, _onHlsBufferAppended);
247
+ setHlsTsOffset(tOffset);
248
+ }
249
+ };
250
+ hls.on(Hls.Events.BUFFER_APPENDED, _onHlsBufferAppended);
251
+ hls.loadSource(hlsSources[0].url);
252
+ setHlsJs(hls);
253
253
  }, [shouldLoad, hlsSources, _ref16]);
254
254
 
255
255
  // attach hls.js when the <video> ref is ready
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/element-video",
3
- "version": "0.3.586",
3
+ "version": "0.3.587",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "keywords": [
@@ -72,5 +72,5 @@
72
72
  "access": "public",
73
73
  "registry": "https://registry.npmjs.org/"
74
74
  },
75
- "gitHead": "01ad8835ef5788321e2c2a0f2d6400731de0fe45"
75
+ "gitHead": "40d2d37e166b6677fc19aaf4aefaadb768b0fd4f"
76
76
  }