@vosjs/studio-core 0.11.0 → 0.11.1
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.
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3960,6 +3960,15 @@ var ON_FRAME = `(ctx, content, dt) => {
|
|
|
3960
3960
|
// range); the paused/seek path needs nothing \u2014 mapTime already lands srcT.
|
|
3961
3961
|
var srcRate = TL.rateAt ? TL.rateAt(d.segments || [], t) : 1
|
|
3962
3962
|
var playRate = Math.min(16, Math.max(0.0625, srcRate))
|
|
3963
|
+
// Where the FOOTAGE ends in output seconds. The output may outlast it
|
|
3964
|
+
// (clips placed after the footage), and a hold is a freeze piece whose
|
|
3965
|
+
// rate is tiny: in both the element must stay PAUSED on its frame. An
|
|
3966
|
+
// ended element's play() rewinds it to zero and the drift guard then
|
|
3967
|
+
// seeks it back, which reads as frames jumping back and forth; a hold
|
|
3968
|
+
// crawling at the clamped 1/16 speed toward that same end was the same
|
|
3969
|
+
// bug in slow motion.
|
|
3970
|
+
var footEnd = TL.totalDuration ? TL.totalDuration(d.segments || []) : Infinity
|
|
3971
|
+
var frozen = srcRate < 0.01 || t >= footEnd - 1e-3
|
|
3963
3972
|
// Drive a <video> to the on-screen SOURCE moment: play natively while playing (drift
|
|
3964
3973
|
// correction covers cut-boundary jumps), else step to the exact frame (registering a
|
|
3965
3974
|
// decode promise so the deterministic export awaits it). Shared by the screen video
|
|
@@ -3967,7 +3976,7 @@ var ON_FRAME = `(ctx, content, dt) => {
|
|
|
3967
3976
|
${FRAME_STEP_SRC}
|
|
3968
3977
|
function syncVid(vid) {
|
|
3969
3978
|
try {
|
|
3970
|
-
if (playing) {
|
|
3979
|
+
if (playing && !frozen) {
|
|
3971
3980
|
if (vid.playbackRate !== playRate) {
|
|
3972
3981
|
vid.playbackRate = playRate
|
|
3973
3982
|
// Resampled (tape-style) speed, matching the export's offline mix.
|