Re: OpenAL for voicechat
"Peter Soxberger" <[email protected]>
| Newsgroups | gmane.comp.lib.openal |
|---|---|
| Message-ID | <[email protected]> |
After spending some more hours on debugging the code, I found out that the problem was caused by how I used the speex codec. It is not possible to initialize the decoder once and use it for different streams. You have to initialize a decoder for each stream, otherwise the streams affect each other. The OpenAL code how I posted it works great for streaming. So thumbs up for OpenAL!!! And again I want to thank you for helping me! Best regards, Peter Soxberger -------- Original-Nachricht -------- > Datum: Tue, 26 Jan 2010 22:15:38 +0000 > Von: Dan Peacock <[email protected]> > An: [email protected] > Betreff: Re: [Openal] OpenAL for voicechat > To determine which OpenAL device you are using, you need to call > alcGetString(pDeviceHandle, ALC_DEVICE_SPECIFIER) after the call to > alcOpenDevice(NULL). It could be something like "SB X-Fi [E000]" or > "Generic Software" etc ... > > Your understanding of the buffer queue is correct, but in the > real-world the packets are going to arrive out of sync with processed > buffers. Also, the number of processed buffers could vary too > depending upon which OpenAL device you are using and what ever else > the PC is doing at the time. Your code will need to handle these > situations. Specifically - what happens if you have received a packet > and there are no processed buffers? What happens if an AL buffer has > been processed but you have not received any new audio data? > > Dan > > On Tue, Jan 26, 2010 at 5:42 PM, Peter Soxberger > <[email protected]> wrote: > > Windows Vista and OpenAL 1.1 > > > > 1) Maybe I missunderstood the princip of the buffer queue but I thought > it works like this: > > > > - I create 4 buffers > > - I add all 4 buffers to the queue > > - I start playing the source > > -> A new packet arrives > > - I use processed to see if there are free buffers > > - I unqueue one buffer and fill it with data > > - I add the buffer to the queue again > > (- if source stopped playing start again) > > -> A new packet arrives > > - I use processed to see if there are free buffers > > - I unqueue one buffer and fill it with data > > - I add the buffer to the queue again > > (- if source stopped playing start again) > > . > > . > > . > > and so on > > > > Isn't that correct? Do I have to unqueue all buffers that are processed > in order to prevent that the processed buffers are played again? > > Or do you mean that I should only use 2 buffers? > > > > Best regards, > > Peter Soxberger > > > > -- > > Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox > 3.5 - > > sicherer, schneller und einfacher! http://portal.gmx.net/de/go/atbrowser > > _______________________________________________ > > Openal mailing list > > [email protected] > > http://opensource.creative.com/mailman/listinfo/openal > > > _______________________________________________ > Openal mailing list > [email protected] > http://opensource.creative.com/mailman/listinfo/openal -- Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3.5 - sicherer, schneller und einfacher! http://portal.gmx.net/de/go/chbrowser _______________________________________________ Openal mailing list [email protected] http://opensource.creative.com/mailman/listinfo/openal