# Use a slightly les scrappy resampling algorithm (depends on media-plugins/alsa-plugins USE=libsamplerate) # NOTE: Might cause issues with crappy unpatched knotify4/phonon/gstreamer... (busy loop if you happen to have more than one audio notificaton triggered at DE start) defaults.pcm.rate_converter "samplerate_best" #defaults.pcm.rate_converter "samplerate" # Workaround the crazy ass default buffer sizes of the XFi (they're huge, and they make mplayer sad/jerky) # FIXME: For some reason, it doesn't really dmix, and I can't use this on more than one app, while the HW mixer happily does so... o_O # I'd very much like to be able to set proper buffer sizes on an hardware device, and just use hardware mixing, but apparently it's only doable via client API calls... pcm.xfi { type asym playback.pcm { type plug slave.pcm { # NOTE: We use dmix because hw doesn't support setting buffer/period size... ;'( type dmix ipc_key 313371 ipc_key_add_uid true slave { pcm "hw:XFi,0" channels 2 format S16_LE rate 48000 period_size 1024 buffer_size 8192 } bindings { 0 0 1 1 } slowptr true } } capture.pcm { type plug slave.pcm { type dsnoop ipc_key 173313 ipc_key_add_uid true slave { pcm "hw:XFi,0" channels 1 format S16_LE rate 48000 period_size 1024 #buffer_size 2048 buffer_size 8192 } slowptr true } #slave.pcm "dsnoop:XFi,0" } hint { description "Front/WaveIn over dmix/dsnoop with proper buffer sizes" } } ## In case we want to make this the default #pcm.!default #{ # type plug # # slave.pcm "xfi" #}