Hello, so since it kept on compiling and I only had to make a few modifications I decided to try to keep OSS support in the source.
Now, of course I stumbled upon somewhat of a problem: obtaining the actual playback rate. Is there any call that will return such info ? The documentation states that application should allow a '10% difference in samplerate', which is fine, but if there is a difference I would like to know about it. Currently when setting the samplerate no error is given but obviously the thing plays too fast or too slow.
I also tried to obtain the appropriate playrate when setting the required rate as follows:
- Code: Select all
p=playrate;
int r=ioctl(dsp,SNDCTL_DSP_SPEED,&p);
if (r==-1)
Error(ui,"Setting Oss driver speed (%d) failed.");
if (playrate!=p)
{
Info("actual playrate is %d, requested playrate was %d\n",p,playrate);
playrate=p;
}
but as stated in the documentation (that p will contain the actual playrate), that doesn't happen. Actually, not even an error is given.