[Openal] streaming reception, audio reminders and holes
Daniel PEACOCK
dpeacock at creativelabs.com
Tue Aug 4 03:48:59 PDT 2009
Hi Angelo,
I'm really not sure where the 100ms of audio is coming from when you
re-start playback, if you have deleted and regenerated all the sources and
buffers. I don't think it can be coming from OpenAL.
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
gmail
<angelo70 at gmail.c
om> To
Daniel PEACOCK
08/04/2009 10:51 <dpeacock at creativelabs.com>
AM cc
OpenAL
<openal at opensource.creative.com>
Subject
Re: [Openal] streaming reception,
audio reminders and holes
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
>
ForwardSourceID:NT0006E416
More information about the Openal
mailing list