react-native-skia-webgpu-video 0.1.0-beta.4 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +21 -23
  2. package/android/BUILD_VALIDATION.md +1 -1
  3. package/docs/FRAME_PIXEL_FORMAT.md +16 -1
  4. package/docs/UPSTREAM_NOTES.md +28 -1
  5. package/ios/RNSVColorSpace.h +8 -3
  6. package/lib/module/exportFrames.js +2 -2
  7. package/lib/module/exportFrames.js.map +1 -1
  8. package/lib/module/exportVideoComposition.js +25 -23
  9. package/lib/module/exportVideoComposition.js.map +1 -1
  10. package/lib/module/frameInterop.js +314 -70
  11. package/lib/module/frameInterop.js.map +1 -1
  12. package/lib/module/gpu.js +1 -1
  13. package/lib/module/gpu.js.map +1 -1
  14. package/lib/module/memory.js +7 -0
  15. package/lib/module/memory.js.map +1 -1
  16. package/lib/module/previewLifecycle.js +2 -0
  17. package/lib/module/previewLifecycle.js.map +1 -1
  18. package/lib/module/videoCompositionPlayer.js +65 -14
  19. package/lib/module/videoCompositionPlayer.js.map +1 -1
  20. package/lib/module/videoFrameImage.js +1 -1
  21. package/lib/module/yuvBlit.js +3 -3
  22. package/lib/typescript/src/exportVideoComposition.d.ts.map +1 -1
  23. package/lib/typescript/src/frameInterop.d.ts +16 -5
  24. package/lib/typescript/src/frameInterop.d.ts.map +1 -1
  25. package/lib/typescript/src/memory.d.ts +2 -0
  26. package/lib/typescript/src/memory.d.ts.map +1 -1
  27. package/lib/typescript/src/previewLifecycle.d.ts +2 -0
  28. package/lib/typescript/src/previewLifecycle.d.ts.map +1 -1
  29. package/lib/typescript/src/types.d.ts +8 -7
  30. package/lib/typescript/src/types.d.ts.map +1 -1
  31. package/lib/typescript/src/videoCompositionPlayer.d.ts +4 -5
  32. package/lib/typescript/src/videoCompositionPlayer.d.ts.map +1 -1
  33. package/lib/typescript/src/videoFrameImage.d.ts +1 -1
  34. package/package.json +6 -6
  35. package/patches/{react-native-skia+3.7.4.patch → react-native-skia+3.10.0.patch} +7 -3
  36. package/scripts/skia-canvas-patch.json +6 -6
  37. package/src/exportFrames.ts +2 -2
  38. package/src/exportVideoComposition.ts +43 -59
  39. package/src/frameInterop.ts +380 -85
  40. package/src/gpu.ts +1 -1
  41. package/src/memory.ts +6 -0
  42. package/src/previewLifecycle.ts +4 -0
  43. package/src/types.ts +8 -7
  44. package/src/videoCompositionPlayer.ts +76 -23
  45. package/src/videoFrameImage.ts +1 -1
  46. package/src/yuvBlit.ts +3 -3
@@ -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":";;AAAA;AACA,SAASA,IAAI,QAAQ,mBAAmB;AAExC,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,cAAc,QAAQ,aAAU;AACzC,SAASC,kBAAkB,EAAEC,kBAAkB,QAAQ,aAAU;AACjE,SAASC,iBAAiB,QAAQ,gBAAa;AAC/C,SAASA,iBAAiB,QAAQ,gBAAa;AA+C/C;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAIC,OAGnC,IAAoB;EACnB,SAAS;;EACT,MAAMC,MAAM,GAAGH,iBAAiB,CAAC,CAAC;EAClC,MAAMI,YAAY,GAAGF,OAAO,EAAEE,YAAY,IAAI,EAAE;EAChD,MAAMC,cAAc,GAAGH,OAAO,EAAEG,cAAc,IAAI,EAAE;EACpD,IACE,CAACC,MAAM,CAACC,aAAa,CAACH,YAAY,CAAC,IACnCA,YAAY,IAAI,CAAC,IACjBA,YAAY,GAAG,GAAG,IAClB,CAACE,MAAM,CAACC,aAAa,CAACF,cAAc,CAAC,IACrCA,cAAc,IAAI,CAAC,IACnBA,cAAc,GAAG,GAAG,EACpB;IACA,MAAM,IAAIG,KAAK,CAAC,0BAA0B,CAAC;EAC7C;EACA,MAAMC,SAAqB,GAAG,EAAE;EAChC,MAAMC,OAAO,GAAG,IAAIC,GAAG,CAAgB,CAAC;EACxC;EACA;EACA,MAAMC,KAAK,GAAG;IACZC,YAAY,EAAE,CAAC;IACfC,aAAa,EAAE,CAAC;IAChBC,UAAU,EAAEC,SAAoB;IAChCC,aAAa,EAAE,KAAK;IACpBC,OAAO,EAAE,KAAK;IACdC,QAAQ,EAAE;EACZ,CAAC;EACD,MAAMC,cAAc,GAAGA,CAAA,KAAM;IAC3B,SAAS;;IACT,IAAIR,KAAK,CAACM,OAAO,EAAE,MAAM,IAAIV,KAAK,CAAC,sBAAsB,CAAC;IAC1D,IAAIC,SAAS,CAACY,MAAM,IAAIjB,YAAY,EAClC,MAAM,IAAII,KAAK,CAAC,mCAAmC,CAAC;EACxD,CAAC;EACD,MAAMc,QAAQ,GAAG,MAAAA,CAAA,KAAY;IAC3B,SAAS;;IACT;IACA;IACA,SAAS;MACP,OAAOV,KAAK,CAACC,YAAY,EAAE,MAAMU,OAAO,CAACC,GAAG,CAAC,CAAC,GAAGd,OAAO,CAAC,CAAC;MAC1D,MAAMe,UAAU,GAAGb,KAAK,CAACE,aAAa;MACtC,KAAK,MAAMY,QAAQ,IAAIjB,SAAS,EAAEiB,QAAQ,CAACC,OAAO,EAAEC,KAAK,CAAC,IAAI,CAAC;MAC/D,MAAMzB,MAAM,CAAC0B,KAAK,CAACC,mBAAmB,CAAC,CAAC;MACxC;MACA;MACA,IAAI,CAAClB,KAAK,CAACC,YAAY,IAAID,KAAK,CAACE,aAAa,KAAKW,UAAU,EAAE;IACjE;EACF,CAAC;EACD,MAAMM,KAAK,GAAG,MAAAA,CAAA,KAAY;IACxB,SAAS;;IACT,MAAMT,QAAQ,CAAC,CAAC;IAChB,IAAIV,KAAK,CAACK,aAAa,EAAE,MAAML,KAAK,CAACG,UAAU;EACjD,CAAC;EACD,MAAMiB,aAAa,GAAIC,IAA4B,IAAqB;IACtE,SAAS;;IACTb,cAAc,CAAC,CAAC;IAChB,MAAMc,MAAM,GAAGD,IAAI,CAACC,MAAM,IAAI,YAAY;IAC1C,MAAMC,IAAI,GAAGF,IAAI,CAACE,IAAI,IAAI,OAAO;IACjC,MAAMC,aAAa,GACjBF,MAAM,KAAK,aAAa,GAAG,CAAC,GAAGA,MAAM,KAAK,SAAS,GAAG,CAAC,GAAG,CAAC;IAC7D,MAAMG,KAAK,GAAGJ,IAAI,CAACK,KAAK,GAAGL,IAAI,CAACM,MAAM,GAAGH,aAAa;IACtD,IACE,CAAC9B,MAAM,CAACC,aAAa,CAAC0B,IAAI,CAACK,KAAK,CAAC,IACjCL,IAAI,CAACK,KAAK,IAAI,CAAC,IACf,CAAChC,MAAM,CAACC,aAAa,CAAC0B,IAAI,CAACM,MAAM,CAAC,IAClCN,IAAI,CAACM,MAAM,IAAI,CAAC,IAChB,CAACjC,MAAM,CAACC,aAAa,CAAC8B,KAAK,CAAC,IAC5B,CAAC,CACC,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,SAAS,EACT,aAAa,EACb,cAAc,CACf,CAACG,QAAQ,CAACN,MAAM,CAAC,IAClB,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAACM,QAAQ,CAACL,IAAI,CAAC,IAC3C,CAAC,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,CAACK,QAAQ,CAACN,MAAM,CAAC,IAC1DC,IAAI,KAAK,MAAO,EAClB;MACA,MAAM,IAAI3B,KAAK,CAAC,qDAAqD,CAAC;IACxE;IACA,MAAMiC,QAAQ,GACZN,IAAI,KAAK,SAAS,GACdvC,eAAe,CAAC8C,iBAAiB,GACjCP,IAAI,KAAK,OAAO,GACdvC,eAAe,CAAC+C,eAAe,GAC/B,CAAC;IACT,MAAMC,KAAK,GACT,CAACX,IAAI,CAACW,KAAK,IACThD,eAAe,CAAC8C,iBAAiB,GAC/B9C,eAAe,CAAC+C,eAAe,GAC/B/C,eAAe,CAACiD,QAAQ,GACxBjD,eAAe,CAACkD,QAAQ,IAAIL,QAAQ;IAC1C,MAAMM,WAAW,GAAGhD,kBAAkB,CACpCsC,KAAK,EACLJ,IAAI,CAACe,KAAK,IAAI,mBAChB,CAAC;IACD,MAAMtB,QAAkB,GAAG;MAAEqB;IAAY,CAAC;IAC1C,IAAI;MACFrB,QAAQ,CAACuB,OAAO,GAAG9C,MAAM,CAAC6B,aAAa,CAAC;QACtCkB,IAAI,EAAE;UAAEZ,KAAK,EAAEL,IAAI,CAACK,KAAK;UAAEC,MAAM,EAAEN,IAAI,CAACM;QAAO,CAAC;QAChDL,MAAM;QACNU,KAAK;QACLI,KAAK,EAAEf,IAAI,CAACe;MACd,CAAC,CAAC;MACF,IAAIb,IAAI,KAAK,SAAS,EAAE;QACtBT,QAAQ,CAACC,OAAO,GAAGhC,IAAI,CAACwD,OAAO,CAACC,kBAAkB,CAAC1B,QAAQ,CAACuB,OAAO,CAAC;QACpEvB,QAAQ,CAAC2B,MAAM,GAAGxD,cAAc,CAAC6B,QAAQ,CAACC,OAAO,CAAC;MACpD,CAAC,MAAM,IAAIQ,IAAI,KAAK,OAAO,EAAE;QAC3BT,QAAQ,CAAC4B,KAAK,GAAG3D,IAAI,CAAC4D,KAAK,CAACC,uBAAuB,CAAC9B,QAAQ,CAACuB,OAAO,CAAC;MACvE;MACAxC,SAAS,CAACgD,IAAI,CAAC/B,QAAQ,CAAC;MACxB,OAAO;QACLuB,OAAO,EAAEvB,QAAQ,CAACuB,OAAO;QACzBK,KAAK,EAAE5B,QAAQ,CAAC4B,KAAK,IAAI,IAAI;QAC7B3B,OAAO,EAAED,QAAQ,CAACC,OAAO,IAAI,IAAI;QACjC0B,MAAM,EAAE3B,QAAQ,CAAC2B,MAAM,IAAI;MAC7B,CAAC;IACH,CAAC,CAAC,OAAOK,KAAK,EAAE;MACd;MACA,IAAI;QACFhC,QAAQ,CAAC2B,MAAM,GAAG,IAAI;QACtB3B,QAAQ,CAACC,OAAO,EAAEgC,OAAO,CAAC,CAAC;QAC3BjC,QAAQ,CAACC,OAAO,GAAG,IAAI;QACvBD,QAAQ,CAAC4B,KAAK,EAAEK,OAAO,CAAC,CAAC;QACzBjC,QAAQ,CAAC4B,KAAK,GAAG,IAAI;QACrB5B,QAAQ,CAACuB,OAAO,EAAEW,OAAO,CAAC,CAAC;QAC3BlC,QAAQ,CAACuB,OAAO,GAAGjC,SAAS;QAC5BlB,kBAAkB,CAACiD,WAAW,CAAC;MACjC,CAAC,CAAC,MAAM;QACN;QACAtC,SAAS,CAACgD,IAAI,CAAC/B,QAAQ,CAAC;MAC1B;MACA,MAAMgC,KAAK;IACb;EACF,CAAC;EACD,MAAMG,YAAY,GAAIC,UAA+B,IAAgB;IACnE,SAAS;;IACT1C,cAAc,CAAC,CAAC;IAChB,IAAI,CAACd,MAAM,CAACC,aAAa,CAACuD,UAAU,CAACZ,IAAI,CAAC,IAAIY,UAAU,CAACZ,IAAI,IAAI,CAAC,EAChE,MAAM,IAAI1C,KAAK,CAAC,yBAAyB,CAAC;IAC5C,MAAMuC,WAAW,GAAGhD,kBAAkB,CACpC+D,UAAU,CAACZ,IAAI,EACfY,UAAU,CAACd,KAAK,IAAI,kBACtB,CAAC;IACD,IAAI;MACF,MAAMe,MAAM,GAAG5D,MAAM,CAAC0D,YAAY,CAACC,UAAU,CAAC;MAC9CrD,SAAS,CAACgD,IAAI,CAAC;QAAEM,MAAM;QAAEhB;MAAY,CAAC,CAAC;MACvC,OAAOgB,MAAM;IACf,CAAC,CAAC,OAAOL,KAAK,EAAE;MACd,IAAI;QACF5D,kBAAkB,CAACiD,WAAW,CAAC;MACjC,CAAC,CAAC,MAAM;QACN;QACAtC,SAAS,CAACgD,IAAI,CAAC;UAAEV;QAAY,CAAC,CAAC;MACjC;MACA,MAAMW,KAAK;IACb;EACF,CAAC;EACD,MAAMM,KAAK,GAAOC,KAAuB,IAAiB;IACxD,SAAS;;IACT,IAAIrD,KAAK,CAACM,OAAO,EAAE,MAAM,IAAIV,KAAK,CAAC,sBAAsB,CAAC;IAC1D,IAAII,KAAK,CAACC,YAAY,IAAIR,cAAc,EACtC,MAAM,IAAIG,KAAK,CAAC,sCAAsC,CAAC;IACzDI,KAAK,CAACC,YAAY,EAAE;IACpBD,KAAK,CAACE,aAAa,EAAE;IACrB,IAAIoD,GAAe;IACnB,IAAI;MACFA,GAAG,GAAG3C,OAAO,CAAC4C,OAAO,CAACF,KAAK,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,OAAOP,KAAK,EAAE;MACd9C,KAAK,CAACC,YAAY,EAAE;MACpB,MAAM6C,KAAK;IACb;IACA,IAAIU,OAAsB;IAC1BA,OAAO,GAAGF,GAAG,CAACG,IAAI,CAChB,MAAM;MACJ3D,OAAO,CAAC4D,MAAM,CAACF,OAAO,CAAC;MACvBxD,KAAK,CAACC,YAAY,EAAE;IACtB,CAAC,EACA6C,KAAc,IAAK;MAClB,IAAI,CAAC9C,KAAK,CAACK,aAAa,EAAE;QACxBL,KAAK,CAACK,aAAa,GAAG,IAAI;QAC1BL,KAAK,CAACG,UAAU,GAAG2C,KAAK;MAC1B;MACAhD,OAAO,CAAC4D,MAAM,CAACF,OAAO,CAAC;MACvBxD,KAAK,CAACC,YAAY,EAAE;IACtB,CACF,CAAC;IACDH,OAAO,CAAC6D,GAAG,CAACH,OAAO,CAAC;IACpB,OAAOF,GAAG;EACZ,CAAC;EACD,MAAMP,OAAO,GAAGA,CAAA,KAAqB;IACnC,SAAS;;IACT,IAAI/C,KAAK,CAACO,QAAQ,EAAE,OAAOP,KAAK,CAACO,QAAQ;IACzCP,KAAK,CAACM,OAAO,GAAG,IAAI;IACpBN,KAAK,CAACO,QAAQ,GAAG,CAAC,YAAY;MAC5B,SAAS;;MACT;MACA;MACA,MAAMG,QAAQ,CAAC,CAAC;MAChB,IAAIkD,OAAgB;MACpB,IAAIC,UAAU,GAAG,KAAK;MACtB,KAAK,IAAIC,CAAC,GAAGjE,SAAS,CAACY,MAAM,GAAG,CAAC,EAAEqD,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;QAC9C,MAAMhD,QAAQ,GAAGjB,SAAS,CAACiE,CAAC,CAAE;QAC9B,IAAI;UACFhD,QAAQ,CAAC4B,KAAK,EAAEK,OAAO,CAAC,CAAC;UACzBjC,QAAQ,CAAC4B,KAAK,GAAG,IAAI;UACrB5B,QAAQ,CAAC2B,MAAM,GAAG,IAAI;UACtB3B,QAAQ,CAACC,OAAO,EAAEgC,OAAO,CAAC,CAAC;UAC3BjC,QAAQ,CAACC,OAAO,GAAG,IAAI;UACvBD,QAAQ,CAACuB,OAAO,EAAEW,OAAO,CAAC,CAAC;UAC3BlC,QAAQ,CAACuB,OAAO,GAAGjC,SAAS;UAC5BU,QAAQ,CAACqC,MAAM,EAAEH,OAAO,CAAC,CAAC;UAC1BlC,QAAQ,CAACqC,MAAM,GAAG/C,SAAS;UAC3BlB,kBAAkB,CAAC4B,QAAQ,CAACqB,WAAW,CAAC;UACxCtC,SAAS,CAACkE,MAAM,CAACD,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC,CAAC,OAAOhB,KAAK,EAAE;UACd,IAAI,CAACe,UAAU,EAAE;YACfA,UAAU,GAAG,IAAI;YACjBD,OAAO,GAAGd,KAAK;UACjB;QACF;MACF;MACA,IAAIe,UAAU,EAAE,MAAMD,OAAO;IAC/B,CAAC,EAAE,CAAC;IACJ,OAAO5D,KAAK,CAACO,QAAQ;EACvB,CAAC;EACD,OAAO;IAAEhB,MAAM;IAAE6B,aAAa;IAAE6B,YAAY;IAAEG,KAAK;IAAEjC,KAAK;IAAE4B;EAAQ,CAAC;AACvE,CAAC","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","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":[]}
@@ -25,6 +25,13 @@ export const frameByteSize = (width, height) => {
25
25
  }
26
26
  return bytes;
27
27
  };
28
+
29
+ /** The budget's counters, from any runtime; null without them. */
30
+ export const videoMemoryBudget = () => {
31
+ "worklet";
32
+
33
+ return RNSkiaVideoModule.getMemoryBudgetStats?.() ?? null;
34
+ };
28
35
  export const reserveVideoMemory = (bytes, label) => {
29
36
  "worklet";
30
37
 
@@ -1 +1 @@
1
- {"version":3,"names":["RNSkiaVideoModule","configureVideoMemory","maxBytes","Number","isSafeInteger","Error","configureMemoryBudget","getVideoResourceStats","budget","getMemoryBudgetStats","native","getResourceStats","backend","getBackendInfo","frameByteSize","width","height","bytes","reserveVideoMemory","label","reserveMemory","releaseVideoMemory","reservation","releaseMemory"],"sourceRoot":"../../src","sources":["memory.ts"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,wBAAqB;AASnD;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC1E,IAAI,CAACC,MAAM,CAACC,aAAa,CAACF,QAAQ,CAAC,IAAIA,QAAQ,IAAI,CAAC,EAAE;IACpD,MAAM,IAAIG,KAAK,CAAC,0CAA0C,CAAC;EAC7D;EACAL,iBAAiB,CAACM,qBAAqB,CAAEJ,QAAQ,CAAC;AACpD,CAAC;AAED,OAAO,MAAMK,qBAAqB,GAAGA,CAAA,MAAO;EAC1CC,MAAM,EAAER,iBAAiB,CAACS,oBAAoB,GAAG,CAAC,IAAI,IAAI;EAC1DC,MAAM,EAAEV,iBAAiB,CAACW,gBAAgB,GAAG,CAAC,IAAI,IAAI;EACtDC,OAAO,EAAEZ,iBAAiB,CAACa,cAAc,GAAG,CAAC,IAAI;AACnD,CAAC,CAAC;AAEF,OAAO,MAAMC,aAAa,GAAGA,CAACC,KAAa,EAAEC,MAAc,KAAa;EACtE,SAAS;;EACT,MAAMC,KAAK,GAAGF,KAAK,GAAGC,MAAM,GAAG,CAAC;EAChC,IACE,CAACb,MAAM,CAACC,aAAa,CAACW,KAAK,CAAC,IAC5B,CAACZ,MAAM,CAACC,aAAa,CAACY,MAAM,CAAC,IAC7BD,KAAK,IAAI,CAAC,IACVC,MAAM,IAAI,CAAC,IACX,CAACb,MAAM,CAACC,aAAa,CAACa,KAAK,CAAC,EAC5B;IACA,MAAM,IAAIZ,KAAK,CAAC,gCAAgC,CAAC;EACnD;EACA,OAAOY,KAAK;AACd,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAGA,CAACD,KAAa,EAAEE,KAAa,KAAa;EAC1E,SAAS;;EACT,OAAOnB,iBAAiB,CAACoB,aAAa,GAAGH,KAAK,EAAEE,KAAK,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED,OAAO,MAAME,kBAAkB,GAAIC,WAAmB,IAAW;EAC/D,SAAS;;EACT,IAAIA,WAAW,EAAEtB,iBAAiB,CAACuB,aAAa,GAAGD,WAAW,CAAC;AACjE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["RNSkiaVideoModule","configureVideoMemory","maxBytes","Number","isSafeInteger","Error","configureMemoryBudget","getVideoResourceStats","budget","getMemoryBudgetStats","native","getResourceStats","backend","getBackendInfo","frameByteSize","width","height","bytes","videoMemoryBudget","reserveVideoMemory","label","reserveMemory","releaseVideoMemory","reservation","releaseMemory"],"sourceRoot":"../../src","sources":["memory.ts"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,wBAAqB;AASnD;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC1E,IAAI,CAACC,MAAM,CAACC,aAAa,CAACF,QAAQ,CAAC,IAAIA,QAAQ,IAAI,CAAC,EAAE;IACpD,MAAM,IAAIG,KAAK,CAAC,0CAA0C,CAAC;EAC7D;EACAL,iBAAiB,CAACM,qBAAqB,CAAEJ,QAAQ,CAAC;AACpD,CAAC;AAED,OAAO,MAAMK,qBAAqB,GAAGA,CAAA,MAAO;EAC1CC,MAAM,EAAER,iBAAiB,CAACS,oBAAoB,GAAG,CAAC,IAAI,IAAI;EAC1DC,MAAM,EAAEV,iBAAiB,CAACW,gBAAgB,GAAG,CAAC,IAAI,IAAI;EACtDC,OAAO,EAAEZ,iBAAiB,CAACa,cAAc,GAAG,CAAC,IAAI;AACnD,CAAC,CAAC;AAEF,OAAO,MAAMC,aAAa,GAAGA,CAACC,KAAa,EAAEC,MAAc,KAAa;EACtE,SAAS;;EACT,MAAMC,KAAK,GAAGF,KAAK,GAAGC,MAAM,GAAG,CAAC;EAChC,IACE,CAACb,MAAM,CAACC,aAAa,CAACW,KAAK,CAAC,IAC5B,CAACZ,MAAM,CAACC,aAAa,CAACY,MAAM,CAAC,IAC7BD,KAAK,IAAI,CAAC,IACVC,MAAM,IAAI,CAAC,IACX,CAACb,MAAM,CAACC,aAAa,CAACa,KAAK,CAAC,EAC5B;IACA,MAAM,IAAIZ,KAAK,CAAC,gCAAgC,CAAC;EACnD;EACA,OAAOY,KAAK;AACd,CAAC;;AAED;AACA,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAA+B;EAC9D,SAAS;;EACT,OAAOlB,iBAAiB,CAACS,oBAAoB,GAAG,CAAC,IAAI,IAAI;AAC3D,CAAC;AAED,OAAO,MAAMU,kBAAkB,GAAGA,CAACF,KAAa,EAAEG,KAAa,KAAa;EAC1E,SAAS;;EACT,OAAOpB,iBAAiB,CAACqB,aAAa,GAAGJ,KAAK,EAAEG,KAAK,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED,OAAO,MAAME,kBAAkB,GAAIC,WAAmB,IAAW;EAC/D,SAAS;;EACT,IAAIA,WAAW,EAAEvB,iBAAiB,CAACwB,aAAa,GAAGD,WAAW,CAAC;AACjE,CAAC","ignoreList":[]}
@@ -29,6 +29,8 @@ export const disposePreviewResources = resources => {
29
29
  resources.canvas = null;
30
30
  resources.surface?.dispose();
31
31
  resources.surface = null;
32
+ resources.spareSurface?.dispose();
33
+ resources.spareSurface = null;
32
34
  releaseVideoMemory(resources.reservation ?? 0);
33
35
  resources.reservation = 0;
34
36
  } catch (error) {
@@ -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,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","spareSurface","reservation","native","runtime","globalThis","__rnskwgpuPreviewQuarantine","push"],"sourceRoot":"../../src","sources":["previewLifecycle.ts"],"mappings":";;AACA,SAASA,sBAAsB,QAAQ,mBAAgB;AACvD,SAASC,kBAAkB,QAAQ,aAAU;AAe7C;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;IACxBL,SAAS,CAACe,YAAY,EAAEL,OAAO,CAAC,CAAC;IACjCV,SAAS,CAACe,YAAY,GAAG,IAAI;IAC7BjB,kBAAkB,CAACE,SAAS,CAACgB,WAAW,IAAI,CAAC,CAAC;IAC9ChB,SAAS,CAACgB,WAAW,GAAG,CAAC;EAC3B,CAAC,CAAC,OAAOb,KAAK,EAAE;IACdF,OAAO,CAACC,MAAM,GAAG,IAAI;IACrBD,OAAO,CAACE,KAAK,GAAGA,KAAK;EACvB;EACA,IAAI;IACFH,SAAS,CAACiB,MAAM,EAAEP,OAAO,CAAC,CAAC;IAC3BV,SAAS,CAACiB,MAAM,GAAG,IAAI;EACzB,CAAC,CAAC,OAAOd,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,MAAMgB,OAAO,GAAGC,UAEf;IACD,CAACD,OAAO,CAACE,2BAA2B,KAAK,EAAE,EAAEC,IAAI,CAACrB,SAAS,CAAC;EAC9D;EACA,OAAOC,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -8,9 +8,13 @@ import RNSkiaVideoModule from "./RNSkiaVideoModule.js";
8
8
  import useEventListener from "./utils/useEventListener.js";
9
9
  import { PixelRatio } from "react-native";
10
10
  import { scheduleOnRN } from "react-native-worklets";
11
- import { ownVideoFrames, releaseVideoFrameImage } from "./frameInterop.js";
11
+ import { ownVideoFrames, releaseVideoFrameImage, videoFrameImportWaits } from "./frameInterop.js";
12
12
  import { frameByteSize, reserveVideoMemory } from "./memory.js";
13
13
  import { disposePreviewResources } from "./previewLifecycle.js";
14
+
15
+ // Draws in a row the preview submits without waiting for the GPU: one frame
16
+ // of a 24 fps video spans five vsyncs at 120 Hz, redrawn as time goes by.
17
+ const maxUncheckedDraws = 6;
14
18
  /**
15
19
  * A hook that creates a video composition player.
16
20
  */
@@ -127,6 +131,15 @@ export const useVideoComposition = ({
127
131
  }, [framesExtractor, autoPlay]);
128
132
  const surfaceSharedValue = useSharedValue(null);
129
133
  const canvasSharedValue = useSharedValue(null);
134
+ // The preview draws into two surfaces in turn, and shows each through an
135
+ // image sharing its texture (asImage): no copy per draw, as a snapshot
136
+ // made. The picture on screen stays whole while the next is drawn into the
137
+ // other surface.
138
+ const spareSurfaceSharedValue = useSharedValue(null);
139
+ const spareCanvasSharedValue = useSharedValue(null);
140
+ const bufferImages = useSharedValue([]);
141
+ // The buffer on screen: 0, 1 (the spare), or -1 before the first draw.
142
+ const frontBuffer = useSharedValue(-1);
130
143
  const surfaceReservation = useSharedValue(0);
131
144
  const surfaceWidth = useSharedValue(0);
132
145
  const surfaceHeight = useSharedValue(0);
@@ -135,8 +148,10 @@ export const useVideoComposition = ({
135
148
 
136
149
  const resources = {
137
150
  surface: surfaceSharedValue.value,
151
+ spareSurface: spareSurfaceSharedValue.value,
138
152
  canvas: canvasSharedValue.value,
139
- images: [currentFrame.value, pendingSnapshot.value],
153
+ // currentFrame is one of the buffers' images.
154
+ images: [...bufferImages.value, pendingSnapshot.value],
140
155
  frames: Object.values(previousSources.value),
141
156
  reservation: surfaceReservation.value,
142
157
  afterDraw: pendingAfterDraw.value?.run,
@@ -152,6 +167,10 @@ export const useVideoComposition = ({
152
167
  sourcesGeneration.value = 0;
153
168
  surfaceSharedValue.value = null;
154
169
  canvasSharedValue.value = null;
170
+ spareSurfaceSharedValue.value = null;
171
+ spareCanvasSharedValue.value = null;
172
+ bufferImages.value = [];
173
+ frontBuffer.value = -1;
155
174
  surfaceReservation.value = 0;
156
175
  surfaceWidth.value = 0;
157
176
  surfaceHeight.value = 0;
@@ -169,6 +188,10 @@ export const useVideoComposition = ({
169
188
  const drawDeferred = useSharedValue(false);
170
189
  // Whether the previous vsync brought new frames.
171
190
  const importedLastVsync = useSharedValue(false);
191
+ // Draws submitted without waiting for the GPU since the last wait, the
192
+ // checked wait that ends every import of a new frame included.
193
+ const uncheckedDraws = useSharedValue(0);
194
+ const importWaits = useSharedValue(0);
172
195
  // A new drawFrame can draw something else from the same time and frames.
173
196
  useEffect(() => {
174
197
  lastDrawnTime.value = -1;
@@ -214,6 +237,13 @@ export const useVideoComposition = ({
214
237
  sourcesGeneration.value = generation;
215
238
  const currentTime = framesExtractor.currentTime;
216
239
  const framesVersion = framesExtractor.framesVersion;
240
+ // An import (above, or of another player on this runtime) ends with a
241
+ // checked wait for all the GPU work submitted before it.
242
+ const waits = videoFrameImportWaits();
243
+ if (waits !== importWaits.value) {
244
+ importWaits.value = waits;
245
+ uncheckedDraws.value = 0;
246
+ }
217
247
  const imported = splitImportAndDraw && framesVersion !== lastImportedVersion.value;
218
248
  const importedBefore = importedLastVsync.value;
219
249
  // Version 0: no frame decoded yet.
@@ -261,8 +291,9 @@ export const useVideoComposition = ({
261
291
  // picture by the ratio between them, so the surface is re-keyed on its
262
292
  // dimensions the way exportVideoComposition already re-keys its own.
263
293
  const retired = {
264
- images: [currentFrame.value, pendingSnapshot.value],
294
+ images: [...bufferImages.value, pendingSnapshot.value],
265
295
  surface,
296
+ spareSurface: spareSurfaceSharedValue.value,
266
297
  canvas: canvasSharedValue.value,
267
298
  reservation: surfaceReservation.value,
268
299
  afterDraw: pendingAfterDraw.value?.run
@@ -272,10 +303,14 @@ export const useVideoComposition = ({
272
303
  pendingAfterDraw.value = null;
273
304
  canvasSharedValue.value = null;
274
305
  surfaceSharedValue.value = null;
306
+ spareSurfaceSharedValue.value = null;
307
+ spareCanvasSharedValue.value = null;
308
+ bufferImages.value = [];
309
+ frontBuffer.value = -1;
275
310
  surfaceReservation.value = 0;
276
311
  const retiredFailure = disposePreviewResources(retired);
277
312
  if (retiredFailure.failed) throw retiredFailure.error;
278
- // Surface + immutable snapshot/COW backing while replacing the preview.
313
+ // The two surfaces the preview draws into in turn.
279
314
  const reservation = reserveVideoMemory(frameByteSize(pixelWidth, pixelHeight) * 2, "composition preview");
280
315
  surfaceReservation.value = reservation;
281
316
  try {
@@ -283,6 +318,13 @@ export const useVideoComposition = ({
283
318
  surfaceSharedValue.value = surface;
284
319
  if (!surface) throw new Error("Cannot allocate preview surface");
285
320
  canvasSharedValue.value = getVideoCanvas(surface);
321
+ const spare = Skia.Surface.MakeOffscreen(pixelWidth, pixelHeight);
322
+ spareSurfaceSharedValue.value = spare;
323
+ if (!spare) throw new Error("Cannot allocate preview surface");
324
+ spareCanvasSharedValue.value = getVideoCanvas(spare);
325
+ const first = surface.asImage();
326
+ bufferImages.value = [first];
327
+ bufferImages.value = [first, spare.asImage()];
286
328
  surfaceWidth.value = pixelWidth;
287
329
  surfaceHeight.value = pixelHeight;
288
330
  } catch (error) {
@@ -295,7 +337,11 @@ export const useVideoComposition = ({
295
337
  console.warn("Failed to create surface");
296
338
  return;
297
339
  }
298
- const canvas = canvasSharedValue.value;
340
+ // Draw into the buffer that is not on screen.
341
+ const back = frontBuffer.value === 0 ? 1 : 0;
342
+ if (back === 1) surface = spareSurfaceSharedValue.value;
343
+ const backSurface = surface;
344
+ const canvas = back === 1 ? spareCanvasSharedValue.value : canvasSharedValue.value;
299
345
  // Cleared as the export clears it: a drawFrame that leaves part of the
300
346
  // canvas alone showed the previous frames there, and not in the export.
301
347
  canvas.drawColor(Skia.Color("#00000000"), BlendMode.Clear);
@@ -323,17 +369,22 @@ export const useVideoComposition = ({
323
369
  width: pixelWidth,
324
370
  height: pixelHeight
325
371
  });
326
- const previous = currentFrame.value;
327
- const next = surface.makeImageSnapshot(undefined, previous ?? undefined);
328
- if (next !== previous) pendingSnapshot.value = next;
329
- surface.flush(true);
372
+ const next = bufferImages.value[back];
373
+ // Waiting for the GPU here held the UI thread for the work of every
374
+ // Skia view on the shared context: a vsync in three with 4K frames on
375
+ // iOS with Skia 3.9.1, every other one before. The draw samples only
376
+ // images Skia owns, which the GPU work keeps alive, so it waits only
377
+ // when afterDrawFrame releases a context of the caller's, and after a
378
+ // few draws without an import, so that the GPU queue stays bounded.
379
+ const wait = afterDrawFrame !== undefined || uncheckedDraws.value >= maxUncheckedDraws;
380
+ backSurface.flush(wait);
381
+ uncheckedDraws.value = wait ? 0 : uncheckedDraws.value + 1;
330
382
  drawn.submitted = true;
331
383
  frameGeneration.value = generation;
332
- if (next === previous) currentFrame.modify(undefined, true);else {
333
- currentFrame.value = next;
334
- previous?.dispose();
335
- }
336
- pendingSnapshot.value = null;
384
+ // The image shares the surface's texture: it shows this draw once
385
+ // the flush above has submitted it.
386
+ currentFrame.value = next;
387
+ frontBuffer.value = back;
337
388
  } catch (error) {
338
389
  drawn.failed = true;
339
390
  drawn.error = error;
@@ -1 +1 @@
1
- {"version":3,"names":["getVideoCanvas","BlendMode","Skia","useSharedValue","useFrameCallback","runOnUI","useCallback","useEffect","useRef","useState","RNSkiaVideoModule","useEventListener","PixelRatio","scheduleOnRN","ownVideoFrames","releaseVideoFrameImage","frameByteSize","reserveVideoMemory","disposePreviewResources","useVideoComposition","composition","drawFrame","beforeDrawFrame","afterDrawFrame","width","height","autoPlay","isLooping","drawWhenPaused","redrawOnTime","splitImportAndDraw","onReadyToPlay","onComplete","onError","failedComposition","setFailedComposition","isErrored","session","setSession","framesExtractor","extractor","generation","nextGeneration","activeOnRN","activeGeneration","frameGeneration","sourcesGeneration","currentFrame","pendingSnapshot","pendingAfterDraw","previousSources","onCreationError","current","created","createVideoCompositionFramesExtractor","error","createdGeneration","value","releasePreview","failure","native","failed","console","warn","retry","errorHandler","isCurrentSession","prepare","play","surfaceSharedValue","canvasSharedValue","surfaceReservation","surfaceWidth","surfaceHeight","resources","surface","canvas","images","frames","Object","values","reservation","afterDraw","run","lastDrawnFramesVersion","lastDrawnTime","lastDrawnInputs","lastImportedVersion","drawDeferred","importedLastVsync","pixelRatio","get","pixelWidth","Math","floor","pixelHeight","isFinite","decodeCompositionFrames","key","previous","entries","producerId","currentTime","framesVersion","imported","importedBefore","inputs","Array","isArray","inputsSame","last","length","i","timeSame","undefined","isPlaying","retired","retiredFailure","Surface","MakeOffscreen","Error","drawColor","Color","Clear","context","drawn","submitted","releaseContext","videoComposition","next","makeImageSnapshot","flush","modify","dispose","map","input","player"],"sourceRoot":"../../src","sources":["videoCompositionPlayer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getVideoCanvas","BlendMode","Skia","useSharedValue","useFrameCallback","runOnUI","useCallback","useEffect","useRef","useState","RNSkiaVideoModule","useEventListener","PixelRatio","scheduleOnRN","ownVideoFrames","releaseVideoFrameImage","videoFrameImportWaits","frameByteSize","reserveVideoMemory","disposePreviewResources","maxUncheckedDraws","useVideoComposition","composition","drawFrame","beforeDrawFrame","afterDrawFrame","width","height","autoPlay","isLooping","drawWhenPaused","redrawOnTime","splitImportAndDraw","onReadyToPlay","onComplete","onError","failedComposition","setFailedComposition","isErrored","session","setSession","framesExtractor","extractor","generation","nextGeneration","activeOnRN","activeGeneration","frameGeneration","sourcesGeneration","currentFrame","pendingSnapshot","pendingAfterDraw","previousSources","onCreationError","current","created","createVideoCompositionFramesExtractor","error","createdGeneration","value","releasePreview","failure","native","failed","console","warn","retry","errorHandler","isCurrentSession","prepare","play","surfaceSharedValue","canvasSharedValue","spareSurfaceSharedValue","spareCanvasSharedValue","bufferImages","frontBuffer","surfaceReservation","surfaceWidth","surfaceHeight","resources","surface","spareSurface","canvas","images","frames","Object","values","reservation","afterDraw","run","lastDrawnFramesVersion","lastDrawnTime","lastDrawnInputs","lastImportedVersion","drawDeferred","importedLastVsync","uncheckedDraws","importWaits","pixelRatio","get","pixelWidth","Math","floor","pixelHeight","isFinite","decodeCompositionFrames","key","previous","entries","producerId","currentTime","framesVersion","waits","imported","importedBefore","inputs","Array","isArray","inputsSame","last","length","i","timeSame","undefined","isPlaying","retired","retiredFailure","Surface","MakeOffscreen","Error","spare","first","asImage","back","backSurface","drawColor","Color","Clear","context","drawn","submitted","releaseContext","videoComposition","next","wait","flush","map","input","player"],"sourceRoot":"../../src","sources":["videoCompositionPlayer.ts"],"mappings":"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","ignoreList":[]}
@@ -25,7 +25,7 @@ import { imageFromVideoFrame } from "./frameInterop.js";
25
25
  *
26
26
  * @param frame the frame, drawn in the tick it was handed out in
27
27
  * @param output an image returned for a previous frame, recycled rather than
28
- * allocating a new wrapper. Accepted for compatibility; owned snapshots are used in v3
28
+ * allocating a new wrapper. Accepted for compatibility; the image wraps a texture the library owns
29
29
  * @returns the image and its picture, or null when the frame has no texture
30
30
  */
31
31
  export const makeVideoFrameImage = (frame, _output) => {
@@ -252,7 +252,7 @@ export const blitYuvFrame = (device, imports, producer, source, rotation, region
252
252
  let index = entries.findIndex(entry => entry.handle === source.handle && entry.rotation === rotation);
253
253
  if (index < 0) {
254
254
  // The least recently drawn buffer goes first. Its last frame completed:
255
- // every import ends with a checked flush before the next one starts.
255
+ // fewer imports than this are ever on the GPU (see frameInterop.ts).
256
256
  if (entries.length >= maxImportsPerProducer) {
257
257
  releaseYuvImport(entries[0]);
258
258
  entries.shift();
@@ -298,8 +298,8 @@ export const blitYuvFrame = (device, imports, producer, source, rotation, region
298
298
  pass.end();
299
299
  device.queue.submit([encoder.finish()]);
300
300
  } finally {
301
- // The caller's checked flush covers the draw; the release fence is not
302
- // needed to hand the buffer back.
301
+ // The caller hands the decoder buffer back once the GPU is done with the
302
+ // draw; the release fence is not needed for that.
303
303
  entry.wrapper.endAccess()?.fence.destroy();
304
304
  }
305
305
  };
@@ -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;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
+ {"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;AA6CF;;kFAEkF;AAClF,eAAO,MAAM,sBAAsB,GAAI,CAAC,GAAG,SAAS,EAClD,MAAM,oBAAoB,CAAC,CAAC,CAAC,KAC5B,OAAO,CAAC,IAAI,CAA+D,CAAC"}
@@ -1,15 +1,26 @@
1
1
  import type { SkImage } from "react-native-skia";
2
2
  import type { VideoFrame } from "./types.js";
3
+ /** The checked GPU waits this runtime's imports have made so far, and the
4
+ * completions the GPU reported for them. Each one covers all the GPU work
5
+ * submitted before it, on the shared context. */
6
+ export declare const videoFrameImportWaits: () => number;
3
7
  /** Clear a runtime's imported images after ending all its producers.
4
8
  * Do not clear a paused producer's current frame: its native source has
5
- * already been released, and the owned snapshot is its remaining pixels. */
9
+ * already been released, and its image's texture is its remaining pixels. */
6
10
  export declare const clearVideoFrameImages: (releaseStagingSurface?: boolean) => void;
7
11
  /** Release an item which has left a composition or a producer being closed. */
8
12
  export declare const releaseVideoFrameImage: (frame: VideoFrame) => void;
9
- /** Returns immutable, owned pixels. WebGPU uploads Android RGBA pixels or blits
10
- * native buffers into one reusable texture, then snapshots a fresh Skia view.
11
- * Graphite-backed snapshots bypass the raster ImageProvider's image-count LRU.
12
- * Wait for completion before releasing sources or rewriting the scratch texture. */
13
+ /** Returns owned pixels. WebGPU uploads Android RGBA pixels or blits native
14
+ * buffers into a texture of the frame's producer, which the image wraps: no
15
+ * copy into a snapshot, and no entry in the raster ImageProvider's LRU.
16
+ * Sources go back once the GPU is done with them.
17
+ *
18
+ * The image is the producer's until its next frame is imported, which
19
+ * disposes it. A producer has two textures and writes its frames into them in
20
+ * turn, so the texture of an image is only written again by the import after
21
+ * the one that disposed it; with a memory budget too short for a second
22
+ * texture, the next frame is written over it, in queue order after the draws
23
+ * already submitted. */
13
24
  export declare const imageFromVideoFrame: (frame: VideoFrame) => SkImage | null;
14
25
  /** Stage all issued frames, including items a callback currently hides.
15
26
  * This releases decoder leases promptly instead of waiting for JS GC. */
@@ -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;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
+ {"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;AAoY1C;;iDAEiD;AACjD,eAAO,MAAM,qBAAqB,QAAO,MAGxC,CAAC;AAEF;;6EAE6E;AAC7E,eAAO,MAAM,qBAAqB,GAAI,+BAA6B,KAAG,IA+BrE,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,GAAI,OAAO,UAAU,KAAG,IAwB1D,CAAC;AAEF;;;;;;;;;;wBAUwB;AACxB,eAAO,MAAM,mBAAmB,GAAI,OAAO,UAAU,KAAG,OAAO,GAAG,IA+ZjE,CAAC;AAEF;yEACyE;AACzE,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,KACjC,MAAM,CAAC,MAAM,EAAE,UAAU,CAkG3B,CAAC"}
@@ -20,6 +20,8 @@ export declare const getVideoResourceStats: () => {
20
20
  backend: Record<string, string | number | boolean> | null;
21
21
  };
22
22
  export declare const frameByteSize: (width: number, height: number) => number;
23
+ /** The budget's counters, from any runtime; null without them. */
24
+ export declare const videoMemoryBudget: () => VideoMemoryStats | null;
23
25
  export declare const reserveVideoMemory: (bytes: number, label: string) => number;
24
26
  export declare const releaseVideoMemory: (reservation: number) => void;
25
27
  //# sourceMappingURL=memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/memory.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;sEACsE;AACtE,eAAO,MAAM,oBAAoB,GAAI,cAAc;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,SAKtE,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;CAIhC,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,MAa7D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,MAGjE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,aAAa,MAAM,KAAG,IAGxD,CAAC"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/memory.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;sEACsE;AACtE,eAAO,MAAM,oBAAoB,GAAI,cAAc;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,SAKtE,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;CAIhC,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,MAa7D,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,QAAO,gBAAgB,GAAG,IAGvD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,MAGjE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,aAAa,MAAM,KAAG,IAGxD,CAAC"}
@@ -2,6 +2,8 @@ import type { SkCanvas, SkImage, SkSurface } from "react-native-skia";
2
2
  import type { VideoFrame } from "./types.js";
3
3
  type PreviewResources = {
4
4
  surface?: SkSurface | null;
5
+ /** The preview's second buffer (see useVideoCompositionPlayer). */
6
+ spareSurface?: SkSurface | null;
5
7
  canvas?: SkCanvas | null;
6
8
  images?: Array<SkImage | null>;
7
9
  frames?: VideoFrame[];
@@ -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;CAsC7D,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,mEAAmE;IACnE,YAAY,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,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;CAwC7D,CAAC"}
@@ -149,15 +149,16 @@ export type VideoPlayer = {
149
149
  * (12.4 MB rather than 33.2 MB in 4K), so the decoder holds more frames
150
150
  * ahead for the same memory. On Android only 8-bit SDR tracks decoded at
151
151
  * their own size; other tracks stay `rgba`.
152
- * - `rgba`: frames converted to RGB as they are decoded (iOS: by VideoToolbox,
153
- * Android: by an OpenGL pass), which a GPU export samples in place.
152
+ * - `rgba` (deprecated): frames converted to RGB as they are decoded (iOS: by
153
+ * VideoToolbox, Android: by an OpenGL pass). It no longer has an advantage:
154
+ * exports run as fast in `yuv`, which renders the same colors, and a 4K60
155
+ * preview keeps fewer frames on screen in `rgba`, whose frames take 4 bytes
156
+ * a pixel. It still works; use `auto`.
154
157
  * - `auto`: `yuv`, on both platforms.
155
158
  *
156
- * Camera footage (Rec.709, or HLG tone mapped to Rec.709) renders the same
157
- * either way: both convert with the frame's YCbCr matrix and range. On iOS,
158
- * `rgba` also converts a file tagged with other primaries or another SDR
159
- * transfer function (Display P3, sRGB) to Rec.709; `yuv` takes its samples as
160
- * Rec.709, as Android does in both formats.
159
+ * Both convert with the frame's YCbCr matrix and range. On iOS, both convert
160
+ * HDR (HLG, PQ), BT.2020, Display P3 and sRGB files to Rec.709 through
161
+ * AVFoundation. Android takes SDR samples as Rec.709 in both formats.
161
162
  */
162
163
  export type VideoFramePixelFormat = "auto" | "yuv" | "rgba";
163
164
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -65,11 +65,10 @@ type UseVideoCompositionPlayerOptions<T = undefined> = {
65
65
  /**
66
66
  * Import a newly decoded frame in one vsync and draw it in the next, instead
67
67
  * of both in the same one. On Android the import (YUV blit and its checked
68
- * GPU wait) and the draw (snapshot and its checked GPU wait) cost about as
69
- * much as each other, and together they overrun a 90–120 Hz frame budget on
70
- * the UI thread. The option applies on iOS too. The picture then trails the
71
- * clock by one vsync. The first frame of a session is still drawn as soon
72
- * as it is imported.
68
+ * GPU wait) and the draw cost about as much as each other, and together they
69
+ * overrun a 90–120 Hz frame budget on the UI thread. The option applies on
70
+ * iOS too. The picture then trails the clock by one vsync. The first frame
71
+ * of a session is still drawn as soon as it is imported.
73
72
  * @default false
74
73
  */
75
74
  splitImportAndDraw?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"videoCompositionPlayer.d.ts","sourceRoot":"","sources":["../../../src/videoCompositionPlayer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,OAAO,EAAa,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EACV,WAAW,EAEX,gBAAgB,EAChB,+BAA+B,EAChC,MAAM,YAAS,CAAC;AASjB,KAAK,gCAAgC,CAAC,CAAC,GAAG,SAAS,IAAI;IACrD;;;OAGG;IACH,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC;;OAEG;IACH,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;IACtC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IAClD;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IACtE;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACnD,CAAC;AAEF,KAAK,gCAAgC,GAAG,IAAI,CAC1C,+BAA+B,EAC/B,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAC1D,CAAC;AAEF,KAAK,mCAAmC,GAAG;IACzC;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC3C;;OAEG;IACH,MAAM,EAAE,gCAAgC,GAAG,IAAI,CAAC;CACjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,GAAG,SAAS,EAAE,wLAehD,gCAAgC,CAAC,CAAC,CAAC,KAAG,mCAgbxC,CAAC"}
1
+ {"version":3,"file":"videoCompositionPlayer.d.ts","sourceRoot":"","sources":["../../../src/videoCompositionPlayer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,OAAO,EAAa,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EACV,WAAW,EAEX,gBAAgB,EAChB,+BAA+B,EAChC,MAAM,YAAS,CAAC;AAiBjB,KAAK,gCAAgC,CAAC,CAAC,GAAG,SAAS,IAAI;IACrD;;;OAGG;IACH,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC;;OAEG;IACH,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;IACtC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IAClD;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IACtE;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACnD,CAAC;AAEF,KAAK,gCAAgC,GAAG,IAAI,CAC1C,+BAA+B,EAC/B,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAC1D,CAAC;AAEF,KAAK,mCAAmC,GAAG;IACzC;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC3C;;OAEG;IACH,MAAM,EAAE,gCAAgC,GAAG,IAAI,CAAC;CACjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,GAAG,SAAS,EAAE,wLAehD,gCAAgC,CAAC,CAAC,CAAC,KAAG,mCA8dxC,CAAC"}
@@ -36,7 +36,7 @@ export type VideoFrameFit = "fill" | "cover" | "contain";
36
36
  *
37
37
  * @param frame the frame, drawn in the tick it was handed out in
38
38
  * @param output an image returned for a previous frame, recycled rather than
39
- * allocating a new wrapper. Accepted for compatibility; owned snapshots are used in v3
39
+ * allocating a new wrapper. Accepted for compatibility; the image wraps a texture the library owns
40
40
  * @returns the image and its picture, or null when the frame has no texture
41
41
  */
42
42
  export declare const makeVideoFrameImage: (frame: VideoFrame, _output?: SkImage | null) => VideoFrameImage | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-skia-webgpu-video",
3
- "version": "0.1.0-beta.4",
3
+ "version": "0.1.0",
4
4
  "description": "Bounded video composition, playback and export for React Native Skia 3 / Graphite",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -40,7 +40,7 @@
40
40
  "!**/.*",
41
41
  "scripts/apply-skia-canvas-patch.mjs",
42
42
  "scripts/skia-canvas-patch.json",
43
- "patches/react-native-skia+3.7.4.patch",
43
+ "patches/react-native-skia+3.10.0.patch",
44
44
  "docs/UPSTREAM_NOTES.md",
45
45
  "!ios/tests",
46
46
  "!android/src/androidTest",
@@ -101,8 +101,8 @@
101
101
  "react-native": "0.86.2",
102
102
  "react-native-builder-bob": "^0.43.0",
103
103
  "react-native-reanimated": "4.5.3",
104
- "react-native-skia": "3.7.4",
105
- "react-native-webgpu": "0.19.0",
104
+ "react-native-skia": "3.10.0",
105
+ "react-native-webgpu": "0.21.3",
106
106
  "react-native-worklets": "0.11.3",
107
107
  "react-test-renderer": "19.2.3",
108
108
  "typescript": "^6.0.3"
@@ -111,8 +111,8 @@
111
111
  "react": ">=19",
112
112
  "react-native": ">=0.83 <0.87",
113
113
  "react-native-reanimated": "4.5.3",
114
- "react-native-skia": "3.7.4",
115
- "react-native-webgpu": "0.19.0",
114
+ "react-native-skia": "3.10.0",
115
+ "react-native-webgpu": "0.21.3",
116
116
  "react-native-worklets": "0.11.3"
117
117
  },
118
118
  "jest": {