remotion 4.0.199 → 4.0.201

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 (322) hide show
  1. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/AbsoluteFill.d.ts +6 -0
  2. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/AbsoluteFill.js +25 -0
  3. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/CanUseRemotionHooks.d.ts +5 -0
  4. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/CanUseRemotionHooks.js +6 -0
  5. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/Clipper.d.ts +7 -0
  6. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/Clipper.js +20 -0
  7. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/Composition.d.ts +60 -0
  8. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/Composition.js +118 -0
  9. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/CompositionManager.d.ts +76 -0
  10. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/CompositionManager.js +93 -0
  11. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/CompositionManagerContext.d.ts +29 -0
  12. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/CompositionManagerContext.js +13 -0
  13. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/EditorProps.d.ts +15 -0
  14. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/EditorProps.js +26 -0
  15. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/Folder.d.ts +19 -0
  16. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/Folder.js +33 -0
  17. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/IFrame.d.ts +6 -0
  18. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/IFrame.js +26 -0
  19. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/Img.d.ts +11 -0
  20. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/Img.js +106 -0
  21. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/NativeLayers.d.ts +13 -0
  22. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/NativeLayers.js +26 -0
  23. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/Null.d.ts +2 -0
  24. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/Null.js +21 -0
  25. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/RemotionRoot.d.ts +5 -0
  26. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/RemotionRoot.js +71 -0
  27. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/RenderAssetManager.d.ts +11 -0
  28. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/RenderAssetManager.js +37 -0
  29. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/ResolveCompositionConfig.d.ts +24 -0
  30. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/ResolveCompositionConfig.js +216 -0
  31. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/Sequence.d.ts +33 -0
  32. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/Sequence.js +137 -0
  33. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/SequenceContext.d.ts +11 -0
  34. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/SequenceContext.js +2 -0
  35. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/SequenceManager.d.ts +16 -0
  36. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/SequenceManager.js +43 -0
  37. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/Still.d.ts +8 -0
  38. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/Still.js +15 -0
  39. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/absolute-src.d.ts +1 -0
  40. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/absolute-src.js +6 -0
  41. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/asset-types.d.ts +50 -0
  42. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/asset-types.js +1 -0
  43. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/audio/Audio.d.ts +23 -0
  44. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/audio/Audio.js +77 -0
  45. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/audio/AudioForPreview.d.ts +12 -0
  46. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/audio/AudioForPreview.js +117 -0
  47. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/audio/AudioForRendering.d.ts +16 -0
  48. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/audio/AudioForRendering.js +119 -0
  49. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/audio/index.d.ts +2 -0
  50. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/audio/index.js +2 -0
  51. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/audio/props.d.ts +18 -0
  52. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/audio/shared-audio-tags.d.ts +39 -0
  53. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/audio/shared-audio-tags.js +217 -0
  54. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/audio/use-audio-frame.d.ts +6 -0
  55. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/audio/use-audio-frame.js +18 -0
  56. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/bezier.d.ts +1 -0
  57. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/bezier.js +110 -0
  58. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/buffering.d.ts +26 -0
  59. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/buffering.js +48 -0
  60. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/calculate-loop.d.ts +6 -0
  61. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/calculate-loop.js +13 -0
  62. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/cancel-render.d.ts +5 -0
  63. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/cancel-render.js +43 -0
  64. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/codec.d.ts +4 -0
  65. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/codec.js +14 -0
  66. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/config/input-props.d.ts +1 -0
  67. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/config/input-props.js +30 -0
  68. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/default-css.d.ts +3 -0
  69. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/default-css.js +44 -0
  70. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/delay-render.d.ts +14 -0
  71. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/delay-render.js +80 -0
  72. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/easing.d.ts +23 -0
  73. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/easing.js +77 -0
  74. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/enable-sequence-stack-traces.d.ts +2 -0
  75. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/enable-sequence-stack-traces.js +29 -0
  76. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/freeze.d.ts +12 -0
  77. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/freeze.js +58 -0
  78. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/get-asset-file-name.d.ts +1 -0
  79. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/get-asset-file-name.js +10 -0
  80. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/get-preview-dom-element.d.ts +2 -0
  81. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/get-preview-dom-element.js +4 -0
  82. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/get-remotion-environment.d.ts +10 -0
  83. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/get-remotion-environment.js +17 -0
  84. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/get-static-files.d.ts +21 -0
  85. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/get-static-files.js +33 -0
  86. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/index.d.ts +123 -0
  87. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/index.js +80 -0
  88. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/input-props-serialization.d.ts +15 -0
  89. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/input-props-serialization.js +44 -0
  90. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/internals.d.ts +164 -0
  91. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/internals.js +106 -0
  92. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/interpolate-colors.d.ts +13 -0
  93. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/interpolate-colors.js +394 -0
  94. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/interpolate.d.ts +23 -0
  95. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/interpolate.js +127 -0
  96. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/is-approximately-the-same.d.ts +1 -0
  97. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/is-approximately-the-same.js +4 -0
  98. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/is-player.d.ts +3 -0
  99. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/is-player.js +9 -0
  100. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/loading-indicator.d.ts +2 -0
  101. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/loading-indicator.js +31 -0
  102. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/loop/index.d.ts +13 -0
  103. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/loop/index.js +41 -0
  104. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/multiple-versions-warning.d.ts +1 -0
  105. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/multiple-versions-warning.js +28 -0
  106. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/no-react.d.ts +43 -0
  107. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/no-react.js +29 -0
  108. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/nonce.d.ts +7 -0
  109. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/nonce.js +19 -0
  110. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/play-and-handle-not-allowed-error.d.ts +2 -0
  111. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/play-and-handle-not-allowed-error.js +42 -0
  112. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/portal-node.d.ts +1 -0
  113. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/portal-node.js +24 -0
  114. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/prefetch-state.d.ts +8 -0
  115. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/prefetch-state.js +22 -0
  116. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/prefetch.d.ts +19 -0
  117. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/prefetch.js +157 -0
  118. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/props-if-has-props.d.ts +10 -0
  119. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/props-if-has-props.js +1 -0
  120. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/random.d.ts +6 -0
  121. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/random.js +37 -0
  122. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/register-root.d.ts +8 -0
  123. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/register-root.js +31 -0
  124. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/resolve-video-config.d.ts +9 -0
  125. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/resolve-video-config.js +80 -0
  126. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/series/flatten-children.d.ts +2 -0
  127. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/series/flatten-children.js +12 -0
  128. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/series/index.d.ts +18 -0
  129. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/series/index.js +67 -0
  130. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/setup-env-variables.d.ts +1 -0
  131. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/setup-env-variables.js +36 -0
  132. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/spring/index.d.ts +31 -0
  133. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/spring/index.js +75 -0
  134. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/spring/measure-spring.d.ts +12 -0
  135. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/spring/measure-spring.js +79 -0
  136. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/spring/spring-utils.d.ts +21 -0
  137. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/spring/spring-utils.js +99 -0
  138. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/static-file.d.ts +33 -0
  139. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/static-file.js +95 -0
  140. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/Img.test.d.ts +1 -0
  141. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/Img.test.js +20 -0
  142. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/absolute-src.test.d.ts +1 -0
  143. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/absolute-src.test.js +16 -0
  144. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/audio-for-rendering.test.d.ts +1 -0
  145. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/audio-for-rendering.test.js +65 -0
  146. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/audio.test.d.ts +1 -0
  147. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/audio.test.js +25 -0
  148. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/bezier.test.d.ts +1 -0
  149. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/bezier.test.js +50 -0
  150. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/composition-rules.test.d.ts +1 -0
  151. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/composition-rules.test.js +28 -0
  152. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/composition-validation.test.d.ts +1 -0
  153. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/composition-validation.test.js +310 -0
  154. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/easing.test.d.ts +1 -0
  155. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/easing.test.js +189 -0
  156. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/expect-to-throw.d.ts +1 -0
  157. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/expect-to-throw.js +13 -0
  158. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/freeze.test.d.ts +1 -0
  159. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/freeze.test.js +60 -0
  160. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/get-asset-file-name.test.d.ts +1 -0
  161. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/get-asset-file-name.test.js +12 -0
  162. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/get-current-time.test.d.ts +1 -0
  163. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/get-current-time.test.js +60 -0
  164. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/includes-hex-of-unsafe-char.test.d.ts +1 -0
  165. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/includes-hex-of-unsafe-char.test.js +11 -0
  166. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/input-props.test.d.ts +1 -0
  167. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/input-props.test.js +29 -0
  168. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/interpolate.test.d.ts +1 -0
  169. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/interpolate.test.js +140 -0
  170. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/interpolateColors.test.d.ts +1 -0
  171. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/interpolateColors.test.js +61 -0
  172. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/json-serialization.test.d.ts +1 -0
  173. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/json-serialization.test.js +32 -0
  174. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/loop-validation.test.d.ts +1 -0
  175. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/loop-validation.test.js +39 -0
  176. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/measure-spring.test.d.ts +1 -0
  177. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/measure-spring.test.js +43 -0
  178. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/media-validation.test.d.ts +1 -0
  179. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/media-validation.test.js +45 -0
  180. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/nested-sequences.test.d.ts +1 -0
  181. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/nested-sequences.test.js +98 -0
  182. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/not-all-props-in-media-tags.test.d.ts +1 -0
  183. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/not-all-props-in-media-tags.test.js +28 -0
  184. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/offthread-props.test.d.ts +1 -0
  185. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/offthread-props.test.js +11 -0
  186. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/random.test.d.ts +1 -0
  187. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/random.test.js +58 -0
  188. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/ready-manager.test.d.ts +1 -0
  189. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/ready-manager.test.js +27 -0
  190. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/render-hook.d.ts +23 -0
  191. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/render-hook.js +20 -0
  192. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/sequence-from-initial-offset.test.d.ts +4 -0
  193. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/sequence-from-initial-offset.test.js +35 -0
  194. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/sequence-validation.test.d.ts +1 -0
  195. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/sequence-validation.test.js +43 -0
  196. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/series.test.d.ts +1 -0
  197. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/series.test.js +119 -0
  198. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/spring-bench.test.d.ts +1 -0
  199. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/spring-bench.test.js +30 -0
  200. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/spring.test.d.ts +1 -0
  201. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/spring.test.js +164 -0
  202. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/static-file-errors.test.d.ts +1 -0
  203. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/static-file-errors.test.js +16 -0
  204. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/static-file-safe-uri.test.d.ts +1 -0
  205. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/static-file-safe-uri.test.js +26 -0
  206. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/truthy.test.d.ts +1 -0
  207. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/truthy.test.js +22 -0
  208. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/use-media-in-timeline.test.d.ts +1 -0
  209. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/use-media-in-timeline.test.js +63 -0
  210. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/use-media-tag-volume.test.d.ts +1 -0
  211. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/use-media-tag-volume.test.js +44 -0
  212. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/use-sync-volume-with-media-tag.test.d.ts +1 -0
  213. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/use-sync-volume-with-media-tag.test.js +53 -0
  214. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/validate-start-from-props.test.d.ts +1 -0
  215. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/validate-start-from-props.test.js +37 -0
  216. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/video.test.d.ts +1 -0
  217. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/video.test.js +27 -0
  218. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/volume-prop.test.d.ts +1 -0
  219. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/volume-prop.test.js +93 -0
  220. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/wrap-sequence-context.d.ts +6 -0
  221. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/test/wrap-sequence-context.js +33 -0
  222. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/timeline-position-state.d.ts +33 -0
  223. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/timeline-position-state.js +66 -0
  224. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/truthy.d.ts +3 -0
  225. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/truthy.js +3 -0
  226. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-buffer-state.d.ts +5 -0
  227. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-buffer-state.js +16 -0
  228. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-current-frame.d.ts +5 -0
  229. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-current-frame.js +23 -0
  230. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-current-scale.d.ts +43 -0
  231. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-current-scale.js +46 -0
  232. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-lazy-component.d.ts +7 -0
  233. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-lazy-component.js +22 -0
  234. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-media-buffering.d.ts +2 -0
  235. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-media-buffering.js +38 -0
  236. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-media-in-timeline.d.ts +14 -0
  237. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-media-in-timeline.js +130 -0
  238. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-media-playback.d.ts +10 -0
  239. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-media-playback.js +114 -0
  240. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-media-tag-volume.d.ts +2 -0
  241. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-media-tag-volume.js +27 -0
  242. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-sync-volume-with-media-tag.d.ts +10 -0
  243. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-sync-volume-with-media-tag.js +17 -0
  244. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-unsafe-video-config.d.ts +2 -0
  245. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-unsafe-video-config.js +27 -0
  246. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-video-config.d.ts +8 -0
  247. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-video-config.js +30 -0
  248. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-video.d.ts +7 -0
  249. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/use-video.js +36 -0
  250. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validate-frame.d.ts +5 -0
  251. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validate-frame.js +20 -0
  252. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validate-media-props.d.ts +4 -0
  253. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validate-media-props.js +20 -0
  254. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validate-start-from-props.d.ts +1 -0
  255. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validate-start-from-props.js +27 -0
  256. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validate-composition-id.d.ts +3 -0
  257. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validate-composition-id.js +8 -0
  258. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validate-default-codec.d.ts +2 -0
  259. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validate-default-codec.js +12 -0
  260. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validate-default-props.d.ts +1 -0
  261. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validate-default-props.js +11 -0
  262. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validate-dimensions.d.ts +1 -0
  263. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validate-dimensions.js +17 -0
  264. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validate-duration-in-frames.d.ts +4 -0
  265. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validate-duration-in-frames.js +18 -0
  266. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validate-folder-name.d.ts +3 -0
  267. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validate-folder-name.js +14 -0
  268. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validate-fps.d.ts +1 -0
  269. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validate-fps.js +17 -0
  270. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validation-spring-duration.d.ts +1 -0
  271. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/validation/validation-spring-duration.js +17 -0
  272. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/version.d.ts +1 -0
  273. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/version.js +2 -0
  274. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/OffthreadVideo.d.ts +7 -0
  275. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/OffthreadVideo.js +37 -0
  276. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/OffthreadVideoForRendering.d.ts +3 -0
  277. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/OffthreadVideoForRendering.js +113 -0
  278. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/Video.d.ts +21 -0
  279. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/Video.js +63 -0
  280. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/VideoForPreview.d.ts +12 -0
  281. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/VideoForPreview.js +148 -0
  282. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/VideoForRendering.d.ts +14 -0
  283. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/VideoForRendering.js +192 -0
  284. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/duration-state.d.ts +17 -0
  285. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/duration-state.js +30 -0
  286. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/get-current-time.d.ts +11 -0
  287. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/get-current-time.js +14 -0
  288. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/index.d.ts +3 -0
  289. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/index.js +2 -0
  290. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/offthread-video-source.d.ts +6 -0
  291. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/offthread-video-source.js +4 -0
  292. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/props.d.ts +49 -0
  293. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/props.js +1 -0
  294. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/seek-until-right.d.ts +8 -0
  295. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/seek-until-right.js +88 -0
  296. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/video-fragment.d.ts +13 -0
  297. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video/video-fragment.js +59 -0
  298. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video-config.d.ts +11 -0
  299. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/video-config.js +1 -0
  300. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/volume-position-state.d.ts +19 -0
  301. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/volume-position-state.js +27 -0
  302. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/volume-prop.d.ts +7 -0
  303. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/volume-prop.js +20 -0
  304. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/warn-about-non-seekable-media.d.ts +1 -0
  305. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/warn-about-non-seekable-media.js +38 -0
  306. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/watch-static-file.d.ts +17 -0
  307. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/watch-static-file.js +48 -0
  308. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/wrap-remotion-context.d.ts +45 -0
  309. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/wrap-remotion-context.js +61 -0
  310. package/.rollup.cache/Users/jonathanburger/remotion/packages/core/dist/tsconfig-esm.tsbuildinfo +1 -0
  311. package/dist/cjs/use-media-playback.js +6 -2
  312. package/dist/cjs/version.d.ts +1 -1
  313. package/dist/cjs/version.js +1 -1
  314. package/dist/cjs/video/OffthreadVideoForRendering.js +4 -0
  315. package/dist/cjs/video/track-source-change.d.ts +2 -0
  316. package/dist/cjs/video/track-source-change.js +20 -0
  317. package/dist/esm/index.mjs +10 -3
  318. package/dist/esm/version.mjs +1 -1
  319. package/dist/tsconfig-esm.tsbuildinfo +1 -0
  320. package/package.json +1 -1
  321. package/dist/cjs/check-rsc.js +0 -6
  322. /package/{dist/cjs/check-rsc.d.ts → .rollup.cache/Users/jonathanburger/remotion/packages/core/dist/esm/audio/props.js} +0 -0
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { RemotionVideoProps } from './props.js';
3
+ type VideoForPreviewProps = RemotionVideoProps & {
4
+ onlyWarnForMediaSeekingError: boolean;
5
+ onDuration: (src: string, durationInSeconds: number) => void;
6
+ pauseWhenBuffering: boolean;
7
+ _remotionInternalNativeLoopPassed: boolean;
8
+ _remotionInternalStack: string | null;
9
+ showInTimeline: boolean;
10
+ };
11
+ export declare const VideoForPreview: React.ForwardRefExoticComponent<Omit<VideoForPreviewProps, "ref"> & React.RefAttributes<HTMLVideoElement>>;
12
+ export {};
@@ -0,0 +1,148 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef, useContext, useEffect, useImperativeHandle, useMemo, useRef, useState, } from 'react';
3
+ import { useFrameForVolumeProp } from '../audio/use-audio-frame.js';
4
+ import { usePreload } from '../prefetch.js';
5
+ import { SequenceContext } from '../SequenceContext.js';
6
+ import { SequenceVisibilityToggleContext } from '../SequenceManager.js';
7
+ import { useMediaBuffering } from '../use-media-buffering.js';
8
+ import { useMediaInTimeline } from '../use-media-in-timeline.js';
9
+ import { DEFAULT_ACCEPTABLE_TIMESHIFT, useMediaPlayback, } from '../use-media-playback.js';
10
+ import { useMediaTagVolume } from '../use-media-tag-volume.js';
11
+ import { useSyncVolumeWithMediaTag } from '../use-sync-volume-with-media-tag.js';
12
+ import { useVideoConfig } from '../use-video-config.js';
13
+ import { useMediaMutedState, useMediaVolumeState, } from '../volume-position-state.js';
14
+ import { isIosSafari, useAppendVideoFragment } from './video-fragment.js';
15
+ const VideoForDevelopmentRefForwardingFunction = (props, ref) => {
16
+ var _a, _b, _c;
17
+ const videoRef = useRef(null);
18
+ const volumePropFrame = useFrameForVolumeProp();
19
+ const { fps, durationInFrames } = useVideoConfig();
20
+ const parentSequence = useContext(SequenceContext);
21
+ const { hidden } = useContext(SequenceVisibilityToggleContext);
22
+ const [timelineId] = useState(() => String(Math.random()));
23
+ const isSequenceHidden = (_a = hidden[timelineId]) !== null && _a !== void 0 ? _a : false;
24
+ const { volume, muted, playbackRate, onlyWarnForMediaSeekingError, src, onDuration,
25
+ // @ts-expect-error
26
+ acceptableTimeShift, acceptableTimeShiftInSeconds, toneFrequency, name, _remotionInternalNativeLoopPassed, _remotionInternalStack, style, pauseWhenBuffering, showInTimeline, ...nativeProps } = props;
27
+ if (typeof acceptableTimeShift !== 'undefined') {
28
+ throw new Error('acceptableTimeShift has been removed. Use acceptableTimeShiftInSeconds instead.');
29
+ }
30
+ const actualVolume = useMediaTagVolume(videoRef);
31
+ const [mediaVolume] = useMediaVolumeState();
32
+ const [mediaMuted] = useMediaMutedState();
33
+ useMediaInTimeline({
34
+ mediaRef: videoRef,
35
+ volume,
36
+ mediaVolume,
37
+ mediaType: 'video',
38
+ src,
39
+ playbackRate: (_b = props.playbackRate) !== null && _b !== void 0 ? _b : 1,
40
+ displayName: name !== null && name !== void 0 ? name : null,
41
+ id: timelineId,
42
+ stack: _remotionInternalStack,
43
+ showInTimeline,
44
+ });
45
+ useSyncVolumeWithMediaTag({
46
+ volumePropFrame,
47
+ actualVolume,
48
+ volume,
49
+ mediaVolume,
50
+ mediaRef: videoRef,
51
+ });
52
+ useMediaPlayback({
53
+ mediaRef: videoRef,
54
+ src,
55
+ mediaType: 'video',
56
+ playbackRate: (_c = props.playbackRate) !== null && _c !== void 0 ? _c : 1,
57
+ onlyWarnForMediaSeekingError,
58
+ acceptableTimeshift: acceptableTimeShiftInSeconds !== null && acceptableTimeShiftInSeconds !== void 0 ? acceptableTimeShiftInSeconds : DEFAULT_ACCEPTABLE_TIMESHIFT,
59
+ });
60
+ useMediaBuffering(videoRef, pauseWhenBuffering);
61
+ const actualFrom = parentSequence
62
+ ? parentSequence.relativeFrom + parentSequence.cumulatedFrom
63
+ : 0;
64
+ const duration = parentSequence
65
+ ? Math.min(parentSequence.durationInFrames, durationInFrames)
66
+ : durationInFrames;
67
+ const actualSrc = useAppendVideoFragment({
68
+ actualSrc: usePreload(src),
69
+ actualFrom,
70
+ duration,
71
+ fps,
72
+ });
73
+ useImperativeHandle(ref, () => {
74
+ return videoRef.current;
75
+ }, []);
76
+ useEffect(() => {
77
+ const { current } = videoRef;
78
+ if (!current) {
79
+ return;
80
+ }
81
+ const errorHandler = () => {
82
+ var _a;
83
+ if (current === null || current === void 0 ? void 0 : current.error) {
84
+ // eslint-disable-next-line no-console
85
+ console.error('Error occurred in video', current === null || current === void 0 ? void 0 : current.error);
86
+ // If user is handling the error, we don't cause an unhandled exception
87
+ if (props.onError) {
88
+ return;
89
+ }
90
+ throw new Error(`The browser threw an error while playing the video ${src}: Code ${current.error.code} - ${(_a = current === null || current === void 0 ? void 0 : current.error) === null || _a === void 0 ? void 0 : _a.message}. See https://remotion.dev/docs/media-playback-error for help. Pass an onError() prop to handle the error.`);
91
+ }
92
+ else {
93
+ throw new Error('The browser threw an error');
94
+ }
95
+ };
96
+ current.addEventListener('error', errorHandler, { once: true });
97
+ return () => {
98
+ current.removeEventListener('error', errorHandler);
99
+ };
100
+ }, [props.onError, src]);
101
+ const currentOnDurationCallback = useRef();
102
+ currentOnDurationCallback.current = onDuration;
103
+ useEffect(() => {
104
+ var _a;
105
+ const { current } = videoRef;
106
+ if (!current) {
107
+ return;
108
+ }
109
+ if (current.duration) {
110
+ (_a = currentOnDurationCallback.current) === null || _a === void 0 ? void 0 : _a.call(currentOnDurationCallback, src, current.duration);
111
+ return;
112
+ }
113
+ const onLoadedMetadata = () => {
114
+ var _a;
115
+ (_a = currentOnDurationCallback.current) === null || _a === void 0 ? void 0 : _a.call(currentOnDurationCallback, src, current.duration);
116
+ };
117
+ current.addEventListener('loadedmetadata', onLoadedMetadata);
118
+ return () => {
119
+ current.removeEventListener('loadedmetadata', onLoadedMetadata);
120
+ };
121
+ }, [src]);
122
+ useEffect(() => {
123
+ const { current } = videoRef;
124
+ if (!current) {
125
+ return;
126
+ }
127
+ // Without this, on iOS Safari, the video cannot be seeked.
128
+ // if a seek is triggered before `loadedmetadata` is fired,
129
+ // the video will not seek, even if `loadedmetadata` is fired afterwards.
130
+ // Also, this needs to happen in a useEffect, because otherwise
131
+ // the SSR props will be applied.
132
+ if (isIosSafari()) {
133
+ current.preload = 'metadata';
134
+ }
135
+ else {
136
+ current.preload = 'auto';
137
+ }
138
+ }, []);
139
+ const actualStyle = useMemo(() => {
140
+ var _a;
141
+ return {
142
+ ...style,
143
+ opacity: isSequenceHidden ? 0 : (_a = style === null || style === void 0 ? void 0 : style.opacity) !== null && _a !== void 0 ? _a : 1,
144
+ };
145
+ }, [isSequenceHidden, style]);
146
+ return (_jsx("video", { ref: videoRef, muted: muted || mediaMuted, playsInline: true, src: actualSrc, loop: _remotionInternalNativeLoopPassed, style: actualStyle, ...nativeProps }));
147
+ };
148
+ export const VideoForPreview = forwardRef(VideoForDevelopmentRefForwardingFunction);
@@ -0,0 +1,14 @@
1
+ import type { ForwardRefExoticComponent, RefAttributes } from 'react';
2
+ import React from 'react';
3
+ export declare const VideoForRendering: ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "nonce" | "onEnded" | "autoPlay" | "controls"> & {
4
+ name?: string | undefined;
5
+ volume?: import("../volume-prop.js").VolumeProp | undefined;
6
+ playbackRate?: number | undefined;
7
+ acceptableTimeShiftInSeconds?: number | undefined;
8
+ allowAmplificationDuringRender?: boolean | undefined;
9
+ toneFrequency?: number | undefined;
10
+ pauseWhenBuffering?: boolean | undefined;
11
+ showInTimeline?: boolean | undefined;
12
+ } & {
13
+ onDuration: (src: string, durationInSeconds: number) => void;
14
+ } & RefAttributes<HTMLVideoElement>>;
@@ -0,0 +1,192 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef, useContext, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef, } from 'react';
3
+ import { getAbsoluteSrc } from '../absolute-src.js';
4
+ import { useFrameForVolumeProp, useMediaStartsAt, } from '../audio/use-audio-frame.js';
5
+ import { continueRender, delayRender } from '../delay-render.js';
6
+ import { getRemotionEnvironment } from '../get-remotion-environment.js';
7
+ import { isApproximatelyTheSame } from '../is-approximately-the-same.js';
8
+ import { random } from '../random.js';
9
+ import { RenderAssetManager } from '../RenderAssetManager.js';
10
+ import { SequenceContext } from '../SequenceContext.js';
11
+ import { useTimelinePosition } from '../timeline-position-state.js';
12
+ import { useCurrentFrame } from '../use-current-frame.js';
13
+ import { useUnsafeVideoConfig } from '../use-unsafe-video-config.js';
14
+ import { evaluateVolume } from '../volume-prop.js';
15
+ import { getMediaTime } from './get-current-time.js';
16
+ import { seekToTimeMultipleUntilRight } from './seek-until-right.js';
17
+ const VideoForRenderingForwardFunction = ({ onError, volume: volumeProp, allowAmplificationDuringRender, playbackRate, onDuration, toneFrequency, name, acceptableTimeShiftInSeconds, ...props }, ref) => {
18
+ const absoluteFrame = useTimelinePosition();
19
+ const frame = useCurrentFrame();
20
+ const volumePropsFrame = useFrameForVolumeProp();
21
+ const videoConfig = useUnsafeVideoConfig();
22
+ const videoRef = useRef(null);
23
+ const sequenceContext = useContext(SequenceContext);
24
+ const mediaStartsAt = useMediaStartsAt();
25
+ const environment = getRemotionEnvironment();
26
+ const { registerRenderAsset, unregisterRenderAsset } = useContext(RenderAssetManager);
27
+ // Generate a string that's as unique as possible for this asset
28
+ // but at the same time the same on all threads
29
+ const id = useMemo(() => {
30
+ var _a;
31
+ return `video-${random((_a = props.src) !== null && _a !== void 0 ? _a : '')}-${sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.cumulatedFrom}-${sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.relativeFrom}-${sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.durationInFrames}`;
32
+ }, [
33
+ props.src,
34
+ sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.cumulatedFrom,
35
+ sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.relativeFrom,
36
+ sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.durationInFrames,
37
+ ]);
38
+ if (!videoConfig) {
39
+ throw new Error('No video config found');
40
+ }
41
+ const volume = evaluateVolume({
42
+ volume: volumeProp,
43
+ frame: volumePropsFrame,
44
+ mediaVolume: 1,
45
+ allowAmplificationDuringRender: allowAmplificationDuringRender !== null && allowAmplificationDuringRender !== void 0 ? allowAmplificationDuringRender : false,
46
+ });
47
+ useEffect(() => {
48
+ if (!props.src) {
49
+ throw new Error('No src passed');
50
+ }
51
+ if (props.muted) {
52
+ return;
53
+ }
54
+ if (volume <= 0) {
55
+ return;
56
+ }
57
+ if (!window.remotion_audioEnabled) {
58
+ return;
59
+ }
60
+ registerRenderAsset({
61
+ type: 'video',
62
+ src: getAbsoluteSrc(props.src),
63
+ id,
64
+ frame: absoluteFrame,
65
+ volume,
66
+ mediaFrame: frame,
67
+ playbackRate: playbackRate !== null && playbackRate !== void 0 ? playbackRate : 1,
68
+ allowAmplificationDuringRender: allowAmplificationDuringRender !== null && allowAmplificationDuringRender !== void 0 ? allowAmplificationDuringRender : false,
69
+ toneFrequency: toneFrequency !== null && toneFrequency !== void 0 ? toneFrequency : null,
70
+ });
71
+ return () => unregisterRenderAsset(id);
72
+ }, [
73
+ props.muted,
74
+ props.src,
75
+ registerRenderAsset,
76
+ id,
77
+ unregisterRenderAsset,
78
+ volume,
79
+ frame,
80
+ absoluteFrame,
81
+ playbackRate,
82
+ allowAmplificationDuringRender,
83
+ toneFrequency,
84
+ ]);
85
+ useImperativeHandle(ref, () => {
86
+ return videoRef.current;
87
+ }, []);
88
+ useEffect(() => {
89
+ if (!window.remotion_videoEnabled) {
90
+ return;
91
+ }
92
+ const { current } = videoRef;
93
+ if (!current) {
94
+ return;
95
+ }
96
+ const currentTime = getMediaTime({
97
+ frame,
98
+ playbackRate: playbackRate || 1,
99
+ startFrom: -mediaStartsAt,
100
+ fps: videoConfig.fps,
101
+ });
102
+ const handle = delayRender(`Rendering <Video /> with src="${props.src}"`);
103
+ if (process.env.NODE_ENV === 'test') {
104
+ continueRender(handle);
105
+ return;
106
+ }
107
+ if (isApproximatelyTheSame(current.currentTime, currentTime)) {
108
+ if (current.readyState >= 2) {
109
+ continueRender(handle);
110
+ return;
111
+ }
112
+ const loadedDataHandler = () => {
113
+ continueRender(handle);
114
+ };
115
+ current.addEventListener('loadeddata', loadedDataHandler, { once: true });
116
+ return () => {
117
+ current.removeEventListener('loadeddata', loadedDataHandler);
118
+ };
119
+ }
120
+ const endedHandler = () => {
121
+ continueRender(handle);
122
+ };
123
+ const seek = seekToTimeMultipleUntilRight(current, currentTime, videoConfig.fps);
124
+ seek.prom.then(() => {
125
+ continueRender(handle);
126
+ });
127
+ current.addEventListener('ended', endedHandler, { once: true });
128
+ const errorHandler = () => {
129
+ var _a;
130
+ if (current === null || current === void 0 ? void 0 : current.error) {
131
+ // eslint-disable-next-line no-console
132
+ console.error('Error occurred in video', current === null || current === void 0 ? void 0 : current.error);
133
+ // If user is handling the error, we don't cause an unhandled exception
134
+ if (onError) {
135
+ return;
136
+ }
137
+ throw new Error(`The browser threw an error while playing the video ${props.src}: Code ${current.error.code} - ${(_a = current === null || current === void 0 ? void 0 : current.error) === null || _a === void 0 ? void 0 : _a.message}. See https://remotion.dev/docs/media-playback-error for help. Pass an onError() prop to handle the error.`);
138
+ }
139
+ else {
140
+ throw new Error('The browser threw an error');
141
+ }
142
+ };
143
+ current.addEventListener('error', errorHandler, { once: true });
144
+ // If video skips to another frame or unmounts, we clear the created handle
145
+ return () => {
146
+ seek.cancel();
147
+ current.removeEventListener('ended', endedHandler);
148
+ current.removeEventListener('error', errorHandler);
149
+ continueRender(handle);
150
+ };
151
+ }, [
152
+ volumePropsFrame,
153
+ props.src,
154
+ playbackRate,
155
+ videoConfig.fps,
156
+ frame,
157
+ mediaStartsAt,
158
+ onError,
159
+ ]);
160
+ const { src } = props;
161
+ // If video source switches, make new handle
162
+ if (environment.isRendering) {
163
+ // eslint-disable-next-line react-hooks/rules-of-hooks
164
+ useLayoutEffect(() => {
165
+ if (process.env.NODE_ENV === 'test') {
166
+ return;
167
+ }
168
+ const newHandle = delayRender('Loading <Video> duration with src=' + src);
169
+ const { current } = videoRef;
170
+ const didLoad = () => {
171
+ if (current === null || current === void 0 ? void 0 : current.duration) {
172
+ onDuration(src, current.duration);
173
+ }
174
+ continueRender(newHandle);
175
+ };
176
+ if (current === null || current === void 0 ? void 0 : current.duration) {
177
+ onDuration(src, current.duration);
178
+ continueRender(newHandle);
179
+ }
180
+ else {
181
+ current === null || current === void 0 ? void 0 : current.addEventListener('loadedmetadata', didLoad, { once: true });
182
+ }
183
+ // If tag gets unmounted, clear pending handles because video metadata is not going to load
184
+ return () => {
185
+ current === null || current === void 0 ? void 0 : current.removeEventListener('loadedmetadata', didLoad);
186
+ continueRender(newHandle);
187
+ };
188
+ }, [src, onDuration]);
189
+ }
190
+ return _jsx("video", { ref: videoRef, ...props, onError: onError });
191
+ };
192
+ export const VideoForRendering = forwardRef(VideoForRenderingForwardFunction);
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ type DurationState = Record<string, number>;
3
+ type DurationAction = {
4
+ type: 'got-duration';
5
+ src: string;
6
+ durationInSeconds: number;
7
+ };
8
+ export declare const durationReducer: (state: DurationState, action: DurationAction) => DurationState;
9
+ type TDurationsContext = {
10
+ durations: DurationState;
11
+ setDurations: React.Dispatch<DurationAction>;
12
+ };
13
+ export declare const DurationsContext: React.Context<TDurationsContext>;
14
+ export declare const DurationsContextProvider: React.FC<{
15
+ children: React.ReactNode;
16
+ }>;
17
+ export {};
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useMemo, useReducer } from 'react';
3
+ import { getAbsoluteSrc } from '../absolute-src.js';
4
+ export const durationReducer = (state, action) => {
5
+ switch (action.type) {
6
+ case 'got-duration':
7
+ return {
8
+ ...state,
9
+ [getAbsoluteSrc(action.src)]: action.durationInSeconds,
10
+ };
11
+ default:
12
+ return state;
13
+ }
14
+ };
15
+ export const DurationsContext = createContext({
16
+ durations: {},
17
+ setDurations: () => {
18
+ throw new Error('context missing');
19
+ },
20
+ });
21
+ export const DurationsContextProvider = ({ children }) => {
22
+ const [durations, setDurations] = useReducer(durationReducer, {});
23
+ const value = useMemo(() => {
24
+ return {
25
+ durations,
26
+ setDurations,
27
+ };
28
+ }, [durations]);
29
+ return (_jsx(DurationsContext.Provider, { value: value, children: children }));
30
+ };
@@ -0,0 +1,11 @@
1
+ export declare const getExpectedMediaFrameUncorrected: ({ frame, playbackRate, startFrom, }: {
2
+ frame: number;
3
+ playbackRate: number;
4
+ startFrom: number;
5
+ }) => number;
6
+ export declare const getMediaTime: ({ fps, frame, playbackRate, startFrom, }: {
7
+ fps: number;
8
+ frame: number;
9
+ playbackRate: number;
10
+ startFrom: number;
11
+ }) => number;
@@ -0,0 +1,14 @@
1
+ // Calculate the `.currentTime` of a video or audio element
2
+ import { interpolate } from '../interpolate.js';
3
+ export const getExpectedMediaFrameUncorrected = ({ frame, playbackRate, startFrom, }) => {
4
+ return interpolate(frame, [-1, startFrom, startFrom + 1], [-1, startFrom, startFrom + playbackRate]);
5
+ };
6
+ export const getMediaTime = ({ fps, frame, playbackRate, startFrom, }) => {
7
+ const expectedFrame = getExpectedMediaFrameUncorrected({
8
+ frame,
9
+ playbackRate,
10
+ startFrom,
11
+ });
12
+ const msPerFrame = 1000 / fps;
13
+ return (expectedFrame * msPerFrame) / 1000;
14
+ };
@@ -0,0 +1,3 @@
1
+ export { OffthreadVideo } from './OffthreadVideo.js';
2
+ export { OffthreadVideoProps as RemotionOffthreadVideoProps, RemotionMainVideoProps, RemotionVideoProps, } from './props.js';
3
+ export { Video } from './Video.js';
@@ -0,0 +1,2 @@
1
+ export { OffthreadVideo } from './OffthreadVideo.js';
2
+ export { Video } from './Video.js';
@@ -0,0 +1,6 @@
1
+ export declare const getOffthreadVideoSource: ({ src, transparent, currentTime, toneMapped, }: {
2
+ src: string;
3
+ transparent: boolean;
4
+ currentTime: number;
5
+ toneMapped: boolean;
6
+ }) => string;
@@ -0,0 +1,4 @@
1
+ import { getAbsoluteSrc } from '../absolute-src';
2
+ export const getOffthreadVideoSource = ({ src, transparent, currentTime, toneMapped, }) => {
3
+ return `http://localhost:${window.remotion_proxyPort}/proxy?src=${encodeURIComponent(getAbsoluteSrc(src))}&time=${encodeURIComponent(currentTime)}&transparent=${String(transparent)}&toneMapped=${String(toneMapped)}`;
4
+ };
@@ -0,0 +1,49 @@
1
+ import type React from 'react';
2
+ import type { VolumeProp } from '../volume-prop.js';
3
+ export type RemotionMainVideoProps = {
4
+ startFrom?: number;
5
+ endAt?: number;
6
+ /**
7
+ * @deprecated Only for internal `transparent` use
8
+ */
9
+ _remotionInternalNativeLoopPassed?: boolean;
10
+ };
11
+ export type RemotionVideoProps = Omit<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, 'autoPlay' | 'controls' | 'onEnded' | 'nonce'> & {
12
+ name?: string;
13
+ volume?: VolumeProp;
14
+ playbackRate?: number;
15
+ acceptableTimeShiftInSeconds?: number;
16
+ allowAmplificationDuringRender?: boolean;
17
+ toneFrequency?: number;
18
+ pauseWhenBuffering?: boolean;
19
+ showInTimeline?: boolean;
20
+ };
21
+ type DeprecatedOffthreadVideoProps = {
22
+ /**
23
+ * @deprecated Use the `transparent` prop instead
24
+ */
25
+ imageFormat?: never;
26
+ };
27
+ export type OffthreadVideoProps = {
28
+ src: string;
29
+ className?: string;
30
+ name?: string;
31
+ id?: string;
32
+ style?: React.CSSProperties;
33
+ volume?: VolumeProp;
34
+ playbackRate?: number;
35
+ muted?: boolean;
36
+ onError?: React.ReactEventHandler<HTMLVideoElement | HTMLImageElement>;
37
+ acceptableTimeShiftInSeconds?: number;
38
+ allowAmplificationDuringRender?: boolean;
39
+ toneFrequency?: number;
40
+ transparent?: boolean;
41
+ toneMapped?: boolean;
42
+ pauseWhenBuffering?: boolean;
43
+ /**
44
+ * @deprecated For internal use only
45
+ */
46
+ stack?: string;
47
+ showInTimeline?: boolean;
48
+ } & RemotionMainVideoProps & DeprecatedOffthreadVideoProps;
49
+ export {};
@@ -0,0 +1,8 @@
1
+ export declare const seekToTime: (element: HTMLVideoElement, desiredTime: number) => {
2
+ wait: Promise<number>;
3
+ cancel: () => void;
4
+ };
5
+ export declare const seekToTimeMultipleUntilRight: (element: HTMLVideoElement, desiredTime: number, fps: number) => {
6
+ prom: Promise<void>;
7
+ cancel: () => void;
8
+ };
@@ -0,0 +1,88 @@
1
+ const roundTo6Commas = (num) => {
2
+ return Math.round(num * 100000) / 100000;
3
+ };
4
+ export const seekToTime = (element, desiredTime) => {
5
+ element.currentTime = desiredTime;
6
+ let cancel;
7
+ let cancelSeeked = null;
8
+ const prom = new Promise((resolve) => {
9
+ cancel = element.requestVideoFrameCallback((now, metadata) => {
10
+ const displayIn = metadata.expectedDisplayTime - now;
11
+ if (displayIn <= 0) {
12
+ resolve(metadata.mediaTime);
13
+ return;
14
+ }
15
+ setTimeout(() => {
16
+ resolve(metadata.mediaTime);
17
+ }, displayIn + 150);
18
+ });
19
+ });
20
+ const waitForSeekedEvent = new Promise((resolve) => {
21
+ const onDone = () => {
22
+ resolve();
23
+ };
24
+ element.addEventListener('seeked', onDone, {
25
+ once: true,
26
+ });
27
+ cancelSeeked = () => {
28
+ element.removeEventListener('seeked', onDone);
29
+ };
30
+ });
31
+ return {
32
+ wait: Promise.all([prom, waitForSeekedEvent]).then(([time]) => time),
33
+ cancel: () => {
34
+ cancelSeeked === null || cancelSeeked === void 0 ? void 0 : cancelSeeked();
35
+ element.cancelVideoFrameCallback(cancel);
36
+ },
37
+ };
38
+ };
39
+ export const seekToTimeMultipleUntilRight = (element, desiredTime, fps) => {
40
+ const threshold = 1 / fps / 2;
41
+ let currentCancel = () => undefined;
42
+ if (Number.isFinite(element.duration) &&
43
+ element.currentTime >= element.duration &&
44
+ desiredTime >= element.duration) {
45
+ return {
46
+ prom: Promise.resolve(),
47
+ cancel: () => { },
48
+ };
49
+ }
50
+ const prom = new Promise((resolve, reject) => {
51
+ const firstSeek = seekToTime(element, desiredTime + threshold);
52
+ firstSeek.wait.then((seekedTo) => {
53
+ const difference = Math.abs(desiredTime - seekedTo);
54
+ if (difference <= threshold) {
55
+ return resolve();
56
+ }
57
+ const sign = desiredTime > seekedTo ? 1 : -1;
58
+ const newSeek = seekToTime(element, seekedTo + threshold * sign);
59
+ currentCancel = newSeek.cancel;
60
+ newSeek.wait
61
+ .then((newTime) => {
62
+ const newDifference = Math.abs(desiredTime - newTime);
63
+ if (roundTo6Commas(newDifference) <= roundTo6Commas(threshold)) {
64
+ return resolve();
65
+ }
66
+ const thirdSeek = seekToTime(element, desiredTime + threshold);
67
+ currentCancel = thirdSeek.cancel;
68
+ return thirdSeek.wait
69
+ .then(() => {
70
+ resolve();
71
+ })
72
+ .catch((err) => {
73
+ reject(err);
74
+ });
75
+ })
76
+ .catch((err) => {
77
+ reject(err);
78
+ });
79
+ });
80
+ currentCancel = firstSeek.cancel;
81
+ });
82
+ return {
83
+ prom,
84
+ cancel: () => {
85
+ currentCancel();
86
+ },
87
+ };
88
+ };
@@ -0,0 +1,13 @@
1
+ export declare const isIosSafari: () => boolean;
2
+ export declare const appendVideoFragment: ({ actualSrc, actualFrom, duration, fps, }: {
3
+ actualSrc: string;
4
+ actualFrom: number;
5
+ duration: number;
6
+ fps: number;
7
+ }) => string;
8
+ export declare const useAppendVideoFragment: ({ actualSrc: initialActualSrc, actualFrom: initialActualFrom, duration: initialDuration, fps, }: {
9
+ actualSrc: string;
10
+ actualFrom: number;
11
+ duration: number;
12
+ fps: number;
13
+ }) => string;