Matthew:

> OK, I can confirm that, for me, forcing gstreamer to use OSS 
> instead of sun audio makes the jitteriness even worse!
> 
> I did truss on rhythmbox while it was playing. Now I must admit 
> that I don't really know what I'm doing with truss, but I can 
> make an educated guess. Looking at in the output, I get the 
> same as quoted by jkeil, i.e. 1764 byte writes, and using 
> AUDIO_GETINFO, which I now understand means it was using the 
> Sun Audio driver.

It is better to test with the OSS interfaces rather than the
SunAudio ones.  Starting with build 115, the SunAudio interfaces
are just a wrapper shim around the OSS interfaces, so using
SunAudio just adds a level of indirection.  Though, audio
input and output should work using either.  There are problems
using the SunAudio mixer interfaces, but these wouldn't be
related to sound output.

> If I remove the file /usr/lib/gstreamer-0.10/libgstsunaudio.so 
> and start rhythmbox again, I get even worse jittery audio - I 
> don't even have to do anything else with the computer to make 
> it jitter whereas before I had to be doing things that caused CPU activity.

Do you also have problems using OSS directly, without using
GStreamer?  For example does audioplay also have problems?

> I did a truss again: different looking output, and no sign of 
> AUDIO_GETINFO, so I assume it is using the OSS driver now. The 
> main writes I'm seeing are 1060 bytes, which is even smaller 
> than with the Sun Audio driver, and would explain the REALLY 
> bad jitters.

Yes, if you removed libgstsunaudio.so, and are not seeing
AUDIO_GETINFO ioctls, then you would be using the OSS plugin.

> I suppose that means it must be a gstreamer bug does it?

Not necessarily.  Try audioplay and let us know if this is a
problem you only see with GStreamer, or with OSS in general.
If the problem also manifests with audioplay, then it is
likely a problem with support for your audio device.  If
so, I'd file a bug at http://defect.opensolaris.org and
provide details about your device.  You can run the
following commands to get information about the device.

$ cat /dev/sndstat
$ mixerctl -C

Brian


Brian

Reply via email to