-
Notifications
You must be signed in to change notification settings - Fork 0
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
base: master
Are you sure you want to change the base?
Conversation
for(i = 0; i < BUFFER_COUNT; i++) { | ||
buffers[i] = MmAllocateContiguousMemory(BUFFER_SIZE); | ||
memset(buffers[i], 0x00, BUFFER_SIZE); | ||
XAudioProvideSamples(buffers[i], BUFFER_SIZE, 0); |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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"
This was accidentally 1.6.372 despite claiming to be 1.0.38. |
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.