@nativescript/canvas-media 2.0.32 → 2.1.1
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/VideoFrame/index.ios.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../packages/canvas-media/VideoFrame/index.ios.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAgJ,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEjP,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;AAMvD,MAAM,OAAO,UAAW,SAAQ,cAAc;IAG7C,YAAY,MAAW,EAAE,IAAU;QAClC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAuB,CAAC,CAAC;YAC/B,OAAO;QACR,CAAC;QAED,IAAI,MAAM,YAAY,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACjE,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,IAA4B,CAAC,CAAC,CAAC;YACxE,OAAO;QACR,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAsB,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAW,EAAE,IAAqB;QAClD,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,UAAU,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3D,0EAA0E;YAC1E,oEAAoE;YACpE,oEAAoE;YACpE,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YACjC,OAAO,IAAI,UAAU,CAAC,SAAgB,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YACnB,IAAI,
|
|
1
|
+
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../packages/canvas-media/VideoFrame/index.ios.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAgJ,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEjP,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;AAMvD,MAAM,OAAO,UAAW,SAAQ,cAAc;IAG7C,YAAY,MAAW,EAAE,IAAU;QAClC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAuB,CAAC,CAAC;YAC/B,OAAO;QACR,CAAC;QAED,IAAI,MAAM,YAAY,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACjE,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,IAA4B,CAAC,CAAC,CAAC;YACxE,OAAO;QACR,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAsB,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAW,EAAE,IAAqB;QAClD,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,UAAU,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3D,0EAA0E;YAC1E,oEAAoE;YACpE,oEAAoE;YACpE,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YACjC,OAAO,IAAI,UAAU,CAAC,SAAgB,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YACnB,IAAI,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,MAAqC,EAAE,IAA0B;QAC/F,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAE,MAA0B,CAAC,MAAM,EAAG,MAA0B,CAAC,UAAU,EAAG,MAA0B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAqB,CAAC,CAAC;QAEpN,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QAE3G,OAAO;YACN,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU;YAClD,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW;YACrD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;YAC/B,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,MAAW,EAAE,IAAqB;QACrE,MAAM,KAAK,GAAG,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC;QACvC,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC;QAE7B,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,SAAS,CAAC,kFAAkF,CAAC,CAAC;QACzG,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,IAAI,YAAY,CAAC,0EAA0E,EAAE,mBAAmB,CAAC,CAAC;QACzH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,IAAI,YAAY,CAAC,yFAAyF,EAAE,mBAAmB,CAAC,CAAC;QACxI,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,IAAI,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAE,MAAM,CAAC,WAAsB,GAAG,OAAS,CAAC,CAAC;QAElI,MAAM,SAAS,GAA2B,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAE3H,IAAI,SAAS,GAAsB,IAAI,CAAC;QACxC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAE9C,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAI,EAAE,QAAmB,IAAI,CAAC,CAAC,CAAC;YACjF,WAAW,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAI,EAAE,QAAmB,IAAI,CAAC,CAAC,CAAC;YAElF,IAAI,MAAM,IAAI,UAAU,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACjD,SAAS,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5D,CAAC;QACF,CAAC;QAED,IAAI,UAAU,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;YAC9B,UAAU,GAAG,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,KAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,WAAW,GAAG,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,MAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO;YACN,SAAS;YACT,UAAU;YACV,WAAW;YACX,YAAY,EAAE,IAAI,EAAE,YAAY,IAAI,UAAU;YAC9C,aAAa,EAAE,IAAI,EAAE,aAAa,IAAI,WAAW;YACjD,SAAS,EAAE,WAAW;YACtB,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,IAAI;YAChC,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,IAAI,EAAE,UAAU;SAC5B,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,IAA0B;QAC1D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,SAAS,CAAC,gEAAgE,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,SAAS,CAAC,yDAAyD,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,OAAO,IAAI,EAAE,SAAS,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,SAAS,CAAC,mEAAmE,CAAC,CAAC;QAC1F,CAAC;IACF,CAAC;IAES,QAAQ;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,MAAM,IAAI,GAAoB;YAC7B,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAA0B;YACvC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;SACpC,CAAC;QACF,OAAO,IAAI,UAAU,CAAC,SAAgB,EAAE,IAAW,CAAC,CAAC;IACtD,CAAC;CACD"}
|
package/package.json
CHANGED
|
@@ -8,6 +8,24 @@
|
|
|
8
8
|
#endif
|
|
9
9
|
#import "NSCAudioView.h"
|
|
10
10
|
|
|
11
|
+
// visionOS removed the synchronous -tracksWithMediaType:. Bridge to the async loader.
|
|
12
|
+
// Call sites here use already-loaded assets and are wrapped in @try/@catch; the async
|
|
13
|
+
// completion is delivered on a background queue, so the semaphore wait does not deadlock.
|
|
14
|
+
static NSArray<AVAssetTrack *> *NSCTracksWithMediaType(AVAsset *asset, AVMediaType mediaType) {
|
|
15
|
+
#if TARGET_OS_VISION
|
|
16
|
+
__block NSArray<AVAssetTrack *> *result = nil;
|
|
17
|
+
dispatch_semaphore_t sem = dispatch_semaphore_create(0);
|
|
18
|
+
[asset loadTracksWithMediaType:mediaType completionHandler:^(NSArray<AVAssetTrack *> * _Nullable tracks, NSError * _Nullable error) {
|
|
19
|
+
result = tracks;
|
|
20
|
+
dispatch_semaphore_signal(sem);
|
|
21
|
+
}];
|
|
22
|
+
dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER);
|
|
23
|
+
return result;
|
|
24
|
+
#else
|
|
25
|
+
return [asset tracksWithMediaType:mediaType];
|
|
26
|
+
#endif
|
|
27
|
+
}
|
|
28
|
+
|
|
11
29
|
@implementation NSCAudioHelper {
|
|
12
30
|
AVPlayer *_playerInternal;
|
|
13
31
|
AVPlayerItem *_currentItemInternal;
|
|
@@ -311,7 +329,7 @@
|
|
|
311
329
|
}
|
|
312
330
|
|
|
313
331
|
@try {
|
|
314
|
-
NSArray<AVAssetTrack *> *tracks =
|
|
332
|
+
NSArray<AVAssetTrack *> *tracks = NSCTracksWithMediaType(asset, AVMediaTypeAudio);
|
|
315
333
|
for (AVAssetTrack *track in tracks) {
|
|
316
334
|
CMTimeRange tr = track.timeRange;
|
|
317
335
|
CMTime td = tr.duration;
|
|
@@ -321,7 +339,7 @@
|
|
|
321
339
|
return YES;
|
|
322
340
|
}
|
|
323
341
|
}
|
|
324
|
-
tracks =
|
|
342
|
+
tracks = NSCTracksWithMediaType(asset, AVMediaTypeVideo);
|
|
325
343
|
for (AVAssetTrack *track in tracks) {
|
|
326
344
|
CMTimeRange tr = track.timeRange;
|
|
327
345
|
CMTime td = tr.duration;
|
|
@@ -382,7 +400,7 @@
|
|
|
382
400
|
|
|
383
401
|
double bitrate = 0.0;
|
|
384
402
|
@try {
|
|
385
|
-
NSArray *tracks =
|
|
403
|
+
NSArray *tracks = NSCTracksWithMediaType(asset, AVMediaTypeAudio);
|
|
386
404
|
if (tracks.count > 0) {
|
|
387
405
|
AVAssetTrack *track = [tracks objectAtIndex:0];
|
|
388
406
|
bitrate = track.estimatedDataRate;
|
|
@@ -10,6 +10,25 @@
|
|
|
10
10
|
#endif
|
|
11
11
|
#import "NSCVideoHelper+Internal.h"
|
|
12
12
|
|
|
13
|
+
// visionOS removed the synchronous -tracksWithMediaType:. Bridge to the async loader.
|
|
14
|
+
// Callers below have already run -loadValuesAsynchronouslyForKeys: including @"tracks",
|
|
15
|
+
// so the tracks are loaded and this returns immediately. The async completion is
|
|
16
|
+
// delivered on a background queue, so the semaphore wait is safe even on the main thread.
|
|
17
|
+
static NSArray<AVAssetTrack *> *NSCTracksWithMediaType(AVAsset *asset, AVMediaType mediaType) {
|
|
18
|
+
#if TARGET_OS_VISION
|
|
19
|
+
__block NSArray<AVAssetTrack *> *result = nil;
|
|
20
|
+
dispatch_semaphore_t sem = dispatch_semaphore_create(0);
|
|
21
|
+
[asset loadTracksWithMediaType:mediaType completionHandler:^(NSArray<AVAssetTrack *> * _Nullable tracks, NSError * _Nullable error) {
|
|
22
|
+
result = tracks;
|
|
23
|
+
dispatch_semaphore_signal(sem);
|
|
24
|
+
}];
|
|
25
|
+
dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER);
|
|
26
|
+
return result;
|
|
27
|
+
#else
|
|
28
|
+
return [asset tracksWithMediaType:mediaType];
|
|
29
|
+
#endif
|
|
30
|
+
}
|
|
31
|
+
|
|
13
32
|
@implementation NSCVideoHelper {
|
|
14
33
|
BOOL _canPlayFired;
|
|
15
34
|
BOOL _canPlayThroughFired;
|
|
@@ -84,7 +103,7 @@
|
|
|
84
103
|
__strong typeof(weakSelf) strongSelf = weakSelf;
|
|
85
104
|
if (!strongSelf) return;
|
|
86
105
|
|
|
87
|
-
AVAssetTrack *videoTrack = [
|
|
106
|
+
AVAssetTrack *videoTrack = [NSCTracksWithMediaType(strongSelf.asset, AVMediaTypeVideo) firstObject];
|
|
88
107
|
strongSelf->_videoSize = videoTrack ? videoTrack.naturalSize : CGSizeZero;
|
|
89
108
|
|
|
90
109
|
float fps = (videoTrack && videoTrack.nominalFrameRate > 0) ? videoTrack.nominalFrameRate : 30.0f;
|
|
@@ -160,7 +179,7 @@
|
|
|
160
179
|
|
|
161
180
|
if ([keyPath isEqualToString:@"status"]) {
|
|
162
181
|
if (self.player.currentItem.status == AVPlayerItemStatusReadyToPlay) {
|
|
163
|
-
self->_videoSize = [
|
|
182
|
+
self->_videoSize = [NSCTracksWithMediaType(self.asset, AVMediaTypeVideo) firstObject].naturalSize;
|
|
164
183
|
[self.player.currentItem addOutput:self.assetOutput];
|
|
165
184
|
self.readyState = NSCPlayerReadyStateHaveCurrentData;
|
|
166
185
|
}
|