[Openal] streaming reception, audio reminders and holes
gmail
angelo70 at gmail.com
Tue Aug 4 02:51:06 PDT 2009
Hi Daniel,
about holes, yes, i was NOT filling all the buffers, now it is really
better.
Yes i am usign Generic Software now, since i still haven't found the
reason of my GH problems.
So, remain the problem of this about 100 ms of audio remider.
These are the test conditionsm so you can reproduce it is you want:
Generic Software, last OpenAL 1.1 dev kit.
I am testing receiving "8khz/16bit mono" audio from a device, like "AAAAA".
Trough a listview, i switch immediatly from this device to another that
transmit silence. A little piece of audio (<=100msecs) of the old stream
is heard, before the silence.
- added a device id in the packets, so i discard udp audio packets still
in the network queue that are not from the selected device.
- unqueing the buffers doesn't solve the problem.
- deleting and recreating buffers doesen't solve.
- deleting and recreating source doesen't solve.
I am going to try to close and recreate context or device.
Regards,
Angelo
Daniel PEACOCK ha scritto:
>
> > if (source)
> > {
> > // stop audio and clear the buffers
> > alSourceStop (source);
> > alSourcei (source, AL_BUFFER, 0);
> >
> > // error cleaning
> > alGetError ();
> > }
> >
> > But old audio still remain in the buffers at the next play. Should i
> > delete the buffers and recreate them ? Is there a way to get the buffer
> > pointer and memset to 0 ? If i close completely the audio device handle
> > and reopen it, could it avoid definitely the problem ?
>
> Does this happen with the "Generic Software" and "Generic Hardware"
> devices? I seem to recall you have problems with the "Generic
> Hardware" device on your PC.
>
> Assuming it happens with both devices ... when you re-start playback
> are you re-filling *all* the buffers you use for streaming? Are you
> flushing any audio data you may have in your own temporary buffers of
> data?
>
> It should be possible to fix this without resorting to closing OpenAL
> down. You could, for example, delete all the buffers and re-generate
> them to be sure nothing is left - but I would imagine that when you
> re-start you would need to re-fill all the buffers.
>
> Dan
> Creative Labs, UK
>
More information about the Openal
mailing list