libretro / libretro/blastem

Sound Popping on Game Launch

Open
#17 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
77
Forks
38
Avg merge
36m
Merged PRs (30d)
6

Description

With this core specifically on Windows, I get sound popping for a second or so when a game first starts. I've noticed it's worse when I'm using crt-guest-dr-venom. And if I have "Sync to Content Refresh" enabled, there are also pops when switching resolution modes (320 to 256 and visa-versa). Turning off latency reducing options like frame delay and max swapchain don't reduce the popping. I tried the other Windows sound drivers, but they were all worse or had other issues compared to xaudio2. I've brought this up to @mikepavone on Discord, and he thinks it could be a DC offset issue. But I thought I'd make an issue here to see if anyone on the libretro side has any ideas.

Here are two videos of the popping with and without the shader enabled.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the popping on Windows with xaudio2, both with and without crt-guest-dr-venom, and while switching between 320 and 256 with Sync to Content Refresh enabled. Compare the behavior after checking the xaudio2 sound path and the reported DC offset possibility; done means the launch and resolution-switch pops are eliminated without worsening other Windows drivers.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
audio-video-rtc, game-dev, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.