Bart: > Ok. Can you tell me under what conditions you needed to > bump the ring buffer size (eg load, machine, etc) and > is this adjustable or a compile time setting?
My machine is a 2 GHz x86 running Solaris Nevada build 30. It has a SoundBlaster audio card, which is a nicer audio card and may have a larger audio output buffer than other cards have. Not sure about this. On my machine, if I don't set the buffer to at least 512K, the audio output always stutters like the audio device is starving every few seconds. The ring buffer size is hard-coded in the sunaudiosink plugin. Most GStreamer sink plugins have logic to tell the audio device how large the output buffer should be, and make sure to set it to a smaller value. It doesn't seem possible to find out the audio output buffer size or change it on Solaris via the SunAudio interfaces. If you want to modify the code and play with different values for the ringbuffer, then just install Sun Studio 11 on your machine, install the CBE, get the vermillion spec-files and rebuild the SUNWgnome-media package. Info about how to get the CBE and spec-files is here: http://gnome.ireland/gnome/releng/jds/cbe/ After rebuilding SUNWgnome-media, you can edit the sunaudio code by going into the following directory: /jds/packages/BUILD/SUNWgnome-media-2.14.0/gst-plugins-good-0.10.2/sys/sunaudio Then edit the gstsunaudiosink.c file. Note in the function gst_sunaudiosink_prepare that spec->segsize = 4096 and spec->segtotal = 128. The ringbuffer is set to the product of these two values (512K). If you can find a way to make the sink plugin perform better, we can get those changes upstream. Brian