Skip to content

feat: Studio SDK ignores asset.speed during live preview / playback #145

Description

@tnmarch

User story

As a developer embedding Shotstack Studio, I want video/audio clips with asset.speed to play at that rate in the canvas preview so that speed edits are visible before render and match Edit API output.

Motivation & context

Shotstack’s Edit API already supports asset.speed (0–10) for final renders. We set it via edit.updateClip(...) (and scale length accordingly). The value persists in getEdit() / getClip(), but Studio preview stays at 1x.

That forces a broken editor UX: timeline length changes, export would be correct, but live scrub/play does not. Please honor asset.speed in Studio playback (video + audio), including seek/trim sync under non-1x rates.

Acceptance criteria

  • Setting asset.speed on a video clip (e.g. 0.5, 1.5, 2) changes live canvas playback rate to match
  • Setting asset.speed on an audio clip changes live audio playback rate to match (Howler/rate or equivalent)
  • Seek / scrub while playing a non-1x clip stays in sync (no drift vs timeline playhead)
  • trim + speed work together (source offset accounts for speed correctly)
  • Clip length at non-1x speed still maps to the expected source media window in preview
  • Pausing, resuming, and looping a sped-up/slowed clip behave correctly
  • getClip / getEdit continue to round-trip asset.speed after updateClip
  • Behavior matches Edit API render for the same timeline JSON (preview ≈ final output for speed)

Implementation notes

No response

Additional Context

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Fields

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions