# This file is referred to by /usr/share/alsa/pulse.conf to set pulseaudio as
# the default output plugin for applications using alsa when PulseAudio is
# running.

pcm.!default {
	type pulse
}

ctl.!default {
	type pulse
}

pcm.pulse {
        type pulse
	hint {
		show {
			@func refer
			name defaults.namehint.basic
		}
		description "Playback/recording through the PulseAudio sound server"
	}
}

ctl.pulse {
        type pulse
}

