Skip to content

OpenAL-soft 1.0.38 #73

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

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
Open

OpenAL-soft 1.0.38 #73

wants to merge 16 commits into from

Conversation

JayFoxRox
Copy link
Owner

This is a refactor of #72. This one is the first OpenAL port that I actually got working.

The backend pretends to be dsound. This was done so that the source-code of OpenAL-soft would not have to be touched at all.
I chose to implement xaudio as audio backend as I was worried that SDL Audio is crashy (we still don't know why that is).
Another reason for xaudio (over SDL Audio) was that I wanted to avoid useless copies or even mixing twice (once in OpenAL-soft, and then again in SDL Audio).

There are some obvious issues with xaudio though; namely that it can't be used co-operatively with SDL audio (although I'm not sure if people really use different APIs and OpenAL together).
The audio file for the sample also has to be copied from the xaudio sample.

Upgrading to a more recent OpenAL-soft submodule would be nice. But it might be difficult, so I'm keeping this as a stable prototype.

There are still many code quality issues and missing features which are stubbed by hacks. I'm not sure when I'll find the time for that. I'd be happy if someone else took care of it.

@JayFoxRox JayFoxRox added experiments Experiments (won't be merged) depends Depends on some third-party (upstream or otherwise), so it's stuck labels Apr 15, 2020
for(i = 0; i < BUFFER_COUNT; i++) {
buffers[i] = MmAllocateContiguousMemory(BUFFER_SIZE);
memset(buffers[i], 0x00, BUFFER_SIZE);
XAudioProvideSamples(buffers[i], BUFFER_SIZE, 0);
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

indent bad

};


// This is injected instead of XAudio, so we don't have to modify the OpenAL submodule
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be "registered as DSound"

@JayFoxRox
Copy link
Owner Author

This was accidentally 1.6.372 despite claiming to be 1.0.38.
While backporting to 1.0.38 I broke it.
I created a new self-PR for 1.6.372 and that will likely go upstream; so this one might be closed soon (as it's older and still broken).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
depends Depends on some third-party (upstream or otherwise), so it's stuck experiments Experiments (won't be merged)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants