react-native-skia-webgpu-video 0.1.0-beta.3 → 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 (65) hide show
  1. package/README.md +39 -32
  2. package/android/BUILD_VALIDATION.md +1 -1
  3. package/android/CMakeLists.txt +3 -2
  4. package/android/cpp/ExportHintSession.cpp +114 -0
  5. package/android/cpp/ExportHintSession.h +35 -0
  6. package/android/cpp/VideoEncoderHostObject.cpp +76 -101
  7. package/android/cpp/VideoEncoderHostObject.h +14 -9
  8. package/android/cpp/VideoFrame.cpp +3 -5
  9. package/android/cpp/cpp-adapter.cpp +7 -4
  10. package/android/src/main/java/com/azzapp/rnskv/GLFrameExtractor.java +3 -9
  11. package/android/src/main/java/com/azzapp/rnskv/VideoCompositionDecoder.java +8 -11
  12. package/android/src/main/java/com/azzapp/rnskv/VideoEncoder.java +68 -28
  13. package/docs/FRAME_PIXEL_FORMAT.md +1 -1
  14. package/docs/MIGRATION.md +1 -1
  15. package/docs/UPSTREAM_NOTES.md +15 -2
  16. package/lib/module/canvas.js +3 -5
  17. package/lib/module/canvas.js.map +1 -1
  18. package/lib/module/exportFrames.js +6 -8
  19. package/lib/module/exportFrames.js.map +1 -1
  20. package/lib/module/exportTarget.js +183 -40
  21. package/lib/module/exportTarget.js.map +1 -1
  22. package/lib/module/exportVideoComposition.js +53 -12
  23. package/lib/module/exportVideoComposition.js.map +1 -1
  24. package/lib/module/frameInterop.js +9 -12
  25. package/lib/module/frameInterop.js.map +1 -1
  26. package/lib/module/gpu.js +0 -2
  27. package/lib/module/gpu.js.map +1 -1
  28. package/lib/module/gpuDevice.js +12 -0
  29. package/lib/module/gpuDevice.js.map +1 -1
  30. package/lib/module/previewLifecycle.js +0 -1
  31. package/lib/module/previewLifecycle.js.map +1 -1
  32. package/lib/module/yuvBlit.js +28 -21
  33. package/lib/module/yuvBlit.js.map +1 -1
  34. package/lib/typescript/src/canvas.d.ts.map +1 -1
  35. package/lib/typescript/src/exportFrames.d.ts +3 -2
  36. package/lib/typescript/src/exportFrames.d.ts.map +1 -1
  37. package/lib/typescript/src/exportTarget.d.ts +53 -14
  38. package/lib/typescript/src/exportTarget.d.ts.map +1 -1
  39. package/lib/typescript/src/exportVideoComposition.d.ts +2 -1
  40. package/lib/typescript/src/exportVideoComposition.d.ts.map +1 -1
  41. package/lib/typescript/src/frameInterop.d.ts.map +1 -1
  42. package/lib/typescript/src/gpu.d.ts.map +1 -1
  43. package/lib/typescript/src/gpuDevice.d.ts +5 -1
  44. package/lib/typescript/src/gpuDevice.d.ts.map +1 -1
  45. package/lib/typescript/src/previewLifecycle.d.ts.map +1 -1
  46. package/lib/typescript/src/types.d.ts +10 -5
  47. package/lib/typescript/src/types.d.ts.map +1 -1
  48. package/lib/typescript/src/yuvBlit.d.ts +16 -14
  49. package/lib/typescript/src/yuvBlit.d.ts.map +1 -1
  50. package/package.json +6 -6
  51. package/patches/react-native-skia+3.7.4.patch +146 -0
  52. package/scripts/skia-canvas-patch.json +22 -258
  53. package/src/canvas.ts +3 -7
  54. package/src/exportFrames.ts +8 -9
  55. package/src/exportTarget.ts +217 -56
  56. package/src/exportVideoComposition.ts +87 -26
  57. package/src/frameInterop.ts +9 -11
  58. package/src/gpu.ts +0 -2
  59. package/src/gpuDevice.ts +26 -1
  60. package/src/previewLifecycle.ts +0 -1
  61. package/src/types.ts +10 -5
  62. package/src/yuvBlit.ts +43 -28
  63. package/android/cpp/EncoderTargets.cpp +0 -226
  64. package/android/cpp/EncoderTargets.h +0 -70
  65. package/patches/react-native-skia+3.7.1.patch +0 -502
@@ -1 +1 @@
1
- {"version":3,"names":["getVideoCanvas","Platform","AlphaType","BlendMode","ColorType","Skia","getVideoGpuDevice","createNativeVideoGpuFrame","nativeVideoTextureUsage","rgbaVideoTextureUsage","frameByteSize","releaseVideoMemory","reserveVideoMemory","blitNv12Frame","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","nv12","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":[]}
@@ -45,36 +45,42 @@ const sourceColorSpace = {
45
45
  transfer: "srgb"
46
46
  };
47
47
 
48
- /** The corner of a decoder buffer's crop rectangle once the buffer is turned
49
- * clockwise for display: the blit takes its source origin in that turned
50
- * space. Throws unless the rectangle lies in the buffer and turns into the
51
- * frame's display size. */
52
- export const yuvFrameOrigin = (region, rotation, buffer, frame) => {
48
+ /** A decoder buffer's crop rectangle once the buffer is turned clockwise for
49
+ * display: the blit samples that upright region, and draws it at the size of
50
+ * its target, which a capped or explicit frame size makes smaller. Throws
51
+ * unless the rectangle lies in the buffer. */
52
+ export const yuvFrameRegion = (region, rotation, buffer) => {
53
53
  "worklet";
54
54
 
55
55
  const turned = rotation === 90 || rotation === 270;
56
- if (rotation !== 0 && !turned && rotation !== 180 || region.x < 0 || region.y < 0 || region.x + region.width > buffer.width || region.y + region.height > buffer.height || (turned ? region.height : region.width) !== frame.width || (turned ? region.width : region.height) !== frame.height) {
56
+ if (rotation !== 0 && !turned && rotation !== 180 || region.x < 0 || region.y < 0 || region.width <= 0 || region.height <= 0 || region.x + region.width > buffer.width || region.y + region.height > buffer.height) {
57
57
  throw new Error("Native video buffer region or YUV layout mismatch");
58
58
  }
59
- const {
59
+ const width = turned ? region.height : region.width;
60
+ const height = turned ? region.width : region.height;
61
+ if (rotation === 90) return {
62
+ x: buffer.height - region.y - region.height,
63
+ y: region.x,
60
64
  width,
61
65
  height
62
- } = buffer;
63
- if (rotation === 90) return {
64
- x: height - region.y - region.height,
65
- y: region.x
66
66
  };
67
67
  if (rotation === 180) return {
68
- x: width - region.x - region.width,
69
- y: height - region.y - region.height
68
+ x: buffer.width - region.x - region.width,
69
+ y: buffer.height - region.y - region.height,
70
+ width,
71
+ height
70
72
  };
71
73
  if (rotation === 270) return {
72
74
  x: region.y,
73
- y: width - region.x - region.width
75
+ y: buffer.width - region.x - region.width,
76
+ width,
77
+ height
74
78
  };
75
79
  return {
76
80
  x: region.x,
77
- y: region.y
81
+ y: region.y,
82
+ width,
83
+ height
78
84
  };
79
85
  };
80
86
  const getYuvBlit = device => {
@@ -227,12 +233,13 @@ const importYuvBuffer = (device, blit, handle, rotation) => {
227
233
  };
228
234
 
229
235
  /**
230
- * Draws the upright `width`×`height` region at `origin` of a decoder buffer
231
- * into `target`, converting YUV to RGB; the buffer is imported on its first
232
- * frame. Submits the draw: the caller waits for it before releasing the
233
- * frame's lease or `source`, as after copyExternalImageToTexture.
236
+ * Draws the upright `region` of a decoder buffer (see yuvFrameRegion) into
237
+ * the whole of `target`, converting YUV to RGB and scaling it to the target's
238
+ * size; the buffer is imported on its first frame. Submits the draw: the
239
+ * caller waits for it before releasing the frame's lease or `source`, as
240
+ * after copyExternalImageToTexture.
234
241
  */
235
- export const blitYuvFrame = (device, imports, producer, source, rotation, origin, width, height, target) => {
242
+ export const blitYuvFrame = (device, imports, producer, source, rotation, region, target) => {
236
243
  "worklet";
237
244
 
238
245
  const blit = getYuvBlit(device);
@@ -261,7 +268,7 @@ export const blitYuvFrame = (device, imports, producer, source, rotation, origin
261
268
  const turned = rotation === 90 || rotation === 270;
262
269
  const frameWidth = turned ? source.height : source.width;
263
270
  const frameHeight = turned ? source.width : source.height;
264
- const mapping = [width / frameWidth, height / frameHeight, origin.x / frameWidth, origin.y / frameHeight];
271
+ const mapping = [region.width / frameWidth, region.height / frameHeight, region.x / frameWidth, region.y / frameHeight];
265
272
  if (mapping.some((value, i) => value !== entry.mapping[i])) {
266
273
  device.queue.writeBuffer(entry.uniforms, 0, new Float32Array(mapping));
267
274
  entry.mapping = mapping;
@@ -1 +1 @@
1
- {"version":3,"names":["createNativeVideoGpuFrame","videoShaderStages","videoUniformBufferUsage","maxImportsPerProducer","shader","sourceColorSpace","primaries","transfer","yuvFrameOrigin","region","rotation","buffer","frame","turned","x","y","width","height","Error","getYuvBlit","device","runtime","globalThis","__rnskwgpuYuvBlit","layout","createBindGroupLayout","label","entries","binding","visibility","fragment","externalTexture","sampler","type","vertex","pipelineLayout","createPipelineLayout","bindGroupLayouts","createSampler","magFilter","minFilter","module","createShaderModule","code","pipelines","Map","getPipeline","blit","format","pipeline","get","createRenderPipeline","entryPoint","targets","primitive","topology","set","releaseYuvImport","entry","wrapper","destroy","uniforms","source","release","releaseYuvImports","imports","producer","key","undefined","length","shift","delete","importYuvBuffer","handle","createNativeBufferExternalTexture","mirrored","createBuffer","size","usage","bindGroup","createBindGroup","resource","mapping","error","blitYuvFrame","origin","target","index","findIndex","push","splice","frameWidth","frameHeight","some","value","i","queue","writeBuffer","Float32Array","beginAccess","encoder","createCommandEncoder","pass","beginRenderPass","colorAttachments","view","createView","loadOp","clearValue","r","g","b","a","storeOp","setPipeline","setBindGroup","draw","end","submit","finish","endAccess","fence","blitNv12Frame","wholeFrame","external","importExternalTexture"],"sourceRoot":"../../src","sources":["yuvBlit.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createNativeVideoGpuFrame","videoShaderStages","videoUniformBufferUsage","maxImportsPerProducer","shader","sourceColorSpace","primaries","transfer","yuvFrameRegion","region","rotation","buffer","turned","x","y","width","height","Error","getYuvBlit","device","runtime","globalThis","__rnskwgpuYuvBlit","layout","createBindGroupLayout","label","entries","binding","visibility","fragment","externalTexture","sampler","type","vertex","pipelineLayout","createPipelineLayout","bindGroupLayouts","createSampler","magFilter","minFilter","module","createShaderModule","code","pipelines","Map","getPipeline","blit","format","pipeline","get","createRenderPipeline","entryPoint","targets","primitive","topology","set","releaseYuvImport","entry","wrapper","destroy","uniforms","source","release","releaseYuvImports","imports","producer","key","undefined","length","shift","delete","importYuvBuffer","handle","createNativeBufferExternalTexture","mirrored","createBuffer","size","usage","bindGroup","createBindGroup","resource","mapping","error","blitYuvFrame","target","index","findIndex","push","splice","frameWidth","frameHeight","some","value","i","queue","writeBuffer","Float32Array","beginAccess","encoder","createCommandEncoder","pass","beginRenderPass","colorAttachments","view","createView","loadOp","clearValue","r","g","b","a","storeOp","setPipeline","setBindGroup","draw","end","submit","finish","endAccess","fence","blitNv12Frame","wholeFrame","external","importExternalTexture"],"sourceRoot":"../../src","sources":["yuvBlit.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../../src/canvas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE7D,sFAAsF;AACtF,eAAO,MAAM,cAAc,GAAI,SAAS,SAAS,KAAG,QAkBnD,CAAC"}
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../../src/canvas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE7D,sFAAsF;AACtF,eAAO,MAAM,cAAc,GAAI,SAAS,SAAS,KAAG,QAcnD,CAAC"}
@@ -50,8 +50,9 @@ export declare const importExportFrame: (frame: VideoFrame, imports?: ExportFram
50
50
  export declare const releaseExportFrames: (imports: ExportFrameImports) => void;
51
51
  /** The export counterpart of ownVideoFrames on iOS: decoded frames are drawn
52
52
  * in place, and a producer's previous frame is released once its next one is
53
- * imported, since every exported frame ends with a checked GPU wait. Other
54
- * frames, or every frame after a first failed import, use `fallback`. */
53
+ * imported, since the export waits for the GPU to complete a frame before it
54
+ * imports the next one. Other frames, or every frame after a first failed
55
+ * import, use `fallback`. */
55
56
  export declare const ownExportFrames: (imports: ExportFrameImports, decoded: Record<string, VideoFrame>, fallback: (frames: Record<string, VideoFrame>) => Record<string, VideoFrame>) => Record<string, VideoFrame>;
56
57
  export {};
57
58
  //# sourceMappingURL=exportFrames.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exportFrames.d.ts","sourceRoot":"","sources":["../../../src/exportFrames.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EACV,sBAAsB,EAEtB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAS,CAAC;AAO1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAW,CAAC;AAE3C;;;6DAG6D;AAC7D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAC/B,CAAC;AAEF,8DAA8D;AAC9D,KAAK,eAAe,GAAG;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpE;2DAC2D;AAC3D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACxC,0EAA0E;IAC1E,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvC,+DAA+D;IAC/D,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;CAC/B,CAAC;AAqBF,eAAO,MAAM,wBAAwB,QAAO,kBAU3C,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,GAAI,OAAO,UAAU,KAAG,OAQpD,CAAC;AAGF;;6EAE6E;AAC7E,eAAO,MAAM,kBAAkB,GAAI,OAAO,iBAAiB,KAAG,IAiB7D,CAAC;AA6HF;;oFAEoF;AACpF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,UAAU,EACjB,UAAU,kBAAkB,KAC3B,iBA6DF,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,mBAAmB,GAAI,SAAS,kBAAkB,KAAG,IAQjE,CAAC;AAEF;;;yEAGyE;AACzE,eAAO,MAAM,eAAe,GAC1B,SAAS,kBAAkB,EAC3B,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACnC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,KAC3E,MAAM,CAAC,MAAM,EAAE,UAAU,CAqG3B,CAAC"}
1
+ {"version":3,"file":"exportFrames.d.ts","sourceRoot":"","sources":["../../../src/exportFrames.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EACV,sBAAsB,EAEtB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAS,CAAC;AAO1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAW,CAAC;AAE3C;;;6DAG6D;AAC7D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAC/B,CAAC;AAEF,8DAA8D;AAC9D,KAAK,eAAe,GAAG;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpE;2DAC2D;AAC3D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACxC,0EAA0E;IAC1E,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvC,+DAA+D;IAC/D,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;CAC/B,CAAC;AAqBF,eAAO,MAAM,wBAAwB,QAAO,kBAU3C,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,GAAI,OAAO,UAAU,KAAG,OAQpD,CAAC;AAGF;;6EAE6E;AAC7E,eAAO,MAAM,kBAAkB,GAAI,OAAO,iBAAiB,KAAG,IAiB7D,CAAC;AA2HF;;oFAEoF;AACpF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,UAAU,EACjB,UAAU,kBAAkB,KAC3B,iBA6DF,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,mBAAmB,GAAI,SAAS,kBAAkB,KAAG,IAQjE,CAAC;AAEF;;;;6BAI6B;AAC7B,eAAO,MAAM,eAAe,GAC1B,SAAS,kBAAkB,EAC3B,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACnC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,KAC3E,MAAM,CAAC,MAAM,EAAE,UAAU,CAqG3B,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import type { SkCanvas, SkSurface } from "react-native-skia";
2
- import type { GPUSharedTextureMemory, NativeVideoFrame } from "react-native-webgpu";
2
+ import type { GPUSharedTextureMemory, NativeVideoFrame, RNCanvasContext } from "react-native-webgpu";
3
3
  import type { VideoEncoder } from "./types.js";
4
- /** An encoder pool buffer that Skia draws into through WebGPU. */
4
+ /** A texture Skia draws an exported frame into through WebGPU: a lent
5
+ * encoder pool buffer on iOS, one of the encoder window's own textures on
6
+ * Android. */
5
7
  export type EncoderTarget = {
6
- pointer: bigint;
7
- /** Android: sync-fds ending the GPU access, handed over to the encoder. */
8
- fences: bigint[];
8
+ /** iOS: the lent CVPixelBuffer. */
9
+ pointer: bigint | null;
9
10
  frame: NativeVideoFrame | null;
10
11
  memory: GPUSharedTextureMemory | null;
11
12
  texture: GPUTexture | null;
@@ -13,16 +14,54 @@ export type EncoderTarget = {
13
14
  surface: SkSurface | null;
14
15
  canvas: SkCanvas | null;
15
16
  };
17
+ /** Android: a canvas context presenting to the codec's input Surface. Skia
18
+ * draws each frame into one of two textures of our own, which a GPU copy then
19
+ * puts into the window's texture. The window's textures are the codec's
20
+ * input buffers: the copy waits on the GPU for the codec to hand one back,
21
+ * while the export goes on with the next frame, rather than the frame's
22
+ * checked wait. */
23
+ export type EncoderWindow = {
24
+ context: RNCanvasContext;
25
+ device: GPUDevice;
26
+ configured: boolean;
27
+ /** Drawn into in turn, each copied into the window after its frame. */
28
+ slots: EncoderTarget[];
29
+ next: number;
30
+ reservations: number[];
31
+ /** The window texture the probe acquired, the first frame's copy target. */
32
+ pending: GPUTexture | null;
33
+ };
16
34
  export declare const supportsEncoderTargets: (encoder: VideoEncoder) => boolean;
17
- /** Ends GPU access; the lent buffer stays with the caller, to encode or
18
- * release. Call only after a checked flush(true) of its surface. With
19
- * `encoding`, Android keeps the access's sync-fds in `target.fences` for the
20
- * encoder, which owns and closes them: ending an AHB access submits a
21
- * release that flush(true) has not waited for. */
22
- export declare const closeEncoderTarget: (target: EncoderTarget, encoding?: boolean) => void;
23
- /** Lends the next pool buffer and wraps it as a Skia surface. */
35
+ /** iOS: ends GPU access; the lent buffer stays with the caller, to encode or
36
+ * release. Call only after a checked flush(true) of its surface. */
37
+ export declare const closeEncoderTarget: (target: EncoderTarget) => void;
38
+ /** iOS: lends the next pool buffer and wraps it as a Skia surface. */
24
39
  export declare const acquireEncoderTarget: (encoder: VideoEncoder, width: number, height: number) => EncoderTarget;
25
- /** Clears one lent buffer on the GPU, then returns it unencoded. Returns the
26
- * failure, or null when this device can export through encoder targets. */
40
+ /** iOS: clears one lent buffer on the GPU, then returns it unencoded.
41
+ * Returns the failure, or null when this device can export through encoder
42
+ * targets. */
27
43
  export declare const probeEncoderTarget: (encoder: VideoEncoder, width: number, height: number) => unknown;
44
+ /** Android: the slot the next frame draws into. Its previous copy completed:
45
+ * the checked wait the export makes before each frame's import covers the
46
+ * queue before it. */
47
+ export declare const acquireWindowTarget: (window: EncoderWindow) => EncoderTarget;
48
+ /** Android: copies the slot Skia drew into to the window's next texture and
49
+ * hands it to the encoder, with its time. Call once the slot's surface was
50
+ * flushed: the copy follows the drawing on the same queue. */
51
+ export declare const presentWindowTarget: (encoder: VideoEncoder, window: EncoderWindow, target: EncoderTarget, time: number) => void;
52
+ /** Android: the swapchain gives the codec its buffers back at once, rather
53
+ * than once the context is collected. Call before disposing the encoder. */
54
+ export declare const closeEncoderWindow: (window: EncoderWindow) => void;
55
+ /** Android: frees the window's own textures. Call once their last recording
56
+ * was submitted: a copy still in flight keeps its source alive. */
57
+ export declare const releaseEncoderWindow: (window: EncoderWindow) => void;
58
+ /** Android: opens a canvas context on the encoder's input window with its
59
+ * slots, acquires the window's first texture and draws a clear into the
60
+ * first slot: nothing reaches the encoder. Returns the window, or the
61
+ * failure, after which the window is closed and the export can fall back to
62
+ * readback. */
63
+ export declare const probeEncoderWindow: (encoder: VideoEncoder, width: number, height: number) => {
64
+ window: EncoderWindow | null;
65
+ failure: unknown;
66
+ };
28
67
  //# sourceMappingURL=exportTarget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exportTarget.d.ts","sourceRoot":"","sources":["../../../src/exportTarget.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EACV,sBAAsB,EAEtB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAS,CAAC;AAE5C,kEAAkE;AAClE,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;CACzB,CAAC;AAYF,eAAO,MAAM,sBAAsB,GAAI,SAAS,YAAY,KAAG,OAM9D,CAAC;AAGF;;;;kDAIkD;AAClD,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,aAAa,EACrB,kBAAgB,KACf,IAmCF,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,oBAAoB,GAC/B,SAAS,YAAY,EACrB,OAAO,MAAM,EACb,QAAQ,MAAM,KACb,aAwDF,CAAC;AAEF;2EAC2E;AAC3E,eAAO,MAAM,kBAAkB,GAC7B,SAAS,YAAY,EACrB,OAAO,MAAM,EACb,QAAQ,MAAM,KACb,OAmBF,CAAC"}
1
+ {"version":3,"file":"exportTarget.d.ts","sourceRoot":"","sources":["../../../src/exportTarget.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EACV,sBAAsB,EAEtB,gBAAgB,EAChB,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAc7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAS,CAAC;AAE5C;;cAEc;AACd,MAAM,MAAM,aAAa,GAAG;IAC1B,mCAAmC;IACnC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF;;;;;mBAKmB;AACnB,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,uEAAuE;IACvE,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,4EAA4E;IAC5E,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;CAC5B,CAAC;AAUF,eAAO,MAAM,sBAAsB,GAAI,SAAS,YAAY,KAAG,OAM9D,CAAC;AAGF;oEACoE;AACpE,eAAO,MAAM,kBAAkB,GAAI,QAAQ,aAAa,KAAG,IAsB1D,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,GAC/B,SAAS,YAAY,EACrB,OAAO,MAAM,EACb,QAAQ,MAAM,KACb,aA6CF,CAAC;AAEF;;cAEc;AACd,eAAO,MAAM,kBAAkB,GAC7B,SAAS,YAAY,EACrB,OAAO,MAAM,EACb,QAAQ,MAAM,KACb,OAmBF,CAAC;AAqBF;;sBAEsB;AACtB,eAAO,MAAM,mBAAmB,GAAI,QAAQ,aAAa,KAAG,aAG3D,CAAC;AAEF;;8DAE8D;AAC9D,eAAO,MAAM,mBAAmB,GAC9B,SAAS,YAAY,EACrB,QAAQ,aAAa,EACrB,QAAQ,aAAa,EACrB,MAAM,MAAM,KACX,IAmBF,CAAC;AAEF;4EAC4E;AAC5E,eAAO,MAAM,kBAAkB,GAAI,QAAQ,aAAa,KAAG,IAM1D,CAAC;AAEF;mEACmE;AACnE,eAAO,MAAM,oBAAoB,GAAI,QAAQ,aAAa,KAAG,IAgB5D,CAAC;AAEF;;;;eAIe;AACf,eAAO,MAAM,kBAAkB,GAC7B,SAAS,YAAY,EACrB,OAAO,MAAM,EACb,QAAQ,MAAM,KACb;IAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAiElD,CAAC"}
@@ -31,7 +31,8 @@ export type ExportProfile = {
31
31
  targetMs: number;
32
32
  /** drawFrame, before/afterDrawFrame and progress scheduling. */
33
33
  drawMs: number;
34
- /** The checked flush(true): waiting for the GPU to complete the frame. */
34
+ /** The checked flush(true): waiting for the GPU to complete the frame,
35
+ * which Android's window export does once it decoded the next frame. */
35
36
  gpuMs: number;
36
37
  /** Readback when used, submission to the encoder including its
37
38
  * backpressure, and the final file write. */
@@ -1 +1 @@
1
- {"version":3,"file":"exportVideoComposition.d.ts","sourceRoot":"","sources":["../../../src/exportVideoComposition.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAGhB,UAAU,EACX,MAAM,YAAS,CAAC;AA4BjB,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,MAAM,OAAO,CAAC;CAC5B,CAAC;AAEF;iEACiE;AACjE,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E;8EAC0E;IAC1E,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC,CAAC;AAEF;yEACyE;AACzE,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB;6CACyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd;iDAC6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,SAAS,IAAI,aAAa,GAAG;IAChE,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1B,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,IAAI,CAAC;IACX,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;uEACmE;IACnE,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE;QAC/B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,WAAW,EAAE,MAAM,OAAO,CAAC;KAC5B,KAAK,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzD;gFAC4E;IAC5E,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;CAC9C,CAAC;AAsDF;;kFAEkF;AAClF,eAAO,MAAM,sBAAsB,GAAI,CAAC,GAAG,SAAS,EAClD,MAAM,oBAAoB,CAAC,CAAC,CAAC,KAC5B,OAAO,CAAC,IAAI,CAA+D,CAAC"}
1
+ {"version":3,"file":"exportVideoComposition.d.ts","sourceRoot":"","sources":["../../../src/exportVideoComposition.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAGhB,UAAU,EACX,MAAM,YAAS,CAAC;AAkCjB,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,MAAM,OAAO,CAAC;CAC5B,CAAC;AAEF;iEACiE;AACjE,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E;8EAC0E;IAC1E,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC,CAAC;AAEF;yEACyE;AACzE,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB;6CACyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf;4EACwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd;iDAC6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,SAAS,IAAI,aAAa,GAAG;IAChE,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1B,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,IAAI,CAAC;IACX,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;uEACmE;IACnE,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE;QAC/B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,WAAW,EAAE,MAAM,OAAO,CAAC;KAC5B,KAAK,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzD;gFAC4E;IAC5E,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;CAC9C,CAAC;AA2DF;;kFAEkF;AAClF,eAAO,MAAM,sBAAsB,GAAI,CAAC,GAAG,SAAS,EAClD,MAAM,oBAAoB,CAAC,CAAC,CAAC,KAC5B,OAAO,CAAC,IAAI,CAA+D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"frameInterop.d.ts","sourceRoot":"","sources":["../../../src/frameInterop.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAY,OAAO,EAAa,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAS,CAAC;AAwJ1C;;4EAE4E;AAC5E,eAAO,MAAM,qBAAqB,GAAI,+BAA6B,KAAG,IA8BrE,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,GAAI,OAAO,UAAU,KAAG,IAmB1D,CAAC;AAEF;;;oFAGoF;AACpF,eAAO,MAAM,mBAAmB,GAAI,OAAO,UAAU,KAAG,OAAO,GAAG,IA2XjE,CAAC;AAEF;yEACyE;AACzE,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,KACjC,MAAM,CAAC,MAAM,EAAE,UAAU,CAkG3B,CAAC"}
1
+ {"version":3,"file":"frameInterop.d.ts","sourceRoot":"","sources":["../../../src/frameInterop.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAY,OAAO,EAAa,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAS,CAAC;AAuJ1C;;4EAE4E;AAC5E,eAAO,MAAM,qBAAqB,GAAI,+BAA6B,KAAG,IA8BrE,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,GAAI,OAAO,UAAU,KAAG,IAmB1D,CAAC;AAEF;;;oFAGoF;AACpF,eAAO,MAAM,mBAAmB,GAAI,OAAO,UAAU,KAAG,OAAO,GAAG,IA0XjE,CAAC;AAEF;yEACyE;AACzE,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,KACjC,MAAM,CAAC,MAAM,EAAE,UAAU,CAkG3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gpu.d.ts","sourceRoot":"","sources":["../../../src/gpu.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAKtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAa,CAAC;AAEhD,MAAM,MAAM,qBAAqB,GAC7B,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,SAAS,GACT,aAAa,GACb,cAAc,CAAC;AACnB,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;CAClC,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B;6EACyE;IACzE,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,aAAa,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,cAAc,CAAC;IACnE,YAAY,EAAE,CAAC,UAAU,EAAE,mBAAmB,KAAK,SAAS,CAAC;IAC7D,uEAAuE;IACvE,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,iFAAiF;IACjF,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B;gFAC4E;IAC5E,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAWF;;gFAEgF;AAChF,eAAO,MAAM,mBAAmB,GAAI,UAAU;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,KAAG,aAqOH,CAAC"}
1
+ {"version":3,"file":"gpu.d.ts","sourceRoot":"","sources":["../../../src/gpu.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAKtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAa,CAAC;AAEhD,MAAM,MAAM,qBAAqB,GAC7B,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,SAAS,GACT,aAAa,GACb,cAAc,CAAC;AACnB,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;CAClC,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B;6EACyE;IACzE,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,aAAa,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,cAAc,CAAC;IACnE,YAAY,EAAE,CAAC,UAAU,EAAE,mBAAmB,KAAK,SAAS,CAAC;IAC7D,uEAAuE;IACvE,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,iFAAiF;IACjF,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B;gFAC4E;IAC5E,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAWF;;gFAEgF;AAChF,eAAO,MAAM,mBAAmB,GAAI,UAAU;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,KAAG,aAmOH,CAAC"}
@@ -1,7 +1,11 @@
1
- import type { NativeVideoFrame } from "react-native-webgpu";
1
+ import type { NativeVideoFrame, RNCanvasContext } from "react-native-webgpu";
2
2
  export declare const getVideoGpuDevice: () => GPUDevice;
3
3
  export declare const createNativeVideoGpuFrame: (pointer: bigint) => NativeVideoFrame;
4
+ /** Android: a canvas context presenting to a native window that is not a
5
+ * view, such as an encoder's input Surface. */
6
+ export declare const createNativeWindowGpuContext: (window: bigint, width: number, height: number) => RNCanvasContext;
4
7
  export declare const nativeVideoTextureUsage: number;
8
+ export declare const encoderWindowTextureUsage: number;
5
9
  export declare const rgbaVideoTextureUsage: number;
6
10
  export declare const videoShaderStages: {
7
11
  vertex: number;
@@ -1 +1 @@
1
- {"version":3,"file":"gpuDevice.d.ts","sourceRoot":"","sources":["../../../src/gpuDevice.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAsC5D,eAAO,MAAM,iBAAiB,QAAO,SAIpC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,SAAS,MAAM,KACd,gBAKF,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAGV,CAAC;AAI3B,eAAO,MAAM,qBAAqB,QACkB,CAAC;AAGrD,eAAO,MAAM,iBAAiB;;;CAG7B,CAAC;AACF,eAAO,MAAM,uBAAuB,QACc,CAAC"}
1
+ {"version":3,"file":"gpuDevice.d.ts","sourceRoot":"","sources":["../../../src/gpuDevice.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAsC7E,eAAO,MAAM,iBAAiB,QAAO,SAIpC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,SAAS,MAAM,KACd,gBAKF,CAAC;AAEF;+CAC+C;AAC/C,eAAO,MAAM,4BAA4B,GACvC,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,QAAQ,MAAM,KACb,eAaF,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAGV,CAAC;AAG3B,eAAO,MAAM,yBAAyB,QACwB,CAAC;AAI/D,eAAO,MAAM,qBAAqB,QACkB,CAAC;AAGrD,eAAO,MAAM,iBAAiB;;;CAG7B,CAAC;AACF,eAAO,MAAM,uBAAuB,QACc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"previewLifecycle.d.ts","sourceRoot":"","sources":["../../../src/previewLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAS,CAAC;AAE1C,KAAK,gBAAgB,GAAG;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF;;gFAEgF;AAChF,eAAO,MAAM,uBAAuB,GAAI,WAAW,gBAAgB;;WAEZ,OAAO;CAuC7D,CAAC"}
1
+ {"version":3,"file":"previewLifecycle.d.ts","sourceRoot":"","sources":["../../../src/previewLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAS,CAAC;AAE1C,KAAK,gBAAgB,GAAG;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF;;gFAEgF;AAChF,eAAO,MAAM,uBAAuB,GAAI,WAAW,gBAAgB;;WAEZ,OAAO;CAsC7D,CAAC"}
@@ -408,14 +408,19 @@ export type VideoEncoder = {
408
408
  */
409
409
  encodeFrame(texture: unknown, time: number): void;
410
410
  /**
411
- * Lends the next pool buffer to draw into on the GPU: a CVPixelBuffer on
412
- * iOS, an RGBA AHardwareBuffer on Android. Pass it back as a native-buffer
413
- * frame (on Android with the sync-fds ending its GPU access, in `fences`),
414
- * or release it. One at a time.
411
+ * iOS: lends the next pool buffer (a CVPixelBuffer) to draw into on the
412
+ * GPU. Pass it back as a native-buffer frame, or release it. One at a time.
415
413
  */
416
414
  acquireFrameBuffer?(): bigint;
417
- /** Returns a lent buffer that will not be encoded. */
415
+ /** iOS: returns a lent buffer that will not be encoded. */
418
416
  releaseFrameBuffer?(): void;
417
+ /**
418
+ * Android: the codec's input Surface, as an ANativeWindow pointer for a
419
+ * WebGPU canvas context to present to. Each frame is then encoded as
420
+ * `{ kind: "window", present }`: the encoder sets the frame's time on the
421
+ * window and calls `present`, which presents the context.
422
+ */
423
+ acquireInputWindow?(): bigint;
419
424
  finishWriting(): void;
420
425
  /**
421
426
  * Disposes of the video composition encoder.