Giter VIP home page Giter VIP logo

Comments (3)

kcat avatar kcat commented on July 17, 2024 1

Interesting. I'm not aware of any hardware EAX device that supported more than 256 sources, and some only supported 128 or less. It working when raising the source limit to 512 feels like it's working around some other issue.

You say it works when set to normal hardware 3D mode, and only stops working when EAX is enabled. The UT2004 log shows:

Log: ALAudio: AL_OUT_OF_MEMORY in Init (creating transient source)
Error: ALAudio: couldn't allocate transient source
Error: Audio initialization failed.

The "transient source" bit there is interesting. I know when using EAX with DirectSound3D, it was common practice to create a DSound buffer (OpenAL source analog) just for controlling listener and global effect EAX properties, due to a quirk in how driver-specific EAX functionality is accessed. EAX with OpenAL doesn't require that, but I wonder if the engine still behaves that way for legacy reasons.

Additionally, with hardware the number of available sources was constrained by the number of channels each source uses; for instance, a device with 256 hardware voices meant it could play up to 256 channels, so a stereo sound would take 2 voices and leave 254 for mono sounds. OpenAL Soft doesn't consider the number of channels, so with a limit of 256 sources, a stereo sound would only take 1 and leave 255 for mono sounds. Perhaps the engine is getting confused by that, thinking it should be able to allocate up to mono_sources + stereo_sources*2. In this case, stereo_sources is typically 1 by default, so it could allocate mono_sources + stereo_sources and then get an extra "transient source" for EAX, as long as it doesn't try to play more than mono_sources + stereo_sources at once.

from openal-soft.

kcajjones avatar kcajjones commented on July 17, 2024

Just playing around with configuration and increased the default 256 sound sources to 512 sound sources seems to have fixed the issue.

from openal-soft.

kcajjones avatar kcajjones commented on July 17, 2024

Interesting.I know little about coding but it sounds plausible. As far as I remember from owning an Xfi card, they were hardware limited to 128 sources. I'm happy to test any new implementation as EAX fascinates me.

from openal-soft.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.