Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Audio broken in latest snapshot #514

Closed
SDLBugzilla opened this issue Feb 10, 2021 · 0 comments
Closed

Audio broken in latest snapshot #514

SDLBugzilla opened this issue Feb 10, 2021 · 0 comments

Comments

@SDLBugzilla
Copy link
Collaborator

This bug report was migrated from our old Bugzilla tracker.

Reported in version: HG 1.2
Reported for operating system, platform: Linux, Other

Comments on the original bug report:

On 2009-10-16 13:29:32 +0000, Sam Lantinga wrote:

Oh behalf of Roman Tetelman (kevlarman@gmail.com), who can also be
found in #ioquake3 on freenode:

<@kevlarman> oh god
<@kevlarman> wow
<@kevlarman> sound sucks with this sdl
<@kevlarman> zakk: ^
<@kevlarman> on an hdaudio card
with SDL svn?
<@kevlarman> yeah
<@kevlarman> well, the snapshot
<@kevlarman> not svn
so no then?
give it a shot with SDL svn
i'm not sure if the snapshot is late enough
<@kevlarman> /branches/SDL-1.2/ right?
yup
<@kevlarman> slightly better
<@kevlarman> but still bad
<@kevlarman> now instead of crackling sounds are just getting cut off

On 2009-10-16 19:19:48 +0000, Roman Tetelman wrote:

the same thing happens just running loopwave with the alsa driver. uncommenting #define SET_PERIOD_SIZE in SDL_alsa_audio.c seems to fix it.

On 2009-10-16 20:25:10 +0000, Sam Lantinga wrote:

Can you post the version of ALSA you're using, along with the card that you have?

Also, can you post the output with DEBUG_PERIOD_SIZE enabled with and without SET_PERIOD_SIZE enabled?

Thanks!

On 2009-10-16 22:42:17 +0000, Roman Tetelman wrote:

$ pacman -Si alsa-lib|grep Version
Version : 1.0.21.a-1

without SET_PERIOD_SIZE defined:
ALSA: period size = 470, periods = 0, buffer size = 3763

with it:
ALSA: period size = 470, periods = 2, buffer size = 1411

it's a little more difficult to tell the difference with loopwave, but it's pretty blatant with (for example) firing plasma gun in ioq3 with the background music of q3dm6
(running ioq3 without SET_PERIOD_SIZE results in:
ALSA: period size = 470, periods = 1, buffer size = 940
and with:
ALSA: period size = 470, periods = 2, buffer size = 1411)

On 2009-10-16 23:45:14 +0000, Roman Tetelman wrote:

$ uname -a
Linux IfYouCanReadThisYoureTooClose 2.6.30-ARCH # 1 SMP PREEMPT Wed Sep 9 14:16:44 CEST 2009 x86_64 Intel(R) Core(TM)2 Duo CPU E7400 @ 2.80GHz GenuineIntel GNU/Linux
$ lspci |grep Audio
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
01:00.1 Audio device: ATI Technologies Inc R700 Audio Device [Radeon HD 4000 Series]

(the second card is for hdmi output, and isn't actually used)

On 2009-10-16 23:59:11 +0000, Sam Lantinga wrote:

It looks like your audio driver is broken or really oddly configured. You should never have 0 periods, and generally the buffer size should be a multiple of the period size.

I'm going to go ahead and leave it setting the buffer size by default, since that seems to work as well or better for most people. However, I added an environment variable SDL_AUDIO_ALSA_SET_PERIOD_SIZE to get the old behavior for people who need it.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant