[Openal] Max number of sources (and legit id values)
foreachOpenALimplementation
Daniel PEACOCK
dpeacock at creativelabs.com
Thu Jul 23 09:25:22 PDT 2009
Hi Jason,
I would interpret the parameters as "hints" when you are passing them in to
alcCreateContext - because you might not get what you are asking for. When
you get the values back with alcGetIntegerv I would expect them to reflect
actual available resources though.
e.g If I requested 1 stereo source, and get back 1 Stereo and 62 Monos (==
64 hardware voices), this would mean I could create 63 Sources and expect
to play 1 stereo and 62 monos simultaneously. Attempting to play 2
stereos and 61 monos on the 64 Sources would not be guaranteed to work (and
wouldn't on hardware).
If I needed two stereo sources - perhaps to do enable cross-fades of a
stereo music track - then I should request 2 stereos at context creation
time. In the example above I would expect to get back 2 stereos and 60
monos - and be allowed to generate a maximum of 62 Sources.
Dan
Creative Labs (UK) Ltd.
Notice
The information in this message is confidential and may be legally
privileged. It is intended solely for the addressee. Access to this
message by anyone else is unauthorized. If you are not the intended
recipient, any disclosure, copying or distribution of the message, or
any action taken by you in reliance on it, is prohibited and may be
unlawful. If you have received this message in error, please delete it
and contact the sender immediately. Thank you.
Creative Labs UK Ltd company number 2658256 registered in England and Wales
at Belmont Road, Belmont Place, Maidenhead, Berkshire, SL6 6TB
Jason Daly
<jdaly at ist.ucf.ed
u> To
Daniel PEACOCK
07/23/2009 05:10 <dpeacock at creativelabs.com>
PM cc
Chris Robinson
<chris.kcat at gmail.com>,
"openal at opensource.creative.com"
<openal at opensource.creative.com>
Subject
Re: [Openal] Max number of sources
(and legit id values)
foreachOpenALimplementation
Daniel PEACOCK wrote:
Hi All,
The original motivation for having the ALC_MONO_SOURCES and
ALC_STEREO_SOURCES hints was due to the fact that an OpenAL Source
that can be used to play buffers that could have anywhere between 1
and 8 (maybe even more) channels of data. For software mixers this is
no big deal - but for hardware devices that require one voice per
channel (e.g Stereo requires 2 voices) it is a big problem. If you
are running on a hardware device with 128 voices then generating 128
sources and using them to play 128 mono buffers is OK - but you can't
use them to play 128 Stereo buffers.
Yeah, I understand that. The only thing I wasn't clear on was what you get
back when you call alcGetIntegerv with ALC_MONO_SOURCES or
ALC_STEREO_SOURCES. The spec calls these "hints", so it's not really clear
on what you will get back (unless I'm missing something again).
If I were writing an implementation, I could argue that you should only get
your hint values back, but it sounds like the intent is that it should
return the number of sources actually available.
--"J"
ForwardSourceID:NT0006E15E
More information about the Openal
mailing list