diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:03:18 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:03:18 +0000 |
commit | 2dd5bc6a074165ddfbd57c4bd52c2d2dac8f47a1 (patch) | |
tree | 465b29cb405d3af0b0ad50c78e1dccc636594fec /man | |
parent | Initial commit. (diff) | |
download | pulseaudio-2dd5bc6a074165ddfbd57c4bd52c2d2dac8f47a1.tar.xz pulseaudio-2dd5bc6a074165ddfbd57c4bd52c2d2dac8f47a1.zip |
Adding upstream version 14.2.upstream/14.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man')
34 files changed, 5198 insertions, 0 deletions
diff --git a/man/.gitignore b/man/.gitignore new file mode 100644 index 0000000..abf96d9 --- /dev/null +++ b/man/.gitignore @@ -0,0 +1,6 @@ +/*.1 +/*.1.xml +/*.5 +/*.5.xml +/Makefile +/Makefile.in diff --git a/man/Makefile.am b/man/Makefile.am new file mode 100644 index 0000000..26829c6 --- /dev/null +++ b/man/Makefile.am @@ -0,0 +1,102 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. + +DISTCLEANFILES = \ + $(noinst_DATA) + +noinst_DATA = \ + pulseaudio.1.xml \ + pax11publish.1.xml \ + pacat.1.xml \ + pacmd.1.xml \ + pactl.1.xml \ + pasuspender.1.xml \ + padsp.1.xml \ + pulse-daemon.conf.5.xml \ + pulse-client.conf.5.xml \ + default.pa.5.xml \ + pulse-cli-syntax.5.xml \ + start-pulseaudio-x11.1.xml + +if HAVE_ESOUND +noinst_DATA += esdcompat.1.xml +endif + +xmllint: $(noinst_DATA) + for f in $(noinst_DATA) ; do \ + xmllint --noout --valid "$$f" || exit 1 ; \ + done + +if BUILD_MANPAGES + +dist_man_MANS = \ + pulseaudio.1 \ + pax11publish.1 \ + pacat.1 \ + pacmd.1 \ + pactl.1 \ + pasuspender.1 \ + padsp.1 \ + pulse-daemon.conf.5 \ + pulse-client.conf.5 \ + default.pa.5 \ + pulse-cli-syntax.5 \ + start-pulseaudio-x11.1 + +if HAVE_ESOUND +dist_man_MANS += esdcompat.1 +endif +CLEANFILES = \ + $(dist_man_MANS) + +%: %.xml Makefile + $(AM_V_GEN) perl $(srcdir)/xmltoman $< > $@ || rm -f $@ + +if OS_IS_WIN32 +SYMLINK_PROGRAM=cd $(DESTDIR)$(man1dir) && cp +else +SYMLINK_PROGRAM=ln -sf +endif +install-data-hook: + $(SYMLINK_PROGRAM) pacat.1 $(DESTDIR)$(man1dir)/paplay.1 + $(SYMLINK_PROGRAM) pacat.1 $(DESTDIR)$(man1dir)/parec.1 + $(SYMLINK_PROGRAM) pacat.1 $(DESTDIR)$(man1dir)/parecord.1 + $(SYMLINK_PROGRAM) pacat.1 $(DESTDIR)$(man1dir)/pamon.1 + +uninstall-hook: + rm -f $(DESTDIR)$(man1dir)/paplay.1 + rm -f $(DESTDIR)$(man1dir)/parec.1 + rm -f $(DESTDIR)$(man1dir)/parecord.1 + rm -f $(DESTDIR)$(man1dir)/pamon.1 +endif + +EXTRA_DIST = \ + pulseaudio.1.xml.in \ + esdcompat.1.xml.in \ + pax11publish.1.xml.in \ + pacat.1.xml.in \ + pacmd.1.xml.in \ + pactl.1.xml.in \ + pasuspender.1.xml.in \ + padsp.1.xml.in \ + pulse-daemon.conf.5.xml.in \ + pulse-client.conf.5.xml.in \ + default.pa.5.xml.in \ + pulse-cli-syntax.5.xml.in \ + start-pulseaudio-x11.1.xml.in \ + xmltoman \ + xmltoman.css \ + xmltoman.xsl \ + xmltoman.dtd diff --git a/man/Makefile.in b/man/Makefile.in new file mode 100644 index 0000000..ebd38eb --- /dev/null +++ b/man/Makefile.in @@ -0,0 +1,863 @@ +# Makefile.in generated by automake 1.16.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2018 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@HAVE_ESOUND_TRUE@am__append_1 = esdcompat.1.xml +@BUILD_MANPAGES_TRUE@@HAVE_ESOUND_TRUE@am__append_2 = esdcompat.1 +subdir = man +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/acx_libwrap.m4 \ + $(top_srcdir)/m4/ax_check_define.m4 \ + $(top_srcdir)/m4/ax_check_flag.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ + $(top_srcdir)/m4/ax_define_dir.m4 \ + $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/ax_tls.m4 \ + $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/orc.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = pulseaudio.1.xml pax11publish.1.xml pacat.1.xml \ + pacmd.1.xml pactl.1.xml pasuspender.1.xml padsp.1.xml \ + pulse-daemon.conf.5.xml pulse-client.conf.5.xml \ + default.pa.5.xml pulse-cli-syntax.5.xml \ + start-pulseaudio-x11.1.xml esdcompat.1.xml +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +man1dir = $(mandir)/man1 +am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" +man5dir = $(mandir)/man5 +NROFF = nroff +MANS = $(dist_man_MANS) +DATA = $(noinst_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.in \ + $(srcdir)/default.pa.5.xml.in $(srcdir)/esdcompat.1.xml.in \ + $(srcdir)/pacat.1.xml.in $(srcdir)/pacmd.1.xml.in \ + $(srcdir)/pactl.1.xml.in $(srcdir)/padsp.1.xml.in \ + $(srcdir)/pasuspender.1.xml.in $(srcdir)/pax11publish.1.xml.in \ + $(srcdir)/pulse-cli-syntax.5.xml.in \ + $(srcdir)/pulse-client.conf.5.xml.in \ + $(srcdir)/pulse-daemon.conf.5.xml.in \ + $(srcdir)/pulseaudio.1.xml.in \ + $(srcdir)/start-pulseaudio-x11.1.xml.in +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AS = @AS@ +ASOUNDLIB_CFLAGS = @ASOUNDLIB_CFLAGS@ +ASOUNDLIB_LIBS = @ASOUNDLIB_LIBS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AVAHI_CFLAGS = @AVAHI_CFLAGS@ +AVAHI_LIBS = @AVAHI_LIBS@ +AWK = @AWK@ +BLUEZ_CFLAGS = @BLUEZ_CFLAGS@ +BLUEZ_LIBS = @BLUEZ_LIBS@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DOXYGEN_OUTPUT_DIRECTORY = @DOXYGEN_OUTPUT_DIRECTORY@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FFTW_CFLAGS = @FFTW_CFLAGS@ +FFTW_LIBS = @FFTW_LIBS@ +FGREP = @FGREP@ +GCONF_CFLAGS = @GCONF_CFLAGS@ +GCONF_LIBS = @GCONF_LIBS@ +GCOV_CFLAGS = @GCOV_CFLAGS@ +GCOV_LIBS = @GCOV_LIBS@ +GDBM_CFLAGS = @GDBM_CFLAGS@ +GDBM_LIBS = @GDBM_LIBS@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GLIB20_CFLAGS = @GLIB20_CFLAGS@ +GLIB20_LIBS = @GLIB20_LIBS@ +GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GREP = @GREP@ +GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@ +GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ +GSETTINGS_LIBS = @GSETTINGS_LIBS@ +GSTREAMER_CFLAGS = @GSTREAMER_CFLAGS@ +GSTREAMER_LIBS = @GSTREAMER_LIBS@ +GTK30_CFLAGS = @GTK30_CFLAGS@ +GTK30_LIBS = @GTK30_LIBS@ +HAVE_AF_UNIX = @HAVE_AF_UNIX@ +HAVE_ALSA = @HAVE_ALSA@ +HAVE_AVAHI = @HAVE_AVAHI@ +HAVE_BLUEZ = @HAVE_BLUEZ@ +HAVE_BLUEZ_5 = @HAVE_BLUEZ_5@ +HAVE_BLUEZ_5_NATIVE_HEADSET = @HAVE_BLUEZ_5_NATIVE_HEADSET@ +HAVE_BLUEZ_5_OFONO_HEADSET = @HAVE_BLUEZ_5_OFONO_HEADSET@ +HAVE_COREAUDIO = @HAVE_COREAUDIO@ +HAVE_CXX11 = @HAVE_CXX11@ +HAVE_DBUS = @HAVE_DBUS@ +HAVE_GCONF = @HAVE_GCONF@ +HAVE_GLIB20 = @HAVE_GLIB20@ +HAVE_GSETTINGS = @HAVE_GSETTINGS@ +HAVE_MEMFD = @HAVE_MEMFD@ +HAVE_MKFIFO = @HAVE_MKFIFO@ +HAVE_NEON = @HAVE_NEON@ +HAVE_OSS_OUTPUT = @HAVE_OSS_OUTPUT@ +HAVE_RUNNING_FROM_BUILD_TREE = @HAVE_RUNNING_FROM_BUILD_TREE@ +HAVE_SYSTEMD_DAEMON = @HAVE_SYSTEMD_DAEMON@ +HAVE_SYSTEMD_JOURNAL = @HAVE_SYSTEMD_JOURNAL@ +HAVE_SYSTEMD_LOGIN = @HAVE_SYSTEMD_LOGIN@ +HAVE_SYS_RESOURCE_H = @HAVE_SYS_RESOURCE_H@ +HAVE_UDEV = @HAVE_UDEV@ +HAVE_WAVEOUT = @HAVE_WAVEOUT@ +HAVE_X11 = @HAVE_X11@ +IMMEDIATE_LDFLAGS = @IMMEDIATE_LDFLAGS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +JACK_CFLAGS = @JACK_CFLAGS@ +JACK_LIBS = @JACK_LIBS@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBASYNCNS_CFLAGS = @LIBASYNCNS_CFLAGS@ +LIBASYNCNS_LIBS = @LIBASYNCNS_LIBS@ +LIBCHECK_CFLAGS = @LIBCHECK_CFLAGS@ +LIBCHECK_LIBS = @LIBCHECK_LIBS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBLTDL = @LIBLTDL@ +LIBOBJS = @LIBOBJS@ +LIBPULSE_MAINLOOP_GLIB_VERSION_INFO = @LIBPULSE_MAINLOOP_GLIB_VERSION_INFO@ +LIBPULSE_SIMPLE_VERSION_INFO = @LIBPULSE_SIMPLE_VERSION_INFO@ +LIBPULSE_VERSION_INFO = @LIBPULSE_VERSION_INFO@ +LIBS = @LIBS@ +LIBSAMPLERATE_CFLAGS = @LIBSAMPLERATE_CFLAGS@ +LIBSAMPLERATE_LIBS = @LIBSAMPLERATE_LIBS@ +LIBSNDFILE_CFLAGS = @LIBSNDFILE_CFLAGS@ +LIBSNDFILE_LIBS = @LIBSNDFILE_LIBS@ +LIBSOXR_CFLAGS = @LIBSOXR_CFLAGS@ +LIBSOXR_LIBS = @LIBSOXR_LIBS@ +LIBSPEEX_CFLAGS = @LIBSPEEX_CFLAGS@ +LIBSPEEX_LIBS = @LIBSPEEX_LIBS@ +LIBTOOL = @LIBTOOL@ +LIBWRAP_LIBS = @LIBWRAP_LIBS@ +LIPO = @LIPO@ +LIRC_CFLAGS = @LIRC_CFLAGS@ +LIRC_LIBS = @LIRC_LIBS@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +M4 = @M4@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NEON_CFLAGS = @NEON_CFLAGS@ +NM = @NM@ +NMEDIT = @NMEDIT@ +NODELETE_LDFLAGS = @NODELETE_LDFLAGS@ +NOUNDEFINED_LDFLAGS = @NOUNDEFINED_LDFLAGS@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ +OPENSSL_LIBS = @OPENSSL_LIBS@ +ORCC = @ORCC@ +ORCC_FLAGS = @ORCC_FLAGS@ +ORC_CFLAGS = @ORC_CFLAGS@ +ORC_LIBS = @ORC_LIBS@ +OS_IS_WIN32 = @OS_IS_WIN32@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PACTL_BINARY = @PACTL_BINARY@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PA_ACCESS_GROUP = @PA_ACCESS_GROUP@ +PA_API_VERSION = @PA_API_VERSION@ +PA_BINARY = @PA_BINARY@ +PA_DEFAULT_CONFIG_DIR = @PA_DEFAULT_CONFIG_DIR@ +PA_DLSEARCHPATH = @PA_DLSEARCHPATH@ +PA_INCDIR = @PA_INCDIR@ +PA_LIBDIR = @PA_LIBDIR@ +PA_MACHINE_ID = @PA_MACHINE_ID@ +PA_MACHINE_ID_FALLBACK = @PA_MACHINE_ID_FALLBACK@ +PA_MAJOR = @PA_MAJOR@ +PA_MAJORMINOR = @PA_MAJORMINOR@ +PA_MINOR = @PA_MINOR@ +PA_PROTOCOL_VERSION = @PA_PROTOCOL_VERSION@ +PA_SOEXT = @PA_SOEXT@ +PA_SYSTEM_CONFIG_PATH = @PA_SYSTEM_CONFIG_PATH@ +PA_SYSTEM_GROUP = @PA_SYSTEM_GROUP@ +PA_SYSTEM_RUNTIME_PATH = @PA_SYSTEM_RUNTIME_PATH@ +PA_SYSTEM_STATE_PATH = @PA_SYSTEM_STATE_PATH@ +PA_SYSTEM_USER = @PA_SYSTEM_USER@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +POSUB = @POSUB@ +PREOPEN_MODS = @PREOPEN_MODS@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +PULSEDSP_LOCATION = @PULSEDSP_LOCATION@ +RANLIB = @RANLIB@ +SBC_CFLAGS = @SBC_CFLAGS@ +SBC_LIBS = @SBC_LIBS@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STOW = @STOW@ +STRIP = @STRIP@ +SYSTEMDDAEMON_CFLAGS = @SYSTEMDDAEMON_CFLAGS@ +SYSTEMDDAEMON_LIBS = @SYSTEMDDAEMON_LIBS@ +SYSTEMDJOURNAL_CFLAGS = @SYSTEMDJOURNAL_CFLAGS@ +SYSTEMDJOURNAL_LIBS = @SYSTEMDJOURNAL_LIBS@ +SYSTEMDLOGIN_CFLAGS = @SYSTEMDLOGIN_CFLAGS@ +SYSTEMDLOGIN_LIBS = @SYSTEMDLOGIN_LIBS@ +SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@ +SYSTEMD_LIBS = @SYSTEMD_LIBS@ +TDB_CFLAGS = @TDB_CFLAGS@ +TDB_LIBS = @TDB_LIBS@ +UDEV_CFLAGS = @UDEV_CFLAGS@ +UDEV_LIBS = @UDEV_LIBS@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +VERSIONING_LDFLAGS = @VERSIONING_LDFLAGS@ +WEBRTC_CFLAGS = @WEBRTC_CFLAGS@ +WEBRTC_LIBS = @WEBRTC_LIBS@ +X11_CFLAGS = @X11_CFLAGS@ +X11_LIBS = @X11_LIBS@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +alsadatadir = @alsadatadir@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +ax_pthread_config = @ax_pthread_config@ +bashcompletiondir = @bashcompletiondir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gsettingsschemadir = @gsettingsschemadir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +modlibexecdir = @modlibexecdir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +pulseconfdir = @pulseconfdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +systemduserunitdir = @systemduserunitdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +udevrulesdir = @udevrulesdir@ +zshcompletiondir = @zshcompletiondir@ +DISTCLEANFILES = \ + $(noinst_DATA) + +noinst_DATA = pulseaudio.1.xml pax11publish.1.xml pacat.1.xml \ + pacmd.1.xml pactl.1.xml pasuspender.1.xml padsp.1.xml \ + pulse-daemon.conf.5.xml pulse-client.conf.5.xml \ + default.pa.5.xml pulse-cli-syntax.5.xml \ + start-pulseaudio-x11.1.xml $(am__append_1) +@BUILD_MANPAGES_TRUE@dist_man_MANS = pulseaudio.1 pax11publish.1 \ +@BUILD_MANPAGES_TRUE@ pacat.1 pacmd.1 pactl.1 pasuspender.1 \ +@BUILD_MANPAGES_TRUE@ padsp.1 pulse-daemon.conf.5 \ +@BUILD_MANPAGES_TRUE@ pulse-client.conf.5 default.pa.5 \ +@BUILD_MANPAGES_TRUE@ pulse-cli-syntax.5 start-pulseaudio-x11.1 \ +@BUILD_MANPAGES_TRUE@ $(am__append_2) +@BUILD_MANPAGES_TRUE@CLEANFILES = \ +@BUILD_MANPAGES_TRUE@ $(dist_man_MANS) + +@BUILD_MANPAGES_TRUE@@OS_IS_WIN32_FALSE@SYMLINK_PROGRAM = ln -sf +@BUILD_MANPAGES_TRUE@@OS_IS_WIN32_TRUE@SYMLINK_PROGRAM = cd $(DESTDIR)$(man1dir) && cp +EXTRA_DIST = \ + pulseaudio.1.xml.in \ + esdcompat.1.xml.in \ + pax11publish.1.xml.in \ + pacat.1.xml.in \ + pacmd.1.xml.in \ + pactl.1.xml.in \ + pasuspender.1.xml.in \ + padsp.1.xml.in \ + pulse-daemon.conf.5.xml.in \ + pulse-client.conf.5.xml.in \ + default.pa.5.xml.in \ + pulse-cli-syntax.5.xml.in \ + start-pulseaudio-x11.1.xml.in \ + xmltoman \ + xmltoman.css \ + xmltoman.xsl \ + xmltoman.dtd + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign man/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +pulseaudio.1.xml: $(top_builddir)/config.status $(srcdir)/pulseaudio.1.xml.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +pax11publish.1.xml: $(top_builddir)/config.status $(srcdir)/pax11publish.1.xml.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +pacat.1.xml: $(top_builddir)/config.status $(srcdir)/pacat.1.xml.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +pacmd.1.xml: $(top_builddir)/config.status $(srcdir)/pacmd.1.xml.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +pactl.1.xml: $(top_builddir)/config.status $(srcdir)/pactl.1.xml.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +pasuspender.1.xml: $(top_builddir)/config.status $(srcdir)/pasuspender.1.xml.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +padsp.1.xml: $(top_builddir)/config.status $(srcdir)/padsp.1.xml.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +pulse-daemon.conf.5.xml: $(top_builddir)/config.status $(srcdir)/pulse-daemon.conf.5.xml.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +pulse-client.conf.5.xml: $(top_builddir)/config.status $(srcdir)/pulse-client.conf.5.xml.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +default.pa.5.xml: $(top_builddir)/config.status $(srcdir)/default.pa.5.xml.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +pulse-cli-syntax.5.xml: $(top_builddir)/config.status $(srcdir)/pulse-cli-syntax.5.xml.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +start-pulseaudio-x11.1.xml: $(top_builddir)/config.status $(srcdir)/start-pulseaudio-x11.1.xml.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +esdcompat.1.xml: $(top_builddir)/config.status $(srcdir)/esdcompat.1.xml.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-man1: $(dist_man_MANS) + @$(NORMAL_INSTALL) + @list1=''; \ + list2='$(dist_man_MANS)'; \ + test -n "$(man1dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.1[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) +install-man5: $(dist_man_MANS) + @$(NORMAL_INSTALL) + @list1=''; \ + list2='$(dist_man_MANS)'; \ + test -n "$(man5dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.5[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ + done; } + +uninstall-man5: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man5dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.5[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(MANS) $(DATA) +installdirs: + for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +@BUILD_MANPAGES_FALSE@install-data-hook: +@BUILD_MANPAGES_FALSE@uninstall-hook: +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-man + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: install-man1 install-man5 + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-man + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) uninstall-hook +uninstall-man: uninstall-man1 uninstall-man5 + +.MAKE: install-am install-data-am install-strip uninstall-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-data-hook install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-man1 install-man5 \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags-am uninstall uninstall-am uninstall-hook uninstall-man \ + uninstall-man1 uninstall-man5 + +.PRECIOUS: Makefile + + +xmllint: $(noinst_DATA) + for f in $(noinst_DATA) ; do \ + xmllint --noout --valid "$$f" || exit 1 ; \ + done + +@BUILD_MANPAGES_TRUE@%: %.xml Makefile +@BUILD_MANPAGES_TRUE@ $(AM_V_GEN) perl $(srcdir)/xmltoman $< > $@ || rm -f $@ +@BUILD_MANPAGES_TRUE@install-data-hook: +@BUILD_MANPAGES_TRUE@ $(SYMLINK_PROGRAM) pacat.1 $(DESTDIR)$(man1dir)/paplay.1 +@BUILD_MANPAGES_TRUE@ $(SYMLINK_PROGRAM) pacat.1 $(DESTDIR)$(man1dir)/parec.1 +@BUILD_MANPAGES_TRUE@ $(SYMLINK_PROGRAM) pacat.1 $(DESTDIR)$(man1dir)/parecord.1 +@BUILD_MANPAGES_TRUE@ $(SYMLINK_PROGRAM) pacat.1 $(DESTDIR)$(man1dir)/pamon.1 + +@BUILD_MANPAGES_TRUE@uninstall-hook: +@BUILD_MANPAGES_TRUE@ rm -f $(DESTDIR)$(man1dir)/paplay.1 +@BUILD_MANPAGES_TRUE@ rm -f $(DESTDIR)$(man1dir)/parec.1 +@BUILD_MANPAGES_TRUE@ rm -f $(DESTDIR)$(man1dir)/parecord.1 +@BUILD_MANPAGES_TRUE@ rm -f $(DESTDIR)$(man1dir)/pamon.1 + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/man/default.pa.5 b/man/default.pa.5 new file mode 100644 index 0000000..11438a5 --- /dev/null +++ b/man/default.pa.5 @@ -0,0 +1,18 @@ +.TH default.pa 5 User Manuals +.SH NAME +default.pa \- PulseAudio Sound Server Startup Script +.SH SYNOPSIS +\fB\fI~/.config/pulse/default.pa\fB + +\fI/usr/local/etc/pulse/default.pa\fB + +\fI/usr/local/etc/pulse/system.pa\fB +\f1 +.SH DESCRIPTION +The PulseAudio sound server interprets a configuration script on startup, which is mainly used to define the set of modules to load. When PulseAudio runs in the per-user mode and \fI~/.config/pulse/default.pa\f1 exists, that file is used. When PulseAudio runs in the per-user mode and that file doesn't exist, \fI/usr/local/etc/pulse/default.pa\f1 is used. When PulseAudio runs as a system service, \fI/usr/local/etc/pulse/system.pa\f1 is used. + +The script should contain directives in the PulseAudio CLI language, as documented in \fBpulse-cli-syntax(5)\f1. +.SH AUTHORS +The PulseAudio Developers <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>; PulseAudio is available from \fBhttp://pulseaudio.org/\f1 +.SH SEE ALSO +\fBpulse-cli-syntax(5)\f1, \fBpulse-daemon.conf(5)\f1, \fBpulseaudio(1)\f1, \fBpacmd(1)\f1 diff --git a/man/default.pa.5.xml.in b/man/default.pa.5.xml.in new file mode 100644 index 0000000..38bb725 --- /dev/null +++ b/man/default.pa.5.xml.in @@ -0,0 +1,58 @@ +<?xml version="1.0"?><!--*-nxml-*--> +<!DOCTYPE manpage SYSTEM "xmltoman.dtd"> +<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?> + +<!-- +This file is part of PulseAudio. + +PulseAudio is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +PulseAudio is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General +Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +--> + +<manpage name="default.pa" section="5" desc="PulseAudio Sound Server Startup Script"> + + <synopsis> + <p><file>~/.config/pulse/default.pa</file></p> + <p><file>@PA_DEFAULT_CONFIG_DIR@/default.pa</file></p> + <p><file>@PA_DEFAULT_CONFIG_DIR@/system.pa</file></p> + </synopsis> + + <description> + <p>The PulseAudio sound server interprets a configuration script on + startup, which is mainly used to define the set of modules to load. When + PulseAudio runs in the per-user mode and + <file>~/.config/pulse/default.pa</file> exists, that file is used. When + PulseAudio runs in the per-user mode and that file doesn't exist, + <file>@PA_DEFAULT_CONFIG_DIR@/default.pa</file> is used. When PulseAudio + runs as a system service, <file>@PA_DEFAULT_CONFIG_DIR@/system.pa</file> is + used.</p> + + <p>The script should contain directives in the PulseAudio CLI language, as + documented in <manref name="pulse-cli-syntax" section="5"/>.</p> + </description> + + <section name="Authors"> + <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; + PulseAudio is available from <url href="@PACKAGE_URL@"/></p> + </section> + + <section name="See also"> + <p> + <manref name="pulse-cli-syntax" section="5"/>, + <manref name="pulse-daemon.conf" section="5"/>, + <manref name="pulseaudio" section="1"/>, + <manref name="pacmd" section="1"/> + </p> + </section> + +</manpage> diff --git a/man/esdcompat.1 b/man/esdcompat.1 new file mode 100644 index 0000000..11f5ee8 --- /dev/null +++ b/man/esdcompat.1 @@ -0,0 +1,31 @@ +.TH esdcompat 1 User Manuals +.SH NAME +esdcompat \- PulseAudio ESD wrapper script +.SH SYNOPSIS +\fBesdcompat [\fIoptions\fB] + +esdcompat --help\fB + +esdcompat --version\fB +\f1 +.SH DESCRIPTION +\fIesdcompat\f1 is a compatibility script that takes the same arguments as the ESD sound daemon \fBesd(1)\f1, but uses them to start a the PulseAudio sound server with the appropriate parameters. It is required to make PulseAudio a drop-in replacement for esd, i.e. it can be used to make \fBgnome-session(1)\f1 start up PulseAudio instead of esd. + +It is recommended to make \fIesd\f1 a symbolic link to this script. +.SH OPTIONS +.TP +\fB-h | --help\f1 +Show help. +.TP +\fB--version\f1 +Show version information. +.TP +\fB-tcp | -promiscuous | -d | -b | -r | -as | -unix | -public | -terminate | -nobeeps | -trust | -port | -bind\f1 +These options understood by the original \fIesd\f1 are ignored by \fIesdcompat\f1. +.TP +\fB-spawnpid | -spawnfd\f1 +These internally used options understood by the original \fIesd\f1 are properly handled by \fIesdcompat\f1, however are not to be used manually. +.SH AUTHORS +The PulseAudio Developers <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>; PulseAudio is available from \fBhttp://pulseaudio.org/\f1 +.SH SEE ALSO +\fBpulseaudio(1)\f1, \fBesd(1)\f1 diff --git a/man/esdcompat.1.xml.in b/man/esdcompat.1.xml.in new file mode 100644 index 0000000..36f6667 --- /dev/null +++ b/man/esdcompat.1.xml.in @@ -0,0 +1,87 @@ +<?xml version="1.0"?><!--*-nxml-*--> +<!DOCTYPE manpage SYSTEM "xmltoman.dtd"> +<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?> + +<!-- +This file is part of PulseAudio. + +PulseAudio is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +PulseAudio is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General +Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +--> + +<manpage name="esdcompat" section="1" desc="PulseAudio ESD wrapper script"> + + <synopsis> + <cmd>esdcompat [<arg>options</arg>]</cmd> + <cmd>esdcompat <opt>--help</opt></cmd> + <cmd>esdcompat <opt>--version</opt></cmd> + </synopsis> + + <description> + <p><file>esdcompat</file> is a compatibility script that takes the + same arguments as the ESD sound daemon <manref name="esd" + section="1"/>, but uses them to start a the PulseAudio sound server with the appropriate parameters. It is + required to make PulseAudio a drop-in replacement for esd, i.e. it + can be used to make <manref name="gnome-session" section="1"/> + start up PulseAudio instead of esd.</p> + + <p>It is recommended to make <file>esd</file> a symbolic link to this script.</p> + </description> + + <options> + + <option> + <p><opt>-h | --help</opt></p> + + <optdesc><p>Show help.</p></optdesc> + </option> + + <option> + <p><opt>--version</opt></p> + + <optdesc><p>Show version information.</p></optdesc> + </option> + + <option> + <p><opt>-tcp | -promiscuous | -d | -b | -r | -as | -unix | -public | -terminate | -nobeeps | -trust | -port | -bind</opt></p> + + <optdesc><p>These options understood by the original + <file>esd</file> are ignored by + <file>esdcompat</file>.</p></optdesc> + + </option> + + + <option> + <p><opt>-spawnpid | -spawnfd</opt></p> + + <optdesc><p>These internally used options understood by the + original <file>esd</file> are properly handled by + <file>esdcompat</file>, however are not to be used + manually.</p></optdesc> + + </option> + + </options> + + <section name="Authors"> + <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; PulseAudio is available from <url href="@PACKAGE_URL@"/></p> + </section> + + <section name="See also"> + <p> + <manref name="pulseaudio" section="1"/>, <manref name="esd" section="1"/> + </p> + </section> + +</manpage> diff --git a/man/meson.build b/man/meson.build new file mode 100644 index 0000000..1043844 --- /dev/null +++ b/man/meson.build @@ -0,0 +1,74 @@ + +# man page name, section, [aliases] +manpages = [ + ['default.pa', '5'], + ['pacat', '1', ['paplay', 'parec', 'parecord', 'pamon']], + ['pacmd', '1'], + ['pactl', '1'], + ['padsp', '1'], + ['pasuspender', '1'], + ['pax11publish', '1'], + ['pulse-cli-syntax', '5'], + ['pulse-client.conf', '5'], + ['pulse-daemon.conf', '5'], + ['pulseaudio', '1'], + ['start-pulseaudio-x11', '1'], +] + +# FIXME: Add esdcompat if HAVE_ESOUND +#manpages += ['esdcompat', '1'], + +man_data = configuration_data() +man_data.set('PACKAGE_URL', 'http://pulseaudio.org/') +man_data.set('PACKAGE_BUGREPORT', 'pulseaudio-discuss (at) lists (dot) freedesktop (dot) org') +man_data.set('PA_DEFAULT_CONFIG_DIR', cdata.get_unquoted('PA_DEFAULT_CONFIG_DIR')) + +perl = find_program('perl', required: true) +xmltoman_cmd = [perl, join_paths(meson.current_source_dir(), 'xmltoman')] +xmllint = find_program('xmllint', required: false) + +foreach tuple : manpages + stem = tuple[0] + section = tuple[1] + aliases = tuple.get(2, []) + + man = stem + '.' + section + xmlin = man + '.xml.in' + xml = man + '.xml' + + xml_file = configure_file( + input : xmlin, + output : xml, + configuration : man_data, + ) + + mandirn = join_paths(mandir, 'man' + section) + + custom_target( + man + '-target', + input : xml_file, + output : man, + capture : true, + command : xmltoman_cmd + ['@INPUT@'], + install : true, + install_dir : mandirn, + ) + + foreach alias_stem : aliases + alias = alias_stem + '.' + section + dst = join_paths(mandirn, alias) + cmd = 'ln -fs @0@ $DESTDIR@1@'.format(man, dst) + meson.add_install_script('sh', '-c', cmd) + endforeach + + if xmllint.found() + test( + 'Validate xml file ' + xml, + xmllint, + args : [ + '--noout', '--valid', + '--path', meson.current_source_dir(), + join_paths(meson.current_build_dir(), xml)] + ) + endif +endforeach diff --git a/man/pacat.1 b/man/pacat.1 new file mode 100644 index 0000000..2a8e9bc --- /dev/null +++ b/man/pacat.1 @@ -0,0 +1,111 @@ +.TH pacat 1 User Manuals +.SH NAME +pacat \- Play back or record raw or encoded audio streams on a PulseAudio sound server +.SH SYNOPSIS +\fBpaplay [\fIoptions\fB] [\fIFILE\fB] + +parecord [\fIoptions\fB] [\fIFILE\fB] + +pacat [\fIoptions\fB] [\fIFILE\fB] + +parec [\fIoptions\fB] [\fIFILE\fB] + +pamon [\fIoptions\fB] [\fIFILE\fB] + +pacat --help\fB + +pacat --version\fB +\f1 +.SH DESCRIPTION +\fIpacat\f1 is a simple tool for playing back or capturing raw or encoded audio files on a PulseAudio sound server. It understands all audio file formats supported by \fIlibsndfile\f1. +.SH OPTIONS +.TP +\fB-h | --help\f1 +Show help. +.TP +\fB--version\f1 +Show version information. +.TP +\fB-r | --record\f1 +Capture audio data and write it to the specified file or to STDOUT if none is specified. If the tool is called under the name \fIparec\f1 this is the default. +.TP +\fB-p | --playback\f1 +Read audio data from the specified file or STDIN if none is specified, and play it back. If the tool is called under the name \fIpacat\f1 this is the default. +.TP +\fB-v | --verbose\f1 +Enable verbose operation. Dumps the current playback time to STDERR during playback/capturing. +.TP +\fB-s | --server\f1\fI=SERVER\f1 +Choose the server to connect to. +.TP +\fB-d | --device\f1\fI=SINKORSOURCE\f1 +Specify the symbolic name of the sink/source to play/record this stream on/from. +.TP +\fB--monitor-stream\f1\fI=INDEX\f1 +Record from the sink input with index INDEX. +.TP +\fB-n | --client-name\f1\fI=NAME\f1 +Specify the client name \fIpaplay\f1 shall pass to the server when connecting. +.TP +\fB--stream-name\f1\fI=NAME\f1 +Specify the stream name \fIpaplay\f1 shall pass to the server when creating the stream. +.TP +\fB--volume\f1\fI=VOLUME\f1 +Specify the initial playback volume to use. Choose a value between 0 (silent) and 65536 (100% volume). +.TP +\fB--rate\f1\fI=SAMPLERATE\f1 +Capture or play back audio with the specified sample rate. Defaults to 44100 Hz. +.TP +\fB--format\f1\fI=FORMAT\f1 +Capture or play back audio with the specified sample format. See https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SupportedAudioFormats/ for supported values. Defaults to s16ne. +.TP +\fB--channels\f1\fI=CHANNELS\f1 +Capture or play back audio with the specified number of channels. If more than two channels are used it is recommended to use the \fB--channel-map\f1 option below. Defaults to 2. +.TP +\fB--channel-map\f1\fI=CHANNELMAP\f1 +Explicitly choose a channel map when playing back this stream. The argument should be a comma separated list of channel names: \fBfront-left\f1, \fBfront-right\f1, \fBmono\f1, \fBfront-center\f1, \fBrear-left\f1, \fBrear-right\f1, \fBrear-center\f1, \fBlfe\f1, \fBfront-left-of-center\f1, \fBfront-right-of-center\f1, \fBside-left\f1, \fBside-right\f1, \fBtop-center\f1, \fBtop-front-center\f1, \fBtop-front-left\f1, \fBtop-front-right\f1, \fBtop-rear-left\f1, \fBtop-rear-right\f1, \fBtop-rear-center\f1, or any of the 32 auxiliary channel names \fBaux0\f1 to \fBaux31\f1. +.TP +\fB--fix-format\f1 +If passed, the sample format of the stream is changed to the native format of the sink the stream is connected to. +.TP +\fB--fix-rate\f1 +If passed, the sampling rate of the stream is changed to the native rate of the sink the stream is connected to. +.TP +\fB--fix-channels\f1 +If passed, the number of channels and the channel map of the stream is changed to the native number of channels and the native channel map of the sink the stream is connected to. +.TP +\fB--no-remix\f1 +Never upmix or downmix channels. +.TP +\fB--no-remap\f1 +Never remap channels. Instead of mapping channels by their name this will match them solely by their index/order. +.TP +\fB--latency\f1\fI=BYTES\f1 +Explicitly configure the latency, with a time specified in bytes in the selected sample format. If left out the server will pick the latency, usually relatively high for power saving reasons. Use either this option or \fB--latency-msec\f1, but not both. +.TP +\fB--latency-msec\f1\fI=MSEC\f1 +Explicitly configure the latency, with a time specified in milliseconds. If left out the server will pick the latency, usually relatively high for power saving reasons. Use either this option or \fB--latency\f1, but not both. +.TP +\fB--process-time\f1\fI=BYTES\f1 +Explicitly configure the process time, with a time specified in bytes in the selected sample format. If left out the server will pick the process time. Use either this option or \fB--process-time-msec\f1, but not both. +.TP +\fB--process-time-msec\f1\fI=MSEC\f1 +Explicitly configure the process time, with a time specified in miliseconds. If left out the server will pick the process time. Use either this option or \fB--process-time\f1, but not both. +.TP +\fB--property\f1\fI=PROPERTY=VALUE\f1 +Attach a property to the client and stream. May be used multiple times +.TP +\fB--raw\f1 +Play/record raw audio data. This is the default if this program is invoked as \fIpacat\f1, \fIparec\f1 or \fIpamon\f1. +.TP +\fB--file-format\f1\fI[=FFORMAT]\f1 +Play/record encoded audio data in the file format specified. This is the default if this program is invoked as \fIpaplay\f1 and \fIparecord\f1. +.TP +\fB--list-file-formats\f1 +List supported file formats. +.SH LIMITATIONS +Due to a limitation in \fIlibsndfile\f1 \fIpaplay\f1 currently does not always set the correct channel mapping for playback of multichannel (i.e. surround) audio files, even if the channel mapping information is available in the audio file. +.SH AUTHORS +The PulseAudio Developers <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>; PulseAudio is available from \fBhttp://pulseaudio.org/\f1 +.SH SEE ALSO +\fBpulseaudio(1)\f1, \fBpactl(1)\f1 diff --git a/man/pacat.1.xml.in b/man/pacat.1.xml.in new file mode 100644 index 0000000..8fcb51d --- /dev/null +++ b/man/pacat.1.xml.in @@ -0,0 +1,254 @@ +<?xml version="1.0"?><!--*-nxml-*--> +<!DOCTYPE manpage SYSTEM "xmltoman.dtd"> +<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?> + +<!-- +This file is part of PulseAudio. + +PulseAudio is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +PulseAudio is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General +Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +--> + +<manpage name="pacat" section="1" desc="Play back or record raw or encoded audio streams on a PulseAudio sound server"> + + <synopsis> + <cmd>paplay [<arg>options</arg>] [<arg>FILE</arg>]</cmd> + <cmd>parecord [<arg>options</arg>] [<arg>FILE</arg>]</cmd> + <cmd>pacat [<arg>options</arg>] [<arg>FILE</arg>]</cmd> + <cmd>parec [<arg>options</arg>] [<arg>FILE</arg>]</cmd> + <cmd>pamon [<arg>options</arg>] [<arg>FILE</arg>]</cmd> + <cmd>pacat <opt>--help</opt></cmd> + <cmd>pacat <opt>--version</opt></cmd> + </synopsis> + + <description> + <p><file>pacat</file> is a simple tool for playing back or + capturing raw or encoded audio files on a PulseAudio sound + server. It understands all audio file formats supported by + <file>libsndfile</file>.</p> + </description> + + <options> + + <option> + <p><opt>-h | --help</opt></p> + + <optdesc><p>Show help.</p></optdesc> + </option> + + <option> + <p><opt>--version</opt></p> + + <optdesc><p>Show version information.</p></optdesc> + </option> + + <option> + <p><opt>-r | --record</opt></p> + + <optdesc><p>Capture audio data and write it to the specified file or to STDOUT if none is specified. If the tool is called under the name <file>parec</file> this is the default.</p></optdesc> + </option> + + <option> + <p><opt>-p | --playback</opt></p> + + <optdesc><p>Read audio data from the specified file or STDIN if none is specified, and play it back. If the tool is called under the name <file>pacat</file> this is the default.</p></optdesc> + </option> + + <option> + <p><opt>-v | --verbose</opt></p> + + <optdesc><p>Enable verbose operation. Dumps the current playback time to STDERR during playback/capturing.</p></optdesc> + </option> + + <option> + <p><opt>-s | --server</opt><arg>=SERVER</arg></p> + + <optdesc><p>Choose the server to connect to.</p></optdesc> + </option> + + <option> + <p><opt>-d | --device</opt><arg>=SINKORSOURCE</arg></p> + + <optdesc><p>Specify the symbolic name of the sink/source to play/record this stream on/from.</p></optdesc> + </option> + + <option> + <p><opt>--monitor-stream</opt><arg>=INDEX</arg></p> + + <optdesc><p>Record from the sink input with index INDEX.</p></optdesc> + </option> + + <option> + <p><opt>-n | --client-name</opt><arg>=NAME</arg></p> + + <optdesc><p>Specify the client name <file>paplay</file> shall pass to the server when connecting.</p></optdesc> + </option> + + <option> + <p><opt>--stream-name</opt><arg>=NAME</arg></p> + + <optdesc><p>Specify the stream name <file>paplay</file> shall pass to the server when creating the stream.</p></optdesc> + </option> + + <option> + <p><opt>--volume</opt><arg>=VOLUME</arg></p> + + <optdesc><p>Specify the initial playback volume to use. Choose a value between 0 (silent) and 65536 (100% volume).</p></optdesc> + </option> + + <option> + <p><opt>--rate</opt><arg>=SAMPLERATE</arg></p> + + <optdesc><p>Capture or play back audio with the specified sample rate. Defaults to 44100 Hz.</p></optdesc> + </option> + + <option> + <p><opt>--format</opt><arg>=FORMAT</arg></p> + + <optdesc><p>Capture or play back audio with the specified sample + format. See + https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SupportedAudioFormats/ + for supported values. Defaults to s16ne.</p></optdesc> + </option> + + <option> + <p><opt>--channels</opt><arg>=CHANNELS</arg></p> + + <optdesc><p>Capture or play back audio with the specified number + of channels. If more than two channels are used it is + recommended to use the <opt>--channel-map</opt> option + below. Defaults to 2.</p></optdesc> + </option> + + <option> + <p><opt>--channel-map</opt><arg>=CHANNELMAP</arg></p> + + <optdesc><p>Explicitly choose a channel map when playing back + this stream. The argument should be a comma separated list of + channel names: <opt>front-left</opt>, <opt>front-right</opt>, + <opt>mono</opt>, <opt>front-center</opt>, <opt>rear-left</opt>, + <opt>rear-right</opt>, <opt>rear-center</opt>, <opt>lfe</opt>, + <opt>front-left-of-center</opt>, + <opt>front-right-of-center</opt>, <opt>side-left</opt>, + <opt>side-right</opt>, <opt>top-center</opt>, + <opt>top-front-center</opt>, <opt>top-front-left</opt>, + <opt>top-front-right</opt>, <opt>top-rear-left</opt>, + <opt>top-rear-right</opt>, <opt>top-rear-center</opt>, or any of + the 32 auxiliary channel names <opt>aux0</opt> to + <opt>aux31</opt>.</p></optdesc> + </option> + + <option> + <p><opt>--fix-format</opt></p> + <optdesc><p>If passed, the sample format of the stream is changed to the native format of the sink the stream is connected to.</p></optdesc> + </option> + + <option> + <p><opt>--fix-rate</opt></p> + <optdesc><p>If passed, the sampling rate of the stream is changed to the native rate of the sink the stream is connected to.</p></optdesc> + </option> + + <option> + <p><opt>--fix-channels</opt></p> + <optdesc><p>If passed, the number of channels and the channel map of the stream is changed to the native number of channels and the native channel map of the sink the stream is connected to.</p></optdesc> + </option> + + <option> + <p><opt>--no-remix</opt></p> + <optdesc><p>Never upmix or downmix channels.</p></optdesc> + </option> + + <option> + <p><opt>--no-remap</opt></p> + <optdesc><p>Never remap channels. Instead of mapping channels by their name this will match them solely by their index/order.</p></optdesc> + </option> + + <option> + <p><opt>--latency</opt><arg>=BYTES</arg></p> + <optdesc><p>Explicitly configure the latency, with a time + specified in bytes in the selected sample format. If left out + the server will pick the latency, usually relatively high for + power saving reasons. Use either this option or + <opt>--latency-msec</opt>, but not both.</p></optdesc> + </option> + + <option> + <p><opt>--latency-msec</opt><arg>=MSEC</arg></p> + <optdesc><p>Explicitly configure the latency, with a time + specified in milliseconds. If left out the server will pick the + latency, usually relatively high for power saving reasons. Use + either this option or <opt>--latency</opt>, but not + both.</p></optdesc> + </option> + + <option> + <p><opt>--process-time</opt><arg>=BYTES</arg></p> + <optdesc><p>Explicitly configure the process time, with a time + specified in bytes in the selected sample format. If left out + the server will pick the process time. Use either this option or + <opt>--process-time-msec</opt>, but not both.</p></optdesc> + </option> + + <option> + <p><opt>--process-time-msec</opt><arg>=MSEC</arg></p> + <optdesc><p>Explicitly configure the process time, with a time + specified in miliseconds. If left out the server will pick the + process time. Use either this option or <opt>--process-time</opt>, + but not both.</p></optdesc> + </option> + + <option> + <p><opt>--property</opt><arg>=PROPERTY=VALUE</arg></p> + <optdesc><p>Attach a property to the client and stream. May be + used multiple times</p></optdesc> + </option> + + <option> + <p><opt>--raw</opt></p> + <optdesc><p>Play/record raw audio data. This is the default if + this program is invoked as <file>pacat</file>, <file>parec</file> or + <file>pamon</file>.</p></optdesc> + </option> + + <option> + <p><opt>--file-format</opt><arg>[=FFORMAT]</arg></p> + <optdesc><p>Play/record encoded audio data in the file format + specified. This is the default if this program is invoked as + <file>paplay</file> and <file>parecord</file>.</p></optdesc> + </option> + + <option> + <p><opt>--list-file-formats</opt></p> + <optdesc><p>List supported file formats.</p></optdesc> + </option> + + </options> + + <section name="Limitations"> + <p>Due to a limitation in <file>libsndfile</file> + <file>paplay</file> currently does not always set the correct channel + mapping for playback of multichannel (i.e. surround) audio files, even + if the channel mapping information is available in the audio file.</p> + </section> + + <section name="Authors"> + <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; PulseAudio is available from <url href="@PACKAGE_URL@"/></p> + </section> + + <section name="See also"> + <p> + <manref name="pulseaudio" section="1"/>, <manref name="pactl" section="1"/> + </p> + </section> + +</manpage> diff --git a/man/pacmd.1 b/man/pacmd.1 new file mode 100644 index 0000000..38c7d69 --- /dev/null +++ b/man/pacmd.1 @@ -0,0 +1,27 @@ +.TH pacmd 1 User Manuals +.SH NAME +pacmd \- Reconfigure a PulseAudio sound server during runtime +.SH SYNOPSIS +\fBpacmd + +pacmd --help\fB + +pacmd --version\fB +\f1 +.SH DESCRIPTION +This tool can be used to introspect or reconfigure a running PulseAudio sound server during runtime. It connects to the sound server and offers a simple live shell that can be used to enter the commands also understood in the \fIdefault.pa\f1 configuration scripts. + +To exit the live shell, use ctrl+d. Note that the 'exit' command inside the shell will tell the PulseAudio daemon itself to shutdown! + +If any arguments are passed on the command line, they will be passed into the live shell which will process the command and exit. +.SH OPTIONS +.TP +\fB-h | --help\f1 +Show help. +.TP +\fB--version\f1 +Show version information. +.SH AUTHORS +The PulseAudio Developers <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>; PulseAudio is available from \fBhttp://pulseaudio.org/\f1 +.SH SEE ALSO +\fBpulse-cli-syntax(5)\f1, \fBpulseaudio(1)\f1, \fBpactl(1)\f1, \fBdefault.pa(5)\f1 diff --git a/man/pacmd.1.xml.in b/man/pacmd.1.xml.in new file mode 100644 index 0000000..b11eb24 --- /dev/null +++ b/man/pacmd.1.xml.in @@ -0,0 +1,73 @@ +<?xml version="1.0"?><!--*-nxml-*--> +<!DOCTYPE manpage SYSTEM "xmltoman.dtd"> +<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?> + +<!-- +This file is part of PulseAudio. + +PulseAudio is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +PulseAudio is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General +Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +--> + +<manpage name="pacmd" section="1" desc="Reconfigure a PulseAudio sound server during runtime"> + + <synopsis> + <cmd>pacmd</cmd> + <cmd>pacmd <opt>--help</opt></cmd> + <cmd>pacmd <opt>--version</opt></cmd> + </synopsis> + + <description> + <p>This tool can be used to introspect or reconfigure a running + PulseAudio sound server during runtime. It connects to the sound + server and offers a simple live shell that can be used to enter + the commands also understood in the <file>default.pa</file> + configuration scripts.</p> + + <p>To exit the live shell, use ctrl+d. Note that the 'exit' command + inside the shell will tell the PulseAudio daemon itself to shutdown!</p> + + <p>If any arguments are passed on the command line, they will be + passed into the live shell which will process the command and exit.</p> + </description> + + <options> + + <option> + <p><opt>-h | --help</opt></p> + + <optdesc><p>Show help.</p></optdesc> + </option> + + <option> + <p><opt>--version</opt></p> + + <optdesc><p>Show version information.</p></optdesc> + </option> + + </options> + + <section name="Authors"> + <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; PulseAudio is available from <url href="@PACKAGE_URL@"/></p> + </section> + + <section name="See also"> + <p> + <manref name="pulse-cli-syntax" section="5"/>, + <manref name="pulseaudio" section="1"/>, + <manref name="pactl" section="1"/>, + <manref name="default.pa" section="5"/> + </p> + </section> + +</manpage> diff --git a/man/pactl.1 b/man/pactl.1 new file mode 100644 index 0000000..d5e15ee --- /dev/null +++ b/man/pactl.1 @@ -0,0 +1,120 @@ +.TH pactl 1 User Manuals +.SH NAME +pactl \- Control a running PulseAudio sound server +.SH SYNOPSIS +\fBpactl [\fIoptions\fB] \fICOMMAND\fB [\fIARGS ...\fB] + +pactl --help\fB + +pactl --version\fB +\f1 +.SH DESCRIPTION +\fIpactl\f1 can be used to issue control commands to the PulseAudio sound server. + +\fIpactl\f1 only exposes a subset of the available operations. For the full set use the \fBpacmd(1)\f1. +.SH OPTIONS +.TP +\fB-h | --help\f1 +Show help. +.TP +\fB--version\f1 +Show version information. +.TP +\fB-s | --server\f1\fI=SERVER\f1 +Choose the server to connect to. +.TP +\fB-n | --client-name\f1\fI=NAME\f1 +Specify the client name \fIpactl\f1 shall pass to the server when connecting. +.SH COMMANDS +When supplied as arguments to the commands below, the special names \@DEFAULT_SINK@, \@DEFAULT_SOURCE@ and \@DEFAULT_MONITOR@ can be used to specify the default sink, source and monitor respectively. +.TP +\fBstat\f1 +Dump a few statistics about the memory usage of the PulseAudio daemon. +.TP +\fBinfo\f1 +Dump some info about the PulseAudio daemon. +.TP +\fBlist\f1 [\fIshort\f1] [\fITYPE\f1] +Dump all currently loaded modules, available sinks, sources, streams, etc. \fITYPE\f1 must be one of: modules, sinks, sources, sink-inputs, source-outputs, clients, samples, cards. If not specified, all info is listed. If short is given, output is in a tabular format, for easy parsing by scripts. +.TP +\fBexit\f1 +Asks the PulseAudio server to terminate. +.TP +\fBupload-sample\f1 \fIFILENAME\f1 [\fINAME\f1] +Upload a sound from the specified audio file into the sample cache. The file types supported are those understood by \fIlibsndfile\f1. The sample in the cache is named after the audio file, unless the name is explicitly specified. +.TP +\fBplay-sample\f1 \fINAME\f1 [\fISINK\f1] +Play the specified sample from the sample cache. It is played on the default sink, unless the symbolic name or the numerical index of the sink to play it on is specified. +.TP +\fBremove-sample\f1 \fINAME\f1 +Remove the specified sample from the sample cache. +.TP +\fBload-module\f1 \fINAME\f1 [\fIARGUMENTS ...\f1] +Load the specified module with the specified arguments into the running sound server. Prints the numeric index of the module just loaded to STDOUT. You can use it to unload the module later. +.TP +\fBunload-module\f1 \fIID|NAME\f1 +Unload the module instance identified by the specified numeric index or unload all modules by the specified name. +.TP +\fBmove-sink-input\f1 \fIID\f1 \fISINK\f1 +Move the specified playback stream (identified by its numerical index) to the specified sink (identified by its symbolic name or numerical index). +.TP +\fBmove-source-output\f1 \fIID\f1 \fISOURCE\f1 +Move the specified recording stream (identified by its numerical index) to the specified source (identified by its symbolic name or numerical index). +.TP +\fBsuspend-sink\f1 \fISINK\f1 \fItrue|false\f1 +Suspend or resume the specified sink (which may be specified either by its name or index), depending whether true (suspend) or false (resume) is passed as last argument. Suspending a sink will pause all playback. Depending on the module implementing the sink this might have the effect that the underlying device is closed, making it available for other applications to use. The exact behaviour depends on the module. +.TP +\fBsuspend-source\f1 \fISOURCE\f1 \fItrue|false\f1 +Suspend or resume the specified source (which may be specified either by its name or index), depending whether true (suspend) or false (resume) is passed as last argument. Suspending a source will pause all capturing. Depending on the module implementing the source this might have the effect that the underlying device is closed, making it available for other applications to use. The exact behaviour depends on the module. +.TP +\fBset-card-profile\f1 \fICARD\f1 \fIPROFILE\f1 +Set the specified card (identified by its symbolic name or numerical index) to the specified profile (identified by its symbolic name). +.TP +\fBset-default-sink\f1 \fISINK\f1 +Make the specified sink (identified by its symbolic name) the default sink. +.TP +\fBset-sink-port\f1 \fISINK\f1 \fIPORT\f1 +Set the specified sink (identified by its symbolic name or numerical index) to the specified port (identified by its symbolic name). +.TP +\fBset-default-source\f1 \fISOURCE\f1 +Make the specified source (identified by its symbolic name) the default source. +.TP +\fBset-source-port\f1 \fISOURCE\f1 \fIPORT\f1 +Set the specified source (identified by its symbolic name or numerical index) to the specified port (identified by its symbolic name). +.TP +\fBset-port-latency-offset\f1 \fICARD\f1 \fIPORT\f1 \fIOFFSET\f1 +Set a latency offset to a specified port (identified by its symbolic name) that belongs to a card (identified by its symbolic name or numerical index). \fIOFFSET\f1 is a number which represents the latency offset in microseconds +.TP +\fBset-sink-volume\f1 \fISINK\f1 \fIVOLUME [VOLUME ...]\f1 +Set the volume of the specified sink (identified by its symbolic name or numerical index). \fIVOLUME\f1 can be specified as an integer (e.g. 2000, 16384), a linear factor (e.g. 0.4, 1.100), a percentage (e.g. 10%, 100%) or a decibel value (e.g. 0dB, 20dB). If the volume specification start with a + or - the volume adjustment will be relative to the current sink volume. A single volume value affects all channels; if multiple volume values are given their number has to match the sink's number of channels. +.TP +\fBset-source-volume\f1 \fISOURCE\f1 \fIVOLUME [VOLUME ...]\f1 +Set the volume of the specified source (identified by its symbolic name or numerical index). \fIVOLUME\f1 can be specified as an integer (e.g. 2000, 16384), a linear factor (e.g. 0.4, 1.100), a percentage (e.g. 10%, 100%) or a decibel value (e.g. 0dB, 20dB). If the volume specification start with a + or - the volume adjustment will be relative to the current source volume. A single volume value affects all channels; if multiple volume values are given their number has to match the source's number of channels. +.TP +\fBset-sink-input-volume\f1 \fIINPUT\f1 \fIVOLUME [VOLUME ...]\f1 +Set the volume of the specified sink input (identified by its numerical index). \fIVOLUME\f1 can be specified as an integer (e.g. 2000, 16384), a linear factor (e.g. 0.4, 1.100), a percentage (e.g. 10%, 100%) or a decibel value (e.g. 0dB, 20dB). If the volume specification start with a + or - the volume adjustment will be relative to the current sink input volume. A single volume value affects all channels; if multiple volume values are given their number has to match the sink input's number of channels. +.TP +\fBset-source-output-volume\f1 \fIOUTPUT\f1 \fIVOLUME [VOLUME ...]\f1 +Set the volume of the specified source output (identified by its numerical index). \fIVOLUME\f1 can be specified as an integer (e.g. 2000, 16384), a linear factor (e.g. 0.4, 1.100), a percentage (e.g. 10%, 100%) or a decibel value (e.g. 0dB, 20dB). If the volume specification start with a + or - the volume adjustment will be relative to the current source output volume. A single volume value affects all channels; if multiple volume values are given their number has to match the source output's number of channels. +.TP +\fBset-sink-mute\f1 \fISINK\f1 \fI1|0|toggle\f1 +Set the mute status of the specified sink (identified by its symbolic name or numerical index). +.TP +\fBset-source-mute\f1 \fISOURCE\f1 \fI1|0|toggle\f1 +Set the mute status of the specified source (identified by its symbolic name or numerical index). +.TP +\fBset-sink-input-mute\f1 \fIINPUT\f1 \fI1|0|toggle\f1 +Set the mute status of the specified sink input (identified by its numerical index). +.TP +\fBset-source-output-mute\f1 \fIOUTPUT\f1 \fI1|0|toggle\f1 +Set the mute status of the specified source output (identified by its numerical index). +.TP +\fBset-sink-formats\f1 \fISINK\f1 \fIFORMATS\f1 +Set the supported formats of the specified sink (identified by its numerical index) if supported by the sink. \fIFORMATS\f1 is specified as a semi-colon (;) separated list of formats in the form 'encoding[, key1=value1, key2=value2, ...]' (for example, AC3 at 32000, 44100 and 48000 Hz would be specified as 'ac3-iec61937, format.rate = "[ 32000, 44100, 48000 ]"'). See https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SupportedAudioFormats/ for possible encodings. +.TP +\fBsubscribe\f1 +Subscribe to events, pactl does not exit by itself, but keeps waiting for new events. +.SH AUTHORS +The PulseAudio Developers <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>; PulseAudio is available from \fBhttp://pulseaudio.org/\f1 +.SH SEE ALSO +\fBpulseaudio(1)\f1, \fBpacmd(1)\f1 diff --git a/man/pactl.1.xml.in b/man/pactl.1.xml.in new file mode 100644 index 0000000..cff628f --- /dev/null +++ b/man/pactl.1.xml.in @@ -0,0 +1,274 @@ +<?xml version="1.0"?><!--*-nxml-*--> +<!DOCTYPE manpage SYSTEM "xmltoman.dtd"> +<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?> + +<!-- +This file is part of PulseAudio. + +PulseAudio is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +PulseAudio is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General +Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +--> + +<manpage name="pactl" section="1" desc="Control a running PulseAudio sound server"> + + <synopsis> + <cmd>pactl [<arg>options</arg>] <arg>COMMAND</arg> [<arg>ARGS ...</arg>]</cmd> + <cmd>pactl <opt>--help</opt></cmd> + <cmd>pactl <opt>--version</opt></cmd> + </synopsis> + + <description> + <p><file>pactl</file> can be used to issue control commands to the PulseAudio sound server.</p> + + <p><file>pactl</file> only exposes a subset of the available operations. For the full set use the <manref name="pacmd" section="1"/>.</p> + </description> + + <options> + + <option> + <p><opt>-h | --help</opt></p> + + <optdesc><p>Show help.</p></optdesc> + </option> + + <option> + <p><opt>--version</opt></p> + + <optdesc><p>Show version information.</p></optdesc> + </option> + + <option> + <p><opt>-s | --server</opt><arg>=SERVER</arg></p> + + <optdesc><p>Choose the server to connect to.</p></optdesc> + </option> + + <option> + <p><opt>-n | --client-name</opt><arg>=NAME</arg></p> + + <optdesc><p>Specify the client name <file>pactl</file> shall pass to the server when connecting.</p></optdesc> + </option> + + </options> + + <section name="Commands"> + <p> + When supplied as arguments to the commands below, the special names \@DEFAULT_SINK@, \@DEFAULT_SOURCE@ and \@DEFAULT_MONITOR@ + can be used to specify the default sink, source and monitor respectively. + </p> + + <option> + <p><opt>stat</opt></p> + <optdesc><p>Dump a few statistics about the memory usage of the PulseAudio daemon.</p></optdesc> + </option> + + <option> + <p><opt>info</opt></p> + <optdesc><p>Dump some info about the PulseAudio daemon.</p></optdesc> + </option> + + <option> + <p><opt>list</opt> [<arg>short</arg>] [<arg>TYPE</arg>]</p> + <optdesc><p>Dump all currently loaded modules, available sinks, sources, streams, etc. <arg>TYPE</arg> must be one of: + modules, sinks, sources, sink-inputs, source-outputs, clients, samples, cards. If not specified, all info is listed. If + short is given, output is in a tabular format, for easy parsing by scripts.</p></optdesc> + </option> + + <option> + <p><opt>exit</opt></p> + <optdesc><p>Asks the PulseAudio server to terminate.</p></optdesc> + </option> + + <option> + <p><opt>upload-sample</opt> <arg>FILENAME</arg> [<arg>NAME</arg>]</p> + <optdesc><p>Upload a sound from the specified audio file into + the sample cache. The file types supported are those understood + by <file>libsndfile</file>. The sample in the cache is named + after the audio file, unless the name is explicitly + specified.</p></optdesc> + </option> + + <option> + <p><opt>play-sample</opt> <arg>NAME</arg> [<arg>SINK</arg>]</p> + <optdesc><p>Play the specified sample from the sample cache. It + is played on the default sink, unless the symbolic name or the + numerical index of the sink to play it on is + specified.</p></optdesc> + </option> + + <option> + <p><opt>remove-sample</opt> <arg>NAME</arg></p> + <optdesc><p>Remove the specified sample from the sample cache.</p></optdesc> + </option> + + <option> + <p><opt>load-module</opt> <arg>NAME</arg> [<arg>ARGUMENTS ...</arg>]</p> + <optdesc><p>Load the specified module with the specified arguments into the running sound server. + Prints the numeric index of the module just loaded to STDOUT. You can use it to unload the module later.</p></optdesc> + </option> + + <option> + <p><opt>unload-module</opt> <arg>ID|NAME</arg></p> + <optdesc><p>Unload the module instance identified by the specified numeric index or unload all modules by the specified name.</p></optdesc> + </option> + + <option> + <p><opt>move-sink-input</opt> <arg>ID</arg> <arg>SINK</arg></p> + <optdesc><p>Move the specified playback stream (identified by its numerical index) to the specified sink (identified by its symbolic name or numerical index).</p></optdesc> + </option> + + <option> + <p><opt>move-source-output</opt> <arg>ID</arg> <arg>SOURCE</arg></p> + <optdesc><p>Move the specified recording stream (identified by its numerical index) to the specified source (identified by its symbolic name or numerical index).</p></optdesc> + </option> + + <option> + <p><opt>suspend-sink</opt> <arg>SINK</arg> <arg>true|false</arg></p> + <optdesc><p>Suspend or resume the specified sink (which may be + specified either by its name or index), depending whether true + (suspend) or false (resume) is passed as last argument. Suspending + a sink will pause all playback. Depending on the module implementing + the sink this might have the effect that the underlying device is + closed, making it available for other applications to use. The exact + behaviour depends on the module. + </p></optdesc> + </option> + + <option> + <p><opt>suspend-source</opt> <arg>SOURCE</arg> <arg>true|false</arg></p> + <optdesc><p>Suspend or resume the specified source (which may be + specified either by its name or index), depending whether true + (suspend) or false (resume) is passed as last argument. Suspending + a source will pause all capturing. Depending on the module implementing + the source this might have the effect that the underlying device is + closed, making it available for other applications to use. The exact + behaviour depends on the module. + </p></optdesc> + </option> + + <option> + <p><opt>set-card-profile</opt> <arg>CARD</arg> <arg>PROFILE</arg></p> + <optdesc><p>Set the specified card (identified by its symbolic name or numerical index) to the specified profile (identified by its symbolic name).</p></optdesc> + </option> + + <option> + <p><opt>set-default-sink</opt> <arg>SINK</arg></p> + <optdesc><p>Make the specified sink (identified by its symbolic name) the default sink.</p></optdesc> + </option> + + <option> + <p><opt>set-sink-port</opt> <arg>SINK</arg> <arg>PORT</arg></p> + <optdesc><p>Set the specified sink (identified by its symbolic name or numerical index) to the specified port (identified by its symbolic name).</p></optdesc> + </option> + + <option> + <p><opt>set-default-source</opt> <arg>SOURCE</arg></p> + <optdesc><p>Make the specified source (identified by its symbolic name) the default source.</p></optdesc> + </option> + + <option> + <p><opt>set-source-port</opt> <arg>SOURCE</arg> <arg>PORT</arg></p> + <optdesc><p>Set the specified source (identified by its symbolic name or numerical index) to the specified port (identified by its symbolic name).</p></optdesc> + </option> + + <option> + <p><opt>set-port-latency-offset</opt> <arg>CARD</arg> <arg>PORT</arg> <arg>OFFSET</arg></p> + <optdesc><p>Set a latency offset to a specified port (identified by its symbolic name) that belongs to a card (identified by its symbolic name or numerical index). + <arg>OFFSET</arg> is a number which represents the latency offset in microseconds</p></optdesc> + </option> + + <option> + <p><opt>set-sink-volume</opt> <arg>SINK</arg> <arg>VOLUME [VOLUME ...]</arg></p> + <optdesc><p>Set the volume of the specified sink (identified by its symbolic name or numerical index). + <arg>VOLUME</arg> can be specified as an integer (e.g. 2000, 16384), a linear factor (e.g. 0.4, 1.100), a percentage + (e.g. 10%, 100%) or a decibel value (e.g. 0dB, 20dB). If the volume specification start with a + or - the volume + adjustment will be relative to the current sink volume. A single volume value affects all channels; if multiple + volume values are given their number has to match the sink's number of channels.</p></optdesc> + </option> + + <option> + <p><opt>set-source-volume</opt> <arg>SOURCE</arg> <arg>VOLUME [VOLUME ...]</arg></p> + <optdesc><p>Set the volume of the specified source (identified by its symbolic name or numerical index). + <arg>VOLUME</arg> can be specified as an integer (e.g. 2000, 16384), a linear factor (e.g. 0.4, 1.100), a percentage + (e.g. 10%, 100%) or a decibel value (e.g. 0dB, 20dB). If the volume specification start with a + or - the volume + adjustment will be relative to the current source volume. A single volume value affects all channels; if multiple + volume values are given their number has to match the source's number of channels.</p></optdesc> </option> + + <option> + <p><opt>set-sink-input-volume</opt> <arg>INPUT</arg> <arg>VOLUME [VOLUME ...]</arg></p> + <optdesc><p>Set the volume of the specified sink input (identified by its numerical index). + <arg>VOLUME</arg> can be specified as an integer (e.g. 2000, 16384), a linear factor (e.g. 0.4, 1.100), a percentage + (e.g. 10%, 100%) or a decibel value (e.g. 0dB, 20dB). If the volume specification start with a + or - the volume + adjustment will be relative to the current sink input volume. A single volume value affects all channels; if multiple + volume values are given their number has to match the sink input's number of channels.</p></optdesc> </option> + + <option> + <p><opt>set-source-output-volume</opt> <arg>OUTPUT</arg> <arg>VOLUME [VOLUME ...]</arg></p> + <optdesc><p>Set the volume of the specified source output (identified by its numerical index). + <arg>VOLUME</arg> can be specified as an integer (e.g. 2000, 16384), a linear factor (e.g. 0.4, 1.100), a percentage + (e.g. 10%, 100%) or a decibel value (e.g. 0dB, 20dB). If the volume specification start with a + or - the volume + adjustment will be relative to the current source output volume. A single volume value affects all channels; if multiple + volume values are given their number has to match the source output's number of channels.</p></optdesc> + </option> + + <option> + <p><opt>set-sink-mute</opt> <arg>SINK</arg> <arg>1|0|toggle</arg></p> + <optdesc><p>Set the mute status of the specified sink (identified by its symbolic name or numerical index).</p></optdesc> + </option> + + <option> + <p><opt>set-source-mute</opt> <arg>SOURCE</arg> <arg>1|0|toggle</arg></p> + <optdesc><p>Set the mute status of the specified source (identified by its symbolic name or numerical index).</p></optdesc> + </option> + + <option> + <p><opt>set-sink-input-mute</opt> <arg>INPUT</arg> <arg>1|0|toggle</arg></p> + <optdesc><p>Set the mute status of the specified sink input (identified by its numerical index).</p></optdesc> + </option> + + <option> + <p><opt>set-source-output-mute</opt> <arg>OUTPUT</arg> <arg>1|0|toggle</arg></p> + <optdesc><p>Set the mute status of the specified source output (identified by its numerical index).</p></optdesc> + </option> + + <option> + <p><opt>set-sink-formats</opt> <arg>SINK</arg> <arg>FORMATS</arg></p> + <optdesc><p>Set the supported formats of the specified sink (identified + by its numerical index) if supported by the sink. <arg>FORMATS</arg> is + specified as a semi-colon (;) separated list of formats in the form + 'encoding[, key1=value1, key2=value2, ...]' (for example, AC3 at 32000, + 44100 and 48000 Hz would be specified as + 'ac3-iec61937, format.rate = "[ 32000, 44100, 48000 ]"'). See + https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SupportedAudioFormats/ + for possible encodings. </p></optdesc> + </option> + + <option> + <p><opt>subscribe</opt></p> + <optdesc><p>Subscribe to events, pactl does not exit by itself, but keeps waiting for new events.</p></optdesc> + </option> + + </section> + + <section name="Authors"> + <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; PulseAudio is available from <url href="@PACKAGE_URL@"/></p> + </section> + + <seealso> + <p> + <manref name="pulseaudio" section="1"/>, + <manref name="pacmd" section="1"/> + </p> + </seealso> + +</manpage> diff --git a/man/padsp.1 b/man/padsp.1 new file mode 100644 index 0000000..459d9e1 --- /dev/null +++ b/man/padsp.1 @@ -0,0 +1,43 @@ +.TH padsp 1 User Manuals +.SH NAME +padsp \- PulseAudio OSS Wrapper +.SH SYNOPSIS +\fBpadsp [\fIoptions\fB] \fIPROGRAM\fB [\fIARGUMENTS ...\fB] + +padsp -h\fB +\f1 +.SH DESCRIPTION +\fIpadsp\f1 starts the specified program and redirects its access to OSS compatible audio devices (\fI/dev/dsp\f1 and auxiliary devices) to a PulseAudio sound server. + +\fIpadsp\f1 uses the $LD_PRELOAD environment variable that is interpreted by \fBld.so(8)\f1 and thus does not work for SUID binaries and statically built executables. + +Equivalent to using \fIpadsp\f1 is starting an application with $LD_PRELOAD set to \fIlibpulsedsp.so\f1 +.SH OPTIONS +.TP +\fB-h | --help\f1 +Show help. +.TP +\fB-s\f1 \fISERVER\f1 +Set the PulseAudio server to connect to. +.TP +\fB-n\f1 \fINAME\f1 +The client application name that shall be passed to the server when connecting. +.TP +\fB-m\f1 \fINAME\f1 +The stream name that shall be passed to the server when creating a stream. +.TP +\fB-M\f1 +Disable \fI/dev/mixer\f1 emulation. +.TP +\fB-S\f1 +Disable \fI/dev/sndstat\f1 emulation. +.TP +\fB-D\f1 +Disable \fI/dev/dsp\f1 emulation. +.TP +\fB-d\f1 +Enable debug output. +.SH AUTHORS +The PulseAudio Developers <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>; PulseAudio is available from \fBhttp://pulseaudio.org/\f1 +.SH SEE ALSO +\fBpulseaudio(1)\f1, \fBpasuspender(1)\f1, \fBld.so(8)\f1 diff --git a/man/padsp.1.xml.in b/man/padsp.1.xml.in new file mode 100644 index 0000000..2ee1e11 --- /dev/null +++ b/man/padsp.1.xml.in @@ -0,0 +1,108 @@ +<?xml version="1.0"?><!--*-nxml-*--> +<!DOCTYPE manpage SYSTEM "xmltoman.dtd"> +<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?> + +<!-- +This file is part of PulseAudio. + +PulseAudio is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +PulseAudio is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General +Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +--> + +<manpage name="padsp" section="1" desc="PulseAudio OSS Wrapper"> + + <synopsis> + <cmd>padsp [<arg>options</arg>] <arg>PROGRAM</arg> [<arg>ARGUMENTS ...</arg>]</cmd> + <cmd>padsp <opt>-h</opt></cmd> + </synopsis> + + <description> + <p><file>padsp</file> starts the specified program and + redirects its access to OSS compatible audio devices + (<file>/dev/dsp</file> and auxiliary devices) to a PulseAudio + sound server.</p> + + <p><file>padsp</file> uses the $LD_PRELOAD environment variable + that is interpreted by <manref name="ld.so" section="8"/> and thus + does not work for SUID binaries and statically built + executables.</p> + + <p>Equivalent to using <file>padsp</file> is starting an + application with $LD_PRELOAD set to + <file>libpulsedsp.so</file></p> + </description> + + <options> + + <option> + <p><opt>-h | --help</opt></p> + + <optdesc><p>Show help.</p></optdesc> + </option> + + + <option> + <p><opt>-s</opt> <arg>SERVER</arg></p> + + <optdesc><p>Set the PulseAudio server to connect to.</p></optdesc> + </option> + + <option> + <p><opt>-n</opt> <arg>NAME</arg></p> + + <optdesc><p>The client application name that shall be passed to the server when connecting.</p></optdesc> + </option> + + <option> + <p><opt>-m</opt> <arg>NAME</arg></p> + + <optdesc><p>The stream name that shall be passed to the server when creating a stream.</p></optdesc> + </option> + + <option> + <p><opt>-M</opt></p> + + <optdesc><p>Disable <file>/dev/mixer</file> emulation.</p></optdesc> + </option> + + <option> + <p><opt>-S</opt></p> + + <optdesc><p>Disable <file>/dev/sndstat</file> emulation.</p></optdesc> + </option> + + <option> + <p><opt>-D</opt></p> + + <optdesc><p>Disable <file>/dev/dsp</file> emulation.</p></optdesc> + </option> + + <option> + <p><opt>-d</opt></p> + + <optdesc><p>Enable debug output.</p></optdesc> + </option> + + </options> + + <section name="Authors"> + <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; PulseAudio is available from <url href="@PACKAGE_URL@"/></p> + </section> + + <section name="See also"> + <p> + <manref name="pulseaudio" section="1"/>, <manref name="pasuspender" section="1"/>, <manref name="ld.so" section="8"/> + </p> + </section> + +</manpage> diff --git a/man/pasuspender.1 b/man/pasuspender.1 new file mode 100644 index 0000000..560dc16 --- /dev/null +++ b/man/pasuspender.1 @@ -0,0 +1,28 @@ +.TH pasuspender 1 User Manuals +.SH NAME +pasuspender \- Temporarily suspend PulseAudio +.SH SYNOPSIS +\fBpasuspender [\fIoptions\fB] -- \fIPROGRAM\fB [\fIARGUMENTS ...\fB] + +pasuspender --help\fB + +pasuspender --version\fB +\f1 +.SH DESCRIPTION +\fIpasuspender\f1 is a tool that can be used to tell a local PulseAudio sound server to temporarily suspend access to the audio devices, to allow other applications access them directly. \fIpasuspender\f1 will suspend access to the audio devices, fork a child process, and when the child process terminates, resume access again. + +Make sure to include \fB--\f1 in your \fIpasuspender\f1 command line before passing the subprocess command line (as shown above). Otherwise \fIpasuspender\f1 itself might end up interpreting the command line switches and options you intended to pass to the subprocess. +.SH OPTIONS +.TP +\fB-h | --help\f1 +Show help. +.TP +\fB--version\f1 +Show version information. +.TP +\fB-s | --server=\f1\fISERVER\f1 +Specify the sound server to connect to. +.SH AUTHORS +The PulseAudio Developers <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>; PulseAudio is available from \fBhttp://pulseaudio.org/\f1 +.SH SEE ALSO +\fBpulseaudio(1)\f1, \fBpadsp(1)\f1, \fBpacmd(1)\f1, \fBpactl(1)\f1 diff --git a/man/pasuspender.1.xml.in b/man/pasuspender.1.xml.in new file mode 100644 index 0000000..086e175 --- /dev/null +++ b/man/pasuspender.1.xml.in @@ -0,0 +1,78 @@ +<?xml version="1.0"?><!--*-nxml-*--> +<!DOCTYPE manpage SYSTEM "xmltoman.dtd"> +<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?> + +<!-- +This file is part of PulseAudio. + +PulseAudio is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +PulseAudio is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General +Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +--> + +<manpage name="pasuspender" section="1" desc="Temporarily suspend PulseAudio"> + + <synopsis> + <cmd>pasuspender [<arg>options</arg>] -- <arg>PROGRAM</arg> [<arg>ARGUMENTS ...</arg>]</cmd> + <cmd>pasuspender <opt>--help</opt></cmd> + <cmd>pasuspender <opt>--version</opt></cmd> + </synopsis> + + <description> + <p><file>pasuspender</file> is a tool that can be used to tell a + local PulseAudio sound server to temporarily suspend access to the + audio devices, to allow other + applications access them directly. <file>pasuspender</file> will + suspend access to the audio devices, fork a child process, and + when the child process terminates, resume access again.</p> + + <p>Make sure to include <opt>--</opt> in + your <file>pasuspender</file> command line before passing the + subprocess command line (as shown + above). Otherwise <file>pasuspender</file> itself might end up + interpreting the command line switches and options you intended to + pass to the subprocess.</p> + </description> + + <options> + + <option> + <p><opt>-h | --help</opt></p> + + <optdesc><p>Show help.</p></optdesc> + </option> + + <option> + <p><opt>--version</opt></p> + + <optdesc><p>Show version information.</p></optdesc> + </option> + + <option> + <p><opt>-s | --server=</opt><arg>SERVER</arg></p> + + <optdesc><p>Specify the sound server to connect to.</p></optdesc> + </option> + + </options> + + <section name="Authors"> + <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; PulseAudio is available from <url href="@PACKAGE_URL@"/></p> + </section> + + <section name="See also"> + <p> + <manref name="pulseaudio" section="1"/>, <manref name="padsp" section="1"/>, <manref name="pacmd" section="1"/>, <manref name="pactl" section="1"/> + </p> + </section> + +</manpage> diff --git a/man/pax11publish.1 b/man/pax11publish.1 new file mode 100644 index 0000000..ec241b9 --- /dev/null +++ b/man/pax11publish.1 @@ -0,0 +1,57 @@ +.TH pax11publish 1 User Manuals +.SH NAME +pax11publish \- PulseAudio X11 Credential Utility +.SH SYNOPSIS +\fBpax11publish -h\fB + +pax11publish [\fIoptions\fB] [-d\fB] + +pax11publish [\fIoptions\fB] -e\fB + +pax11publish [\fIoptions\fB] -i\fB + +pax11publish [\fIoptions\fB] -r\fB +\f1 +.SH DESCRIPTION +The \fIpax11publish\f1 utility can be used to dump or manipulate the PulseAudio server credentials that can be stored as properties on the X11 root window. + +Please note that the loadable module \fImodule-x11-publish\f1 exports the same information directly from the PulseAudio sound server, and should in most cases be used in preference over this tool. + +Use the following command to dump the raw PulseAudio-specific data that is stored in your X11 root window: + +xprop -root | grep ^PULSE_ +.SH OPTIONS +.TP +\fB-h\f1 +Show help. +.TP +\fB-d\f1 +Read the PulseAudio server credentials currently set on the X11 root window and dump them in a human readable form. This reads the PULSE_SERVER, PULSE_SINK, PULSE_SOURCE and PULSE_COOKIE properties. +.TP +\fB-i\f1 +Similar to \fB-d\f1, however dumps them in a Bourne shell compatible format so they may be used together with the \fIeval\f1 shell command to set the $PULSE_SERVER, $PULSE_SINK, $PULSE_SOURCE environment variables. Also reads the authentication cookie from the root window and stores it in \fI~/.config/pulse/cookie\f1. +.TP +\fB-e\f1 +Export the currently locally used sound server, sink, source configuration to the X11 root window. This takes the data from the $PULSE_SERVER, $PULSE_SINK, $PULSE_SOURCE environment variables and combines them with the data from \fI~/.config/pulse/client.conf\f1 (or \fI/usr/local/etc/pulse/client.conf\f1 if that file does not exist). If specific options are passed on the command line (\fB-S\f1, \fB-O\f1, \fB-I\f1, \fB-c\f1, see below), they take precedence. Also uploads the local authentication cookie \fI~/.config/pulse/cookie\f1 to the X11 server. +.TP +\fB-r\f1 +Removes the configured PulseAudio configuration from the X11 root window. +.TP +\fB-D\f1 \fIDISPLAY\f1 +Connect to the specified X11 display, instead of the default one configured in $DISPLAY. +.TP +\fB-S\f1 \fISERVER\f1 +Only valid for \fB-e\f1: export the specified PulseAudio server as default to the X11 display instead of the one configured via local configuration. +.TP +\fB-O\f1 \fISINK\f1 +Only valid for \fB-e\f1: export the specified sink as default sink to the X11 display instead of the one configured via local configuration. +.TP +\fB-I\f1 \fISOURCE\f1 +Only valid for \fB-e\f1: export the specified source as default to the X11 display instead of the one configured via local configuration. +.TP +\fB-c\f1 \fIFILE\f1 +Only valid for \fB-e\f1: export the PulseAudio authentication cookie stored in the specified file to the X11 display instead of the one stored in \fI~/.config/pulse/cookie\f1. +.SH AUTHORS +The PulseAudio Developers <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>; PulseAudio is available from \fBhttp://pulseaudio.org/\f1 +.SH SEE ALSO +\fBpulseaudio(1)\f1, \fBxprop(1)\f1 diff --git a/man/pax11publish.1.xml.in b/man/pax11publish.1.xml.in new file mode 100644 index 0000000..6f6039a --- /dev/null +++ b/man/pax11publish.1.xml.in @@ -0,0 +1,149 @@ +<?xml version="1.0"?><!--*-nxml-*--> +<!DOCTYPE manpage SYSTEM "xmltoman.dtd"> +<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?> + +<!-- +This file is part of PulseAudio. + +PulseAudio is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +PulseAudio is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General +Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +--> + +<manpage name="pax11publish" section="1" desc="PulseAudio X11 Credential Utility"> + + <synopsis> + <cmd>pax11publish <opt>-h</opt></cmd> + <cmd>pax11publish [<arg>options</arg>] [<opt>-d</opt>]</cmd> + <cmd>pax11publish [<arg>options</arg>] <opt>-e</opt></cmd> + <cmd>pax11publish [<arg>options</arg>] <opt>-i</opt></cmd> + <cmd>pax11publish [<arg>options</arg>] <opt>-r</opt></cmd> + </synopsis> + + <description> + <p>The <file>pax11publish</file> utility can be used to dump or + manipulate the PulseAudio server credentials that can be stored as + properties on the X11 root window.</p> + + <p>Please note that the loadable module + <file>module-x11-publish</file> exports the same information + directly from the PulseAudio sound server, and should in most + cases be used in preference over this tool.</p> + + <p>Use the following command to dump the raw + PulseAudio-specific data that is stored in your X11 root + window:</p> + + <p>xprop -root | grep ^PULSE_</p> + + </description> + + <options> + + <option> + <p><opt>-h</opt></p> + + <optdesc><p>Show help.</p></optdesc> + </option> + + <option> + <p><opt>-d</opt></p> + + <optdesc><p>Read the PulseAudio server credentials currently set + on the X11 root window and dump them in a human readable form. This reads the + PULSE_SERVER, PULSE_SINK, PULSE_SOURCE and PULSE_COOKIE + properties.</p></optdesc> + </option> + + <option> + <p><opt>-i</opt></p> + <optdesc><p>Similar to <opt>-d</opt>, however dumps them in a + Bourne shell compatible format so they may be used together with + the <file>eval</file> shell command to set the $PULSE_SERVER, + $PULSE_SINK, $PULSE_SOURCE environment variables. Also reads the + authentication cookie from the root window and stores it in + <file>~/.config/pulse/cookie</file>. </p></optdesc> + </option> + + <option> + <p><opt>-e</opt></p> + + <optdesc><p>Export the currently locally used sound server, + sink, source configuration to the X11 root window. This takes + the data from the $PULSE_SERVER, $PULSE_SINK, $PULSE_SOURCE + environment variables and combines them with the data from + <file>~/.config/pulse/client.conf</file> (or + <file>@PA_DEFAULT_CONFIG_DIR@/client.conf</file> if that file does not + exist). If specific options are passed on the command line + (<opt>-S</opt>, <opt>-O</opt>, <opt>-I</opt>, <opt>-c</opt>, see + below), they take precedence. Also uploads the local + authentication cookie <file>~/.config/pulse/cookie</file> to the X11 + server.</p></optdesc> + </option> + + <option> + <p><opt>-r</opt></p> + + <optdesc><p>Removes the configured PulseAudio configuration from the X11 root window.</p></optdesc> + </option> + + <option> + <p><opt>-D</opt> <arg>DISPLAY</arg></p> + + <optdesc><p>Connect to the specified X11 display, instead of the default one configured in $DISPLAY.</p></optdesc> + </option> + + <option> + <p><opt>-S</opt> <arg>SERVER</arg></p> + + <optdesc><p>Only valid for <opt>-e</opt>: export the specified + PulseAudio server as default to the X11 display instead of the + one configured via local configuration.</p></optdesc> + </option> + + <option> + <p><opt>-O</opt> <arg>SINK</arg></p> + + <optdesc><p>Only valid for <opt>-e</opt>: export the specified + sink as default sink to the X11 display instead of the one + configured via local configuration.</p></optdesc> + </option> + + <option> + <p><opt>-I</opt> <arg>SOURCE</arg></p> + + <optdesc><p>Only valid for <opt>-e</opt>: export the specified + source as default to the X11 display instead of the one + configured via local configuration.</p></optdesc> + </option> + + <option> + <p><opt>-c</opt> <arg>FILE</arg></p> + + <optdesc><p>Only valid for <opt>-e</opt>: export the PulseAudio + authentication cookie stored in the specified file to the X11 + display instead of the one stored in <file>~/.config/pulse/cookie</file>.</p></optdesc> + </option> + + </options> + + <section name="Authors"> + <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; PulseAudio is available from <url href="@PACKAGE_URL@"/></p> + </section> + + <section name="See also"> + <p> + <manref name="pulseaudio" section="1"/>, <manref name="xprop" section="1"/> + </p> + </section> + +</manpage> diff --git a/man/pulse-cli-syntax.5 b/man/pulse-cli-syntax.5 new file mode 100644 index 0000000..879ce2c --- /dev/null +++ b/man/pulse-cli-syntax.5 @@ -0,0 +1,171 @@ +.TH pulse-cli-syntax 5 User Manuals +.SH NAME +pulse-cli-syntax \- PulseAudio Command Line Interface Syntax +.SH SYNOPSIS +\fB\fI~/.config/pulse/default.pa\fB + +\fI/usr/local/etc/pulse/default.pa\fB + +\fI/usr/local/etc/pulse/system.pa\fB +\f1 +.SH DESCRIPTION +PulseAudio provides a simple command line language used by configuration scripts, the pacmd interactive shell, and the modules module-cli and module-cli-protocol-{unix,tcp}. Empty lines and lines beginning with a hashmark (#) are silently ignored. Several commands are supported. + +Note that any boolean arguments can be given positively as '1', 't', 'y', 'true', 'yes' or 'on'. Likewise, negative values can be given as '0', 'f', 'n', 'false', 'no' or 'off'. Case is ignored. +.SH GENERAL COMMANDS +.TP +\fBhelp\f1 +Show a quick help on the commands available. +.SH STATUS COMMANDS +.TP +\fBlist-modules\f1 +Show all currently loaded modules with their arguments. +.TP +\fBlist-cards\f1 +Show all currently registered cards +.TP +\fBlist-sinks\f1 or \fBlist-sources\f1 +Show all currently registered sinks (resp. sources). +.TP +\fBlist-clients\f1 +Show all currently active clients. +.TP +\fBlist-sink-inputs\f1 or \fBlist-source-outputs\f1 +Show all currently active inputs to sinks a.k.a. playback streams (resp. outputs of sources a.k.a. recording streams). +.TP +\fBstat\f1 +Show some simple statistics about the allocated memory blocks and the space used by them. +.TP +\fBinfo\f1 or \fBls\f1 or \fBlist\f1 +A combination of all status commands described above (all three commands are synonyms). +.SH MODULE MANAGEMENT +.TP +\fBload-module\f1 \fIname\f1 [\fIarguments...\f1] +Load a module specified by its name and arguments. For most modules it is OK to be loaded more than once. +.TP +\fBunload-module\f1 \fIindex|name\f1 +Unload a module, specified either by its index in the module list or its name. +.TP +\fBdescribe-module\f1 \fIname\f1 +Give information about a module specified by its name. +.SH VOLUME COMMANDS +.TP +\fBset-sink-volume|set-source-volume\f1 \fIindex|name\f1 \fIvolume\f1 +Set the volume of the specified sink (resp. source). You may specify the sink (resp. source) either by its index in the sink/source list or by its name. The volume should be an integer value greater or equal than 0 (muted). Volume 65536 (0x10000) is 'normal' volume a.k.a. 100%. Values greater than this amplify the audio signal (with clipping). +.TP +\fBset-sink-mute|set-source-mute\f1 \fIindex|name\f1 \fIboolean\f1 +Mute or unmute the specified sink (resp. source). You may specify the sink (resp. source) either by its index or by its name. The mute value is either 0 (not muted) or 1 (muted). +.TP +\fBset-sink-input-volume|set-source-output-volume\f1 \fIindex\f1 \fIvolume\f1 +Set the volume of a sink input (resp. source output) specified by its index. The same volume rules apply as with set-sink-volume. +.TP +\fBset-sink-input-mute|set-source-output-mute\f1 \fIindex\f1 \fIboolean\f1 +Mute or unmute a sink input (resp. source output) specified by its index. The same mute rules apply as with set-sink-mute. +.SH CONFIGURATION COMMANDS +.TP +\fBset-default-sink|set-default-source\f1 \fIindex|name\f1 +Make a sink (resp. source) the default. You may specify the sink (resp. source) by its index in the sink (resp. source) list or by its name. + +Note that defaults may be overridden by various policy modules or by specific stream configurations. +.TP +\fBset-card-profile\f1 \fIindex|name\f1 \fIprofile-name\f1 +Change the profile of a card. +.TP +\fBset-sink-port|set-source-port\f1 \fIindex|name\f1 \fIport-name\f1 +Change the profile of a sink (resp. source). +.TP +\fBset-port-latency-offset\f1 \fIcard-index|card-name\f1 \fIport-name\f1 \fIoffset\f1 +Change the latency offset of a port belonging to the specified card +.TP +\fBsuspend-sink|suspend-source\f1 \fIname|index\f1 \fItrue|false\f1 +Suspend or resume the specified sink or source (which may be specified either by its name or index), depending whether true (suspend) or false (resume) is passed as last argument. Suspending a sink will pause all playback and suspending a source will pause all capturing. Depending on the module implementing the sink or source this might have the effect that the underlying device is closed, making it available for other applications to use. The exact behaviour depends on the module. +.TP +\fBsuspend\f1 \fIboolean\f1 +Suspend all sinks and sources. +.SH MOVING STREAMS +.TP +\fBmove-sink-input|move-source-output\f1 \fIindex\f1 \fIsink-index|sink-name\f1 +Move sink input (resp. source output) to another sink (resp. source). +.SH PROPERTY LISTS +.TP +\fBupdate-sink-proplist|update-source-proplist\f1 \fIindex|name\f1 \fIproperties\f1 +Update the properties of a sink (resp. source) specified by name or index. The property is specified as e.g. device.description="My Preferred Name" +.TP +\fBupdate-sink-input-proplist|update-source-output-proplist\f1 \fIindex\f1 \fIproperties\f1 +Update the properties of a sink input (resp. source output) specified by index. The properties are specified as above. +.SH SAMPLE CACHE +.TP +\fBlist-samples\f1 +Lists the contents of the sample cache. +.TP +\fBplay-sample\f1 \fIname\f1 \fIsink-index|sink-name\f1 +Play a sample cache entry to a sink. +.TP +\fBremove-sample\f1 \fIname\f1 +Remove an entry from the sample cache. +.TP +\fBload-sample\f1 \fIname\f1 \fIfilename\f1 +Load an audio file to the sample cache. +.TP +\fBload-sample-lazy\f1 \fIname\f1 \fIfilename\f1 +Create a new entry in the sample cache, but don't load the sample immediately. The sample is loaded only when it is first used. After a certain idle time it is freed again. +.TP +\fBload-sample-dir-lazy\f1 \fIpath\f1 +Load all entries in the specified directory into the sample cache as lazy entries. A shell globbing expression (e.g. *.wav) may be appended to the path of the directory to add. +.SH KILLING CLIENTS/STREAMS +.TP +\fBkill-client\f1 \fIindex\f1 +Remove a client forcibly from the server. There is no protection against the client reconnecting immediately. +.TP +\fBkill-sink-input|kill-source-output\f1 \fIindex\f1 +Remove a sink input (resp. source output) forcibly from the server. This will not remove the owning client or any other streams opened by the same client from the server. +.SH LOG COMMANDS +.TP +\fBset-log-level\f1 \fInumeric-level\f1 +Change the log level. +.TP +\fBset-log-meta\f1 \fIboolean\f1 +Show source code location in log messages. +.TP +\fBset-log-target\f1 \fItarget\f1 +Change the log target (null, auto, journal, syslog, stderr, file:PATH, newfile:PATH). +.TP +\fBset-log-time\f1 \fIboolean\f1 +Show timestamps in log messages. +.TP +\fBset-log-backtrace\f1 \fInum-frames\f1 +Show backtrace in log messages. +.SH MISCELLANEOUS COMMANDS +.TP +\fBplay-file\f1 \fIfilename\f1 \fIsink-index|sink-name\f1 +Play an audio file to a sink. +.TP +\fBdump\f1 +Dump the daemon's current configuration in CLI commands. +.TP +\fBdump-volumes\f1 +Debug: Shows the current state of all volumes. +.TP +\fBshared\f1 +Debug: Show shared properties. +.TP +\fBexit\f1 +Terminate the daemon. If you want to terminate a CLI connection ("log out") you might want to use ctrl+d +.SH META COMMANDS +In addition to the commands described above there are a few meta directives supported by the command line interpreter. +.TP +\fB.include\f1 \fIfilename|folder\f1 +Executes the commands from the specified script file or in all of the *.pa files within the folder. +.TP +\fB.fail\f1 and \fB.nofail\f1 +Enable (resp. disable) that following failing commands will cancel the execution of the current script file. This is ignored when used on the interactive command line. +.TP +\fB.ifexists\f1 \fIfilename\f1 +Execute the subsequent block of commands only if the specified file exists. Typically \fIfilename\f1 indicates a module. Relative paths are resolved using the module directory as the base. By using an absolute path, the existence of other files can be checked as well. +.TP +\fB.else\f1 and \fB.endif\f1 +A block of commands is delimited by an \fB.else\f1 or \fB.endif\f1 meta command. Nesting conditional commands is not supported. +.SH AUTHORS +The PulseAudio Developers <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>; PulseAudio is available from \fBhttp://pulseaudio.org/\f1 +.SH SEE ALSO +\fBdefault.pa(5)\f1, \fBpacmd(1)\f1, \fBpulseaudio(1)\f1 diff --git a/man/pulse-cli-syntax.5.xml.in b/man/pulse-cli-syntax.5.xml.in new file mode 100644 index 0000000..a8d50d9 --- /dev/null +++ b/man/pulse-cli-syntax.5.xml.in @@ -0,0 +1,360 @@ +<?xml version="1.0"?><!--*-nxml-*--> +<!DOCTYPE manpage SYSTEM "xmltoman.dtd"> +<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?> + +<!-- +This file is part of PulseAudio. + +PulseAudio is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +PulseAudio is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General +Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +--> + +<manpage name="pulse-cli-syntax" section="5" desc="PulseAudio Command Line Interface Syntax"> + + <synopsis> + <p><file>~/.config/pulse/default.pa</file></p> + <p><file>@PA_DEFAULT_CONFIG_DIR@/default.pa</file></p> + <p><file>@PA_DEFAULT_CONFIG_DIR@/system.pa</file></p> + </synopsis> + + <description> + <p> + PulseAudio provides a simple command line language used by configuration + scripts, the pacmd interactive shell, and the modules module-cli and + module-cli-protocol-{unix,tcp}. Empty lines and lines beginning with a + hashmark (#) are silently ignored. Several commands are supported. + </p> + + <p> + Note that any boolean arguments can be given positively as '1', 't', 'y', + 'true', 'yes' or 'on'. Likewise, negative values can be given as '0', + 'f', 'n', 'false', 'no' or 'off'. Case is ignored. + </p> + </description> + + <section name="General Commands"> + + <option> + <p><opt>help</opt></p> + <optdesc><p>Show a quick help on the commands available.</p></optdesc> + </option> + </section> + + <section name="Status Commands"> + <option> + <p><opt>list-modules</opt></p> + <optdesc><p>Show all currently loaded modules with their arguments.</p></optdesc> + </option> + + <option> + <p><opt>list-cards</opt></p> + <optdesc><p>Show all currently registered cards</p></optdesc> + </option> + + <option> + <p><opt>list-sinks</opt> or <opt>list-sources</opt></p> + <optdesc><p>Show all currently registered sinks (resp. sources).</p></optdesc> + </option> + + <option> + <p><opt>list-clients</opt></p> + <optdesc><p>Show all currently active clients.</p></optdesc> + </option> + + <option> + <p><opt>list-sink-inputs</opt> or <opt>list-source-outputs</opt></p> + <optdesc><p>Show all currently active inputs to sinks a.k.a. playback + streams (resp. outputs of sources a.k.a. recording streams).</p></optdesc> + </option> + + <option> + <p><opt>stat</opt></p> + <optdesc><p>Show some simple statistics about the allocated memory blocks and the space used by them.</p></optdesc> + </option> + + <option> + <p><opt>info</opt> or <opt>ls</opt> or <opt>list</opt></p> + <optdesc><p>A combination of all status commands described above (all + three commands are synonyms).</p></optdesc> + </option> + </section> + + <section name="Module Management"> + <option> + <p><opt>load-module</opt> <arg>name</arg> [<arg>arguments...</arg>]</p> + <optdesc><p>Load a module specified by its name and arguments. For most + modules it is OK to be loaded more than once.</p></optdesc> + </option> + + <option> + <p><opt>unload-module</opt> <arg>index|name</arg></p> + <optdesc><p>Unload a module, specified either by its index in the module + list or its name.</p></optdesc> + </option> + + <option> + <p><opt>describe-module</opt> <arg>name</arg></p> + <optdesc><p>Give information about a module specified by its name.</p></optdesc> + </option> + </section> + + <section name="Volume Commands"> + <option> + <p><opt>set-sink-volume|set-source-volume</opt> <arg>index|name</arg> <arg>volume</arg></p> + <optdesc><p>Set the volume of the specified sink (resp. source). You may + specify the sink (resp. source) either by its index in the sink/source list + or by its name. The volume should be an integer value greater or equal than + 0 (muted). Volume 65536 (0x10000) is 'normal' volume a.k.a. 100%. Values + greater than this amplify the audio signal (with clipping).</p></optdesc> + </option> + + <option> + <p><opt>set-sink-mute|set-source-mute</opt> <arg>index|name</arg> <arg>boolean</arg></p> + <optdesc><p>Mute or unmute the specified sink (resp. source). You may + specify the sink (resp. source) either by its index or by its name. + The mute value is either 0 (not muted) or 1 (muted).</p></optdesc> + </option> + + <option> + <p><opt>set-sink-input-volume|set-source-output-volume</opt> <arg>index</arg> <arg>volume</arg></p> + <optdesc><p>Set the volume of a sink input (resp. source output) specified + by its index. The same volume rules apply as with set-sink-volume.</p></optdesc> + </option> + + <option> + <p><opt>set-sink-input-mute|set-source-output-mute</opt> <arg>index</arg> <arg>boolean</arg></p> + <optdesc><p>Mute or unmute a sink input (resp. source output) specified + by its index. The same mute rules apply as with set-sink-mute.</p></optdesc> + </option> + </section> + + <section name="Configuration Commands"> + <option> + <p><opt>set-default-sink|set-default-source</opt> <arg>index|name</arg></p> + <optdesc><p>Make a sink (resp. source) the default. You may specify the + sink (resp. source) by its index in the sink (resp. source) list or by its + name.</p><p>Note that defaults may be overridden by various policy modules + or by specific stream configurations.</p></optdesc> + </option> + + <option> + <p><opt>set-card-profile</opt> <arg>index|name</arg> <arg>profile-name</arg></p> + <optdesc><p>Change the profile of a card.</p></optdesc> + </option> + + <option> + <p><opt>set-sink-port|set-source-port</opt> <arg>index|name</arg> <arg>port-name</arg></p> + <optdesc><p>Change the profile of a sink (resp. source).</p></optdesc> + </option> + + <option> + <p><opt>set-port-latency-offset</opt> <arg>card-index|card-name</arg> <arg>port-name</arg> <arg>offset</arg> </p> + <optdesc><p>Change the latency offset of a port belonging to the specified card</p></optdesc> + </option> + + <option> + <p><opt>suspend-sink|suspend-source</opt> <arg>name|index</arg> + <arg>true|false</arg> + </p> + <optdesc><p>Suspend or resume the specified sink or source (which may be + specified either by its name or index), depending whether true + (suspend) or false (resume) is passed as last argument. Suspending + a sink will pause all playback and suspending a source will pause all + capturing. Depending on the module implementing the sink or source this + might have the effect that the underlying device is closed, making it + available for other applications to use. The exact behaviour depends on + the module. + </p></optdesc> + </option> + + <option> + <p><opt>suspend</opt> <arg>boolean</arg></p> + <optdesc><p>Suspend all sinks and sources.</p></optdesc> + </option> + </section> + + <section name="Moving streams"> + <option> + <p><opt>move-sink-input|move-source-output</opt> <arg>index</arg> <arg>sink-index|sink-name</arg></p> + <optdesc><p>Move sink input (resp. source output) to another sink + (resp. source).</p></optdesc> + </option> + </section> + + <section name="Property lists"> + <option> + <p><opt>update-sink-proplist|update-source-proplist</opt> <arg>index|name</arg> <arg>properties</arg></p> + <optdesc><p>Update the properties of a sink (resp. source) specified by + name or index. The property is specified as e.g. device.description="My + Preferred Name"</p></optdesc> + </option> + + <option> + <p><opt>update-sink-input-proplist|update-source-output-proplist</opt> <arg>index</arg> <arg>properties</arg></p> + <optdesc><p>Update the properties of a sink input (resp. source output) + specified by index. The properties are specified as above.</p></optdesc> + </option> + </section> + + <section name="Sample Cache"> + <option> + <p><opt>list-samples</opt></p> + <optdesc><p>Lists the contents of the sample cache.</p></optdesc> + </option> + + <option> + <p><opt>play-sample</opt> <arg>name</arg> <arg>sink-index|sink-name</arg></p> + <optdesc><p>Play a sample cache entry to a sink.</p></optdesc> + </option> + + <option> + <p><opt>remove-sample</opt> <arg>name</arg></p> + <optdesc><p>Remove an entry from the sample cache.</p></optdesc> + </option> + + <option> + <p><opt>load-sample</opt> <arg>name</arg> <arg>filename</arg></p> + <optdesc><p>Load an audio file to the sample cache.</p></optdesc> + </option> + + <option> + <p><opt>load-sample-lazy</opt> <arg>name</arg> <arg>filename</arg></p> + <optdesc><p>Create a new entry in the sample cache, but don't load the + sample immediately. The sample is loaded only when it is first used. + After a certain idle time it is freed again.</p></optdesc> + </option> + + <option> + <p><opt>load-sample-dir-lazy</opt> <arg>path</arg></p> + <optdesc><p>Load all entries in the specified directory into the sample + cache as lazy entries. A shell globbing expression (e.g. *.wav) may be + appended to the path of the directory to add.</p></optdesc> + </option> + </section> + + <section name="Killing Clients/Streams"> + <option> + <p><opt>kill-client</opt> <arg>index</arg></p> + <optdesc><p>Remove a client forcibly from the server. There is no protection + against the client reconnecting immediately.</p></optdesc> + </option> + + <option> + <p><opt>kill-sink-input|kill-source-output</opt> <arg>index</arg></p> + <optdesc><p>Remove a sink input (resp. source output) forcibly from the + server. This will not remove the owning client or any other streams opened + by the same client from the server.</p></optdesc> + </option> + </section> + + <section name="Log Commands"> + <option> + <p><opt>set-log-level</opt> <arg>numeric-level</arg></p> + <optdesc><p>Change the log level.</p></optdesc> + </option> + + <option> + <p><opt>set-log-meta</opt> <arg>boolean</arg></p> + <optdesc><p>Show source code location in log messages.</p></optdesc> + </option> + + <option> + <p><opt>set-log-target</opt> <arg>target</arg></p> + <optdesc><p>Change the log target (null, auto, journal, syslog, stderr, + file:PATH, newfile:PATH).</p></optdesc> + </option> + + <option> + <p><opt>set-log-time</opt> <arg>boolean</arg></p> + <optdesc><p>Show timestamps in log messages.</p></optdesc> + </option> + + <option> + <p><opt>set-log-backtrace</opt> <arg>num-frames</arg></p> + <optdesc><p>Show backtrace in log messages.</p></optdesc> + </option> + </section> + + <section name="Miscellaneous Commands"> + <option> + <p><opt>play-file</opt> <arg>filename</arg> <arg>sink-index|sink-name</arg></p> + <optdesc><p>Play an audio file to a sink.</p></optdesc> + </option> + + <option> + <p><opt>dump</opt></p> + <optdesc><p>Dump the daemon's current configuration in CLI commands.</p></optdesc> + </option> + + <option> + <p><opt>dump-volumes</opt></p> + <optdesc><p>Debug: Shows the current state of all volumes.</p></optdesc> + </option> + + <option> + <p><opt>shared</opt></p> + <optdesc><p>Debug: Show shared properties.</p></optdesc> + </option> + + <option> + <p><opt>exit</opt></p> + <optdesc><p>Terminate the daemon. If you want to terminate a CLI + connection ("log out") you might want to use ctrl+d</p></optdesc> + </option> + </section> + + <section name="Meta Commands"> + <p> + In addition to the commands described above there are a few meta directives + supported by the command line interpreter. + </p> + <option> + <p><opt>.include</opt> <arg>filename|folder</arg></p> + <optdesc><p>Executes the commands from the specified script file or in all + of the *.pa files within the folder.</p></optdesc> + </option> + <option> + <p><opt>.fail</opt> and <opt>.nofail</opt></p> + <optdesc><p>Enable (resp. disable) that following failing commands will + cancel the execution of the current script file. This is ignored when + used on the interactive command line.</p></optdesc> + </option> + <option> + <p><opt>.ifexists</opt> <arg>filename</arg></p> + <optdesc><p>Execute the subsequent block of commands only if the specified + file exists. Typically <arg>filename</arg> indicates a module. Relative + paths are resolved using the module directory as the base. By using an + absolute path, the existence of other files can be checked as well.</p></optdesc> + </option> + <option> + <p><opt>.else</opt> and <opt>.endif</opt></p> + <optdesc><p>A block of commands is delimited by an <opt>.else</opt> or + <opt>.endif</opt> meta command. Nesting conditional commands is not + supported.</p></optdesc> + </option> + </section> + + <section name="Authors"> + <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; + PulseAudio is available from <url href="@PACKAGE_URL@"/></p> + </section> + + <section name="See also"> + <p> + <manref name="default.pa" section="5"/>, + <manref name="pacmd" section="1"/>, + <manref name="pulseaudio" section="1"/> + </p> + </section> + +</manpage> diff --git a/man/pulse-client.conf.5 b/man/pulse-client.conf.5 new file mode 100644 index 0000000..c057b67 --- /dev/null +++ b/man/pulse-client.conf.5 @@ -0,0 +1,47 @@ +.TH pulse-client.conf 5 User Manuals +.SH NAME +pulse-client.conf \- PulseAudio client configuration file +.SH SYNOPSIS +\fB\fI~/.config/pulse/client.conf\fB + +\fI~/.config/pulse/client.conf.d/*.conf\fB + +\fI/usr/local/etc/pulse/client.conf\fB + +\fI/usr/local/etc/pulse/client.conf.d/*.conf\fB +\f1 +.SH DESCRIPTION +The PulseAudio client library reads configuration directives from a configuration file on startup. If the per-user file \fI~/.config/pulse/client.conf\f1 exists, it is used, otherwise the system configuration file \fI/usr/local/etc/pulse/client.conf\f1 is used. In addition to those main files, configuration directives can also be put in files under directories \fI~/.config/pulse/client.conf.d/\f1 and \fI/usr/local/etc/pulse/client.conf.d/\f1. Those files have to have the .conf file name extension, but otherwise the file names can be chosen freely. The files under client.conf.d are processed in alphabetical order. In case the same option is set in multiple files, the last file to set an option overrides earlier files. The main client.conf file is processed first, so options set in files under client.conf.d override the main file. + +The configuration file is a simple collection of variable declarations. If the configuration file parser encounters either ; or # it ignores the rest of the line until its end. + +For the settings that take a boolean argument the values \fBtrue\f1, \fByes\f1, \fBon\f1 and \fB1\f1 are equivalent, resp. \fBfalse\f1, \fBno\f1, \fBoff\f1, \fB0\f1. +.SH DIRECTIVES +.TP +\fBdefault-sink=\f1 The default sink to connect to. If specified overwrites the setting in the daemon. The environment variable \fB$PULSE_SINK\f1 however takes precedence. +.TP +\fBdefault-source=\f1 The default source to connect to. If specified overwrites the setting in the daemon. The environment variable \fB$PULSE_SOURCE\f1 however takes precedence. +.TP +\fBdefault-server=\f1 The default sever to connect to. The environment variable \fB$PULSE_SERVER\f1 takes precedence. +.TP +\fBautospawn=\f1 Autospawn a PulseAudio daemon when needed. Takes a boolean value, defaults to \fByes\f1. Note that setting this to "no" doesn't disable the systemd service. The autospawn option is only meant to be used on systems without systemd. If you use systemd to start PulseAudio, use "systemctl --user stop pulseaudio.service pulseaudio.socket" to stop the daemon temporarily, or "systemctl --user mask pulseaudio.service pulseaudio.socket" to permanently disable the units (the "disable" command of systemctl probably won't work, because the pulseaudio.socket unit is often installed to /usr/lib/systemd/user/sockets.target.wants/, which makes it impossible to disable the unit with the "disable" command). +.TP +\fBdaemon-binary=\f1 Path to the PulseAudio daemon to run when autospawning. Defaults to a path configured at compile time. +.TP +\fBextra-arguments=\f1 Extra arguments to pass to the PulseAudio daemon when autospawning. Defaults to \fB--log-target=syslog\f1 +.TP +\fBcookie-file=\f1 Specify the path to the PulseAudio authentication cookie. Defaults to \fI~/.config/pulse/cookie\f1. +.TP +\fBenable-shm=\f1 Enable data transfer via POSIX or memfd shared memory. Takes a boolean argument, defaults to \fByes\f1. If set to \fBno\f1, communication with the server will be exclusively done through data-copy over sockets. +.TP +\fBenable-memfd=\f1. Enable data transfer via memfd shared memory. Takes a boolean argument, defaults to \fByes\f1. +.TP +\fBshm-size-bytes=\f1 Sets the shared memory segment size for clients, in bytes. If left unspecified or is set to 0 it will default to some system-specific default, usually 64 MiB. Please note that usually there is no need to change this value, unless you are running an OS kernel that does not do memory overcommit. +.TP +\fBauto-connect-localhost=\f1 Automatically try to connect to localhost via IP. Enabling this is a potential security hole since connections are only authenticated one-way and a rogue server might hence fool a client into sending it its private (e.g. VoIP call) data. This was enabled by default on PulseAudio version 0.9.21 and older. Defaults to \fBno\f1. +.TP +\fBauto-connect-display=\f1 Automatically try to connect to the host X11's $DISPLAY variable is set to. The same security issues apply as to \fBauto-connect-localhost=\f1. Defaults to \fBno\f1. +.SH AUTHORS +The PulseAudio Developers <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>; PulseAudio is available from \fBhttp://pulseaudio.org/\f1 +.SH SEE ALSO +\fBpulse-daemon.conf(5)\f1, \fBpulseaudio(1)\f1 diff --git a/man/pulse-client.conf.5.xml.in b/man/pulse-client.conf.5.xml.in new file mode 100644 index 0000000..5c0eff3 --- /dev/null +++ b/man/pulse-client.conf.5.xml.in @@ -0,0 +1,165 @@ +<?xml version="1.0"?><!--*-nxml-*--> +<!DOCTYPE manpage SYSTEM "xmltoman.dtd"> +<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?> + +<!-- +This file is part of PulseAudio. + +PulseAudio is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +PulseAudio is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General +Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +--> + +<manpage name="pulse-client.conf" section="5" desc="PulseAudio client configuration file"> + + <synopsis> + <p><file>~/.config/pulse/client.conf</file></p> + <p><file>~/.config/pulse/client.conf.d/*.conf</file></p> + <p><file>@PA_DEFAULT_CONFIG_DIR@/client.conf</file></p> + <p><file>@PA_DEFAULT_CONFIG_DIR@/client.conf.d/*.conf</file></p> + </synopsis> + + <description> + <p>The PulseAudio client library reads configuration directives from + a configuration file on startup. If the per-user file + <file>~/.config/pulse/client.conf</file> exists, it is used, otherwise the + system configuration file <file>@PA_DEFAULT_CONFIG_DIR@/client.conf</file> + is used. In addition to those main files, configuration directives can also + be put in files under directories + <file>~/.config/pulse/client.conf.d/</file> and + <file>@PA_DEFAULT_CONFIG_DIR@/client.conf.d/</file>. Those files have to + have the .conf file name extension, but otherwise the file names can be + chosen freely. The files under client.conf.d are processed in alphabetical + order. In case the same option is set in multiple files, the last file to + set an option overrides earlier files. The main client.conf file is + processed first, so options set in files under client.conf.d override the + main file.</p> + + <p>The configuration file is a simple collection of variable + declarations. If the configuration file parser encounters either ; + or # it ignores the rest of the line until its end.</p> + + <p>For the settings that take a boolean argument the values + <opt>true</opt>, <opt>yes</opt>, <opt>on</opt> and <opt>1</opt> + are equivalent, resp. <opt>false</opt>, <opt>no</opt>, + <opt>off</opt>, <opt>0</opt>.</p> + + </description> + + <section name="Directives"> + + <option> + <p><opt>default-sink=</opt> The default sink to connect to. If + specified overwrites the setting in the daemon. The environment + variable <opt>$PULSE_SINK</opt> however takes precedence.</p> + </option> + + <option> + <p><opt>default-source=</opt> The default source to connect + to. If specified overwrites the setting in the daemon. The + environment variable <opt>$PULSE_SOURCE</opt> however takes + precedence.</p> + </option> + + <option> + <p><opt>default-server=</opt> The default sever to connect + to. The environment variable <opt>$PULSE_SERVER</opt> takes + precedence.</p> + </option> + + <option> + <p><opt>autospawn=</opt> Autospawn a PulseAudio daemon when needed. Takes + a boolean value, defaults to <opt>yes</opt>. Note that setting this to + "no" doesn't disable the systemd service. The autospawn option is only + meant to be used on systems without systemd. If you use systemd to start + PulseAudio, use "systemctl --user stop pulseaudio.service + pulseaudio.socket" to stop the daemon temporarily, or "systemctl --user + mask pulseaudio.service pulseaudio.socket" to permanently disable the + units (the "disable" command of systemctl probably won't work, because + the pulseaudio.socket unit is often installed to + /usr/lib/systemd/user/sockets.target.wants/, which makes it impossible to + disable the unit with the "disable" command).</p> + </option> + + <option> + <p><opt>daemon-binary=</opt> Path to the PulseAudio daemon to + run when autospawning. Defaults to a path configured at compile + time.</p> + </option> + + <option> + <p><opt>extra-arguments=</opt> Extra arguments to pass to the + PulseAudio daemon when autospawning. Defaults to + <opt>--log-target=syslog</opt> + </p> + </option> + + <option> + <p><opt>cookie-file=</opt> Specify the path to the PulseAudio + authentication cookie. Defaults to + <file>~/.config/pulse/cookie</file>.</p> + </option> + + <option> + <p><opt>enable-shm=</opt> Enable data transfer via POSIX + or memfd shared memory. Takes a boolean argument, defaults to + <opt>yes</opt>. If set to <opt>no</opt>, communication with + the server will be exclusively done through data-copy over + sockets.</p> + </option> + + <option> + <p><opt>enable-memfd=</opt>. Enable data transfer via memfd + shared memory. Takes a boolean argument, defaults to + <opt>yes</opt>.</p> + </option> + + <option> + <p><opt>shm-size-bytes=</opt> Sets the shared memory segment + size for clients, in bytes. If left unspecified or is set to 0 + it will default to some system-specific default, usually 64 + MiB. Please note that usually there is no need to change this + value, unless you are running an OS kernel that does not do + memory overcommit.</p> + </option> + + <option> + <p><opt>auto-connect-localhost=</opt> Automatically try to + connect to localhost via IP. Enabling this is a potential + security hole since connections are only authenticated one-way + and a rogue server might hence fool a client into sending it its + private (e.g. VoIP call) data. This was enabled by default on + PulseAudio version 0.9.21 and older. Defaults to + <opt>no</opt>.</p> + </option> + + <option> + <p><opt>auto-connect-display=</opt> Automatically try to connect + to the host X11's $DISPLAY variable is set to. The same security + issues apply as to <opt>auto-connect-localhost=</opt>. Defaults + to <opt>no</opt>.</p> + </option> + + </section> + + <section name="Authors"> + <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; + PulseAudio is available from <url href="@PACKAGE_URL@"/></p> + </section> + + <section name="See also"> + <p> + <manref name="pulse-daemon.conf" section="5"/>, <manref name="pulseaudio" section="1"/> + </p> + </section> + +</manpage> diff --git a/man/pulse-daemon.conf.5 b/man/pulse-daemon.conf.5 new file mode 100644 index 0000000..860ebe0 --- /dev/null +++ b/man/pulse-daemon.conf.5 @@ -0,0 +1,163 @@ +.TH pulse-daemon.conf 5 User Manuals +.SH NAME +pulse-daemon.conf \- PulseAudio daemon configuration file +.SH SYNOPSIS +\fB\fI~/.config/pulse/daemon.conf\fB + +\fI~/.config/pulse/daemon.conf.d/*.conf\fB + +\fI/usr/local/etc/pulse/daemon.conf\fB + +\fI/usr/local/etc/pulse/daemon.conf.d/*.conf\fB +\f1 +.SH DESCRIPTION +The PulseAudio sound server reads configuration directives from a configuration file on startup. If the per-user file \fI~/.config/pulse/daemon.conf\f1 exists, it is used, otherwise the system configuration file \fI/usr/local/etc/pulse/daemon.conf\f1 is used. In addition to those main files, configuration directives can also be put in files under directories \fI~/.config/pulse/daemon.conf.d/\f1 and \fI/usr/local/etc/pulse/daemon.conf.d/\f1. Those files have to have the .conf file name extension, but otherwise the file names can be chosen freely. The files under daemon.conf.d are processed in alphabetical order. In case the same option is set in multiple files, the last file to set an option overrides earlier files. The main daemon.conf file is processed first, so options set in files under daemon.conf.d override the main file. + +Please note that the server also reads a configuration script on startup. See \fBdefault.pa(5)\f1. + +The configuration file is a simple collection of variable declarations. If the configuration file parser encounters either ; or # it ignores the rest of the line until its end. + +For the settings that take a boolean argument the values \fBtrue\f1, \fByes\f1, \fBon\f1 and \fB1\f1 are equivalent, resp. \fBfalse\f1, \fBno\f1, \fBoff\f1, \fB0\f1. +.SH GENERAL DIRECTIVES +.TP +\fBdaemonize=\f1 Daemonize after startup. Takes a boolean value, defaults to \fBno\f1. The \fB--daemonize\f1 command line option takes precedence. +.TP +\fBfail=\f1 Fail to start up if any of the directives in the configuration script \fIdefault.pa\f1 fail. Takes a boolean argument, defaults to \fByes\f1. The \fB--fail\f1 command line option takes precedence. +.TP +\fBallow-module-loading=\f1 Allow/disallow module loading after startup. This is a security feature that if disabled makes sure that no further modules may be loaded into the PulseAudio server after startup completed. It is recommended to disable this when \fBsystem-instance\f1 is enabled. Please note that certain features like automatic hot-plug support will not work if this option is enabled. Takes a boolean argument, defaults to \fByes\f1. The \fB--disallow-module-loading\f1 command line option takes precedence. +.TP +\fBallow-exit=\f1 Allow/disallow exit on user request. Defaults to \fByes\f1. +.TP +\fBresample-method=\f1 The resampling algorithm to use. Use one of \fBsrc-sinc-best-quality\f1, \fBsrc-sinc-medium-quality\f1, \fBsrc-sinc-fastest\f1, \fBsrc-zero-order-hold\f1, \fBsrc-linear\f1, \fBtrivial\f1, \fBspeex-float-N\f1, \fBspeex-fixed-N\f1, \fBffmpeg\f1, \fBsoxr-mq\f1, \fBsoxr-hq\f1, \fBsoxr-vhq\f1. See the documentation of libsamplerate and speex for explanations of the different src- and speex- methods, respectively. The method \fBtrivial\f1 is the most basic algorithm implemented. If you're tight on CPU consider using this. On the other hand it has the worst quality of them all. The Speex resamplers take an integer quality setting in the range 0..10 (bad...good). They exist in two flavours: \fBfixed\f1 and \fBfloat\f1. The former uses fixed point numbers, the latter relies on floating point numbers. On most desktop CPUs the float point resampler is a lot faster, and it also offers slightly better quality. The soxr-family methods are based on libsoxr, a resampler library from the SoX sound processing utility. The mq variant has the best performance of the three. The hq is more expensive and, according to SoX developers, is considered the best choice for audio of up to 16 bits per sample. The vhq variant has more precision than hq and is more suitable for larger samples. The Soxr resamplers generally offer better quality at less CPU compared to other resamplers, such as speex. The downside is that they can add a significant delay to the output (usually up to around 20 ms, in rare cases more). See the output of \fBdump-resample-methods\f1 for a complete list of all available resamplers. Defaults to \fBspeex-float-1\f1. The \fB--resample-method\f1 command line option takes precedence. Note that some modules overwrite or allow overwriting of the resampler to use. +.TP +\fBavoid-resampling=\f1 If set, try to configure the device to avoid resampling. This only works on devices which support reconfiguring their rate, and when no other streams are already playing or capturing audio. The device will also not be configured to a rate less than the default and alternate sample rates. +.TP +\fBenable-remixing=\f1 If disabled never upmix or downmix channels to different channel maps. Instead, do a simple name-based matching only. Defaults to \fByes\f1. There is no known valid use case for setting this option to \fBno\f1, therefore, this option is deprecated and may be removed in a future version of PulseAudio. +.TP +\fBremixing-use-all-sink-channels=\f1 If enabled, use all sink channels when remixing. Otherwise, remix to the minimal set of sink channels needed to reproduce all of the source channels. (This has no effect on LFE remixing.) Defaults to \fByes\f1. +.TP +\fBenable-lfe-remixing=\f1 This is a way to set \fBremixing-produce-lfe\f1 and \fBremixing-consume-lfe\f1 to the same value at once. This option only exists for backward compatibility and may be removed in a future version of PulseAudio. +.TP +\fBremixing-produce-lfe=\f1 If enabled, and the sink input does not have the LFE channel, synthesize the output LFE channel as a (lowpass-filtered, if \fBlfe-crossover-freq\f1 is not 0) average of all input channels. Also, when \fBlfe-crossover-freq\f1 is not 0, filter out low frequencies from other channels while producing a synthetic LFE output. If disabled, the output LFE channel will only get a signal when an input LFE channel is available as well. Defaults to \fBno\f1. +.TP +\fBremixing-consume-lfe=\f1 If enabled, and the sink does not have an LFE channel, redirect the input LFE channel (if any) to other channels. If disabled, the input LFE channel will remain unused unless the sink has the LFE channel as well. Defaults to \fBno\f1. +.TP +\fBlfe-crossover-freq=\f1 The crossover frequency (in Hz) for the LFE filter. Set it to 0 to disable the LFE filter. Defaults to 0. +.TP +\fBuse-pid-file=\f1 Create a PID file in the runtime directory (\fI$XDG_RUNTIME_DIR/pulse/pid\f1). If this is enabled you may use commands like \fB--kill\f1 or \fB--check\f1. If you are planning to start more than one PulseAudio process per user, you better disable this option since it effectively disables multiple instances. Takes a boolean argument, defaults to \fByes\f1. The \fB--use-pid-file\f1 command line option takes precedence. +.TP +\fBcpu-limit=\f1 If disabled do not install the CPU load limiter, even on platforms where it is supported. This option is useful when debugging/profiling PulseAudio to disable disturbing SIGXCPU signals. Takes a boolean argument, defaults to \fBno\f1. The \fB--no-cpu-limit\f1 command line argument takes precedence. +.TP +\fBsystem-instance=\f1 Run the daemon as system-wide instance, requires root privileges. Takes a boolean argument, defaults to \fBno\f1. The \fB--system\f1 command line argument takes precedence. +.TP +\fBlocal-server-type=\f1 Please don't use this option if you don't have to! This option is currently only useful when you want D-Bus clients to use a remote server. This option may be removed in future versions. If you only want to run PulseAudio in the system mode, use the \fBsystem-instance\f1 option. This option takes one of \fBuser\f1, \fBsystem\f1 or \fBnone\f1 as the argument. This is essentially a duplicate for the \fBsystem-instance\f1 option. The difference is the \fBnone\f1 option, which is useful when you want to use a remote server with D-Bus clients. If both this and \fBsystem-instance\f1 are defined, this option takes precedence. Defaults to whatever the \fBsystem-instance\f1 is set. +.TP +\fBenable-shm=\f1 Enable data transfer via POSIX or memfd shared memory. Takes a boolean argument, defaults to \fByes\f1. The \fB--disable-shm\f1 command line argument takes precedence. +.TP +\fBenable-memfd=\f1. Enable memfd shared memory. Takes a boolean argument, defaults to \fByes\f1. +.TP +\fBshm-size-bytes=\f1 Sets the shared memory segment size for the daemon, in bytes. If left unspecified or is set to 0 it will default to some system-specific default, usually 64 MiB. Please note that usually there is no need to change this value, unless you are running an OS kernel that does not do memory overcommit. +.TP +\fBlock-memory=\f1 Locks the entire PulseAudio process into memory. While this might increase drop-out safety when used in conjunction with real-time scheduling this takes away a lot of memory from other processes and might hence considerably slow down your system. Defaults to \fBno\f1. +.TP +\fBflat-volumes=\f1 Enable 'flat' volumes, i.e. where possible let the sink volume equal the maximum of the volumes of the inputs connected to it. Takes a boolean argument, defaults to \fBno\f1. +.TP +\fBrescue-streams=\f1 Enable rescuing of streams if the used sink or source becomes unavailable. Takes a boolean argument. If set to \fByes\f1, pulseaudio will try to move the streams from a sink or source that becomes unavailable to the default sink or source. If set to \fBno\f1, streams will be killed if the corresponding sink or source disappears. Defaults to \fByes\f1. +.SH SCHEDULING +.TP +\fBhigh-priority=\f1 Renice the daemon after startup to become a high-priority process. This a good idea if you experience drop-outs during playback. However, this is a certain security issue, since it works when called SUID root only, or RLIMIT_NICE is used. root is dropped immediately after gaining the nice level on startup, thus it is presumably safe. See \fBpulseaudio(1)\f1 for more information. Takes a boolean argument, defaults to \fByes\f1. The \fB--high-priority\f1 command line option takes precedence. +.TP +\fBrealtime-scheduling=\f1 Try to acquire SCHED_FIFO scheduling for the IO threads. The same security concerns as mentioned above apply. However, if PA enters an endless loop, realtime scheduling causes a system lockup. Thus, realtime scheduling should only be enabled on trusted machines for now. Please note that only the IO threads of PulseAudio are made real-time. The controlling thread is left a normally scheduled thread. Thus enabling the high-priority option is orthogonal. See \fBpulseaudio(1)\f1 for more information. Takes a boolean argument, defaults to \fByes\f1. The \fB--realtime\f1 command line option takes precedence. +.TP +\fBrealtime-priority=\f1 The realtime priority to acquire, if \fBrealtime-scheduling\f1 is enabled. Note: JACK uses 10 by default, 9 for clients. Thus it is recommended to choose the PulseAudio real-time priorities lower. Some PulseAudio threads might choose a priority a little lower or higher than the specified value. Defaults to \fB5\f1. +.TP +\fBnice-level=\f1 The nice level to acquire for the daemon, if \fBhigh-priority\f1 is enabled. Note: on some distributions X11 uses -10 by default. Defaults to -11. +.SH IDLE TIMES +.TP +\fBexit-idle-time=\f1 Terminate the daemon after the last client quit and this time in seconds passed. Use a negative value to disable this feature. Defaults to 20. The \fB--exit-idle-time\f1 command line option takes precedence. + +When PulseAudio runs in the per-user mode and detects a login session, then any positive value will be reset to 0 so that PulseAudio will terminate immediately on logout. A positive value therefore has effect only in environments where there's no support for login session tracking (or if the user is logged in without a session spawned, a.k.a. lingering). A negative value can still be used to disable any automatic exit. + +When PulseAudio runs in the system mode, automatic exit is always disabled, so this option does nothing. +.TP +\fBscache-idle-time=\f1 Unload autoloaded sample cache entries after being idle for this time in seconds. Defaults to 20. The \fB--scache-idle-time\f1 command line option takes precedence. +.SH PATHS +.TP +\fBdl-search-path=\f1 The path where to look for dynamic shared objects (DSOs/plugins). You may specify more than one path separated by colons. The default path depends on compile time settings. The \fB--dl-search-path\f1 command line option takes precedence. +.TP +\fBdefault-script-file=\f1 The default configuration script file to load. Specify an empty string for not loading a default script file. The default behaviour is to load \fI~/.config/pulse/default.pa\f1, and if that file does not exist fall back to the system wide installed version \fI/usr/local/etc/pulse/default.pa\f1. If run in system-wide mode the file \fI/usr/local/etc/pulse/system.pa\f1 is used instead. If \fB-n\f1 is passed on the command line or \fBdefault-script-file=\f1 is disabled the default configuration script is ignored. +.TP +\fBload-default-script-file=\f1 Load the default configuration script file as specified in \fBdefault-script-file=\f1. Defaults to \fByes\f1. +.SH LOGGING +.TP +\fBlog-target=\f1 The default log target. Use either \fBstderr\f1, \fBsyslog\f1, \fBjournal\f1 (optional), \fBauto\f1, \fBfile:PATH\f1 or \fBnewfile:PATH\f1. On traditional systems \fBauto\f1 is equivalent to \fBsyslog\f1. On systemd-enabled systems, auto is equivalent to \fBjournal\f1, in case \fBdaemonize\f1 is enabled, and to \fBstderr\f1 otherwise. If set to \fBfile:PATH\f1, logging is directed to the file indicated by PATH. \fBnewfile:PATH\f1 is otherwise the same as \fBfile:PATH\f1, but existing files are never overwritten. If the specified file already exists, a suffix is added to the file name to avoid overwriting. Defaults to \fBauto\f1. The \fB--log-target\f1 command line option takes precedence. +.TP +\fBlog-level=\f1 Log level, one of \fBdebug\f1, \fBinfo\f1, \fBnotice\f1, \fBwarning\f1, \fBerror\f1. Log messages with a lower log level than specified here are not logged. Defaults to \fBnotice\f1. The \fB--log-level\f1 command line option takes precedence. The \fB-v\f1 command line option might alter this setting. +.TP +\fBlog-meta=\f1 With each logged message log the code location the message was generated from. Defaults to \fBno\f1. +.TP +\fBlog-time=\f1 With each logged message log the relative time since startup. Defaults to \fBno\f1. +.TP +\fBlog-backtrace=\f1 When greater than 0, with each logged message log a code stack trace up the specified number of stack frames. Defaults to \fB0\f1. +.SH RESOURCE LIMITS +See \fBgetrlimit(2)\f1 for more information. Set to -1 if PulseAudio shall not touch the resource limit. Not all resource limits are available on all operating systems. +.TP +\fBrlimit-as\f1 Defaults to -1. +.TP +\fBrlimit-rss\f1 Defaults to -1. +.TP +\fBrlimit-core\f1 Defaults to -1. +.TP +\fBrlimit-data\f1 Defaults to -1. +.TP +\fBrlimit-fsize\f1 Defaults to -1. +.TP +\fBrlimit-nofile\f1 Defaults to 256. +.TP +\fBrlimit-stack\f1 Defaults to -1. +.TP +\fBrlimit-nproc\f1 Defaults to -1. +.TP +\fBrlimit-locks\f1 Defaults to -1. +.TP +\fBrlimit-sigpending\f1 Defaults to -1. +.TP +\fBrlimit-msgqueue\f1 Defaults to -1. +.TP +\fBrlimit-memlock\f1 Defaults to 16 KiB. Please note that the JACK client libraries may require more locked memory. +.TP +\fBrlimit-nice\f1 Defaults to 31. Please make sure that the default nice level as configured with \fBnice-level\f1 fits in this resource limit, if \fBhigh-priority\f1 is enabled. +.TP +\fBrlimit-rtprio\f1 Defaults to 9. Please make sure that the default real-time priority level as configured with \fBrealtime-priority=\f1 fits in this resource limit, if \fBrealtime-scheduling\f1 is enabled. The JACK client libraries require a real-time priority of 9 by default. +.TP +\fBrlimit-rttime\f1 Defaults to 1000000. +.SH DEFAULT DEVICE SETTINGS +Most drivers try to open the audio device with these settings and then fall back to lower settings. The default settings are CD quality: 16bit native endian, 2 channels, 44100 Hz sampling. +.TP +\fBdefault-sample-format=\f1 The default sampling format. See https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SupportedAudioFormats/ for possible values. +.TP +\fBdefault-sample-rate=\f1 The default sample frequency. +.TP +\fBdefault-sample-channels\f1 The default number of channels. +.TP +\fBdefault-channel-map\f1 The default channel map. +.TP +\fBalternate-sample-rate\f1 The alternate sample frequency. Sinks and sources will use either the default-sample-rate value or this alternate value, typically 44.1 or 48kHz. Switching between default and alternate values is enabled only when the sinks/sources are suspended. This option is ignored in passthrough mode where the stream rate will be used. If set to the same value as the default sample rate, this feature is disabled. +.SH DEFAULT FRAGMENT SETTINGS +Some hardware drivers require the hardware playback buffer to be subdivided into several fragments. It is possible to change these buffer metrics for machines with high scheduling latencies. Not all possible values that may be configured here are available in all hardware. The driver will find the nearest setting supported. Modern drivers that support timer-based scheduling ignore these options. +.TP +\fBdefault-fragments=\f1 The default number of fragments. Defaults to 4. +.TP +\fBdefault-fragment-size-msec=\f1The duration of a single fragment. Defaults to 25ms (i.e. the total buffer is thus 100ms long). +.SH DEFAULT DEFERRED VOLUME SETTINGS +With the flat volume feature enabled, the sink HW volume is set to the same level as the highest volume input stream. Any other streams (with lower volumes) have the appropriate adjustment applied in SW to bring them to the correct overall level. Sadly hardware mixer changes cannot be timed accurately and thus this change of volumes can sometimes cause the resulting output sound to be momentarily too loud or too soft. So to ensure SW and HW volumes are applied concurrently without any glitches, their application needs to be synchronized. The sink implementation needs to support deferred volumes. The following parameters can be used to refine the process. +.TP +\fBenable-deferred-volume=\f1 Enable deferred volume for the sinks that support it. This feature is enabled by default. +.TP +\fBdeferred-volume-safety-margin-usec=\f1 The amount of time (in usec) by which the HW volume increases are delayed and HW volume decreases are advanced. Defaults to 8000 usec. +.TP +\fBdeferred-volume-extra-delay-usec=\f1 The amount of time (in usec) by which HW volume changes are delayed. Negative values are also allowed. Defaults to 0. +.SH AUTHORS +The PulseAudio Developers <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>; PulseAudio is available from \fBhttp://pulseaudio.org/\f1 +.SH SEE ALSO +\fBpulse-client.conf(5)\f1, \fBdefault.pa(5)\f1, \fBpulseaudio(1)\f1, \fBpacmd(1)\f1 diff --git a/man/pulse-daemon.conf.5.xml.in b/man/pulse-daemon.conf.5.xml.in new file mode 100644 index 0000000..52223fb --- /dev/null +++ b/man/pulse-daemon.conf.5.xml.in @@ -0,0 +1,586 @@ +<?xml version="1.0"?><!--*-nxml-*--> +<!DOCTYPE manpage SYSTEM "xmltoman.dtd"> +<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?> + +<!-- +This file is part of PulseAudio. + +PulseAudio is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +PulseAudio is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General +Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +--> + +<manpage name="pulse-daemon.conf" section="5" desc="PulseAudio daemon configuration file"> + + <synopsis> + <p><file>~/.config/pulse/daemon.conf</file></p> + <p><file>~/.config/pulse/daemon.conf.d/*.conf</file></p> + <p><file>@PA_DEFAULT_CONFIG_DIR@/daemon.conf</file></p> + <p><file>@PA_DEFAULT_CONFIG_DIR@/daemon.conf.d/*.conf</file></p> + </synopsis> + + <description> + <p>The PulseAudio sound server reads configuration directives from + a configuration file on startup. If the per-user file + <file>~/.config/pulse/daemon.conf</file> exists, it is used, otherwise the + system configuration file <file>@PA_DEFAULT_CONFIG_DIR@/daemon.conf</file> + is used. In addition to those main files, configuration directives can also + be put in files under directories + <file>~/.config/pulse/daemon.conf.d/</file> and + <file>@PA_DEFAULT_CONFIG_DIR@/daemon.conf.d/</file>. Those files have to + have the .conf file name extension, but otherwise the file names can be + chosen freely. The files under daemon.conf.d are processed in alphabetical + order. In case the same option is set in multiple files, the last file to + set an option overrides earlier files. The main daemon.conf file is + processed first, so options set in files under daemon.conf.d override the + main file.</p> + + <p>Please note that the server also reads a configuration script on + startup. See <manref name="default.pa" section="5"/>.</p> + + <p>The configuration file is a simple collection of variable + declarations. If the configuration file parser encounters either ; + or # it ignores the rest of the line until its end.</p> + + <p>For the settings that take a boolean argument the values + <opt>true</opt>, <opt>yes</opt>, <opt>on</opt> and <opt>1</opt> + are equivalent, resp. <opt>false</opt>, <opt>no</opt>, + <opt>off</opt>, <opt>0</opt>.</p> + + </description> + + <section name="General Directives"> + + <option> + <p><opt>daemonize=</opt> Daemonize after startup. Takes a + boolean value, defaults to <opt>no</opt>. The <opt>--daemonize</opt> + command line option takes precedence.</p> + </option> + + <option> + <p><opt>fail=</opt> Fail to start up if any of the directives + in the configuration script <file>default.pa</file> + fail. Takes a boolean argument, defaults to <opt>yes</opt>. The <opt>--fail</opt> command line + option takes precedence.</p> + </option> + + <option> + <p><opt>allow-module-loading=</opt> Allow/disallow module + loading after startup. This is a security feature that if + disabled makes sure that no further modules may be loaded into + the PulseAudio server after startup completed. It is recommended + to disable this when <opt>system-instance</opt> is + enabled. Please note that certain features like automatic + hot-plug support will not work if this option is enabled. Takes + a boolean argument, defaults to <opt>yes</opt>. The + <opt>--disallow-module-loading</opt> command line option takes + precedence.</p> + </option> + + <option> + <p><opt>allow-exit=</opt> Allow/disallow exit on user + request. Defaults to <opt>yes</opt>.</p> + </option> + + <option> + <p><opt>resample-method=</opt> The resampling algorithm to + use. Use one of <opt>src-sinc-best-quality</opt>, + <opt>src-sinc-medium-quality</opt>, <opt>src-sinc-fastest</opt>, + <opt>src-zero-order-hold</opt>, <opt>src-linear</opt>, + <opt>trivial</opt>, <opt>speex-float-N</opt>, + <opt>speex-fixed-N</opt>, <opt>ffmpeg</opt>, <opt>soxr-mq</opt>, + <opt>soxr-hq</opt>, <opt>soxr-vhq</opt>. See the + documentation of libsamplerate and speex for explanations of the + different src- and speex- methods, respectively. The method + <opt>trivial</opt> is the most basic algorithm implemented. If + you're tight on CPU consider using this. On the other hand it has + the worst quality of them all. The Speex resamplers take an + integer quality setting in the range 0..10 (bad...good). They + exist in two flavours: <opt>fixed</opt> and <opt>float</opt>. The former uses fixed point + numbers, the latter relies on floating point numbers. On most + desktop CPUs the float point resampler is a lot faster, and it + also offers slightly better quality. The soxr-family methods + are based on libsoxr, a resampler library from the SoX sound processing utility. + The mq variant has the best performance of the three. The hq is more expensive + and, according to SoX developers, is considered the best choice for audio of up to 16 bits per sample. + The vhq variant has more precision than hq and is more suitable for larger samples. The Soxr resamplers + generally offer better quality at less CPU compared to other resamplers, such as speex. + The downside is that they can add a significant delay to the output + (usually up to around 20 ms, in rare cases more). + See the output of <opt>dump-resample-methods</opt> for a complete list of all + available resamplers. Defaults to <opt>speex-float-1</opt>. The + <opt>--resample-method</opt> command line option takes precedence. + Note that some modules overwrite or allow overwriting of the + resampler to use.</p> + </option> + + <option> + <p><opt>avoid-resampling=</opt> If set, try to configure the + device to avoid resampling. This only works on devices which + support reconfiguring their rate, and when no other streams are + already playing or capturing audio. The device will also not be + configured to a rate less than the default and alternate sample + rates.</p> + </option> + + <option> + <p><opt>enable-remixing=</opt> If disabled never upmix or + downmix channels to different channel maps. Instead, do a simple + name-based matching only. Defaults to <opt>yes</opt>. + There is no known valid use case for setting this option to + <opt>no</opt>, therefore, this option is deprecated and may be + removed in a future version of PulseAudio.</p> + </option> + + <option> + <p><opt>remixing-use-all-sink-channels=</opt> If enabled, use + all sink channels when remixing. Otherwise, remix to the minimal + set of sink channels needed to reproduce all of the source + channels. (This has no effect on LFE remixing.) Defaults to + <opt>yes</opt>.</p> + </option> + + <option> + <p><opt>enable-lfe-remixing=</opt> This is a way to set + <opt>remixing-produce-lfe</opt> and <opt>remixing-consume-lfe</opt> + to the same value at once. This option only exists for backward + compatibility and may be removed in a future version of PulseAudio.</p> + </option> + + <option> + <p><opt>remixing-produce-lfe=</opt> If enabled, and the sink input + does not have the LFE channel, synthesize the output LFE channel + as a (lowpass-filtered, if <opt>lfe-crossover-freq</opt> is not 0) + average of all input channels. Also, when <opt>lfe-crossover-freq</opt> + is not 0, filter out low frequencies from other channels while + producing a synthetic LFE output. If disabled, the output LFE channel + will only get a signal when an input LFE channel is available as well. + Defaults to <opt>no</opt>.</p> + </option> + + <option> + <p><opt>remixing-consume-lfe=</opt> If enabled, and the sink does not + have an LFE channel, redirect the input LFE channel (if any) to other + channels. If disabled, the input LFE channel will remain unused unless + the sink has the LFE channel as well. Defaults to <opt>no</opt>.</p> + </option> + + <option> + <p><opt>lfe-crossover-freq=</opt> The crossover frequency (in Hz) for the + LFE filter. Set it to 0 to disable the LFE filter. Defaults to 0.</p> + </option> + + <option> + <p><opt>use-pid-file=</opt> Create a PID file in the runtime directory + (<file>$XDG_RUNTIME_DIR/pulse/pid</file>). If this is enabled you may + use commands like <opt>--kill</opt> or <opt>--check</opt>. If + you are planning to start more than one PulseAudio process per + user, you better disable this option since it effectively + disables multiple instances. Takes a boolean argument, defaults + to <opt>yes</opt>. The <opt>--use-pid-file</opt> command line + option takes precedence.</p> + </option> + + <option> + <p><opt>cpu-limit=</opt> If disabled do not install the CPU load + limiter, even on platforms where it is supported. This option is + useful when debugging/profiling PulseAudio to disable disturbing + SIGXCPU signals. Takes a boolean argument, defaults to + <opt>no</opt>. The <opt>--no-cpu-limit</opt> command line + argument takes precedence.</p> + </option> + + <option> + <p><opt>system-instance=</opt> Run the daemon as system-wide + instance, requires root privileges. Takes a boolean argument, + defaults to <opt>no</opt>. The <opt>--system</opt> command line + argument takes precedence.</p> + </option> + + <option> + <p><opt>local-server-type=</opt> Please don't use this option if + you don't have to! This option is currently only useful when you + want D-Bus clients to use a remote server. This option may be + removed in future versions. If you only want to run PulseAudio + in the system mode, use the <opt>system-instance</opt> option. + This option takes one of <opt>user</opt>, <opt>system</opt> or + <opt>none</opt> as the argument. This is essentially a duplicate + for the <opt>system-instance</opt> option. The difference is the + <opt>none</opt> option, which is useful when you want to use a + remote server with D-Bus clients. If both this and + <opt>system-instance</opt> are defined, this option takes + precedence. Defaults to whatever the <opt>system-instance</opt> + is set.</p> + </option> + + <option> + <p><opt>enable-shm=</opt> Enable data transfer via POSIX + or memfd shared memory. Takes a boolean argument, defaults to + <opt>yes</opt>. The <opt>--disable-shm</opt> command line + argument takes precedence.</p> + </option> + + <option> + <p><opt>enable-memfd=</opt>. Enable memfd shared memory. Takes + a boolean argument, defaults to <opt>yes</opt>.</p> + </option> + + <option> + <p><opt>shm-size-bytes=</opt> Sets the shared memory segment + size for the daemon, in bytes. If left unspecified or is set to 0 + it will default to some system-specific default, usually 64 + MiB. Please note that usually there is no need to change this + value, unless you are running an OS kernel that does not do + memory overcommit.</p> + </option> + + <option> + <p><opt>lock-memory=</opt> Locks the entire PulseAudio process + into memory. While this might increase drop-out safety when used + in conjunction with real-time scheduling this takes away a lot + of memory from other processes and might hence considerably slow + down your system. Defaults to <opt>no</opt>.</p> + </option> + + <option> + <p><opt>flat-volumes=</opt> Enable 'flat' volumes, i.e. where + possible let the sink volume equal the maximum of the volumes of + the inputs connected to it. Takes a boolean argument, defaults + to <opt>no</opt>.</p> + </option> + + <option> + <p><opt>rescue-streams=</opt> Enable rescuing of streams if the + used sink or source becomes unavailable. Takes a boolean argument. + If set to <opt>yes</opt>, pulseaudio will try to move the streams + from a sink or source that becomes unavailable to the default sink + or source. If set to <opt>no</opt>, streams will be killed if the + corresponding sink or source disappears. Defaults to <opt>yes</opt>.</p> + </option> + + </section> + + <section name="Scheduling"> + + <option> + <p><opt>high-priority=</opt> Renice the daemon after startup to + become a high-priority process. This a good idea if you + experience drop-outs during playback. However, this is a certain + security issue, since it works when called SUID root only, or + RLIMIT_NICE is used. root is dropped immediately after gaining + the nice level on startup, thus it is presumably safe. See + <manref section="1" name="pulseaudio"/> for more + information. Takes a boolean argument, defaults to <opt>yes</opt>. The <opt>--high-priority</opt> + command line option takes precedence.</p> + </option> + + <option> + <p><opt>realtime-scheduling=</opt> Try to acquire SCHED_FIFO + scheduling for the IO threads. The same security concerns as + mentioned above apply. However, if PA enters an endless loop, + realtime scheduling causes a system lockup. Thus, realtime + scheduling should only be enabled on trusted machines for + now. Please note that only the IO threads of PulseAudio are made + real-time. The controlling thread is left a normally scheduled + thread. Thus enabling the high-priority option is orthogonal. + See <manref section="1" name="pulseaudio"/> for more + information. Takes a boolean argument, defaults to <opt>yes</opt>. The + <opt>--realtime</opt> command line option takes precedence.</p> + </option> + + <option> + <p><opt>realtime-priority=</opt> The realtime priority to + acquire, if <opt>realtime-scheduling</opt> is enabled. Note: JACK uses 10 + by default, 9 for clients. Thus it is recommended to choose the + PulseAudio real-time priorities lower. Some PulseAudio threads + might choose a priority a little lower or higher than the + specified value. Defaults to <opt>5</opt>.</p> + </option> + + <option> + <p><opt>nice-level=</opt> The nice level to acquire for the + daemon, if <opt>high-priority</opt> is enabled. Note: on some + distributions X11 uses -10 by default. Defaults to -11.</p> + </option> + + </section> + + <section name="Idle Times"> + + <option> + <p><opt>exit-idle-time=</opt> Terminate the daemon after the + last client quit and this time in seconds passed. Use a negative value to + disable this feature. Defaults to 20. The <opt>--exit-idle-time</opt> + command line option takes precedence.</p> + + <p>When PulseAudio runs in the per-user mode and detects a login + session, then any positive value will be reset to 0 so that PulseAudio + will terminate immediately on logout. A positive value therefore has + effect only in environments where there's no support for login session + tracking (or if the user is logged in without a session spawned, a.k.a. + lingering). A negative value can still be used to disable any automatic + exit.</p> + + <p>When PulseAudio runs in the system mode, automatic exit is always + disabled, so this option does nothing.</p> + </option> + + <option> + <p><opt>scache-idle-time=</opt> Unload autoloaded sample cache + entries after being idle for this time in seconds. Defaults to + 20. The <opt>--scache-idle-time</opt> command line option takes + precedence.</p> + </option> + + </section> + + <section name="Paths"> + + <option> + <p><opt>dl-search-path=</opt> The path where to look for dynamic + shared objects (DSOs/plugins). You may specify more than one + path separated by colons. The default path depends on compile + time settings. The <opt>--dl-search-path</opt> command line + option takes precedence. </p> + </option> + + <option> + <p><opt>default-script-file=</opt> The default configuration + script file to load. Specify an empty string for not loading a + default script file. The default behaviour is to load + <file>~/.config/pulse/default.pa</file>, and if that file does not + exist fall back to the system wide installed version + <file>@PA_DEFAULT_CONFIG_DIR@/default.pa</file>. If run in system-wide + mode the file <file>@PA_DEFAULT_CONFIG_DIR@/system.pa</file> is used + instead. If <opt>-n</opt> is passed on the command line + or <opt>default-script-file=</opt> is disabled the default + configuration script is ignored.</p> + </option> + + <option> + <p><opt>load-default-script-file=</opt> Load the default + configuration script file as specified + in <opt>default-script-file=</opt>. Defaults to <opt>yes</opt>.</p> + </option> + + </section> + + <section name="Logging"> + + <option> + <p><opt>log-target=</opt> The default log target. Use either + <opt>stderr</opt>, <opt>syslog</opt>, <opt>journal</opt> (optional), + <opt>auto</opt>, <opt>file:PATH</opt> or <opt>newfile:PATH</opt>. On traditional + systems <opt>auto</opt> is equivalent to <opt>syslog</opt>. On systemd-enabled + systems, auto is equivalent to <opt>journal</opt>, in case <opt>daemonize</opt> + is enabled, and to <opt>stderr</opt> otherwise. If set to <opt>file:PATH</opt>, + logging is directed to the file indicated by PATH. <opt>newfile:PATH</opt> is + otherwise the same as <opt>file:PATH</opt>, but existing files are never + overwritten. If the specified file already exists, a suffix is added to + the file name to avoid overwriting. Defaults to <opt>auto</opt>. The + <opt>--log-target</opt> command line option takes precedence.</p> + </option> + + <option> + <p><opt>log-level=</opt> Log level, one of <opt>debug</opt>, + <opt>info</opt>, <opt>notice</opt>, <opt>warning</opt>, + <opt>error</opt>. Log messages with a lower log level than + specified here are not logged. Defaults to + <opt>notice</opt>. The <opt>--log-level</opt> command line + option takes precedence. The <opt>-v</opt> command line option + might alter this setting.</p> + </option> + + <option> + <p><opt>log-meta=</opt> With each logged message log the code + location the message was generated from. Defaults to + <opt>no</opt>.</p> + </option> + + <option> + <p><opt>log-time=</opt> With each logged message log the + relative time since startup. Defaults to <opt>no</opt>.</p> + </option> + + <option> + <p><opt>log-backtrace=</opt> When greater than 0, with each + logged message log a code stack trace up the specified + number of stack frames. Defaults to <opt>0</opt>.</p> + </option> + + </section> + + <section name="Resource Limits"> + + <p>See <manref name="getrlimit" section="2"/> for + more information. Set to -1 if PulseAudio shall not touch the resource + limit. Not all resource limits are available on all operating + systems.</p> + + <option> + <p><opt>rlimit-as</opt> Defaults to -1.</p> + </option> + <option> + <p><opt>rlimit-rss</opt> Defaults to -1.</p> + </option> + <option> + <p><opt>rlimit-core</opt> Defaults to -1.</p> + </option> + <option> + <p><opt>rlimit-data</opt> Defaults to -1.</p> + </option> + <option> + <p><opt>rlimit-fsize</opt> Defaults to -1.</p> + </option> + <option> + <p><opt>rlimit-nofile</opt> Defaults to 256.</p> + </option> + <option> + <p><opt>rlimit-stack</opt> Defaults to -1.</p> + </option> + <option> + <p><opt>rlimit-nproc</opt> Defaults to -1.</p> + </option> + <option> + <p><opt>rlimit-locks</opt> Defaults to -1.</p> + </option> + <option> + <p><opt>rlimit-sigpending</opt> Defaults to -1.</p> + </option> + <option> + <p><opt>rlimit-msgqueue</opt> Defaults to -1.</p> + </option> + <option> + <p><opt>rlimit-memlock</opt> Defaults to 16 KiB. Please note + that the JACK client libraries may require more locked + memory.</p> + </option> + <option> + <p><opt>rlimit-nice</opt> Defaults to 31. Please make sure that + the default nice level as configured with <opt>nice-level</opt> + fits in this resource limit, if <opt>high-priority</opt> is + enabled.</p> + </option> + <option> + <p><opt>rlimit-rtprio</opt> Defaults to 9. Please make sure that + the default real-time priority level as configured with + <opt>realtime-priority=</opt> fits in this resource limit, if + <opt>realtime-scheduling</opt> is enabled. The JACK client + libraries require a real-time priority of 9 by default.</p> + </option> + <option> + <p><opt>rlimit-rttime</opt> Defaults to 1000000.</p> + </option> + + </section> + + <section name="Default Device Settings"> + + <p>Most drivers try to open the audio device with these settings + and then fall back to lower settings. The default settings are CD + quality: 16bit native endian, 2 channels, 44100 Hz sampling.</p> + + <option> + <p><opt>default-sample-format=</opt> The default sampling + format. See + https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SupportedAudioFormats/ + for possible values.</p> + </option> + + <option> + <p><opt>default-sample-rate=</opt> The default sample frequency.</p> + </option> + + <option> + <p><opt>default-sample-channels</opt> The default number of channels.</p> + </option> + + <option> + <p><opt>default-channel-map</opt> The default channel map.</p> + </option> + + <option> + <p><opt>alternate-sample-rate</opt> The alternate sample + frequency. Sinks and sources will use either the + default-sample-rate value or this alternate value, typically 44.1 + or 48kHz. Switching between default and alternate values is + enabled only when the sinks/sources are suspended. This option + is ignored in passthrough mode where the stream rate will be used. + If set to the same value as the default sample rate, this feature is + disabled.</p> + </option> + + </section> + + <section name="Default Fragment Settings"> + + <p>Some hardware drivers require the hardware playback buffer to + be subdivided into several fragments. It is possible to change + these buffer metrics for machines with high scheduling + latencies. Not all possible values that may be configured here are + available in all hardware. The driver will find the nearest + setting supported. Modern drivers that support timer-based + scheduling ignore these options.</p> + + <option> + <p><opt>default-fragments=</opt> The default number of + fragments. Defaults to 4.</p> + </option> + <option> + <p><opt>default-fragment-size-msec=</opt>The duration of a + single fragment. Defaults to 25ms (i.e. the total buffer is thus + 100ms long).</p> + </option> + + </section> + + <section name="Default Deferred Volume Settings"> + + <p>With the flat volume feature enabled, the sink HW volume is set + to the same level as the highest volume input stream. Any other streams + (with lower volumes) have the appropriate adjustment applied in SW to + bring them to the correct overall level. Sadly hardware mixer changes + cannot be timed accurately and thus this change of volumes can sometimes + cause the resulting output sound to be momentarily too loud or too soft. + So to ensure SW and HW volumes are applied concurrently without any + glitches, their application needs to be synchronized. The sink + implementation needs to support deferred volumes. The following + parameters can be used to refine the process.</p> + + <option> + <p><opt>enable-deferred-volume=</opt> Enable deferred volume for the sinks that + support it. This feature is enabled by default.</p> + </option> + <option> + <p><opt>deferred-volume-safety-margin-usec=</opt> The amount of time (in + usec) by which the HW volume increases are delayed and HW volume + decreases are advanced. Defaults to 8000 usec.</p> + </option> + <option> + <p><opt>deferred-volume-extra-delay-usec=</opt> The amount of time (in usec) + by which HW volume changes are delayed. Negative values are also allowed. + Defaults to 0.</p> + </option> + + </section> + + <section name="Authors"> + <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; PulseAudio is available from <url href="@PACKAGE_URL@"/></p> + </section> + + <section name="See also"> + <p> + <manref name="pulse-client.conf" section="5"/>, <manref name="default.pa" section="5"/>, <manref name="pulseaudio" section="1"/>, <manref name="pacmd" section="1"/> + </p> + </section> + +</manpage> diff --git a/man/pulseaudio.1 b/man/pulseaudio.1 new file mode 100644 index 0000000..b6813bf --- /dev/null +++ b/man/pulseaudio.1 @@ -0,0 +1,179 @@ +.TH pulseaudio 1 User Manuals +.SH NAME +pulseaudio \- The PulseAudio Sound System +.SH SYNOPSIS +\fBpulseaudio [\fIoptions\fB] + +pulseaudio --help\fB + +pulseaudio --version\fB + +pulseaudio --dump-conf\fB + +pulseaudio --dump-modules\fB + +pulseaudio --dump-resample-methods\fB + +pulseaudio --cleanup-shm\fB + +pulseaudio --start\fB + +pulseaudio --kill\fB + +pulseaudio --check\fB +\f1 +.SH DESCRIPTION +PulseAudio is a networked low-latency sound server for Linux, POSIX and Windows systems. +.SH OPTIONS +.TP +\fB-h | --help\f1 +Show help. +.TP +\fB--version\f1 +Show version information. +.TP +\fB--dump-conf\f1 +Load the daemon configuration file \fIdaemon.conf\f1 (see below), parse remaining configuration options on the command line and dump the resulting daemon configuration, in a format that is compatible with \fIdaemon.conf\f1. +.TP +\fB--dump-modules\f1 +List available loadable modules. Combine with \fB-v\f1 for a more elaborate listing. +.TP +\fB--dump-resample-methods\f1 +List available audio resamplers. +.TP +\fB--cleanup-shm\f1 +Identify stale PulseAudio POSIX shared memory segments in \fI/dev/shm\f1 and remove them if possible. This is done implicitly whenever a new daemon starts up or a client tries to connect to a daemon. It should normally not be necessary to issue this command by hand. Only available on systems with POSIX shared memory segments implemented via a virtual file system mounted to \fI/dev/shm\f1 (e.g. Linux). +.TP +\fB--start\f1 +Start PulseAudio if it is not running yet. This is different from starting PulseAudio without \fB--start\f1 which would fail if PA is already running. PulseAudio is guaranteed to be fully initialized when this call returns. Implies \fB--daemonize\f1. +.TP +\fB-k | --kill\f1 +Kill an already running PulseAudio daemon of the calling user (Equivalent to sending a SIGTERM). +.TP +\fB--check\f1 +Return 0 as return code when the PulseAudio daemon is already running for the calling user, or non-zero otherwise. Produces no output on the console except for errors to stderr. + +Note that a non-zero return value doesn't necessarily mean that PulseAudio is not usable. Even if the server is not running, it may get automatically started via PulseAudio's autospawning mechanism or systemd's socket activation, or the environment might be such that checking for processes doesn't work (for example, the running server might not show up in a container, even if the server is accessible via a socket). Also disabling PID files with \fB--use-pid-file=no\f1 prevents \fB--check\f1 from detecting running servers. + +A more robust check in most situations would be to try establishing a client connection to the server. Unfortunately there's currently no \fB--check-connection\f1 option to replace \fB--check\f1, but running "pactl info" could be a pretty good substitute. +.TP +\fB--system\f1\fI[=BOOL]\f1 +Run as system-wide instance instead of per-user. Please note that this disables certain features of PulseAudio and is generally not recommended unless the system knows no local users (e.g. is a thin client). This feature needs special configuration and a dedicated UNIX user set up. It is highly recommended to combine this with \fB--disallow-module-loading\f1 (see below). +.TP +\fB-D | --daemonize\f1\fI[=BOOL]\f1 +Daemonize after startup, i.e. detach from the terminal. Note that when running as a systemd service you should use \fB--daemonize=no\f1 for systemd notification to work. +.TP +\fB--fail\f1\fI[=BOOL]\f1 +Fail startup when any of the commands specified in the startup script \fIdefault.pa\f1 (see below) fails. +.TP +\fB--high-priority\f1\fI[=BOOL]\f1 +Try to acquire a high Unix nice level. This will only succeed if the calling user has a non-zero RLIMIT_NICE resource limit set (on systems that support this), or we're configured to be run as system daemon (see \fI--system\f1 above). It is recommended to enable this, since it is only a negligible security risk (see below). +.TP +\fB--realtime\f1\fI[=BOOL]\f1 +Try to acquire a real-time scheduling for PulseAudio's I/O threads. This will only succeed if the calling user has a non-zero RLIMIT_RTPRIO resource limit set (on systems that support this), or rtkit is available and allows PulseAudio to enable real-time scheduling, or we are configured to be run as system daemon (see \fI--system\f1 above). +.TP +\fB--disallow-module-loading\f1\fI[=BOOL]\f1 +Disallow module loading after startup. This is a security feature since it disallows additional module loading during runtime and on user request. It is highly recommended when \fI--system\f1 is used (see above). Note however, that this breaks certain features like automatic module loading on hot plug. +.TP +\fB--disallow-exit\f1\fI[=BOOL]\f1 +Disallow user requested exit +.TP +\fB--exit-idle-time\f1\fI=SECS\f1 +Terminate the daemon after the last client quit and this time in seconds passed. Use a negative value to disable this feature. Defaults to 20. + +When PulseAudio runs in the per-user mode and detects a login session, then any positive value will be reset to 0 so that PulseAudio will terminate immediately on logout. A positive value therefore has effect only in environments where there's no support for login session tracking (or if the user is logged in without a session spawned, a.k.a. lingering). A negative value can still be used to disable any automatic exit. + +When PulseAudio runs in the system mode, automatic exit is always disabled, so this option does nothing. +.TP +\fB--scache-idle-time\f1\fI=SECS\f1 +Unload autoloaded samples from the cache when they haven't been used for the specified number of seconds. +.TP +\fB--log-level\f1\fI[=LEVEL]\f1 +If an argument is passed, set the log level to the specified value, otherwise increase the configured verbosity level by one. The log levels are numerical from 0 to 4, corresponding to \fIerror\f1, \fIwarn\f1, \fInotice\f1, \fIinfo\f1, \fIdebug\f1. Default log level is \fInotice\f1, i.e. all log messages with lower log levels are printed: \fIerror\f1, \fIwarn\f1, \fInotice\f1. +.TP +\fB-v | --verbose\f1 +Increase the configured verbosity level by one (see \fB--log-level\f1 above). Specify multiple times to increase log level multiple times. +.TP +\fB--log-target\f1\fI={auto,syslog,journal,stderr,file:PATH,newfile:PATH}\f1 +Specify the log target. If set to \fIauto\f1 (which is the default), then logging is directed to syslog when \fB--daemonize\f1 is passed, otherwise to STDERR. If set to \fIjournal\f1 logging is directed to the systemd journal. If set to \fIfile:PATH\f1, logging is directed to the file indicated by PATH. \fInewfile:PATH\f1 is otherwise the same as file:PATH, but existing files are never overwritten. If the specified file already exists, a suffix is added to the file name to avoid overwriting. +.TP +\fB--log-meta\f1\fI[=BOOL]\f1 +Show source code location in log messages. +.TP +\fB--log-time\f1\fI[=BOOL]\f1 +Show timestamps in log messages. +.TP +\fB--log-backtrace\f1\fI=FRAMES\f1 +When FRAMES is greater than 0, log for each message a stack trace up to the number of specified stack frames. +.TP +\fB-p | --dl-search-path\f1\fI=PATH\f1 +Set the search path for dynamic shared objects (plugins). +.TP +\fB--resample-method\f1\fI=METHOD\f1 +Use the specified resampler by default (See \fB--dump-resample-methods\f1 above for possible values). +.TP +\fB--use-pid-file\f1\fI[=BOOL]\f1 +Create a PID file. If this options is disabled it is possible to run multiple sound servers per user. +.TP +\fB--no-cpu-limit\f1\fI[=BOOL]\f1 +Do not install CPU load limiter on platforms that support it. By default, PulseAudio will terminate itself when it notices that it takes up too much CPU time. This is useful as a protection against system lockups when real-time scheduling is used (see below). Disabling this mechanism is useful when debugging PulseAudio with tools like \fBvalgrind(1)\f1 which slow down execution. +.TP +\fB--disable-shm\f1\fI[=BOOL]\f1 +PulseAudio clients and the server can exchange audio data via POSIX or memfd shared memory segments (on systems that support this). If disabled PulseAudio will communicate exclusively over sockets. Please note that data transfer via shared memory segments is always disabled when PulseAudio is running with \fB--system\f1 enabled (see above). +.TP +\fB--enable-memfd\f1\fI[=BOOL]\f1 +PulseAudio clients and the server can exchange audio data via memfds - the anonymous Linux Kernel shared memory mechanism (on kernels that support this). If disabled PulseAudio will communicate via POSIX shared memory. +.TP +\fB-L | --load\f1\fI="MODULE ARGUMENTS"\f1 +Load the specified plugin module with the specified arguments. +.TP +\fB-F | --file\f1\fI=FILENAME\f1 +Run the specified script on startup. May be specified multiple times to specify multiple scripts to be run in order. Combine with \fB-n\f1 to disable loading of the default script \fIdefault.pa\f1 (see below). +.TP +\fB-C\f1 +Open a command interpreter on STDIN/STDOUT after startup. This may be used to configure PulseAudio dynamically during runtime. Equivalent to \fB--load\f1\fI=module-cli\f1. +.TP +\fB-n\f1 +Don't load default script file \fIdefault.pa\f1 (see below) on startup. Useful in conjunction with \fB-C\f1 or \fB--file\f1. +.SH FILES +\fI~/.config/pulse/daemon.conf\f1, \fI/usr/local/etc/pulse/daemon.conf\f1: configuration settings for the PulseAudio daemon. If the version in the user's home directory does not exist the global configuration file is loaded. See \fBpulse-daemon.conf(5)\f1 for more information. + +\fI~/.config/pulse/default.pa\f1, \fI/usr/local/etc/pulse/default.pa\f1: the default configuration script to execute when the PulseAudio daemon is started. If the version in the user's home directory does not exist the global configuration script is loaded. See \fBdefault.pa(5)\f1 for more information. + +\fI~/.config/pulse/client.conf\f1, \fI/usr/local/etc/pulse/client.conf\f1: configuration settings for PulseAudio client applications. If the version in the user's home directory does not exist the global configuration file is loaded. See \fBpulse-client.conf(5)\f1 for more information. +.SH SIGNALS +\fISIGINT, SIGTERM\f1: the PulseAudio daemon will shut down (Same as \fB--kill\f1). + +\fISIGHUP\f1: dump a long status report to STDOUT or syslog, depending on the configuration. + +\fISIGUSR1\f1: load module-cli, allowing runtime reconfiguration via STDIN/STDOUT. + +\fISIGUSR2\f1: load module-cli-protocol-unix, allowing runtime reconfiguration via a AF_UNIX socket. See \fBpacmd(1)\f1 for more information. +.SH UNIX GROUPS AND USERS +Group \fIpulse-access\f1: if PulseAudio is running as a system daemon (see \fB--system\f1 above) access is granted to members of this group when they connect via AF_UNIX sockets. If PulseAudio is running as a user daemon this group has no meaning. + +User \fIpulse\f1, group \fIpulse\f1: if PulseAudio is running as a system daemon (see \fB--system\f1 above) and is started as root the daemon will drop privileges and become a normal user process using this user and group. If PulseAudio is running as a user daemon this user and group has no meaning. +.SH REAL-TIME AND HIGH-PRIORITY SCHEDULING +To minimize the risk of drop-outs during playback it is recommended to run PulseAudio with real-time scheduling if the underlying platform supports it. This decouples the scheduling latency of the PulseAudio daemon from the system load and is thus the best way to make sure that PulseAudio always gets CPU time when it needs it to refill the hardware playback buffers. Unfortunately this can be a security risk on some systems, since PulseAudio runs as user process, and giving realtime scheduling privileges to a user always comes with the risk that the user misuses it to lock up the system -- which is possible since making a process real-time effectively disables preemption. To solve this problem, PulseAudio uses rtkit to safely acquire real-time scheduling when available. + +If the risk of locking up the machine is considered too big to enable real-time scheduling, high-priority scheduling can be enabled instead (i.e. negative nice level). This can be enabled by passing \fB--high-priority\f1 (see above) when starting PulseAudio and may also be enabled with the appropriate option in \fIdaemon.conf\f1. Negative nice levels can only be enabled when the appropriate resource limit RLIMIT_NICE is set (see \fBsetrlimit(2)\f1 for more information), possibly configured in \fI/etc/security/limits.conf\f1. A resource limit of 31 (corresponding with nice level -11) is recommended. +.SH ENVIRONMENT VARIABLES +The PulseAudio client libraries check for the existence of the following environment variables and change their local configuration accordingly: + +\fI$PULSE_SERVER\f1: the server string specifying the server to connect to when a client asks for a sound server connection and doesn't explicitly ask for a specific server. The server string is a list of server addresses separated by whitespace which are tried in turn. A server address consists of an optional address type specifier (unix:, tcp:, tcp4:, tcp6:), followed by a path or host address. A host address may include an optional port number. A server address may be prefixed by a string enclosed in {}. In this case the following server address is ignored unless the prefix string equals the local hostname or the machine id (/etc/machine-id). + +\fI$PULSE_SINK\f1: the symbolic name of the sink to connect to when a client creates a playback stream and doesn't explicitly ask for a specific sink. + +\fI$PULSE_SOURCE\f1: the symbolic name of the source to connect to when a client creates a record stream and doesn't explicitly ask for a specific source. + +\fI$PULSE_BINARY\f1: path of PulseAudio executable to run when server auto-spawning is used. + +\fI$PULSE_CLIENTCONFIG\f1: path of file that shall be read instead of \fIclient.conf\f1 (see above) for client configuration. + +\fI$PULSE_COOKIE\f1: path of file that contains the PulseAudio authentication cookie. Defaults to \fI~/.config/pulse/cookie\f1. + +These environment settings take precedence -- if set -- over the configuration settings from \fIclient.conf\f1 (see above). +.SH AUTHORS +The PulseAudio Developers <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>; PulseAudio is available from \fBhttp://pulseaudio.org/\f1 +.SH SEE ALSO +\fBpulse-daemon.conf(5)\f1, \fBdefault.pa(5)\f1, \fBpulse-client.conf(5)\f1, \fBpacmd(1)\f1 diff --git a/man/pulseaudio.1.xml.in b/man/pulseaudio.1.xml.in new file mode 100644 index 0000000..996bee0 --- /dev/null +++ b/man/pulseaudio.1.xml.in @@ -0,0 +1,499 @@ +<?xml version="1.0"?><!--*-nxml-*--> +<!DOCTYPE manpage SYSTEM "xmltoman.dtd"> +<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?> + +<!-- +This file is part of PulseAudio. + +PulseAudio is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +PulseAudio is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General +Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +--> + +<manpage name="pulseaudio" section="1" desc="The PulseAudio Sound System"> + + <synopsis> + <cmd>pulseaudio [<arg>options</arg>]</cmd> + <cmd>pulseaudio <opt>--help</opt></cmd> + <cmd>pulseaudio <opt>--version</opt></cmd> + <cmd>pulseaudio <opt>--dump-conf</opt></cmd> + <cmd>pulseaudio <opt>--dump-modules</opt></cmd> + <cmd>pulseaudio <opt>--dump-resample-methods</opt></cmd> + <cmd>pulseaudio <opt>--cleanup-shm</opt></cmd> + <cmd>pulseaudio <opt>--start</opt></cmd> + <cmd>pulseaudio <opt>--kill</opt></cmd> + <cmd>pulseaudio <opt>--check</opt></cmd> + </synopsis> + + <description> + <p>PulseAudio is a networked low-latency sound server for Linux, POSIX and Windows systems.</p> + </description> + + <options> + + <option> + <p><opt>-h | --help</opt></p> + + <optdesc><p>Show help.</p></optdesc> + </option> + + <option> + <p><opt>--version</opt></p> + + <optdesc><p>Show version information.</p></optdesc> + </option> + + <option> + <p><opt>--dump-conf</opt></p> + + <optdesc><p>Load the daemon configuration file + <file>daemon.conf</file> (see below), parse remaining + configuration options on the command line and dump the resulting + daemon configuration, in a format that is compatible with + <file>daemon.conf</file>.</p></optdesc> + </option> + + <option> + <p><opt>--dump-modules</opt></p> + + <optdesc><p>List available loadable modules. Combine with + <opt>-v</opt> for a more elaborate listing.</p></optdesc> + </option> + + <option> + <p><opt>--dump-resample-methods</opt></p> + <optdesc><p>List available audio resamplers.</p></optdesc> + </option> + + <option> + <p><opt>--cleanup-shm</opt></p> + + <optdesc><p>Identify stale PulseAudio POSIX shared memory + segments in <file>/dev/shm</file> and remove them if + possible. This is done implicitly whenever a new daemon starts + up or a client tries to connect to a daemon. It should normally + not be necessary to issue this command by hand. Only available + on systems with POSIX shared memory segments implemented via a + virtual file system mounted to <file>/dev/shm</file> + (e.g. Linux).</p></optdesc> + </option> + + <option> + <p><opt>--start</opt></p> + + <optdesc><p>Start PulseAudio if it is not running yet. This is + different from starting PulseAudio without <opt>--start</opt> + which would fail if PA is already running. PulseAudio is + guaranteed to be fully initialized when this call + returns. Implies <opt>--daemonize</opt>.</p></optdesc> + </option> + + <option> + <p><opt>-k | --kill</opt></p> + + <optdesc><p>Kill an already running PulseAudio daemon of the + calling user (Equivalent to sending a SIGTERM).</p></optdesc> + </option> + + <option> + <p><opt>--check</opt></p> + + <optdesc><p>Return 0 as return code when the PulseAudio daemon + is already running for the calling user, or non-zero + otherwise. Produces no output on the console except for errors + to stderr.</p> + + <p>Note that a non-zero return value doesn't necessarily mean that + PulseAudio is not usable. Even if the server is not running, it + may get automatically started via PulseAudio's autospawning + mechanism or systemd's socket activation, or the environment might + be such that checking for processes doesn't work (for example, the + running server might not show up in a container, even if the + server is accessible via a socket). Also disabling PID files with + <opt>--use-pid-file=no</opt> prevents <opt>--check</opt> from + detecting running servers.</p> + + <p>A more robust check in most situations would be to try + establishing a client connection to the server. Unfortunately + there's currently no <opt>--check-connection</opt> option to + replace <opt>--check</opt>, but running "pactl info" could be a + pretty good substitute.</p></optdesc> + </option> + + + <option> + <p><opt>--system</opt><arg>[=BOOL]</arg></p> + + <optdesc><p>Run as system-wide instance instead of + per-user. Please note that this disables certain features of + PulseAudio and is generally not recommended unless the system + knows no local users (e.g. is a thin client). This feature needs + special configuration and a dedicated UNIX user set up. It is + highly recommended to combine this with + <opt>--disallow-module-loading</opt> (see below).</p></optdesc> + </option> + + <option> + <p><opt>-D | --daemonize</opt><arg>[=BOOL]</arg></p> + + <optdesc><p>Daemonize after startup, i.e. detach from the + terminal. Note that when running as a systemd service you should + use <opt>--daemonize=no</opt> for systemd notification to work. + </p></optdesc> + </option> + + <option> + <p><opt>--fail</opt><arg>[=BOOL]</arg></p> + + <optdesc><p>Fail startup when any of the commands specified in + the startup script <file>default.pa</file> (see below) + fails.</p></optdesc> + </option> + + <option> + <p><opt>--high-priority</opt><arg>[=BOOL]</arg></p> + + <optdesc><p>Try to acquire a high Unix nice level. This will + only succeed if the calling user has a non-zero RLIMIT_NICE + resource limit set (on systems that support this), or we're + configured to be run as + system daemon (see <arg>--system</arg> above). It is recommended + to enable this, since it is only a negligible security risk (see + below).</p></optdesc> + </option> + + <option> + <p><opt>--realtime</opt><arg>[=BOOL]</arg></p> + + <optdesc><p>Try to acquire a real-time scheduling for + PulseAudio's I/O threads. This will only succeed if the calling + user has a non-zero RLIMIT_RTPRIO resource limit set (on systems + that support this), or rtkit is available and allows PulseAudio + to enable real-time scheduling, or we are configured to be run as + system daemon (see <arg>--system</arg> above).</p></optdesc> + </option> + + <option> + <p><opt>--disallow-module-loading</opt><arg>[=BOOL]</arg></p> + + <optdesc><p>Disallow module loading after startup. This is a + security feature since it disallows additional module loading + during runtime and on user request. It is highly recommended + when <arg>--system</arg> is used (see above). Note however, that + this breaks certain features like automatic module loading on hot + plug.</p></optdesc> + + </option> + + <option> + <p><opt>--disallow-exit</opt><arg>[=BOOL]</arg></p> + + <optdesc><p>Disallow user requested exit</p></optdesc> + </option> + + <option> + <p><opt>--exit-idle-time</opt><arg>=SECS</arg></p> + + <optdesc> + <p>Terminate the daemon after the last client quit and this time in + seconds passed. Use a negative value to disable this feature. Defaults + to 20.</p> + + <p>When PulseAudio runs in the per-user mode and detects a login + session, then any positive value will be reset to 0 so that PulseAudio + will terminate immediately on logout. A positive value therefore has + effect only in environments where there's no support for login session + tracking (or if the user is logged in without a session spawned, + a.k.a. lingering). A negative value can still be used to disable any + automatic exit.</p> + + <p>When PulseAudio runs in the system mode, automatic exit is always + disabled, so this option does nothing.</p> + </optdesc> + </option> + + <option> + <p><opt>--scache-idle-time</opt><arg>=SECS</arg></p> + + <optdesc><p>Unload autoloaded samples from the cache when they + haven't been used for the specified number of + seconds.</p></optdesc> + </option> + + <option> + <p><opt>--log-level</opt><arg>[=LEVEL]</arg></p> + + <optdesc><p>If an argument is passed, set the log level to the + specified value, otherwise increase the configured verbosity + level by one. The log levels are numerical from 0 to 4, + corresponding to <arg>error</arg>, <arg>warn</arg>, + <arg>notice</arg>, <arg>info</arg>, <arg>debug</arg>. Default + log level is <arg>notice</arg>, i.e. all log messages with lower + log levels are printed: <arg>error</arg>, <arg>warn</arg>, + <arg>notice</arg>.</p></optdesc> + </option> + + <option> + <p><opt>-v | --verbose</opt></p> + + <optdesc><p>Increase the configured verbosity level by one (see + <opt>--log-level</opt> above). Specify multiple times to + increase log level multiple times.</p></optdesc> + </option> + + <option> + <p><opt>--log-target</opt><arg>={auto,syslog,journal,stderr,file:PATH,newfile:PATH}</arg></p> + + <optdesc><p>Specify the log target. If set to <arg>auto</arg> + (which is the default), then logging is directed to syslog when + <opt>--daemonize</opt> is passed, otherwise to + STDERR. If set to <arg>journal</arg> logging is directed to the systemd + journal. If set to <arg>file:PATH</arg>, logging is directed to + the file indicated by PATH. <arg>newfile:PATH</arg> is otherwise + the same as file:PATH, but existing files are never overwritten. + If the specified file already exists, a suffix is added to the + file name to avoid overwriting.</p></optdesc> + </option> + + <option> + <p><opt>--log-meta</opt><arg>[=BOOL]</arg></p> + + <optdesc><p>Show source code location in log messages.</p></optdesc> + </option> + + <option> + <p><opt>--log-time</opt><arg>[=BOOL]</arg></p> + + <optdesc><p>Show timestamps in log messages.</p></optdesc> + </option> + + <option> + <p><opt>--log-backtrace</opt><arg>=FRAMES</arg></p> + + <optdesc><p>When FRAMES is greater than 0, log for each message a + stack trace up to the number of specified stack frames.</p></optdesc> + </option> + + <option> + <p><opt>-p | --dl-search-path</opt><arg>=PATH</arg></p> + + <optdesc><p>Set the search path for dynamic shared objects + (plugins).</p></optdesc> + </option> + + <option> + <p><opt>--resample-method</opt><arg>=METHOD</arg></p> + + <optdesc><p>Use the specified resampler by default (See + <opt>--dump-resample-methods</opt> above for possible + values).</p></optdesc> + </option> + + <option> + <p><opt>--use-pid-file</opt><arg>[=BOOL]</arg></p> + + <optdesc><p>Create a PID file. If this options is disabled it is possible to run multiple sound servers per user.</p></optdesc> + </option> + + <option> + <p><opt>--no-cpu-limit</opt><arg>[=BOOL]</arg></p> + + <optdesc><p>Do not install CPU load limiter on platforms that + support it. By default, PulseAudio will terminate itself when it + notices that it takes up too much CPU time. This is useful as a + protection against system lockups when real-time scheduling is + used (see below). Disabling this mechanism is useful when + debugging PulseAudio with tools like <manref name="valgrind" + section="1"/> which slow down execution.</p></optdesc> + </option> + + <option> + <p><opt>--disable-shm</opt><arg>[=BOOL]</arg></p> + + <optdesc><p>PulseAudio clients and the server can exchange audio + data via POSIX or memfd shared memory segments (on systems that + support this). If disabled PulseAudio will communicate exclusively + over sockets. Please note that data transfer via shared memory + segments is always disabled when PulseAudio is running with + <opt>--system</opt> enabled (see above).</p></optdesc> + </option> + + <option> + <p><opt>--enable-memfd</opt><arg>[=BOOL]</arg></p> + + <optdesc><p>PulseAudio clients and the server can exchange audio + data via memfds - the anonymous Linux Kernel shared memory mechanism + (on kernels that support this). If disabled PulseAudio will + communicate via POSIX shared memory.</p></optdesc> + </option> + + <option> + <p><opt>-L | --load</opt><arg>="MODULE ARGUMENTS"</arg></p> + + <optdesc><p>Load the specified plugin module with the specified + arguments.</p></optdesc> + </option> + + <option> + <p><opt>-F | --file</opt><arg>=FILENAME</arg></p> + + <optdesc><p>Run the specified script on startup. May be + specified multiple times to specify multiple scripts to be run + in order. Combine with <opt>-n</opt> to disable loading of the + default script <file>default.pa</file> (see below).</p></optdesc> + </option> + <option> + <p><opt>-C</opt></p> + + <optdesc><p>Open a command interpreter on STDIN/STDOUT after + startup. This may be used to configure PulseAudio dynamically + during runtime. Equivalent to + <opt>--load</opt><arg>=module-cli</arg>.</p></optdesc> + </option> + <option> + <p><opt>-n</opt></p> + + <optdesc><p>Don't load default script file + <file>default.pa</file> (see below) on startup. Useful in + conjunction with <opt>-C</opt> or + <opt>--file</opt>.</p></optdesc> + </option> + + + </options> + + <section name="Files"> + + <p><file>~/.config/pulse/daemon.conf</file>, + <file>@PA_DEFAULT_CONFIG_DIR@/daemon.conf</file>: configuration settings + for the PulseAudio daemon. If the version in the user's home + directory does not exist the global configuration file is + loaded. See <manref name="pulse-daemon.conf" section="5"/> for + more information.</p> + + <p><file>~/.config/pulse/default.pa</file>, + <file>@PA_DEFAULT_CONFIG_DIR@/default.pa</file>: the default configuration + script to execute when the PulseAudio daemon is started. If the + version in the user's home directory does not exist the global + configuration script is loaded. See <manref name="default.pa" + section="5"/> for more information.</p> + + <p><file>~/.config/pulse/client.conf</file>, + <file>@PA_DEFAULT_CONFIG_DIR@/client.conf</file>: configuration settings + for PulseAudio client applications. If the version in the user's + home directory does not exist the global configuration file is + loaded. See <manref name="pulse-client.conf" section="5"/> for + more information.</p> + + </section> + + <section name="Signals"> + + <p><arg>SIGINT, SIGTERM</arg>: the PulseAudio daemon will shut + down (Same as <opt>--kill</opt>).</p> + + <p><arg>SIGHUP</arg>: dump a long status report to STDOUT or + syslog, depending on the configuration.</p> + + <p><arg>SIGUSR1</arg>: load module-cli, allowing runtime + reconfiguration via STDIN/STDOUT.</p> + + <p><arg>SIGUSR2</arg>: load module-cli-protocol-unix, allowing + runtime reconfiguration via a AF_UNIX socket. See <manref + name="pacmd" section="1"/> for more information.</p> + + </section> + + <section name="UNIX Groups and users"> + + <p>Group <arg>pulse-access</arg>: if PulseAudio is running as a system + daemon (see <opt>--system</opt> above) access is granted to + members of this group when they connect via AF_UNIX sockets. If + PulseAudio is running as a user daemon this group has no + meaning.</p> + + <p>User <arg>pulse</arg>, group <arg>pulse</arg>: if PulseAudio is running as a system + daemon (see <opt>--system</opt> above) and is started as root the + daemon will drop privileges and become a normal user process using + this user and group. If PulseAudio is running as a user daemon + this user and group has no meaning.</p> + </section> + + <section name="Real-time and high-priority scheduling"> + <p>To minimize the risk of drop-outs during playback it is + recommended to run PulseAudio with real-time scheduling if the + underlying platform supports it. This decouples the scheduling + latency of the PulseAudio daemon from the system load and is thus + the best way to make sure that PulseAudio always gets CPU time + when it needs it to refill the hardware playback + buffers. Unfortunately this can be a security risk on some systems, + since PulseAudio runs as user process, and giving realtime + scheduling privileges to a user always comes with the risk + that the user misuses it to lock up the system -- which is + possible since making a process real-time effectively disables + preemption. To solve this problem, PulseAudio uses rtkit to safely + acquire real-time scheduling when available.</p> + + <p>If the risk of locking up the machine is + considered too big to enable real-time scheduling, high-priority + scheduling can be enabled instead (i.e. negative nice level). This + can be enabled by passing <opt>--high-priority</opt> (see above) + when starting PulseAudio and may also be enabled with the + appropriate option in <file>daemon.conf</file>. Negative nice + levels can only be enabled when the appropriate resource limit + RLIMIT_NICE is set (see <manref name="setrlimit" section="2"/> for + more information), possibly configured in + <file>/etc/security/limits.conf</file>. A resource limit of 31 + (corresponding with nice level -11) is recommended.</p> + </section> + + <section name="Environment variables"> + + <p>The PulseAudio client libraries check for the existence of the + following environment variables and change their local configuration accordingly:</p> + + <p><arg>$PULSE_SERVER</arg>: the server string specifying the server + to connect to when a client asks for a sound server connection and doesn't + explicitly ask for a specific server. The server string is a list of + server addresses separated by whitespace which are tried in turn. A server + address consists of an optional address type specifier (unix:, tcp:, tcp4:, + tcp6:), followed by a path or host address. A host address may include an + optional port number. A server address may be prefixed by a string enclosed + in {}. In this case the following server address is ignored unless the prefix + string equals the local hostname or the machine id (/etc/machine-id).</p> + + <p><arg>$PULSE_SINK</arg>: the symbolic name of the sink to connect to when a client creates a playback stream and doesn't explicitly ask for a specific sink.</p> + + <p><arg>$PULSE_SOURCE</arg>: the symbolic name of the source to connect to when a client creates a record stream and doesn't explicitly ask for a specific source.</p> + + <p><arg>$PULSE_BINARY</arg>: path of PulseAudio executable to run when server auto-spawning is used.</p> + + <p><arg>$PULSE_CLIENTCONFIG</arg>: path of file that shall be read instead of <file>client.conf</file> (see above) for client configuration.</p> + + <p><arg>$PULSE_COOKIE</arg>: path of file that contains the PulseAudio + authentication cookie. Defaults to <file>~/.config/pulse/cookie</file>.</p> + + <p>These environment settings take precedence -- if set -- over the configuration settings from <file>client.conf</file> (see above).</p> + + </section> + + <section name="Authors"> + <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; PulseAudio is available from <url href="@PACKAGE_URL@"/></p> + </section> + + <section name="See also"> + <p> + <manref name="pulse-daemon.conf" section="5"/>, <manref name="default.pa" section="5"/>, <manref name="pulse-client.conf" section="5"/>, <manref name="pacmd" section="1"/> + </p> + </section> + +</manpage> diff --git a/man/start-pulseaudio-x11.1 b/man/start-pulseaudio-x11.1 new file mode 100644 index 0000000..4882112 --- /dev/null +++ b/man/start-pulseaudio-x11.1 @@ -0,0 +1,14 @@ +.TH start-pulseaudio-x11 1 User Manuals +.SH NAME +start-pulseaudio-x11 \- PulseAudio Sound Server X11 Startup Script +.SH SYNOPSIS +\fBstart-pulseaudio-x11 [\fIpulseaudio options\fB] +\f1 +.SH DESCRIPTION +This script starts pulseaudio (if not already running) and loads modules to publish access credentials to the PulseAudio server in the X11 root window and to synthesize X11 media key events on cork/uncork requests. Additionally it registers PulseAudio to the X11 Session Manager. + +All arguments are directly passed to pulseaudio. +.SH AUTHORS +The PulseAudio Developers <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>; PulseAudio is available from \fBhttp://pulseaudio.org/\f1 +.SH SEE ALSO +\fBpulseaudio(1)\f1 diff --git a/man/start-pulseaudio-x11.1.xml.in b/man/start-pulseaudio-x11.1.xml.in new file mode 100644 index 0000000..66fe476 --- /dev/null +++ b/man/start-pulseaudio-x11.1.xml.in @@ -0,0 +1,48 @@ +<?xml version="1.0"?><!--*-nxml-*--> +<!DOCTYPE manpage SYSTEM "xmltoman.dtd"> +<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?> + +<!-- +This file is part of PulseAudio. + +PulseAudio is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +PulseAudio is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General +Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +--> + +<manpage name="start-pulseaudio-x11" section="1" desc="PulseAudio Sound Server X11 Startup Script"> + + <synopsis> + <cmd>start-pulseaudio-x11 [<arg>pulseaudio options</arg>]</cmd> + </synopsis> + + <description> + <p>This script starts pulseaudio (if not already running) and loads modules to + publish access credentials to the PulseAudio server in the X11 root window and to synthesize + X11 media key events on cork/uncork requests. Additionally it registers + PulseAudio to the X11 Session Manager.</p> + + <p>All arguments are directly passed to pulseaudio.</p> + </description> + + <section name="Authors"> + <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; + PulseAudio is available from <url href="@PACKAGE_URL@"/></p> + </section> + + <section name="See also"> + <p> + <manref name="pulseaudio" section="1"/> + </p> + </section> + +</manpage> diff --git a/man/xmltoman b/man/xmltoman new file mode 100755 index 0000000..92422f0 --- /dev/null +++ b/man/xmltoman @@ -0,0 +1,216 @@ +#!/usr/bin/perl -w + +# xmltoman - simple xml to man converter +# Copyright (C) 2000-2002 Oliver Kurth <oku@masqmail.cx> +# 2003 Lennart Poettering <mzkzygbzna@0pointer.de> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see <http://www.gnu.org/licenses/>. + +use XML::Parser; + +my $buffer = ""; +my $break_req = 0; + +my @stack; +my $stack_n = 0; + +my $para = 0; + +sub out { + my $t = shift; + + if ($t ne "") { + print $t; + $break_req=1; + } +} + +sub out_buf { + local $_; + + my $space = shift; + + $_ = $buffer; + $buffer = ""; + + s/\n/\ /gm; + s/\s+/\ /gm; + s/^\s*//gm if (!$break_req); + s/^\s$//gm if (!$space); + + out($_); +} + +sub stack_push { + my $a = shift; + + if ($stack_n == 0 or $a ne $stack[$stack_n-1]) { + out("\\fB") if $a =~ /^bold$/; + out("\\fI") if $a =~ /^italic$/; + } + + $stack[$stack_n++] = $a; +} + +sub stack_pop { + local $_; + + if ($stack_n > 0) { + $stack_n--; + + if ($stack_n > 0) { + $a = $stack[$stack_n-1]; + out("\\fB") if $a =~ /^bold$/; + out("\\fI") if $a =~ /^italic$/; + } else { + out("\\f1"); + } + } +} + +sub handle_start { + local $_; + my $expat = shift; + my $element = shift; + my %attr = @_; + + $_ = $element; + + if (/^manpage$/) { + out_buf(0); + print "\n" if ($break_req); + print ".TH " . $attr{name} . " " . $attr{section} . " User Manuals\n"; + print ".SH NAME\n"; + print $attr{name} . " \\- " . $attr{desc} . "\n"; + $break_req = 0; + } elsif (/^synopsis$/) { + out_buf(0); + print "\n" if ($break_req); + print ".SH SYNOPSIS\n"; + $section = $element; + $break_req = 0; + stack_push("bold"); + } elsif (/^description$/) { + out_buf(0); + print "\n" if ($break_req); + print ".SH DESCRIPTION\n"; + $section = $element; + $break_req = 0; + } elsif (/^options$/) { + out_buf(0); + print "\n" if ($break_req); + print ".SH OPTIONS\n"; + $section = $element; + $break_req = 0; + } elsif (/^seealso$/) { + out_buf(0); + print "\n" if ($break_req); + print ".SH SEE ALSO\n"; + $section = $element; + $break_req = 0; + } elsif (/^section$/) { + out_buf(0); + print "\n" if ($break_req); + print ".SH ".uc($attr{name})."\n"; + $section = $attr{name}; + $break_req = 0; + } elsif (/^option$/) { + out_buf(0); + print "\n" if ($break_req); + print ".TP\n"; + $break_req = 0; + } elsif (/^p$/ or /^cmd$/) { + out_buf(0); + print "\n" if ($para); + $break_req = 0; + } elsif (/^optdesc$/) { + out_buf(0); + $break_req = 0; + } elsif (/^arg$/ or /^file$/) { + out_buf(1); + stack_push("italic"); + } elsif (/^opt$/) { + out_buf(1); + stack_push("bold"); + } elsif (/^manref$/) { + out_buf(1); + stack_push("bold"); + out($attr{name} ."(" . $attr{section} . ")"); + stack_pop(); + } elsif (/^url$/) { + out_buf(1); + stack_push("bold"); + out($attr{href}); + stack_pop(); + }; + + $para = 0; +} + +sub handle_end { + local $_; + my $expat = shift; + my $element = shift; + + $_ = $element; + + $para = 0; + + if (/^description$/ or /^options$/ or /^section$/ or /^seealso$/) { + out_buf(0); + } elsif (/^p$/ or /^cmd$/) { + out_buf(0); + print "\n" if ($break_req); + $para = 1; + $break_req = 0; + } elsif (/^synopsis$/) { + out_buf(0); + stack_pop(); + } elsif (/^opt$/ or /^arg$/ or /^file$/) { + out_buf(1); + stack_pop(); + } elsif (/^manpage$/) { + out_buf(0); + print "\n" if $break_req; + $break_req = 0; + } elsif (/^optdesc$/ or /^cmd$/ or /^option$/) { + # Simply ignore + } else { + out_buf(1); + } +}; + +sub handle_char { + local $_; + my $expat = shift; + my $string = shift; + + $buffer .= $string; +} + +MAIN:{ + my $file = shift; + + if (!$file) { + print STDERR "You need to specify a file to parse\n"; + exit(1); + } + + my $parser = new XML::Parser(Handlers => { + Start => \&handle_start, + End => \&handle_end, + Char => \&handle_char}); + + $parser->parsefile($file, ProtocolEncoding => 'ISO-8859-1'); +} diff --git a/man/xmltoman.css b/man/xmltoman.css new file mode 100644 index 0000000..2ddb867 --- /dev/null +++ b/man/xmltoman.css @@ -0,0 +1,27 @@ +/*** + This file is part of PulseAudio. + + PulseAudio is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your + option) any later version. + + PulseAudio is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +***/ + +body { color: black; background-color: white; } +a:link, a:visited { color: #900000; } +h1 { text-transform:uppercase; font-size: 18pt; } +p { margin-left:1cm; margin-right:1cm; } +.cmd { font-family:monospace; } +.file { font-family:monospace; } +.arg { text-transform:uppercase; font-family:monospace; font-style: italic; } +.opt { font-family:monospace; font-weight: bold; } +.manref { font-family:monospace; } +.option .optdesc { margin-left:2cm; } diff --git a/man/xmltoman.dtd b/man/xmltoman.dtd new file mode 100644 index 0000000..e0e211c --- /dev/null +++ b/man/xmltoman.dtd @@ -0,0 +1,36 @@ +<!-- + This file is part of PulseAudio. + + PulseAudio is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your + option) any later version. + + PulseAudio is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +--> + +<!ELEMENT manpage (synopsis | description | section | options | seealso)*> +<!ATTLIST manpage name CDATA #REQUIRED section CDATA #REQUIRED desc CDATA #IMPLIED> +<!ELEMENT arg (#PCDATA)> +<!ELEMENT p (#PCDATA | arg | url | manref | opt | file )*> +<!ELEMENT synopsis (cmd | p)+> +<!ELEMENT description (p)+> +<!ELEMENT section (p | option)*> +<!ATTLIST section name CDATA #REQUIRED> +<!ELEMENT option (#PCDATA | p | optdesc)*> +<!ELEMENT optdesc (#PCDATA | p )*> +<!ELEMENT cmd (#PCDATA | arg | opt)*> +<!ELEMENT options (p | option)*> +<!ELEMENT seealso (p)*> +<!ELEMENT opt (#PCDATA)> +<!ELEMENT file (#PCDATA)> +<!ELEMENT manref EMPTY> +<!ATTLIST manref name CDATA #REQUIRED section CDATA #REQUIRED href CDATA #IMPLIED> +<!ELEMENT url EMPTY> +<!ATTLIST url href CDATA #REQUIRED> diff --git a/man/xmltoman.xsl b/man/xmltoman.xsl new file mode 100644 index 0000000..1271064 --- /dev/null +++ b/man/xmltoman.xsl @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="iso-8859-15"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"> + +<!-- + This file is part of PulseAudio. + + PulseAudio is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your + option) any later version. + + PulseAudio is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +--> + +<xsl:output method="xml" version="1.0" encoding="iso-8859-15" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes"/> + +<xsl:template match="/manpage"> + + <html> + + <head> + <title><xsl:value-of select="@name"/>(<xsl:value-of select="@section"/>)</title> + <style type="text/css"> + body { color: black; background-color: white; } + a:link, a:visited { color: #900000; } + h1 { text-transform:uppercase; font-size: 18pt; } + p { margin-left:1cm; margin-right:1cm; } + .cmd { font-family:monospace; } + .file { font-family:monospace; } + .arg { text-transform:uppercase; font-family:monospace; font-style: italic; } + .opt { font-family:monospace; font-weight: bold; } + .manref { font-family:monospace; } + .option .optdesc { margin-left:2cm; } + </style> + </head> + <body> + <h1>Name</h1> + <p><xsl:value-of select="@name"/> + <xsl:if test="string-length(@desc) > 0"> - <xsl:value-of select="@desc"/></xsl:if> + </p> + <xsl:apply-templates /> + </body> + </html> +</xsl:template> + +<xsl:template match="p"> + <p> + <xsl:apply-templates/> + </p> +</xsl:template> + +<xsl:template match="cmd"> + <p class="cmd"> + <xsl:apply-templates/> + </p> +</xsl:template> + +<xsl:template match="arg"> + <span class="arg"><xsl:apply-templates/></span> +</xsl:template> + +<xsl:template match="opt"> + <span class="opt"><xsl:apply-templates/></span> +</xsl:template> + +<xsl:template match="file"> + <span class="file"><xsl:apply-templates/></span> +</xsl:template> + +<xsl:template match="optdesc"> + <div class="optdesc"> + <xsl:apply-templates/> + </div> +</xsl:template> + +<xsl:template match="synopsis"> + <h1>Synopsis</h1> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="seealso"> + <h1>Synopsis</h1> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="description"> + <h1>Description</h1> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="options"> + <h1>Options</h1> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="section"> + <h1><xsl:value-of select="@name"/></h1> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="option"> + <div class="option"><xsl:apply-templates/></div> +</xsl:template> + +<xsl:template match="manref"> + <xsl:choose> + <xsl:when test="string-length(@href) > 0"> + <a class="manref"><xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute><xsl:value-of select="@name"/>(<xsl:value-of select="@section"/>)</a> + </xsl:when> + <xsl:otherwise> + <span class="manref"><xsl:value-of select="@name"/>(<xsl:value-of select="@section"/>)</span> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="url"> + <a class="url"><xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute><xsl:value-of select="@href"/></a> +</xsl:template> + +</xsl:stylesheet> |