@nativescript/canvas-media 2.0.0-webgpu.9 → 2.0.0

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.
@@ -1,114 +1,76 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
- };
6
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
7
- if (kind === "m") throw new TypeError("Private method is not writable");
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
10
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
- };
12
- var _Video_videoCtrl, _Video_player, _Video_sourceView, _Video_protocols, _Video_src, _Video_muted, _Video_controls;
13
- import { controlsProperty, VideoBase, playsinlineProperty, currentTimeProperty } from './common';
14
- import { Source } from '../common';
1
+ import { VideoBase } from './common';
2
+ import { Source } from '../source';
3
+ import { controlsProperty, playsinlineProperty, autoplayProperty } from '../common';
15
4
  import { knownFolders, path } from '@nativescript/core';
16
- var NativeObject = /** @class */ (function (_super) {
17
- __extends(NativeObject, _super);
18
- function NativeObject() {
5
+ var NSCVideoHelperListenerImpl = (function (_super) {
6
+ __extends(NSCVideoHelperListenerImpl, _super);
7
+ function NSCVideoHelperListenerImpl() {
19
8
  return _super !== null && _super.apply(this, arguments) || this;
20
9
  }
21
- NativeObject.initWithOwner = function (owner) {
22
- var obj = NativeObject.alloc().init();
10
+ NSCVideoHelperListenerImpl_1 = NSCVideoHelperListenerImpl;
11
+ NSCVideoHelperListenerImpl.initWithOwner = function (owner) {
12
+ var obj = NSCVideoHelperListenerImpl_1.alloc().init();
23
13
  obj._owner = owner;
24
14
  return obj;
25
15
  };
26
- NativeObject.prototype.observeValueForKeyPathOfObjectChangeContext = function (path, obj, change, context) {
27
- var _a, _b;
28
- if (path === 'status') {
29
- var owner = this._owner.get();
30
- if (owner) {
31
- if (owner._player.currentItem.status === AVPlayerItemStatus.Failed) {
32
- var baseError = owner._player.currentItem.error.userInfo.objectForKey(NSUnderlyingErrorKey);
33
- var error = new Error();
34
- /*error: {
35
- code: baseError.code,
36
- domain: baseError.domain
37
- },
38
- stack: error.stack
39
-
40
- */
41
- }
42
- else if (owner._player.currentItem.status === AVPlayerItemStatus.ReadyToPlay) {
43
- if (!owner._videoSize) {
44
- owner._videoSize = (_b = (_a = owner._asset.tracksWithMediaType(AVMediaTypeVideo)) === null || _a === void 0 ? void 0 : _a.objectAtIndex(0).naturalSize) !== null && _b !== void 0 ? _b : undefined;
45
- }
16
+ NSCVideoHelperListenerImpl.prototype.onStateChange = function (state) {
17
+ var owner = this._owner.deref();
18
+ if (owner) {
19
+ if (state === 1) {
20
+ if (owner._playResolve) {
21
+ owner._playResolve();
22
+ owner._playResolve = null;
23
+ owner._playReject = null;
24
+ owner._playPromise = null;
46
25
  }
26
+ owner._notifyListener(Video.playingEvent);
47
27
  }
48
28
  }
49
- else if (path === 'loadedTimeRanges') {
50
- var playerItem = obj;
51
- if (playerItem) {
52
- var ranges = playerItem.loadedTimeRanges;
53
- var first = ranges === null || ranges === void 0 ? void 0 : ranges.firstObject;
54
- if (first) {
55
- var loaded = first.CMTimeRangeValue.duration.value / first.CMTimeRangeValue.duration.timescale;
56
- var total = playerItem.duration.value / playerItem.duration.timescale;
57
- // console.log('loaded', loaded / total);
58
- }
59
- }
29
+ };
30
+ NSCVideoHelperListenerImpl.prototype.onTimeUpdate = function (time) {
31
+ var owner = this._owner.deref();
32
+ if (owner) {
33
+ owner._notifyListener(Video.timeupdateEvent);
60
34
  }
61
35
  };
62
- NativeObject.prototype.dealloc = function () {
63
- // using this to clean up listeners
64
- var owner = this._owner.get();
36
+ NSCVideoHelperListenerImpl.prototype.onVideoFrameCallback = function () {
37
+ var owner = this._owner.deref();
65
38
  if (owner) {
66
- if (owner._playEndNotificationId) {
67
- NSNotificationCenter.defaultCenter.removeObserver(owner._playEndNotificationId);
68
- owner._playEndNotificationId = undefined;
69
- NSNotificationCenter.defaultCenter.removeObserver(owner._resumeListenerId);
70
- owner._resumeListenerId = undefined;
71
- NSNotificationCenter.defaultCenter.removeObserver(owner._suspendListenerId);
72
- owner._suspendListenerId = undefined;
73
- owner._destroy();
74
- }
39
+ owner._notifyVideoFrameCallbacks();
40
+ }
41
+ };
42
+ NSCVideoHelperListenerImpl.prototype.onLoadedData = function () {
43
+ var owner = this._owner.deref();
44
+ if (owner) {
45
+ owner._notifyListener(Video.loadeddataEvent);
75
46
  }
76
47
  };
77
- return NativeObject;
48
+ var NSCVideoHelperListenerImpl_1;
49
+ NSCVideoHelperListenerImpl = NSCVideoHelperListenerImpl_1 = __decorate([
50
+ ObjCClass(NSCVideoHelperListener)
51
+ ], NSCVideoHelperListenerImpl);
52
+ return NSCVideoHelperListenerImpl;
78
53
  }(NSObject));
79
54
  export class Video extends VideoBase {
80
55
  get _player() {
81
- return __classPrivateFieldGet(this, _Video_player, "f");
56
+ return this.helper.player;
82
57
  }
83
58
  constructor() {
84
59
  super();
85
- _Video_videoCtrl.set(this, void 0);
86
- _Video_player.set(this, void 0);
87
- _Video_sourceView.set(this, void 0);
88
- _Video_protocols.set(this, void 0);
89
60
  this._isCustom = false;
90
- this._readyState = 0;
91
61
  this._isInForground = true;
92
- this._isPlaying = false;
93
- _Video_src.set(this, void 0);
94
- _Video_muted.set(this, void 0);
95
- _Video_controls.set(this, void 0);
96
- __classPrivateFieldSet(this, _Video_videoCtrl, AVPlayerViewController.new(), "f");
62
+ this._playPromise = null;
63
+ this._playResolve = null;
64
+ this._playReject = null;
65
+ this.helper = NSCVideoHelper.new();
97
66
  try {
98
67
  AVAudioSession.sharedInstance().setCategoryError(AVAudioSessionCategoryPlayback);
99
68
  }
100
69
  catch (e) { }
101
- __classPrivateFieldSet(this, _Video_player, AVPlayer.new(), "f");
102
- __classPrivateFieldGet(this, _Video_videoCtrl, "f").player = __classPrivateFieldGet(this, _Video_player, "f");
103
- __classPrivateFieldSet(this, _Video_sourceView, [], "f");
104
- __classPrivateFieldSet(this, _Video_protocols, NativeObject.initWithOwner(new WeakRef(this)), "f");
105
- this.setNativeView(__classPrivateFieldGet(this, _Video_videoCtrl, "f").view);
106
- this._suspendListenerId = NSNotificationCenter.defaultCenter.addObserverForNameObjectQueueUsingBlock(UIApplicationDidEnterBackgroundNotification, null, null, (noti) => {
107
- this._isInForground = false;
108
- });
109
- this._resumeListenerId = NSNotificationCenter.defaultCenter.addObserverForNameObjectQueueUsingBlock(UIApplicationDidBecomeActiveNotification, null, null, (noti) => {
110
- this._isInForground = true;
111
- });
70
+ this._sourceView = [];
71
+ this.listener = NSCVideoHelperListenerImpl.initWithOwner(new WeakRef(this));
72
+ this.helper.listener = this.listener;
73
+ this.setNativeView(this.helper.controller.view);
112
74
  }
113
75
  static createCustomView() {
114
76
  const video = new Video();
@@ -119,196 +81,254 @@ export class Video extends VideoBase {
119
81
  }
120
82
  //@ts-ignore
121
83
  get readyState() {
122
- return this._readyState;
84
+ return this.helper.readyState;
123
85
  }
124
86
  getCurrentFrame(context) {
125
- if (!this._isInForground) {
87
+ //@ts-ignore
88
+ const flipY = context?.__flipY ?? false;
89
+ if (!this.helper.isInForeground) {
90
+ return;
91
+ }
92
+ if (this.helper.assetOutput) {
93
+ try {
94
+ if (!this._renderer) {
95
+ this._renderer = NSCRender.alloc().init();
96
+ }
97
+ this._renderer.drawFrame(this.helper.player, this.helper.assetOutput, this.helper.videoSize, arguments[4], arguments[5], flipY);
98
+ // NSCCanvasUtils.drawFrame(this.helper.player, this.helper.assetOutput, this.helper.videoSize, arguments[4], arguments[5], flipY);
99
+ }
100
+ catch (e) {
101
+ console.error('getCurrentFrame error:', e);
102
+ }
103
+ }
104
+ }
105
+ getFrameForTexImage3D(nativeCtx, ctx, target, level, internalformat, width, height, depth, border, format, type) {
106
+ //@ts-ignore
107
+ const flipY = nativeCtx?.__flipY ?? false;
108
+ if (!this.helper.isInForeground) {
126
109
  return;
127
110
  }
128
- if (this._assetOutput) {
111
+ if (this.helper.assetOutput && this.helper.player) {
112
+ if (!this._renderer) {
113
+ this._renderer = NSCRender.alloc().init();
114
+ }
115
+ try {
116
+ //@ts-ignore
117
+ this._renderer.drawFrameTexImage3D(this.helper.player, this.helper.assetOutput, this.helper.videoSize, target, level, internalformat, width, height, depth, border, format, type, flipY);
118
+ return;
119
+ }
120
+ catch (e) {
121
+ console.error('getFrameForTexImage3D error:', e);
122
+ }
123
+ // Simulator / CPU fallback: read raw BGRA pixel data and upload via texImage3D
129
124
  try {
130
- if (!this._render) {
131
- this._render = Utils.setupRender();
132
- this._render.createSurface();
125
+ const frameData = NSCRender.getVideoFrameData(this.helper.player, this.helper.assetOutput, this.helper.videoSize);
126
+ if (frameData) {
127
+ const nsData = frameData.objectForKey('data');
128
+ const fw = frameData.objectForKey('width').intValue;
129
+ const fh = frameData.objectForKey('height').intValue;
130
+ if (nsData && fw > 0 && fh > 0) {
131
+ const pixels = new Uint8Array(interop.bufferFromData(nsData));
132
+ // NSCRender returns BGRA; swap B↔R to get RGBA
133
+ for (let i = 0; i < pixels.length; i += 4) {
134
+ const b = pixels[i];
135
+ pixels[i] = pixels[i + 2];
136
+ pixels[i + 2] = b;
137
+ }
138
+ ctx.native.texImage3D(target, level, internalformat, fw, fh, depth, border, format, type, pixels);
139
+ }
133
140
  }
134
- Utils.drawFrame(__classPrivateFieldGet(this, _Video_player, "f"), this._assetOutput, this._videoSize, this._render, arguments[4], arguments[5], false);
141
+ }
142
+ catch (fe) {
143
+ console.error('getFrameForTexImage3D fallback error:', fe);
144
+ }
145
+ }
146
+ }
147
+ getFrameForTexSubImage3D(nativeCtx, ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type) {
148
+ //@ts-ignore
149
+ const flipY = nativeCtx?.__flipY ?? false;
150
+ if (!this.helper.isInForeground) {
151
+ return;
152
+ }
153
+ if (this.helper.assetOutput && this.helper.player) {
154
+ if (!this._renderer) {
155
+ this._renderer = NSCRender.alloc().init();
156
+ }
157
+ try {
158
+ //@ts-ignore
159
+ this._renderer.drawFrameTexSubImage3D(this.helper.player, this.helper.assetOutput, this.helper.videoSize, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, flipY);
160
+ return;
135
161
  }
136
162
  catch (e) {
137
- if (Video.IS_DEBUG) {
138
- console.log('getCurrentFrame error:', e);
163
+ console.error('getFrameForTexSubImage3D error:', e);
164
+ }
165
+ // Simulator / CPU fallback: read raw BGRA pixel data and upload via texSubImage3D
166
+ try {
167
+ const frameData = NSCRender.getVideoFrameData(this.helper.player, this.helper.assetOutput, this.helper.videoSize);
168
+ if (frameData) {
169
+ const nsData = frameData.objectForKey('data');
170
+ const fw = frameData.objectForKey('width').intValue;
171
+ const fh = frameData.objectForKey('height').intValue;
172
+ if (nsData && fw > 0 && fh > 0) {
173
+ const pixels = new Uint8Array(interop.bufferFromData(nsData));
174
+ // NSCRender returns BGRA; swap B↔R to get RGBA
175
+ for (let i = 0; i < pixels.length; i += 4) {
176
+ const b = pixels[i];
177
+ pixels[i] = pixels[i + 2];
178
+ pixels[i + 2] = b;
179
+ }
180
+ ctx.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, fw, fh, depth, format, type, pixels);
181
+ }
139
182
  }
140
183
  }
184
+ catch (fe) {
185
+ console.error('getFrameForTexSubImage3D fallback error:', fe);
186
+ }
141
187
  }
142
188
  }
189
+ drawImageFrame(context2d, args) {
190
+ if (!this.helper.isInForeground) {
191
+ return;
192
+ }
193
+ if (this.helper.assetOutput && this.helper.player) {
194
+ try {
195
+ const ptr = context2d.context.__getPointer();
196
+ let dirty = false;
197
+ if (args.length === 3) {
198
+ dirty = NSCRender.drawVideoFrame(this.helper.player, this.helper.assetOutput, this.helper.videoSize, ptr, args[1], args[2]);
199
+ }
200
+ else if (args.length === 5) {
201
+ dirty = NSCRender.drawVideoFrame(this.helper.player, this.helper.assetOutput, this.helper.videoSize, ptr, args[1], args[2], args[3], args[4]);
202
+ }
203
+ else if (args.length === 9) {
204
+ dirty = NSCRender.drawVideoFrame(this.helper.player, this.helper.assetOutput, this.helper.videoSize, ptr, args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]);
205
+ }
206
+ if (dirty) {
207
+ context2d.context.__makeDirty();
208
+ }
209
+ }
210
+ catch (e) {
211
+ console.error('drawImageFrame error:', e);
212
+ }
213
+ }
214
+ }
215
+ getVideoFrameData() {
216
+ if (!this.helper.isInForeground) {
217
+ return null;
218
+ }
219
+ if (this.helper.assetOutput && this.helper.player) {
220
+ try {
221
+ return NSCRender.getVideoFrameData(this.helper.player, this.helper.assetOutput, this.helper.videoSize);
222
+ }
223
+ catch (e) {
224
+ console.error('getVideoFrameData error:', e);
225
+ return null;
226
+ }
227
+ }
228
+ return null;
229
+ }
143
230
  createNativeView() {
144
231
  const ctrl = this.topViewController;
145
232
  if (ctrl) {
146
- ctrl.addChildViewController(__classPrivateFieldGet(this, _Video_videoCtrl, "f"));
147
- __classPrivateFieldGet(this, _Video_videoCtrl, "f").didMoveToParentViewController(ctrl);
233
+ ctrl.addChildViewController(this.helper.controller);
234
+ this.helper.controller.didMoveToParentViewController(ctrl);
148
235
  }
149
- return __classPrivateFieldGet(this, _Video_videoCtrl, "f").view;
236
+ return this.helper.controller.view;
150
237
  }
151
238
  initNativeView() {
152
239
  super.initNativeView();
153
- __classPrivateFieldGet(this, _Video_videoCtrl, "f").showsPlaybackControls = this.controls;
154
- __classPrivateFieldGet(this, _Video_videoCtrl, "f").entersFullScreenWhenPlaybackBegins = !this.playsinline;
155
- __classPrivateFieldGet(this, _Video_player, "f").muted = this.muted;
156
240
  }
157
- [(_Video_videoCtrl = new WeakMap(), _Video_player = new WeakMap(), _Video_sourceView = new WeakMap(), _Video_protocols = new WeakMap(), _Video_src = new WeakMap(), _Video_muted = new WeakMap(), _Video_controls = new WeakMap(), controlsProperty.setNative)](enable) {
158
- __classPrivateFieldGet(this, _Video_videoCtrl, "f").showsPlaybackControls = enable;
241
+ [controlsProperty.setNative](enable) {
242
+ this.helper.controls = enable;
159
243
  }
160
244
  [playsinlineProperty.setNative](inline) {
161
- __classPrivateFieldGet(this, _Video_videoCtrl, "f").entersFullScreenWhenPlaybackBegins = !inline;
245
+ this.helper.playsinline = inline;
246
+ }
247
+ [autoplayProperty.setNative](autoplay) {
248
+ this.helper.autoplay = autoplay;
162
249
  }
163
250
  _addChildFromBuilder(name, value) {
164
251
  if (value instanceof Source) {
165
- __classPrivateFieldGet(this, _Video_sourceView, "f").push(value);
252
+ this._sourceView.push(value);
166
253
  }
167
254
  }
168
255
  onLoaded() {
169
256
  super.onLoaded();
170
- const item = __classPrivateFieldGet(this, _Video_sourceView, "f").filter((item) => {
257
+ const item = this._sourceView.filter((item) => {
171
258
  if (item.type.indexOf('video/webm') === -1) {
172
259
  return item;
173
260
  }
174
261
  })[0];
175
262
  if (item) {
176
- this._loadSrc(item.src);
263
+ this.helper.src = item.src;
177
264
  }
178
265
  }
179
266
  get duration() {
180
- const currentItem = __classPrivateFieldGet(this, _Video_player, "f").currentItem;
181
- if (currentItem) {
182
- return CMTimeGetSeconds(currentItem.asset.duration);
183
- }
184
- return NaN;
267
+ return this.helper.duration;
185
268
  }
186
269
  get currentTime() {
187
- const ct = __classPrivateFieldGet(this, _Video_player, "f").currentTime();
188
- return ct.value / ct.timescale;
270
+ return this.helper.currentTime;
189
271
  }
190
272
  set currentTime(value) {
191
- const time = CMTimeMakeWithSeconds(value, __classPrivateFieldGet(this, _Video_player, "f").currentTime().timescale);
192
- __classPrivateFieldGet(this, _Video_player, "f").seekToTime(time);
273
+ this.helper.currentTime = value;
193
274
  }
194
275
  get muted() {
195
- return __classPrivateFieldGet(this, _Video_muted, "f");
276
+ return this.helper.muted;
196
277
  }
197
278
  set muted(value) {
198
- __classPrivateFieldSet(this, _Video_muted, value, "f");
199
- __classPrivateFieldGet(this, _Video_player, "f").muted = value;
279
+ this.helper.muted = value;
200
280
  }
201
281
  get src() {
202
- return __classPrivateFieldGet(this, _Video_src, "f");
282
+ return this.helper.src;
203
283
  }
204
284
  set src(value) {
205
- if (value !== this._currentUrl) {
206
- __classPrivateFieldSet(this, _Video_src, value, "f");
207
- this._loadSrc(value);
285
+ let src = value;
286
+ if (typeof src === 'string' && src.startsWith('~/')) {
287
+ src = path.join(knownFolders.currentApp().path, src.replace('~', ''));
208
288
  }
289
+ this.helper.src = src;
209
290
  }
210
291
  get controls() {
211
- return __classPrivateFieldGet(this, _Video_controls, "f");
292
+ return this.helper.controls;
212
293
  }
213
294
  set controls(enabled) {
214
- __classPrivateFieldSet(this, _Video_controls, enabled, "f");
215
- __classPrivateFieldGet(this, _Video_videoCtrl, "f").showsPlaybackControls = enabled;
216
- }
217
- _addTimeObserver() {
218
- const _interval = CMTimeMake(1, 1);
219
- this._playbackTimeObserver = __classPrivateFieldGet(this, _Video_player, "f").addPeriodicTimeObserverForIntervalQueueUsingBlock(_interval, null, (currentTime) => {
220
- if (this._isPlaying) {
221
- const _seconds = CMTimeGetSeconds(currentTime);
222
- currentTimeProperty.nativeValueChange(this, _seconds);
223
- this._notifyListener(Video.timeupdateEvent);
224
- }
225
- });
226
- }
227
- _loadSrc(value) {
228
- try {
229
- const src = value;
230
- let url;
231
- if (typeof value === 'string' && value.startsWith('~/')) {
232
- value = path.join(knownFolders.currentApp().path, value.replace('~', ''));
233
- }
234
- if (typeof value === 'string' && value.startsWith('/')) {
235
- url = NSURL.fileURLWithPath(value);
236
- }
237
- if (this._playEndNotificationId) {
238
- NSNotificationCenter.defaultCenter.removeObserver(this._playEndNotificationId);
239
- this._playEndNotificationId = undefined;
240
- }
241
- if (!url) {
242
- url = NSURL.URLWithString(value);
243
- }
244
- this._asset = AVURLAsset.assetWithURL(url);
245
- const keys = ['tracks', 'duration'];
246
- this._asset.loadValuesAsynchronouslyForKeysCompletionHandler(keys, () => {
247
- this._videoSize = this._asset.tracksWithMediaType(AVMediaTypeVideo)?.objectAtIndex(0).naturalSize ?? undefined;
248
- const fps = this._asset.tracks.firstObject?.nominalFrameRate ?? 30;
249
- const _interval = CMTimeMake(1, fps);
250
- this._playbackFramesObserver = __classPrivateFieldGet(this, _Video_player, "f").addPeriodicTimeObserverForIntervalQueueUsingBlock(_interval, null, (currentTime) => {
251
- if (this._isPlaying) {
252
- this._notifyVideoFrameCallbacks();
253
- }
254
- });
255
- this._render?.destroy();
256
- this._render = undefined;
257
- const item = AVPlayerItem.alloc().initWithAsset(this._asset);
258
- const settings = {};
259
- settings[kCVPixelBufferPixelFormatTypeKey] = NSNumber.numberWithUnsignedInt(kCVPixelFormatType_32BGRA);
260
- this._assetOutput = AVPlayerItemVideoOutput.alloc().initWithOutputSettings(settings);
261
- item.addOutput(this._assetOutput);
262
- item.addObserverForKeyPathOptionsContext(__classPrivateFieldGet(this, _Video_protocols, "f"), 'status', 1 /* NSKeyValueObservingOptions.New */, null);
263
- item.addObserverForKeyPathOptionsContext(__classPrivateFieldGet(this, _Video_protocols, "f"), 'loadedTimeRanges', 4 /* NSKeyValueObservingOptions.Initial */ | 1 /* NSKeyValueObservingOptions.New */, null);
264
- this._playEndNotificationId = NSNotificationCenter.defaultCenter.addObserverForNameObjectQueueUsingBlock(AVPlayerItemDidPlayToEndTimeNotification, item, null, (notfi) => {
265
- if (this.loop) {
266
- __classPrivateFieldGet(this, _Video_player, "f").seekToTime(kCMTimeZero);
267
- __classPrivateFieldGet(this, _Video_player, "f").play();
268
- this._isPlaying = true;
269
- this._notifyListener(Video.playingEvent);
270
- }
271
- });
272
- __classPrivateFieldGet(this, _Video_player, "f").replaceCurrentItemWithPlayerItem(item);
273
- this._readyState = Video.HAVE_METADATA;
274
- this._currentUrl = src;
275
- if (this.autoplay) {
276
- this.play();
277
- }
278
- });
279
- }
280
- catch (e) {
281
- console.log('_loadSrc', e);
282
- }
295
+ this.helper.controls = enabled;
283
296
  }
284
297
  play() {
285
- if (this._isPlaying) {
286
- return;
298
+ if (this.helper.state === 1) {
299
+ return Promise.resolve();
300
+ }
301
+ if (this._playPromise) {
302
+ return this._playPromise;
287
303
  }
288
- this._addTimeObserver();
289
- __classPrivateFieldGet(this, _Video_player, "f").play();
290
- this._isPlaying = true;
291
- this._notifyListener(Video.playingEvent);
304
+ this._playPromise = new Promise((resolve, reject) => {
305
+ this._playResolve = resolve;
306
+ this._playReject = reject;
307
+ this.helper.play();
308
+ });
309
+ return this._playPromise;
292
310
  }
293
311
  pause() {
294
- if (!this._isPlaying) {
295
- return;
296
- }
297
- if (this._playbackTimeObserver) {
298
- __classPrivateFieldGet(this, _Video_player, "f").removeTimeObserver(this._playbackTimeObserver);
299
- this._playbackTimeObserver = undefined;
300
- }
301
- /*
302
- if (this._playbackTimeObserver) {
303
- this.#player.removeTimeObserver(this._playbackTimeObserver);
304
- this._playbackTimeObserver = undefined;
305
- }
306
- */
307
- __classPrivateFieldGet(this, _Video_player, "f").pause();
308
- this._isPlaying = false;
312
+ this.helper.pause();
309
313
  }
310
- _destroy() {
311
- __classPrivateFieldGet(this, _Video_player, "f").pause();
314
+ // @ts-ignore
315
+ get loop() {
316
+ return this.helper.isLoop;
317
+ }
318
+ // @ts-ignore
319
+ set loop(value) {
320
+ let loopValue;
321
+ switch (typeof value) {
322
+ case 'string':
323
+ loopValue = value.toLowerCase() === 'true';
324
+ break;
325
+ case 'boolean':
326
+ loopValue = value;
327
+ break;
328
+ default:
329
+ loopValue = Boolean(value);
330
+ }
331
+ this.helper.loop = loopValue;
312
332
  }
313
333
  static get rootViewController() {
314
334
  const keyWindow = UIApplication.sharedApplication.keyWindow;
@@ -1 +1 @@
1
- {"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../packages/canvas-media/video/index.ios.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../packages/canvas-media/video/index.ios.ts"],"names":[],"mappings":"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"}