[Openal] Question about alcCaptureOpenDevice buffersize

tony tony at tonytse.net
Thu Nov 2 01:36:02 PST 2006


Dear all,
I see many many doc online have different answer on buffersize in
alcCaptureOpenDevice.

 ALCdevice * alcCaptureOpenDevice(const ALCchar * devicename, ALCuint
frequency, ALCenum format, ALCsizei buffersize);

Case 1: buffersize = the byte size of the buffer will get by alcCaptureSamples
Case 2: buffersize = ( the byte size of the buffer will get by
alcCaptureSamples ) /2
Case 3: buffersize = wave samples
Case 4: buffersize = wave feq (SamplesPerSec) () * 5 +1
Case 5: buffersize = wave feq (SamplesPerSec) () * 2
Case 6: buffersize = 0 ( error in alcCaptureSamples )

in API Spec:
buffersize = the size of the capture buffer, it means case 1?

in offical example "C:\Program Files\OpenAL 1.1 SDK\samples\Capture\Source" is
the code is case 1, but the remarks 
// Open the default Capture device to record a 22050Hz 16bit Mono Stream using
an internal buffer
// of BUFFERSIZE( 4410 ) Samples (== BUFFERSIZE * 2 bytes)
it make me confuse, 
1, how can calc BUFFERSIZE : 4410 
2. if it's 16 bit need BUFFERSIZE = BUFFERSIZE *2 ? what if Stereo?
3. i have try set another number to buffersize , it runs normal, what is this
var. use for?

thanks


More information about the Openal mailing list