[Openal] AL_SEC_OFFSET is rounded to nearest
0.5s after play/stop/play
Daniel PEACOCK
dpeacock at creativelabs.com
Tue Oct 10 14:25:08 PDT 2006
Hi,
Do you have a test application / source code that shows the problem(s) ?
Does it happen on any other audio devices / soundcards ?
I don't have a SoundStorm to test on, but using my own test application on
the "Generic Hardware" and "Generic Software" devices on an X-Fi card
doesn't show any problems. Does everything sound ok on the SoundStorm ?
The reason for asking is that the offset position is updated by the
streaming code - so if the offset is wrong then the streaming code may also
be messed up.
A couple of points just in case you haven't realized ...
For a looping Source the playback offset will reset back to zero when the
source re-starts.
When using get offset in seconds you should use alGetSourcef rather than
alGetSourcei (which will be limited to an accuracy of 1 whole second)
Thanks,
Dan
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.
"nic at weartronics.
com"
<nic at weartronics. To
com> openal at opensource.creative.com
Sent by: cc
openal-bounces at op
ensource.creative Subject
.com Re: [Openal] AL_SEC_OFFSET is
rounded to nearest 0.5s after
play/stop/play
10/10/2006 07:44
AM
Dear OpenAL list,
To answer my own question - This problem, and many other very strange
problems I encountered are solved by using the "Generic Software" device
instead of "Generic Hardware" device. So, it seems there are some
problems with the hardware implementation for NVidia SoundStorm on the
NForce chipset.
But one problem persists. I am attaching only one buffer to my source,
and I turn looping on. I note that AL_SEC_OFFSET only returns the
correct time if the buffer size exactly matches the sampling rate
(a.k.a. a one-second buffer). If the buffer size is half of the sampling
rate, AL_SEC_OFFSET returns double the expected time, and if the buffer
size is double the sampling rate, AL_SEC_OFFSET returns half the
expected time. I am not varying the pitch or frequency etc... only the
buffer size. Is there some explanation for this?
Thank you,
Nic
nic at weartronics.com wrote:
> Hi OpenAL list,
>
> If I play a source once and get AL_SEC_OFFSET whilst it is playing I
> get good results (granularity of AL_SEC_OFFSET is very small). If I
> stop the source, then play it again, suddenly AL_SEC_OFFSET is always
> rounded to the nearest 0.5 seconds. I get the same result with
> AL_SAMPLE_OFFSET (rounded to nearest 22050 samples) and AL_BYTE_OFFSET
> (rounded to nearest XXX bytes).
>
> Any clues? Thank you!
>
> Nic
> _______________________________________________
> Openal mailing list
> Openal at opensource.creative.com
> http://opensource.creative.com/mailman/listinfo/openal
>
>
>
>
_______________________________________________
Openal mailing list
Openal at opensource.creative.com
http://opensource.creative.com/mailman/listinfo/openal
ForwardSourceID:NT000379DA
More information about the Openal
mailing list