react-native-skia-webgpu-video 0.1.0-beta.2 → 0.1.0-beta.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.
Files changed (86) hide show
  1. package/LICENSE +0 -1
  2. package/README.md +62 -34
  3. package/android/BUILD_VALIDATION.md +1 -1
  4. package/android/CMakeLists.txt +3 -2
  5. package/android/cpp/ExportHintSession.cpp +114 -0
  6. package/android/cpp/ExportHintSession.h +35 -0
  7. package/android/cpp/VideoComposition.cpp +12 -0
  8. package/android/cpp/VideoCompositionFramesExtractor.cpp +6 -0
  9. package/android/cpp/VideoCompositionFramesExtractor.h +1 -0
  10. package/android/cpp/VideoCompositionFramesExtractorHostObject.cpp +1 -1
  11. package/android/cpp/VideoEncoderHostObject.cpp +76 -101
  12. package/android/cpp/VideoEncoderHostObject.h +14 -9
  13. package/android/cpp/VideoFrame.cpp +3 -5
  14. package/android/cpp/cpp-adapter.cpp +7 -4
  15. package/android/src/main/java/com/azzapp/rnskv/GLFrameExtractor.java +3 -9
  16. package/android/src/main/java/com/azzapp/rnskv/PreviewFrameRateVote.java +104 -0
  17. package/android/src/main/java/com/azzapp/rnskv/VideoComposition.java +4 -0
  18. package/android/src/main/java/com/azzapp/rnskv/VideoCompositionDecoder.java +8 -9
  19. package/android/src/main/java/com/azzapp/rnskv/VideoCompositionFramesExtractor.java +32 -0
  20. package/android/src/main/java/com/azzapp/rnskv/VideoEncoder.java +68 -28
  21. package/docs/FRAME_PIXEL_FORMAT.md +124 -0
  22. package/docs/MIGRATION.md +1 -1
  23. package/docs/UPSTREAM_NOTES.md +15 -2
  24. package/docs/VERIFICATION_0.1.0-beta.3.md +147 -0
  25. package/ios/NativeResourceStats.h +9 -0
  26. package/ios/RNSVColorSpace.h +35 -4
  27. package/ios/ReactNativeSkiaVideo.mm +4 -0
  28. package/ios/VideoComposition.h +20 -0
  29. package/ios/VideoCompositionFramesExtractorHostObject.h +5 -0
  30. package/ios/VideoCompositionFramesExtractorHostObject.mm +31 -2
  31. package/ios/VideoCompositionItemDecoder.mm +21 -8
  32. package/ios/VideoFrame.mm +6 -0
  33. package/lib/module/canvas.js +3 -5
  34. package/lib/module/canvas.js.map +1 -1
  35. package/lib/module/exportFrames.js +25 -20
  36. package/lib/module/exportFrames.js.map +1 -1
  37. package/lib/module/exportTarget.js +183 -40
  38. package/lib/module/exportTarget.js.map +1 -1
  39. package/lib/module/exportVideoComposition.js +53 -12
  40. package/lib/module/exportVideoComposition.js.map +1 -1
  41. package/lib/module/frameInterop.js +15 -12
  42. package/lib/module/frameInterop.js.map +1 -1
  43. package/lib/module/gpu.js +0 -2
  44. package/lib/module/gpu.js.map +1 -1
  45. package/lib/module/gpuDevice.js +12 -0
  46. package/lib/module/gpuDevice.js.map +1 -1
  47. package/lib/module/previewLifecycle.js +0 -1
  48. package/lib/module/previewLifecycle.js.map +1 -1
  49. package/lib/module/videoCompositionPlayer.js +13 -5
  50. package/lib/module/videoCompositionPlayer.js.map +1 -1
  51. package/lib/module/yuvBlit.js +98 -21
  52. package/lib/module/yuvBlit.js.map +1 -1
  53. package/lib/typescript/src/canvas.d.ts.map +1 -1
  54. package/lib/typescript/src/exportFrames.d.ts +11 -10
  55. package/lib/typescript/src/exportFrames.d.ts.map +1 -1
  56. package/lib/typescript/src/exportTarget.d.ts +53 -14
  57. package/lib/typescript/src/exportTarget.d.ts.map +1 -1
  58. package/lib/typescript/src/exportVideoComposition.d.ts +2 -1
  59. package/lib/typescript/src/exportVideoComposition.d.ts.map +1 -1
  60. package/lib/typescript/src/frameInterop.d.ts.map +1 -1
  61. package/lib/typescript/src/gpu.d.ts.map +1 -1
  62. package/lib/typescript/src/gpuDevice.d.ts +5 -1
  63. package/lib/typescript/src/gpuDevice.d.ts.map +1 -1
  64. package/lib/typescript/src/previewLifecycle.d.ts.map +1 -1
  65. package/lib/typescript/src/types.d.ts +36 -5
  66. package/lib/typescript/src/types.d.ts.map +1 -1
  67. package/lib/typescript/src/videoCompositionPlayer.d.ts.map +1 -1
  68. package/lib/typescript/src/yuvBlit.d.ts +26 -14
  69. package/lib/typescript/src/yuvBlit.d.ts.map +1 -1
  70. package/package.json +6 -6
  71. package/patches/react-native-skia+3.7.4.patch +146 -0
  72. package/scripts/skia-canvas-patch.json +22 -258
  73. package/src/canvas.ts +3 -7
  74. package/src/exportFrames.ts +53 -36
  75. package/src/exportTarget.ts +217 -56
  76. package/src/exportVideoComposition.ts +87 -26
  77. package/src/frameInterop.ts +26 -11
  78. package/src/gpu.ts +0 -2
  79. package/src/gpuDevice.ts +26 -1
  80. package/src/previewLifecycle.ts +0 -1
  81. package/src/types.ts +37 -5
  82. package/src/videoCompositionPlayer.ts +14 -4
  83. package/src/yuvBlit.ts +108 -27
  84. package/android/cpp/EncoderTargets.cpp +0 -226
  85. package/android/cpp/EncoderTargets.h +0 -70
  86. package/patches/react-native-skia+3.7.1.patch +0 -502
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","BlendMode","Skia","getVideoCanvas","createNativeVideoGpuFrame","getVideoGpuDevice","lendsPixelBuffers","OS","supportsEncoderTargets","encoder","acquireFrameBuffer","releaseFrameBuffer","closeEncoderTarget","target","encoding","canvas","dispose","surface","accessing","memory","texture","ended","endAccess","state","fences","exported","fence","export","type","Error","push","handle","destroy","frame","release","acquireEncoderTarget","width","height","pointer","pixelFormat","device","importSharedTextureMemory","label","createTexture","format","beginAccess","Surface","MakeFromGPUTexture","error","probeEncoderTarget","failure","drawColor","Color","Clear","flush"],"sourceRoot":"../../src","sources":["exportTarget.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BlendMode","Skia","getVideoCanvas","createNativeVideoGpuFrame","createNativeWindowGpuContext","encoderWindowTextureUsage","getVideoGpuDevice","nativeVideoTextureUsage","frameByteSize","releaseVideoMemory","reserveVideoMemory","windowSlots","supportsEncoderTargets","encoder","acquireFrameBuffer","releaseFrameBuffer","closeEncoderTarget","target","canvas","surface","dispose","accessing","memory","texture","ended","endAccess","state","fences","fence","destroy","frame","release","acquireEncoderTarget","width","height","pointer","pixelFormat","Error","device","importSharedTextureMemory","handle","label","createTexture","beginAccess","Surface","MakeFromGPUTexture","error","probeEncoderTarget","failure","drawColor","Color","Clear","flush","windowTexture","window","pending","context","getCurrentTexture","format","acquireWindowTarget","slots","next","presentWindowTarget","time","source","destination","commands","createCommandEncoder","copyTextureToTexture","queue","submit","finish","length","encodeFrame","kind","present","closeEncoderWindow","configured","unconfigure","releaseEncoderWindow","slot","pop","reservations","probeEncoderWindow","acquireInputWindow","configure","usage","i","push","size"],"sourceRoot":"../../src","sources":["exportTarget.ts"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,7 @@ import RNSkiaVideoModule from "./RNSkiaVideoModule.js";
9
9
  import { clearVideoFrameImages, ownVideoFrames, releaseVideoFrameImage } from "./frameInterop.js";
10
10
  import { frameByteSize, releaseVideoMemory, reserveVideoMemory } from "./memory.js";
11
11
  import { enqueueExport, exportAbortError } from "./exportQueue.js";
12
- import { acquireEncoderTarget, closeEncoderTarget, probeEncoderTarget, supportsEncoderTargets } from "./exportTarget.js";
12
+ import { acquireEncoderTarget, acquireWindowTarget, closeEncoderTarget, closeEncoderWindow, presentWindowTarget, probeEncoderTarget, probeEncoderWindow, releaseEncoderWindow, supportsEncoderTargets } from "./exportTarget.js";
13
13
  import { yieldToRuntime } from "./runtimeYield.js";
14
14
  import { createExportFrameImports, ownExportFrames, releaseExportFrames } from "./exportFrames.js";
15
15
 
@@ -142,6 +142,17 @@ const executeExport = args => new Promise((resolve, reject) => {
142
142
  if (clock.last >= 0) profile[stage] += now - clock.last;
143
143
  clock.last = now;
144
144
  };
145
+ /** Android window: the checked GPU wait the last frame left for later,
146
+ * so that the GPU converted and drew it while the CPU presented it and
147
+ * decoded the next one. An empty recording: Graphite still waits for
148
+ * every command submitted so far. */
149
+ const checkWindowFrame = () => {
150
+ "worklet";
151
+
152
+ if (!state.unchecked) return;
153
+ state.window.slots[state.window.next].surface.flush(true);
154
+ state.unchecked = false;
155
+ };
145
156
  const finish = async (error, aborted = false, failed = false) => {
146
157
  "worklet";
147
158
 
@@ -167,6 +178,7 @@ const executeExport = args => new Promise((resolve, reject) => {
167
178
  };
168
179
  // Submit any recording left by a drawing exception before an
169
180
  // adapter is allowed to destroy textures referenced by that canvas.
181
+ clean(checkWindowFrame);
170
182
  clean(() => state.surface?.flush(true));
171
183
  clean(() => state.target?.surface?.flush(true));
172
184
  if (cleanup.safeToRelease && state.pendingAfterDraw) {
@@ -183,6 +195,10 @@ const executeExport = args => new Promise((resolve, reject) => {
183
195
  }
184
196
  }
185
197
  if (clean(() => state.extractor?.dispose())) state.extractor = null;
198
+ // Android: the window's swapchain lets go of the codec's buffers
199
+ // before the encoder goes. Its own textures are freed further down.
200
+ const window = state.window;
201
+ if (window) clean(() => closeEncoderWindow(window));
186
202
  if (clean(() => state.encoder?.dispose())) state.encoder = null;
187
203
  if (cleanup.safeToRelease) {
188
204
  clean(() => state.surface?.flush(true));
@@ -193,8 +209,16 @@ const executeExport = args => new Promise((resolve, reject) => {
193
209
  if (imports && clean(() => releaseExportFrames(imports))) state.imports = null;
194
210
  clean(() => clearVideoFrameImages(true));
195
211
  }
196
- if (cleanup.safeToRelease && clean(() => state.canvas?.dispose())) state.canvas = null;
197
- if (cleanup.safeToRelease && clean(() => state.surface?.dispose())) state.surface = null;
212
+ // Disposing the surface detaches its canvas.
213
+ if (cleanup.safeToRelease && clean(() => state.surface?.dispose())) {
214
+ state.surface = null;
215
+ state.canvas = null;
216
+ }
217
+ // The target, if any, is one of the window's slots.
218
+ if (cleanup.safeToRelease && window && clean(() => releaseEncoderWindow(window))) {
219
+ state.window = null;
220
+ state.target = null;
221
+ }
198
222
  const target = state.target;
199
223
  if (cleanup.safeToRelease && target) {
200
224
  if (clean(() => closeEncoderTarget(target))) state.target = null;
@@ -239,6 +263,8 @@ const executeExport = args => new Promise((resolve, reject) => {
239
263
  const owned = runWithVideoAutoreleasePool(() => {
240
264
  const decoded = state.extractor.decodeCompositionFrames(time);
241
265
  lap("decodeMs");
266
+ checkWindowFrame();
267
+ lap("gpuMs");
242
268
  const imports = state.imports;
243
269
  // In place, a producer's frame is released by its next import.
244
270
  const imported = imports ? ownExportFrames(imports, decoded, ownVideoFrames) : ownVideoFrames(decoded);
@@ -266,7 +292,7 @@ const executeExport = args => new Promise((resolve, reject) => {
266
292
  const draw = () => {
267
293
  "worklet";
268
294
 
269
- if (state.gpu) state.target = acquireEncoderTarget(state.encoder, options.width, options.height);
295
+ if (state.gpu) state.target = state.window ? acquireWindowTarget(state.window) : acquireEncoderTarget(state.encoder, options.width, options.height);
270
296
  lap("targetMs");
271
297
  const target = state.target;
272
298
  const surface = target ? target.surface : state.surface;
@@ -289,16 +315,22 @@ const executeExport = args => new Promise((resolve, reject) => {
289
315
  height: options.height
290
316
  });
291
317
  lap("drawMs");
292
- surface.flush(true);
318
+ // Android window, no context to release: the next frame waits
319
+ // for this one (see checkWindowFrame).
320
+ const unchecked = !!state.window && !!target && !afterDrawFrame && !state.processor;
321
+ surface.flush(!unchecked);
322
+ state.unchecked = unchecked;
293
323
  drawn.drained = true;
294
324
  lap("gpuMs");
295
- if (target) {
296
- closeEncoderTarget(target, true);
325
+ if (target && state.window) {
326
+ state.target = null;
327
+ presentWindowTarget(state.encoder, state.window, target, time);
328
+ } else if (target) {
329
+ closeEncoderTarget(target);
297
330
  state.target = null;
298
331
  state.encoder.encodeFrame({
299
332
  kind: "native-buffer",
300
- nativeBuffer: target.pointer,
301
- fences: target.fences
333
+ nativeBuffer: target.pointer
302
334
  }, time);
303
335
  } else {
304
336
  const readbackCanvas = canvas;
@@ -413,6 +445,7 @@ const executeExport = args => new Promise((resolve, reject) => {
413
445
  readback: null,
414
446
  gpu: false,
415
447
  target: null,
448
+ window: null,
416
449
  imports: null,
417
450
  frames: {},
418
451
  processor: null,
@@ -451,10 +484,18 @@ const executeExport = args => new Promise((resolve, reject) => {
451
484
  }, videoComposition);
452
485
  state.encoder.prepare();
453
486
  if (gpuExport) {
454
- // Skia draws straight into the encoder's buffers; the probe
455
- // keeps devices without IOSurface interop on the readback path.
487
+ // Skia draws straight into the encoder's buffers: lent pool
488
+ // buffers on iOS, the input window on Android. The probe keeps
489
+ // devices where that fails on the readback path.
456
490
  state.hasRecorder = true;
457
- const failure = supportsEncoderTargets(state.encoder) ? probeEncoderTarget(state.encoder, options.width, options.height) : new Error("Encoder cannot lend frame buffers");
491
+ let failure;
492
+ if (bgra) {
493
+ failure = supportsEncoderTargets(state.encoder) ? probeEncoderTarget(state.encoder, options.width, options.height) : new Error("Encoder cannot lend frame buffers");
494
+ } else {
495
+ const probe = probeEncoderWindow(state.encoder, options.width, options.height);
496
+ state.window = probe.window;
497
+ failure = probe.failure;
498
+ }
458
499
  state.gpu = failure === null;
459
500
  // Decoded frames are sampled in place too: on iOS through the
460
501
  // same IOSurface import, on Android once converted from YUV.
@@ -1 +1 @@
1
- {"version":3,"names":["assertExportRecorderCacheSupport","trimExportRecorderCache","getVideoCanvas","createWorkletRuntime","createSynchronizable","runOnRuntime","scheduleOnRN","AlphaType","BlendMode","ColorType","Skia","Platform","RNSkiaVideoModule","clearVideoFrameImages","ownVideoFrames","releaseVideoFrameImage","frameByteSize","releaseVideoMemory","reserveVideoMemory","enqueueExport","exportAbortError","acquireEncoderTarget","closeEncoderTarget","probeEncoderTarget","supportsEncoderTargets","yieldToRuntime","createExportFrameImports","ownExportFrames","releaseExportFrames","exportRuntime","getExportRuntime","name","runWithVideoAutoreleasePool","fn","runWithAutoreleasePool","body","exportVideoComposition","args","executeExport","abortSignal","Promise","resolve","reject","videoComposition","drawFrame","beforeDrawFrame","afterDrawFrame","onProgress","createFrameProcessor","onProfile","options","aborted","bytes","nbFrames","width","height","Number","isFinite","frameRate","duration","bitRate","outPath","Error","Math","ceil","isSafeInteger","error","cancelled","onAbort","setBlocking","addEventListener","settle","failed","removeEventListener","runtime","getBlocking","bgra","OS","gpuExport","getBackendInfo","gpuDirectExport","step","frameWorklet","storage","globalThis","state","__rnskwgpuExport","isCancelled","profile","frames","totalMs","decodeMs","importMs","prepareMs","targetMs","drawMs","gpuMs","encodeMs","yieldMs","clock","last","lap","stage","now","performance","finish","cleanup","failure","safeToRelease","clean","e","surface","flush","target","pendingAfterDraw","processor","dispose","extractor","encoder","frame","Object","values","imports","canvas","hasRecorder","i","reservations","length","splice","readback","poisoned","setupError","work","time","index","owned","decoded","decodeCompositionFrames","imported","key","previous","entries","producers","has","producerId","prepareFrame","currentTime","draw","gpu","drawColor","Color","Clear","context","drawn","undefined","drained","encodeFrame","kind","nativeBuffer","pointer","fences","readbackCanvas","pixels","readPixels","colorType","BGRA_8888","RGBA_8888","alphaType","Premul","Uint8Array","byteLength","byteOffset","buffer","slice","data","bytesPerRow","releaseContext","framesCompleted","finishWriting","run","setup","allocateReadback","push","Surface","MakeOffscreen","createVideoEncoder","audioBitRate","audioSampleRate","audioChannelCount","prepare","console","warn","String","createVideoCompositionFramesExtractorSync","start"],"sourceRoot":"../../src","sources":["exportVideoComposition.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["assertExportRecorderCacheSupport","trimExportRecorderCache","getVideoCanvas","createWorkletRuntime","createSynchronizable","runOnRuntime","scheduleOnRN","AlphaType","BlendMode","ColorType","Skia","Platform","RNSkiaVideoModule","clearVideoFrameImages","ownVideoFrames","releaseVideoFrameImage","frameByteSize","releaseVideoMemory","reserveVideoMemory","enqueueExport","exportAbortError","acquireEncoderTarget","acquireWindowTarget","closeEncoderTarget","closeEncoderWindow","presentWindowTarget","probeEncoderTarget","probeEncoderWindow","releaseEncoderWindow","supportsEncoderTargets","yieldToRuntime","createExportFrameImports","ownExportFrames","releaseExportFrames","exportRuntime","getExportRuntime","name","runWithVideoAutoreleasePool","fn","runWithAutoreleasePool","body","exportVideoComposition","args","executeExport","abortSignal","Promise","resolve","reject","videoComposition","drawFrame","beforeDrawFrame","afterDrawFrame","onProgress","createFrameProcessor","onProfile","options","aborted","bytes","nbFrames","width","height","Number","isFinite","frameRate","duration","bitRate","outPath","Error","Math","ceil","isSafeInteger","error","cancelled","onAbort","setBlocking","addEventListener","settle","failed","removeEventListener","runtime","getBlocking","bgra","OS","gpuExport","getBackendInfo","gpuDirectExport","step","frameWorklet","storage","globalThis","state","__rnskwgpuExport","isCancelled","profile","frames","totalMs","decodeMs","importMs","prepareMs","targetMs","drawMs","gpuMs","encodeMs","yieldMs","clock","last","lap","stage","now","performance","checkWindowFrame","unchecked","window","slots","next","surface","flush","finish","cleanup","failure","safeToRelease","clean","e","target","pendingAfterDraw","processor","dispose","extractor","encoder","frame","Object","values","imports","canvas","hasRecorder","i","reservations","length","splice","readback","poisoned","setupError","work","time","index","owned","decoded","decodeCompositionFrames","imported","key","previous","entries","producers","has","producerId","prepareFrame","currentTime","draw","gpu","drawColor","Color","Clear","context","drawn","undefined","drained","encodeFrame","kind","nativeBuffer","pointer","readbackCanvas","pixels","readPixels","colorType","BGRA_8888","RGBA_8888","alphaType","Premul","Uint8Array","byteLength","byteOffset","buffer","slice","data","bytesPerRow","releaseContext","framesCompleted","finishWriting","run","setup","allocateReadback","push","Surface","MakeOffscreen","createVideoEncoder","audioBitRate","audioSampleRate","audioChannelCount","prepare","probe","console","warn","String","createVideoCompositionFramesExtractorSync","start"],"sourceRoot":"../../src","sources":["exportVideoComposition.ts"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ import { Platform } from "react-native";
5
5
  import { AlphaType, BlendMode, ColorType, Skia } from "react-native-skia";
6
6
  import { getVideoGpuDevice, createNativeVideoGpuFrame, nativeVideoTextureUsage, rgbaVideoTextureUsage } from "./gpuDevice.js";
7
7
  import { frameByteSize, releaseVideoMemory, reserveVideoMemory } from "./memory.js";
8
- import { blitYuvFrame, releaseYuvImports, yuvFrameOrigin } from "./yuvBlit.js";
8
+ import { blitNv12Frame, blitYuvFrame, releaseYuvImports, yuvFrameRegion } from "./yuvBlit.js";
9
9
  // Capture a scalar on the RN runtime instead of importing Platform inside a
10
10
  // worklet. iOS keeps its existing native-buffer and RGBA compatibility paths.
11
11
  const uploadAndroidRgba = Platform.OS === "android";
@@ -49,7 +49,6 @@ const clearEntry = (cache, producer) => {
49
49
  const clearSurfaceView = cache => {
50
50
  "worklet";
51
51
 
52
- cache.canvas?.dispose();
53
52
  cache.canvas = null;
54
53
  cache.stage?.dispose();
55
54
  cache.stage = null;
@@ -319,17 +318,18 @@ export const imageFromVideoFrame = frame => {
319
318
  nativeSource = createNativeVideoGpuFrame(texture.nativeBuffer);
320
319
  const region = texture.region;
321
320
  const rotation = texture.rotation ?? 0;
322
- let origin = {
323
- x: 0,
324
- y: 0
325
- };
321
+ const nv12 = !region && texture.format === "nv12";
322
+ let upright = null;
326
323
  if (region) {
327
324
  // An Android codec buffer: padded, YUV, in encoded orientation. The
328
- // blit converts, crops and turns it into the display-sized scratch,
329
- // as the GL path's SurfaceTexture transform did. RN WebGPU labels
330
- // driver-defined YUV formats "bgra8", yet Dawn imports them as YUV:
331
- // the native side checked the format, so the label is not read.
332
- origin = yuvFrameOrigin(region, rotation, nativeSource, frame);
325
+ // blit converts, crops, turns and scales it into the frame-sized
326
+ // scratch, as the GL path's SurfaceTexture transform did. RN WebGPU
327
+ // labels driver-defined YUV formats "bgra8", yet Dawn imports them
328
+ // as YUV: the native side checked the format, so the label is not
329
+ // read.
330
+ upright = yuvFrameRegion(region, rotation, nativeSource);
331
+ } else if (nv12) {
332
+ if (nativeSource.width !== frame.width || nativeSource.height !== frame.height) throw new Error("Native video buffer dimensions mismatch");
333
333
  } else if (
334
334
  // RN WebGPU labels a single-plane Android RGBA AHB "bgra8". Dawn
335
335
  // reads the actual AHB format; the string distinguishes RGB from
@@ -343,7 +343,10 @@ export const imageFromVideoFrame = frame => {
343
343
  if (region) {
344
344
  // copyExternalImageToTexture would also convert the video's
345
345
  // transfer function and primaries to sRGB (see yuvBlit.ts).
346
- blitYuvFrame(device, cache.yuvImports, key, nativeSource, rotation, origin, frame.width, frame.height, cache.uploadTexture);
346
+ blitYuvFrame(device, cache.yuvImports, key, nativeSource, rotation, upright, cache.uploadTexture);
347
+ } else if (nv12) {
348
+ // Decoded orientation, as below: drawVideoFrame applies rotation.
349
+ blitNv12Frame(device, nativeSource, cache.uploadTexture);
347
350
  } else {
348
351
  // Keep decoded orientation: drawVideoFrame applies rotation once.
349
352
  device.queue.copyExternalImageToTexture({
@@ -1 +1 @@
1
- {"version":3,"names":["getVideoCanvas","Platform","AlphaType","BlendMode","ColorType","Skia","getVideoGpuDevice","createNativeVideoGpuFrame","nativeVideoTextureUsage","rgbaVideoTextureUsage","frameByteSize","releaseVideoMemory","reserveVideoMemory","blitYuvFrame","releaseYuvImports","yuvFrameOrigin","uploadAndroidRgba","OS","getCache","runtime","globalThis","__rnskwgpuFrames","images","Map","stage","canvas","width","height","format","uploadTexture","uploadReservation","cpuPixels","cpuReservation","cpuBytesPerRow","pendingSources","yuvImports","clearEntry","cache","producer","entry","get","image","dispose","reservation","delete","clearSurfaceView","clearCpuPixels","clearStagingSurface","flush","destroy","drainNativeCopies","Error","drawColor","Color","Clear","clearVideoFrameImages","releaseStagingSurface","length","some","source","needsDrain","owned","nativeSource","release","sourceReleased","frame","shift","keys","releaseVideoFrameImage","producerId","undefined","id","texture","kind","size","imageFromVideoFrame","existing","releasedSources","has","add","copyPending","ownsSurfaceView","sourceDrained","releaseSource","importFailed","bytes","key","rgbaPixels","requiredRgbaBytes","copyRgbaPixels","required","bytesPerRow","Number","isSafeInteger","copyPixelsTo","pixels","Uint8Array","data","byteLength","Data","fromBytes","Image","MakeRasterImage","colorType","RGBA_8888","alphaType","Opaque","device","uploadRgba","extentLimit","limits","maxTextureDimension2D","createTexture","usage","label","error","ArrayBuffer","buffer","Surface","MakeFromGPUTexture","queue","writeTexture","offset","rowsPerImage","depthOrArrayLayers","nativeBuffer","region","rotation","origin","x","y","pixelFormat","copyExternalImageToTexture","mirrored","flipY","premultipliedAlpha","makeImageSnapshot","set","WeakSet","push","ownVideoFrames","frames","visited","Set","failed","value","producers","Object","values","previous","entries","crop","pending"],"sourceRoot":"../../src","sources":["frameInterop.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getVideoCanvas","Platform","AlphaType","BlendMode","ColorType","Skia","getVideoGpuDevice","createNativeVideoGpuFrame","nativeVideoTextureUsage","rgbaVideoTextureUsage","frameByteSize","releaseVideoMemory","reserveVideoMemory","blitNv12Frame","blitYuvFrame","releaseYuvImports","yuvFrameRegion","uploadAndroidRgba","OS","getCache","runtime","globalThis","__rnskwgpuFrames","images","Map","stage","canvas","width","height","format","uploadTexture","uploadReservation","cpuPixels","cpuReservation","cpuBytesPerRow","pendingSources","yuvImports","clearEntry","cache","producer","entry","get","image","dispose","reservation","delete","clearSurfaceView","clearCpuPixels","clearStagingSurface","flush","destroy","drainNativeCopies","Error","drawColor","Color","Clear","clearVideoFrameImages","releaseStagingSurface","length","some","source","needsDrain","owned","nativeSource","release","sourceReleased","frame","shift","keys","releaseVideoFrameImage","producerId","undefined","id","texture","kind","size","imageFromVideoFrame","existing","releasedSources","has","add","copyPending","ownsSurfaceView","sourceDrained","releaseSource","importFailed","bytes","key","rgbaPixels","requiredRgbaBytes","copyRgbaPixels","required","bytesPerRow","Number","isSafeInteger","copyPixelsTo","pixels","Uint8Array","data","byteLength","Data","fromBytes","Image","MakeRasterImage","colorType","RGBA_8888","alphaType","Opaque","device","uploadRgba","extentLimit","limits","maxTextureDimension2D","createTexture","usage","label","error","ArrayBuffer","buffer","Surface","MakeFromGPUTexture","queue","writeTexture","offset","rowsPerImage","depthOrArrayLayers","nativeBuffer","region","rotation","nv12","upright","pixelFormat","copyExternalImageToTexture","mirrored","flipY","premultipliedAlpha","makeImageSnapshot","set","WeakSet","push","ownVideoFrames","frames","visited","Set","failed","value","producers","Object","values","previous","entries","crop","pending"],"sourceRoot":"../../src","sources":["frameInterop.ts"],"mappings":"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","ignoreList":[]}
package/lib/module/gpu.js CHANGED
@@ -101,7 +101,6 @@ export const createVideoGpuScope = options => {
101
101
  } catch (error) {
102
102
  // No texture has been exposed or submitted to any consumer yet.
103
103
  try {
104
- resource.canvas?.dispose();
105
104
  resource.canvas = null;
106
105
  resource.surface?.dispose();
107
106
  resource.surface = null;
@@ -189,7 +188,6 @@ export const createVideoGpuScope = options => {
189
188
  try {
190
189
  resource.image?.dispose();
191
190
  resource.image = null;
192
- resource.canvas?.dispose();
193
191
  resource.canvas = null;
194
192
  resource.surface?.dispose();
195
193
  resource.surface = null;
@@ -1 +1 @@
1
- {"version":3,"names":["Skia","GPUTextureUsage","getVideoCanvas","releaseVideoMemory","reserveVideoMemory","getVideoGpuDevice","createVideoGpuScope","options","device","maxResources","maxPendingJobs","Number","isSafeInteger","Error","resources","pending","Set","state","pendingCount","jobGeneration","jobFailure","undefined","hasJobFailure","closing","disposal","ensureCapacity","length","drainGpu","Promise","all","generation","resource","surface","flush","queue","onSubmittedWorkDone","drain","createTexture","opts","format","skia","bytesPerPixel","bytes","width","height","includes","required","RENDER_ATTACHMENT","TEXTURE_BINDING","usage","COPY_SRC","COPY_DST","reservation","label","texture","size","Surface","MakeFromGPUTexture","canvas","image","Image","MakeImageFromGPUTexture","push","error","dispose","destroy","createBuffer","descriptor","buffer","track","start","job","resolve","tracked","then","delete","add","failure","hasFailure","i","splice"],"sourceRoot":"../../src","sources":["gpu.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Skia","GPUTextureUsage","getVideoCanvas","releaseVideoMemory","reserveVideoMemory","getVideoGpuDevice","createVideoGpuScope","options","device","maxResources","maxPendingJobs","Number","isSafeInteger","Error","resources","pending","Set","state","pendingCount","jobGeneration","jobFailure","undefined","hasJobFailure","closing","disposal","ensureCapacity","length","drainGpu","Promise","all","generation","resource","surface","flush","queue","onSubmittedWorkDone","drain","createTexture","opts","format","skia","bytesPerPixel","bytes","width","height","includes","required","RENDER_ATTACHMENT","TEXTURE_BINDING","usage","COPY_SRC","COPY_DST","reservation","label","texture","size","Surface","MakeFromGPUTexture","canvas","image","Image","MakeImageFromGPUTexture","push","error","dispose","destroy","createBuffer","descriptor","buffer","track","start","job","resolve","tracked","then","delete","add","failure","hasFailure","i","splice"],"sourceRoot":"../../src","sources":["gpu.ts"],"mappings":"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","ignoreList":[]}
@@ -39,8 +39,20 @@ export const createNativeVideoGpuFrame = pointer => {
39
39
  if (!nativeWebGPU) throw new Error("React Native WebGPU is missing from the native app");
40
40
  return nativeWebGPU.createVideoFrameFromNativeBuffer(pointer);
41
41
  };
42
+
43
+ /** Android: a canvas context presenting to a native window that is not a
44
+ * view, such as an encoder's input Surface. */
45
+ export const createNativeWindowGpuContext = (window, width, height) => {
46
+ "worklet";
47
+
48
+ if (typeof nativeWebGPU?.MakeWebGPUCanvasContextFromNativeWindow !== "function") throw new Error("React Native WebGPU cannot present to a native window; 0.19.0 or later is required");
49
+ return nativeWebGPU.MakeWebGPUCanvasContextFromNativeWindow(window, width, height);
50
+ };
42
51
  export const nativeVideoTextureUsage = GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING | GPUTextureUsage.COPY_SRC;
43
52
 
53
+ // An encoder's input window only receives copies of the frames Skia drew.
54
+ export const encoderWindowTextureUsage = GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.COPY_DST;
55
+
44
56
  // CPU RGBA uploads additionally need COPY_DST. Keep the native-buffer blit's
45
57
  // descriptor unchanged: that path renders into its destination attachment.
46
58
  export const rgbaVideoTextureUsage = nativeVideoTextureUsage | GPUTextureUsage.COPY_DST;
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","Skia","GPUBufferUsage","GPUShaderStage","GPUTextureUsage","importDevice","installWebGPU","RNSkiaVideoModule","sharedDevice","getNativeDevice","nativeWebGPU","globalThis","RNWebGPU","OS","configureNativeBufferInterop","features","supported","Boolean","createVideoFrameFromNativeBuffer","has","error","Error","message","includes","getVideoGpuDevice","createNativeVideoGpuFrame","pointer","nativeVideoTextureUsage","RENDER_ATTACHMENT","TEXTURE_BINDING","COPY_SRC","rgbaVideoTextureUsage","COPY_DST","videoShaderStages","vertex","VERTEX","fragment","FRAGMENT","videoUniformBufferUsage","UNIFORM"],"sourceRoot":"../../src","sources":["gpuDevice.ts"],"mappings":";;AAAA;AACA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SACEC,cAAc,EACdC,cAAc,EACdC,eAAe,EACfC,YAAY,EACZC,aAAa,QACR,qBAAqB;AAE5B,OAAOC,iBAAiB,MAAM,wBAAqB;;AAEnD;AACA;AACA;AACA;AACA,MAAMC,YAAY,GAAGH,YAAY,CAACJ,IAAI,CAACQ,eAAe,CAAC,CAAC,CAAC;AACzD,MAAMC,YAAY,GAAGC,UAAU,CAACC,QAAQ;;AAExC;AACA;AACA;AACA;AACA,IACEZ,QAAQ,CAACa,EAAE,KAAK,SAAS,IACzBN,iBAAiB,CAACO,4BAA4B,EAC9C;EACA,MAAMC,QAAQ,GAAGP,YAAY,CAACO,QAA2C;EACzE,MAAMC,SAAS,GAAGC,OAAO,CACvB,OAAOP,YAAY,EAAEQ,gCAAgC,KAAK,UAAU,IACpE,OAAOH,QAAQ,EAAEI,GAAG,KAAK,UAAU,IACnCJ,QAAQ,CAACI,GAAG,CAAC,wCAAwC,CAAC,IACtDJ,QAAQ,CAACI,GAAG,CAAC,sBAAsB,CACrC,CAAC;EACD,IAAI;IACFZ,iBAAiB,CAACO,4BAA4B,CAACE,SAAS,CAAC;EAC3D,CAAC,CAAC,OAAOI,KAAK,EAAE;IACd,IACE,CAACJ,SAAS,IACV,EAAEI,KAAK,YAAYC,KAAK,CAAC,IACzB,CAACD,KAAK,CAACE,OAAO,CAACC,QAAQ,CAAC,4CAA4C,CAAC,EAErE,MAAMH,KAAK;IACbb,iBAAiB,CAACO,4BAA4B,CAAC,KAAK,CAAC;EACvD;AACF;AAEA,OAAO,MAAMU,iBAAiB,GAAGA,CAAA,KAAiB;EAChD,SAAS;;EACTlB,aAAa,CAAC,CAAC;EACf,OAAOE,YAAY;AACrB,CAAC;AAED,OAAO,MAAMiB,yBAAyB,GACpCC,OAAe,IACM;EACrB,SAAS;;EACT,IAAI,CAAChB,YAAY,EACf,MAAM,IAAIW,KAAK,CAAC,oDAAoD,CAAC;EACvE,OAAOX,YAAY,CAACQ,gCAAgC,CAACQ,OAAO,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMC,uBAAuB,GAClCvB,eAAe,CAACwB,iBAAiB,GACjCxB,eAAe,CAACyB,eAAe,GAC/BzB,eAAe,CAAC0B,QAAQ;;AAE1B;AACA;AACA,OAAO,MAAMC,qBAAqB,GAChCJ,uBAAuB,GAAGvB,eAAe,CAAC4B,QAAQ;;AAEpD;AACA,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,MAAM,EAAE/B,cAAc,CAACgC,MAAM;EAC7BC,QAAQ,EAAEjC,cAAc,CAACkC;AAC3B,CAAC;AACD,OAAO,MAAMC,uBAAuB,GAClCpC,cAAc,CAACqC,OAAO,GAAGrC,cAAc,CAAC8B,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["Platform","Skia","GPUBufferUsage","GPUShaderStage","GPUTextureUsage","importDevice","installWebGPU","RNSkiaVideoModule","sharedDevice","getNativeDevice","nativeWebGPU","globalThis","RNWebGPU","OS","configureNativeBufferInterop","features","supported","Boolean","createVideoFrameFromNativeBuffer","has","error","Error","message","includes","getVideoGpuDevice","createNativeVideoGpuFrame","pointer","createNativeWindowGpuContext","window","width","height","MakeWebGPUCanvasContextFromNativeWindow","nativeVideoTextureUsage","RENDER_ATTACHMENT","TEXTURE_BINDING","COPY_SRC","encoderWindowTextureUsage","COPY_DST","rgbaVideoTextureUsage","videoShaderStages","vertex","VERTEX","fragment","FRAGMENT","videoUniformBufferUsage","UNIFORM"],"sourceRoot":"../../src","sources":["gpuDevice.ts"],"mappings":";;AAAA;AACA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SACEC,cAAc,EACdC,cAAc,EACdC,eAAe,EACfC,YAAY,EACZC,aAAa,QACR,qBAAqB;AAE5B,OAAOC,iBAAiB,MAAM,wBAAqB;;AAEnD;AACA;AACA;AACA;AACA,MAAMC,YAAY,GAAGH,YAAY,CAACJ,IAAI,CAACQ,eAAe,CAAC,CAAC,CAAC;AACzD,MAAMC,YAAY,GAAGC,UAAU,CAACC,QAAQ;;AAExC;AACA;AACA;AACA;AACA,IACEZ,QAAQ,CAACa,EAAE,KAAK,SAAS,IACzBN,iBAAiB,CAACO,4BAA4B,EAC9C;EACA,MAAMC,QAAQ,GAAGP,YAAY,CAACO,QAA2C;EACzE,MAAMC,SAAS,GAAGC,OAAO,CACvB,OAAOP,YAAY,EAAEQ,gCAAgC,KAAK,UAAU,IACpE,OAAOH,QAAQ,EAAEI,GAAG,KAAK,UAAU,IACnCJ,QAAQ,CAACI,GAAG,CAAC,wCAAwC,CAAC,IACtDJ,QAAQ,CAACI,GAAG,CAAC,sBAAsB,CACrC,CAAC;EACD,IAAI;IACFZ,iBAAiB,CAACO,4BAA4B,CAACE,SAAS,CAAC;EAC3D,CAAC,CAAC,OAAOI,KAAK,EAAE;IACd,IACE,CAACJ,SAAS,IACV,EAAEI,KAAK,YAAYC,KAAK,CAAC,IACzB,CAACD,KAAK,CAACE,OAAO,CAACC,QAAQ,CAAC,4CAA4C,CAAC,EAErE,MAAMH,KAAK;IACbb,iBAAiB,CAACO,4BAA4B,CAAC,KAAK,CAAC;EACvD;AACF;AAEA,OAAO,MAAMU,iBAAiB,GAAGA,CAAA,KAAiB;EAChD,SAAS;;EACTlB,aAAa,CAAC,CAAC;EACf,OAAOE,YAAY;AACrB,CAAC;AAED,OAAO,MAAMiB,yBAAyB,GACpCC,OAAe,IACM;EACrB,SAAS;;EACT,IAAI,CAAChB,YAAY,EACf,MAAM,IAAIW,KAAK,CAAC,oDAAoD,CAAC;EACvE,OAAOX,YAAY,CAACQ,gCAAgC,CAACQ,OAAO,CAAC;AAC/D,CAAC;;AAED;AACA;AACA,OAAO,MAAMC,4BAA4B,GAAGA,CAC1CC,MAAc,EACdC,KAAa,EACbC,MAAc,KACM;EACpB,SAAS;;EACT,IACE,OAAOpB,YAAY,EAAEqB,uCAAuC,KAAK,UAAU,EAE3E,MAAM,IAAIV,KAAK,CACb,oFACF,CAAC;EACH,OAAOX,YAAY,CAACqB,uCAAuC,CACzDH,MAAM,EACNC,KAAK,EACLC,MACF,CAAC;AACH,CAAC;AAED,OAAO,MAAME,uBAAuB,GAClC5B,eAAe,CAAC6B,iBAAiB,GACjC7B,eAAe,CAAC8B,eAAe,GAC/B9B,eAAe,CAAC+B,QAAQ;;AAE1B;AACA,OAAO,MAAMC,yBAAyB,GACpChC,eAAe,CAAC6B,iBAAiB,GAAG7B,eAAe,CAACiC,QAAQ;;AAE9D;AACA;AACA,OAAO,MAAMC,qBAAqB,GAChCN,uBAAuB,GAAG5B,eAAe,CAACiC,QAAQ;;AAEpD;AACA,OAAO,MAAME,iBAAiB,GAAG;EAC/BC,MAAM,EAAErC,cAAc,CAACsC,MAAM;EAC7BC,QAAQ,EAAEvC,cAAc,CAACwC;AAC3B,CAAC;AACD,OAAO,MAAMC,uBAAuB,GAClC1C,cAAc,CAAC2C,OAAO,GAAG3C,cAAc,CAACmC,QAAQ","ignoreList":[]}
@@ -26,7 +26,6 @@ export const disposePreviewResources = resources => {
26
26
  frame.dispose?.();
27
27
  resources.frames.shift();
28
28
  }
29
- resources.canvas?.dispose();
30
29
  resources.canvas = null;
31
30
  resources.surface?.dispose();
32
31
  resources.surface = null;
@@ -1 +1 @@
1
- {"version":3,"names":["releaseVideoFrameImage","releaseVideoMemory","disposePreviewResources","resources","failure","failed","error","undefined","surface","flush","afterDraw","images","length","dispose","shift","frames","frame","canvas","reservation","native","runtime","globalThis","__rnskwgpuPreviewQuarantine","push"],"sourceRoot":"../../src","sources":["previewLifecycle.ts"],"mappings":";;AACA,SAASA,sBAAsB,QAAQ,mBAAgB;AACvD,SAASC,kBAAkB,QAAQ,aAAU;AAa7C;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAIC,SAA2B,IAAK;EACtE,SAAS;;EACT,MAAMC,OAAO,GAAG;IAAEC,MAAM,EAAE,KAAK;IAAEC,KAAK,EAAEC;EAAqB,CAAC;EAC9D,IAAI;IACFJ,SAAS,CAACK,OAAO,EAAEC,KAAK,CAAC,IAAI,CAAC;IAC9BN,SAAS,CAACO,SAAS,GAAG,CAAC;IACvBP,SAAS,CAACO,SAAS,GAAG,IAAI;IAC1B,OAAOP,SAAS,CAACQ,MAAM,EAAEC,MAAM,EAAE;MAC/BT,SAAS,CAACQ,MAAM,CAAC,CAAC,CAAC,EAAEE,OAAO,CAAC,CAAC;MAC9BV,SAAS,CAACQ,MAAM,CAACG,KAAK,CAAC,CAAC;IAC1B;IACA,OAAOX,SAAS,CAACY,MAAM,EAAEH,MAAM,EAAE;MAC/B,MAAMI,KAAK,GAAGb,SAAS,CAACY,MAAM,CAAC,CAAC,CAAE;MAClCf,sBAAsB,CAACgB,KAAK,CAAC;MAC7BA,KAAK,CAACH,OAAO,GAAG,CAAC;MACjBV,SAAS,CAACY,MAAM,CAACD,KAAK,CAAC,CAAC;IAC1B;IACAX,SAAS,CAACc,MAAM,EAAEJ,OAAO,CAAC,CAAC;IAC3BV,SAAS,CAACc,MAAM,GAAG,IAAI;IACvBd,SAAS,CAACK,OAAO,EAAEK,OAAO,CAAC,CAAC;IAC5BV,SAAS,CAACK,OAAO,GAAG,IAAI;IACxBP,kBAAkB,CAACE,SAAS,CAACe,WAAW,IAAI,CAAC,CAAC;IAC9Cf,SAAS,CAACe,WAAW,GAAG,CAAC;EAC3B,CAAC,CAAC,OAAOZ,KAAK,EAAE;IACdF,OAAO,CAACC,MAAM,GAAG,IAAI;IACrBD,OAAO,CAACE,KAAK,GAAGA,KAAK;EACvB;EACA,IAAI;IACFH,SAAS,CAACgB,MAAM,EAAEN,OAAO,CAAC,CAAC;IAC3BV,SAAS,CAACgB,MAAM,GAAG,IAAI;EACzB,CAAC,CAAC,OAAOb,KAAK,EAAE;IACd,IAAI,CAACF,OAAO,CAACC,MAAM,EAAED,OAAO,CAACE,KAAK,GAAGA,KAAK;IAC1CF,OAAO,CAACC,MAAM,GAAG,IAAI;EACvB;EACA,IAAID,OAAO,CAACC,MAAM,EAAE;IAClB,MAAMe,OAAO,GAAGC,UAEf;IACD,CAACD,OAAO,CAACE,2BAA2B,KAAK,EAAE,EAAEC,IAAI,CAACpB,SAAS,CAAC;EAC9D;EACA,OAAOC,OAAO;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["releaseVideoFrameImage","releaseVideoMemory","disposePreviewResources","resources","failure","failed","error","undefined","surface","flush","afterDraw","images","length","dispose","shift","frames","frame","canvas","reservation","native","runtime","globalThis","__rnskwgpuPreviewQuarantine","push"],"sourceRoot":"../../src","sources":["previewLifecycle.ts"],"mappings":";;AACA,SAASA,sBAAsB,QAAQ,mBAAgB;AACvD,SAASC,kBAAkB,QAAQ,aAAU;AAa7C;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAIC,SAA2B,IAAK;EACtE,SAAS;;EACT,MAAMC,OAAO,GAAG;IAAEC,MAAM,EAAE,KAAK;IAAEC,KAAK,EAAEC;EAAqB,CAAC;EAC9D,IAAI;IACFJ,SAAS,CAACK,OAAO,EAAEC,KAAK,CAAC,IAAI,CAAC;IAC9BN,SAAS,CAACO,SAAS,GAAG,CAAC;IACvBP,SAAS,CAACO,SAAS,GAAG,IAAI;IAC1B,OAAOP,SAAS,CAACQ,MAAM,EAAEC,MAAM,EAAE;MAC/BT,SAAS,CAACQ,MAAM,CAAC,CAAC,CAAC,EAAEE,OAAO,CAAC,CAAC;MAC9BV,SAAS,CAACQ,MAAM,CAACG,KAAK,CAAC,CAAC;IAC1B;IACA,OAAOX,SAAS,CAACY,MAAM,EAAEH,MAAM,EAAE;MAC/B,MAAMI,KAAK,GAAGb,SAAS,CAACY,MAAM,CAAC,CAAC,CAAE;MAClCf,sBAAsB,CAACgB,KAAK,CAAC;MAC7BA,KAAK,CAACH,OAAO,GAAG,CAAC;MACjBV,SAAS,CAACY,MAAM,CAACD,KAAK,CAAC,CAAC;IAC1B;IACAX,SAAS,CAACc,MAAM,GAAG,IAAI;IACvBd,SAAS,CAACK,OAAO,EAAEK,OAAO,CAAC,CAAC;IAC5BV,SAAS,CAACK,OAAO,GAAG,IAAI;IACxBP,kBAAkB,CAACE,SAAS,CAACe,WAAW,IAAI,CAAC,CAAC;IAC9Cf,SAAS,CAACe,WAAW,GAAG,CAAC;EAC3B,CAAC,CAAC,OAAOZ,KAAK,EAAE;IACdF,OAAO,CAACC,MAAM,GAAG,IAAI;IACrBD,OAAO,CAACE,KAAK,GAAGA,KAAK;EACvB;EACA,IAAI;IACFH,SAAS,CAACgB,MAAM,EAAEN,OAAO,CAAC,CAAC;IAC3BV,SAAS,CAACgB,MAAM,GAAG,IAAI;EACzB,CAAC,CAAC,OAAOb,KAAK,EAAE;IACd,IAAI,CAACF,OAAO,CAACC,MAAM,EAAED,OAAO,CAACE,KAAK,GAAGA,KAAK;IAC1CF,OAAO,CAACC,MAAM,GAAG,IAAI;EACvB;EACA,IAAID,OAAO,CAACC,MAAM,EAAE;IAClB,MAAMe,OAAO,GAAGC,UAEf;IACD,CAACD,OAAO,CAACE,2BAA2B,KAAK,EAAE,EAAEC,IAAI,CAACpB,SAAS,CAAC;EAC9D;EACA,OAAOC,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -167,6 +167,8 @@ export const useVideoComposition = ({
167
167
  const lastImportedVersion = useSharedValue(-1);
168
168
  // Whether the previous vsync imported and left its draw to this one.
169
169
  const drawDeferred = useSharedValue(false);
170
+ // Whether the previous vsync brought new frames.
171
+ const importedLastVsync = useSharedValue(false);
170
172
  // A new drawFrame can draw something else from the same time and frames.
171
173
  useEffect(() => {
172
174
  lastDrawnTime.value = -1;
@@ -212,13 +214,19 @@ export const useVideoComposition = ({
212
214
  sourcesGeneration.value = generation;
213
215
  const currentTime = framesExtractor.currentTime;
214
216
  const framesVersion = framesExtractor.framesVersion;
215
- if (splitImportAndDraw && framesVersion !== lastImportedVersion.value) {
217
+ const imported = splitImportAndDraw && framesVersion !== lastImportedVersion.value;
218
+ const importedBefore = importedLastVsync.value;
219
+ // Version 0: no frame decoded yet.
220
+ importedLastVsync.value = imported && framesVersion > 0;
221
+ if (imported) {
216
222
  // ownVideoFrames above has just imported the new frames: leave the
217
- // draw to the next vsync, which finds them in the import cache. Never
218
- // twice running: a frame that lands on the vsync owed a draw would
219
- // push it again, and the frame before it would never be shown.
223
+ // draw to the next vsync, which finds them in the import cache. Not
224
+ // when the previous vsync brought new frames too: frames arriving at
225
+ // every vsync (60 fps, or a display gone down to 30 Hz) leave no vsync
226
+ // free for the draw, and the next frame would replace this one before
227
+ // it is shown. Never twice running either, for the same reason.
220
228
  lastImportedVersion.value = framesVersion;
221
- if (!drawDeferred.value && currentFrame.value !== null && frameGeneration.value === generation) {
229
+ if (!drawDeferred.value && !importedBefore && currentFrame.value !== null && frameGeneration.value === generation) {
222
230
  drawDeferred.value = true;
223
231
  return;
224
232
  }