obsproject / obsproject/obs-studio
VST Effect buffer not being flushed
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 76.4k
- Forks
- 10.2k
- Avg merge
- 4d 23h
- Merged PRs (30d)
- 12
Description
Operating System Info
macOS 13
Other OS
No response
OBS Studio Version
29.1.3
OBS Studio Version (Other)
No response
OBS Studio Log URL
https://obsproject.com/logs/1oaVkKE2QUyRViLI
OBS Studio Crash Log URL
No response
Expected Behavior
I added a VST plugin filter to a media source in a scene in order to introduce an audio delay (https://www.voxengo.com/product/sounddelay/). This performs as expected, but once you have already played that media to some point, subsequent plays by stopping and restarting, moving the position on the media controls, or by changing scene from another back to this scene will start the audio playback from where it was in the prior playback. I believe this is coming from the effect buffer and the effect is resuming with the previous buffer contents - in the case of a delay then previous audio from the length of the set delay will precede the current playback.
In order to produce a 'clean' playback then the VST buffer needs to be flushed on scene change, restart playback etc.
Current Behavior
Once you have already played that media to some point, subsequent plays by stopping and restarting, moving the position on the media controls, or by changing scene from another back to this scene will start the audio playback from where it was in the prior playback. I believe this is coming from the effect buffer and the effect is resuming with the previous buffer contents - in the case of a delay then previous audio from the length of the set delay will precede the current playback.
Steps to Reproduce
- Create a scene with a video clip media source
- Add VST effect filter such as https://www.voxengo.com/product/sounddelay/
- Set up a delay and play the media source
- Stop and restart the media source at a point where there is some audio playing
- When the media restarts from the beginning then it will start by playing existing audio from the VST buffer (ie. audio from later in the clip) until the buffer fills from the fresh playback.
...
Anything else we should know?
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue using the listed macOS setup, media source, and VST delay plugin, then inspect the linked OBS log. Trace the VST effect lifecycle when playback stops, restarts, seeks, or the scene changes. Done means restarting playback or returning to the scene produces no audio left in the previous effect buffer.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- audio-video-rtc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100