remotion 4.0.271 → 4.0.273

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.
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { RemotionMainAudioProps } from './props.js';
3
- export declare const Audio: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.AudioHTMLAttributes<HTMLAudioElement>, HTMLAudioElement>, "nonce" | "onEnded" | "onResize" | "onResizeCapture" | "autoPlay" | "controls"> & {
3
+ export declare const Audio: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.AudioHTMLAttributes<HTMLAudioElement>, HTMLAudioElement>, "nonce" | "onEnded" | "onResize" | "onResizeCapture" | "controls" | "autoPlay"> & {
4
4
  name?: string;
5
5
  volume?: import("../volume-prop.js").VolumeProp;
6
6
  playbackRate?: number;
@@ -4,6 +4,10 @@ exports.useBufferUntilFirstFrame = void 0;
4
4
  const react_1 = require("react");
5
5
  const playback_logging_1 = require("./playback-logging");
6
6
  const use_buffer_state_1 = require("./use-buffer-state");
7
+ const isWebkit = () => {
8
+ const isAppleWebKit = /AppleWebKit/.test(window.navigator.userAgent);
9
+ return isAppleWebKit;
10
+ };
7
11
  const useBufferUntilFirstFrame = ({ mediaRef, mediaType, onVariableFpsVideoDetected, pauseWhenBuffering, logLevel, mountTime, }) => {
8
12
  const bufferingRef = (0, react_1.useRef)(false);
9
13
  const { delayPlayback } = (0, use_buffer_state_1.useBufferState)();
@@ -19,7 +23,13 @@ const useBufferUntilFirstFrame = ({ mediaRef, mediaType, onVariableFpsVideoDetec
19
23
  if (!current) {
20
24
  return;
21
25
  }
22
- if (current.readyState >= current.HAVE_ENOUGH_DATA) {
26
+ (0, playback_logging_1.playbackLogging)({
27
+ logLevel,
28
+ message: `Checking if should buffer until first frame, ${current.readyState}`,
29
+ mountTime,
30
+ tag: 'buffer',
31
+ });
32
+ if (current.readyState >= current.HAVE_ENOUGH_DATA && !isWebkit()) {
23
33
  return;
24
34
  }
25
35
  if (!current.requestVideoFrameCallback) {
@@ -151,7 +151,7 @@ const useMediaPlayback = ({ mediaRef, src, mediaType, playbackRate: localPlaybac
151
151
  mountTime,
152
152
  });
153
153
  lastSeekDueToShift.current = lastSeek.current;
154
- if (playing && !isVariableFpsVideo) {
154
+ if (playing) {
155
155
  if (playbackRate > 0) {
156
156
  bufferUntilFirstFrame(shouldBeTime);
157
157
  }
@@ -3,4 +3,4 @@
3
3
  * @see [Documentation](https://remotion.dev/docs/version)
4
4
  * @returns {string} The current version of the remotion package
5
5
  */
6
- export declare const VERSION = "4.0.271";
6
+ export declare const VERSION = "4.0.273";
@@ -7,4 +7,4 @@ exports.VERSION = void 0;
7
7
  * @see [Documentation](https://remotion.dev/docs/version)
8
8
  * @returns {string} The current version of the remotion package
9
9
  */
10
- exports.VERSION = '4.0.271';
10
+ exports.VERSION = '4.0.273';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { RemotionMainVideoProps } from './props';
3
- export declare const Video: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "nonce" | "onError" | "onEnded" | "autoPlay" | "controls" | "disableRemotePlayback"> & {
3
+ export declare const Video: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "nonce" | "onError" | "onEnded" | "controls" | "disableRemotePlayback" | "autoPlay"> & {
4
4
  name?: string;
5
5
  volume?: import("../volume-prop.js").VolumeProp;
6
6
  playbackRate?: number;
@@ -104,7 +104,7 @@ function truthy(value) {
104
104
  }
105
105
 
106
106
  // src/version.ts
107
- var VERSION = "4.0.271";
107
+ var VERSION = "4.0.273";
108
108
 
109
109
  // src/multiple-versions-warning.ts
110
110
  var checkMultipleRemotionVersions = () => {
@@ -2896,6 +2896,10 @@ var useBufferState = () => {
2896
2896
  };
2897
2897
 
2898
2898
  // src/buffer-until-first-frame.ts
2899
+ var isWebkit = () => {
2900
+ const isAppleWebKit = /AppleWebKit/.test(window.navigator.userAgent);
2901
+ return isAppleWebKit;
2902
+ };
2899
2903
  var useBufferUntilFirstFrame = ({
2900
2904
  mediaRef,
2901
2905
  mediaType,
@@ -2917,7 +2921,13 @@ var useBufferUntilFirstFrame = ({
2917
2921
  if (!current) {
2918
2922
  return;
2919
2923
  }
2920
- if (current.readyState >= current.HAVE_ENOUGH_DATA) {
2924
+ playbackLogging({
2925
+ logLevel,
2926
+ message: `Checking if should buffer until first frame, ${current.readyState}`,
2927
+ mountTime,
2928
+ tag: "buffer"
2929
+ });
2930
+ if (current.readyState >= current.HAVE_ENOUGH_DATA && !isWebkit()) {
2921
2931
  return;
2922
2932
  }
2923
2933
  if (!current.requestVideoFrameCallback) {
@@ -3572,7 +3582,7 @@ var useMediaPlayback = ({
3572
3582
  mountTime
3573
3583
  });
3574
3584
  lastSeekDueToShift.current = lastSeek.current;
3575
- if (playing && !isVariableFpsVideo) {
3585
+ if (playing) {
3576
3586
  if (playbackRate > 0) {
3577
3587
  bufferUntilFirstFrame(shouldBeTime);
3578
3588
  }
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var VERSION = "4.0.271";
2
+ var VERSION = "4.0.273";
3
3
  export {
4
4
  VERSION
5
5
  };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/core"
4
4
  },
5
5
  "name": "remotion",
6
- "version": "4.0.271",
6
+ "version": "4.0.273",
7
7
  "description": "Make videos programmatically",
8
8
  "main": "dist/cjs/index.js",
9
9
  "types": "dist/cjs/index.d.ts",
@@ -28,7 +28,7 @@
28
28
  "webpack": "5.96.1",
29
29
  "zod": "3.22.3",
30
30
  "eslint": "9.19.0",
31
- "@remotion/eslint-config-internal": "4.0.271"
31
+ "@remotion/eslint-config-internal": "4.0.273"
32
32
  },
33
33
  "keywords": [
34
34
  "remotion",